Блок процессора который реализует функции управления ходом вычислительного процесса
Процессор. Основные компоненты и их назначение
Центральный процессор компьютера (Central Processor Unit, CPU) осуществляет основные действия по выполнению команд. В нём можно выделить несколько составляющих частей:
Микропрограммный автомат с жесткой логикой
Тип микропрограммного автомата определяет название всего УУ. В микропрограммном автомате с жесткой логикой (см. рисунок ниже) выходные сигналы управления реализуются за счет однажды соединенных логических схем. Микропрограммный автомат с жесткой логикой. Код операций (КОП), хранящийся в регистре команды, используется для определения того, какие сигналы управления и в какой последовательности должны формироваться. При этом, желательно иметь в УУ отдельный логический сигнал для каждого кода операции (IK). Это может быть реализовано с помощью дешифратора.
Микропрограммный автомат с жесткой логикой
Сигналы управления, по которым выполняется микрооперация, должны вырабатываться в строго определенные моменты времени, поэтому все сигналы управления "привязаны" к импульсам синхронизации. Счетчик тактов сбрасывается (устанавливается в состояние Т1) по окончании цикла очередной команды. Цикл команды может потребовать разного количества тактов. На каждом такте вырабатывается своя микрокоманда, состоящая из нескольких сигналов управления. Дополнительным фактором, влияющим на выработку сигналов управления, являются флаги.
Микропрограммный автомат с программируемой логикой
Отличительной особенностью микропрограммного автомата с программируемой логикой является наличие памяти микропрограмм. Каждой команде вычислительного устройства в этой памяти соответствует микропрограмма. Идею микропрограммирования сигналов управления предложил в 1951 г. Морис Уилкс (Кембриджский университет, Британия). ЭВМ стала иметь три уровня выполнения команд: между командами и сигналами управления появилась микропрограмма. Команда ЭВМ интерпретировалась в микропрограмму. Аппаратное обеспечение должно было выполнять только микропрограммы с ограниченным набором микрокоманд, отсюда существенно уменьшались аппаратные затраты. К 70-м годам идея о том, что написанная программа сначала должна интерпретироваться микропрограммами, а не выполняться непосредственно электроникой, стала преобладающей. Однако в современных процессорах, когда аппаратные затраты стали менее существенны, отказались от идеи микропрограммирования, так как она стала сдерживать рост производительности. Типичная схема микропрограммного автомата приведена на рисунке ниже.
Микропрограммный автомат с программируемой логикой
Запуск микропрограммы выполнения операции осуществляется путем передачи кода операции из регистра команды на вход преобразователя, в котором код операции (КОП) преобразуется в начальный адрес микропрограммы. Выбранная по этому адресу из памяти микропрограмм микрокоманда заносится в регистр. Микрокоманда содержит КОП и адресную часть. КОП поступает на дешифратор и формирует управляющие сигналы, адрес передается для формирования адреса следующей микрокоманды. Этот адрес может зависеть от флагов, КОП, внешних устройств.
Устройство управления. Микропрограммный автомат
- тактовые импульсы — с каждым импульсом УУ выполняет одну или несколько микроопераций;
- код операции — поступает из регистра команды и используется, чтобы определить, какие микроопераций должны выполняться;
- флаги — требуются для оценки состояния процессора, что необходимо для выполнения команд условного перехода;
- сигналы из системной шины — обслуживание прерывания, прямого доступа в память. В свою очередь УУ, а точнее микропрограммный автомат, формирует следующую выходную информацию:
- внутренние сигналы управления — перемещают операнды из регистра в регистр и инициируют работу операционных устройств;
- сигналы в системную шину — управляющие сигналы в память или в устройства ввода-вывода.
Модель устройства управления
Как отмечалось, процесс функционирования ЭВМ состоит из последовательности элементарных действий в ее узлах. Такие элементарные действия, выполняемые в течение одного такта сигналовсинхронизации, называются микрооперациями. Совокупность одновременно выполняемых микроопераций образует микрокоманду.
Последовательность микрокоманд, определяющая порядок реализации машинного цикла, составляет микропрограмму. Микропрограммный автомат определяет микропрограмму как последовательность выполнения микроопераций. В общей структуре УУ можно выделить две части: управляющую и адресную. Управляющая часть предназначена для координирования работы операционного блока, адресной части, основной памяти и др. Адресная часть обеспечивает формирование адресов команд и адресов операндов в основной памяти. Состав управляющей части: регистр команды, микропрограммный автомат, узел прерываний и приоритетов. Микропрограммный автомат на основе декодирования команды вырабатывает определенную последовательность микрокоманд. В зависимости от способа формирования микрокоманд различают микропрограммные автоматы с жесткой и программируемой логикой. Адресная часть УУ включает в себя: операционный узел устройства управления (ОПУУ), регистр адреса, счетчик команд. Регистр адреса используется для хранения исполнительных адресов операндов, а счетчик команд — для выработки и хранения адресов команд. Их содержимое посылаются в регистр адреса основной памяти. ОПУУ обрабатывает адресные части команд, формируя исполнительные адреса операндов, а также подготавливает адрес следующей команды при выполнении команд перехода. Иногда ОПУУ совмещают с основным операционным устройством. Ниже будет рассмотрена схема ОПУУ процессора i8086.
Микропрограммный автомат с жесткой логикой. Микропрограммный автомат с программируемой логикой
Элементы, составляющие процессор:
- декодер команд; (АЛУ), выполняющее действия над операндами;
- регистры для хранения данных, адресов и служебной информации;
- устройство для формирования (вычисления) адресов операндов; .
- Устройство управления (УУ)- управляет процессором последовательной выборки, декодирования и исполнения команд программы, хранимой в памяти. УУ формирует временную диаграмму работы всех узлов процессора. Часть регистров также можно отнести к УУ.
- Устройство формирования адресов операндов — вычисляет адрес, по которому произойдёт очередное обращение к участку памяти, содержащему операнд.
- АЛУ — комбинационное логическое устройство, имеющее два (многоразрядных) входа (на которые подаются два слова сходных операндов), на выходе АЛУ формируется результат операций, которые процессор выполняет над операндами, таких, как сложение, умножение и т.п. Минимальный набор операций (машина Фон-Неймана), которые должно выполнять АЛУ, включает операции сложения, инверсии и логического "И", все остальные операции можно получить на базе этих.
- Регистры . Минимальный набор регистров, необходимый для функционирования процессора включает следующие регистры:
-- Аккумулятор — хранит результат операций, часто имеет удвоенною. длину по сравнению с разрядностью процессора (для хранения результатов операций умножения и сдвига).
-- Счётчик команд — содержит адрес следующей команды.
-- Регистр адреса — содержит адрес операнда, используется при косвенной адресации.
-- Регистр флагов (состояния и управления) — содержит код, характеризующий результаты предыдущих операций, а так же информацию о текущем состоянии центрального процессора компьютера .
Рисунок. Регистры процессора MC68HC05
- Регистровый файл — набор однотипных регистров.
Каждый процессор имеет свой набор регистров. Можно выделить две группы процессоров: с регистрами общего назначения и со специализированным набором регистров (Пример IntelX86). В первом случае все регистры регистрового файла одинаковы и их можно использовать произвольно в командах. Во втором — за каждым регистром закреплена своя функция, и использование регистров в командах оговорено в формате каждой команды. Однако, процессоры с регистровыми файлами требуют большие аппаратные затраты на организацию связи между регистрами.
Рисунок. Регистры процессоров MC68xxx и Intel X86
Модель процессора для программиста — набор регистров, форматы команд, способы адресации, организация памяти и др. Можно рассматривать регистровую модель процессора — набор регистров, их форматы и способы работы с ними.
- на пользовательском уровне (регистры общего назначения и флагов)
- на системном уровне (регистры управления процессором и организации памяти, элементы организации прерываний и прямого доступа к памяти (ПДП)).
Вычислительное ядро (Core) — этим термином обозначают совокупность элементов процессора, необходимых для выполнения команды.
Переферийные устройства — устройства, внешние по отношению к связке "процессор-память".
Устройства ввода-вывода — часть переферийных устройств, предназначенная для связи ЭВМ с "внешним миром".
Назначение. Принцип работы.
Процессором - называется устройство, непосредственно осуществляющее процесс обработки данных и программное управление этим процессом. Процессор дешифрует и выполняет команды программ, организует обращение к ОП, инициирует работу ПУ, воспринимает и обрабатывает внешние события.
Процессор осуществляет управление взаимодействием всех устройств ЭВМ. (при наличии специальных процессоров эти функции рассредотачиваются).
Общая функциональная структура МП.
Структурная схема процессора:
Разъяснения к структурной схеме:
- ОП обычно не входит в состав МП и реализуется внешними схемами, но в небольших ЭВМ, ОЭВМ может совмещаться с ЦП.
- АЛУ процессора выполняет логические, арифметические операции над данными. В МП может имеется одно универсальное АЛУ для всех операций или несколько специальных АЛУ для отдельных видов операций.
- УУ вырабатывает последовательность управляющих сигналов, инициирующих выполнение соответствующей последовательности микроопераций обеспечивающей реализацию текущей команды.
- Блок управляющих регистров предназначен для временного хранения управляющей информации. Он содержит регистры и счетчики, участвующие в управлении вычислительным процессом: состояние МП, регистр - счетчик адреса команды, счетчики тактов, регистр запросов прерываний.
- Блок регистровой памяти - местная память более высокого быстродействия чем ОП. Регистры этого блока служат для хранения операндов, в качестве аккумуляторов, базовых и индексных регистров, указателя стека.
- Блок связи с ОП организует обмен информацией процессора с ОП и защиту участков ОП от недозволенных данной программе обращений, а также связь МП с ПУ.
- Блок контроля и диагностики служит для обнаружения сбоев и отказов в аппаратуре МП, восстановление работы программы после сбоев и поиска места неисправности при отказах.
Организация управления процессом обработки информации
Устройство управления выполняет две основные функции:
1. Управление выполнением операции
2. Выборка команд программы в нужной последовательности
Каждая команда представляет собой совокупность микроопераций, реализуется команда микропрограммой, выполняется за несколько тактов, причем в каждом такте может быть одна или несколько микрокоманд. Под рабочим тактом понимается интервал времени, отведенный на выполненные микрооперации.
Для реализации команды нужно подать на управляющие входы операционного блока соответствующие управляющие сигналы.
Существует 2 подхода организации управления выполнения операции:
1) Управляющий автомат с жесткой логикой или аппаратное управление.
2) Управляющий автомат с микропрограммной логикой или микропрограммное управление.
Для 1 каждой микрооперации строится набор комбинационных схем, которая формирует сигналы управления на определенных тактах.
Для 2 Каждой управляющей операции ставится в соответствие совокупность хранимых в памяти слов и микрокоманд, каждая микрокоманда содержит информацию, во-первых о тех микрооперациях которые нужно выполнить в течении 1 машинного такта, и во-вторых, указания на следующую микрокоманду.
Общая схема организации , выглядит следующим образом:
В любом случае код операции, подлежащий выполнению, должен быть расшифрован.
- При аппаратном управлении код операции попадает в дешифратор.
- При микропрограммном управлении код операции попадает сначала в управляющую память
Управление с жесткой логикой
Управляющие автоматы с жесткой логикой представляют собой логические схемы, вырабатывающие собой управляющие сигналы. Типовая структурная схема управляющего автомата с жесткой логикой выглядит следующим образом:
Регистр кода операции является частью регистра кода команд и задает код исполняемой команды.
Дешифратор кода операции - вырабатывает единичный сигнал на j выходе, если выполняется j операция. Выборка алгоритма управления.
Счетчик тактов - с каждым тактом меняет свое состояние либо в сторону увеличения, либо в сторону уменьшения. Номера тактов от 1 до n.
Дешифратор тактов – активизирует выход, соответствующий номеру тактов.
Логические схемы – для каждой команды возбуждают формирователи управляющих сигналов, для выполнения требуемой в данном такте микрооперации.
Схема образования управляющих сигналов выглядит следующим образом:
Главным недостатком такой схемы является то, что
1) на выполнение различных команд отводится одинаковое количество тактов
2) Логику работы такого управляющего автомата , можно изменить только путем перестраивания схем, от сюда следует что система команд микропроцессором с аппаратным управлением – фиксировано.
Основным достоинством аппаратного управления является высокое быстродействие. Такие автоматы чаще всего используются в микропроцессорах типа RISC.
Для формализации работы управляющего автомата и синтеза оптимального варианта используется описание работы операционного блока в виде микропрограммы или графа, последующим построением соответствующего управляющего автомата.
Пример схемы управляющего автомата мили:
Управление с микропрограммной логикой.
В большинстве современных процессоров управляющие автоматы с микропрограммной логикой используются только совместно с аппаратным управлением. В отличие от аппаратного управления, где управляющие сигналы формируются логическими схемами в зависимости от входных сигналов и состояния автомата в микропрограммной управлении управляющие сигналы хранятся в запоминающем устройстве или памяти микрокоманд.
Схема автомата с микропрограммным управлением:
Набор входных значений U(t), Z(t), q(t) – можно отождествить с адресом управляющей памяти, в которой хранятся выходные сигнала управления V(t) и следующее состояние автомата q(t).
Работа автомата выглядит следующим образом: тактирование автомата осуществляется по синхросигналу
CLK=1 – такт CLK = 0 –пауза
Состояние автомата меняется в паузах и определяется набором значений переменных q(t).
Пусть в такте t регистр адреса микрокоманды РгМК записаны U(t), Z(t), q(t). В регистре микрокоманд находится управляющий сигнал V(t). В паузе перед тактом t+1 в регистре адреса микрокоманды эти значения сохраняются, а из управляющей памяти выбираются сигналы V(t+1). Значения сразу записываются в регистр РгМК при появлении такта CLK=1 , на выходе РгМК формируется сигнал V(t+1), которое инициирует выполнение операции в операционном блоке. И следующее состояние команды q(t+1). *** после этого рабочий цикл повторяется.
Тактовый сигнал CLK воздействует так же на операционный блок, обеспечивая восприятие сигналов управления только в момент такта. Управляющая память может быть как постоянным так и оперативным запоминающим устройством. Если память является оперативным запоминающим устройством, это позволяет загрузить в микропроцессор любую систему команд.
Схема формирования адреса следующей микрокоманды служит для устранения эффекта большой управляющей памяти, она переадресует повторяющиеся адреса микрокоманд в одну ячейку памяти, тем самым сокращая объем управляющей памяти и памяти микрокоманд. По скольжу регистр адреса микрокоманд имеет очень большую разрядность, то и управляющая память получается большой ёмкости. Большая часть микрокоманд исполняются, как правило, последовательно. Это приводит к тому, что группа адресов будет ссылаться на одну и ту же ячейку памяти следующей микрокоманды. Например необходимо проверить содержимое знака регистра
2 3 =8 – адресов ссылаются на 1 микрокоманду. При этом фактически в формировании адреса участвует только старший бит признака, а остальные могут принимать абсолютно произвольные значения. В этом случае для нашего примера получается, что 2 3 = 8 – адресов ссылаются на 1 микрокоманду.
Для устранения эффекта большой УП используют схему формирования адреса МК, которая переадресует повторяющиеся адреса МК в одну ячейку памяти, тем самым, сокращая необходимый объем памяти микрокоманд.
2.1. Процессор.
Самый основной элемент компьютера, это, конечно, процессор. Давайте подробней его рассмотрим. Упрощённая структура процессора (рис. 4):
Рис. 4. Упрощённая структура процессора
Основные элементы процессора:
· Регистры – это специальные ячейки памяти, физически расположенные внутри процессора. В отличие от ОЗУ, где для обращения к данным требуется использовать шину адреса, к регистрам процессор может обращаться напрямую. Это существенно ускорят работу с данными.
· Арифметико-логическое устройство выполняет арифметические операции, такие как сложение, вычитание, а также логические операции.
· Блок управления определяет последовательность микрокоманд, выполняемых при обработке машинных кодов (команд).
· Тактовый генератор , или генератор тактовых импульсов, задаёт рабочую частоту процессора.
2.2. Режимы работы процессора.
Процессор архитектуры x86 может работать в одном из пяти режимов и переключаться между ними очень быстро:
1. Реальный (незащищенный) режим (real address mode) — режим, в котором работал процессор 8086. В современных процессорах этот режим поддерживается в основном для совместимости с древним программным обеспечением (DOS-программами).
2. Защищенный режим (protected mode) — режим, который впервые был реализован в 80286 процессоре. Все современные операционные системы (Windows, Linux и пр.) работают в защищенном режиме. Программы реального режима не могут функционировать в защищенном режиме.
3. Режим виртуального процессора 8086 (virtual-8086 mode, V86) — в этот режим можно перейти только из защищенного режима. Служит для обеспечения функционирования программ реального режима, причем дает возможность одновременной работы нескольких таких программ, что в реальном режиме невозможно. Режим V86 предоставляет аппаратные средства для формирования виртуальной машины, эмулирующей процессор8086. Виртуальная машина формируется программными средствами операционной системы. В Windows такая виртуальная машина называется VDM (Virtual DOS Machine — виртуальная машина DOS). VDM перехватывает и обрабатывает системные вызовы от работающих DOS-приложений.
4. Нереальный режим (unreal mode, он же big real mode) — аналогичен реальному режиму, только позволяет получать доступ ко всей физической памяти, что невозможно в реальном режиме.
5. Режим системного управления System Management Mode (SMM) используется в служебных и отладочных целях.
При загрузке компьютера процессор всегда находится в реальном режиме, в этом режиме работали первые операционные системы, например MS-DOS, однако современные операционные системы, такие как Windows и Linux переводят процессор в защищенный режим. Вам, наверное, интересно, что защищает процессор в защищенном режиме? В защищенном режиме процессор защищает выполняемые программы в памяти от взаимного влияния (умышленно или по ошибке) друг на друга, что легко может произойти в реальном режиме. Поэтому защищенный режим и назвали защищенным.
2.3. Регистры процессора (программная модель процессора).
Для понимания работы команд ассемблера необходимо четко представлять, как выполняется адресация данных, какие регистры процессора и как могут использоваться при выполнении инструкций. Рассмотрим базовую программную модель процессоров Intel 80386, в которую входят:
· 8 регистров общего назначения, служащих для хранения данных и указателей;
· регистры сегментов — они хранят 6 селекторов сегментов;
· регистр управления и контроля EFLAGS, который позволяет управлять состоянием выполнения программы и состоянием (на уровне приложения) процессора;
· регистр-указатель EIP выполняемой следующей инструкции процессора;
· система команд (инструкций) процессора;
· режимы адресации данных в командах процессора.
Начнем с описания базовых регистров процессора Intel 80386.
Базовые регистры процессора Intel 80386 являются основой для разработки программ и позволяют решать основные задачи по обработке данных. Все они показаны на рис. 5.
Рис. 5. Базовые регистры процессора Intel 80386
Среди базового набора регистров выделим отдельные группы и рассмотрим их назначение.
2.4. Регистры общего назначения.
Остальные четыре регистра – ESI (индекс источника), EDI (индекс приемника), ЕВР (указатель базы), ESP (указатель стека) – имеют более конкретное назначение и применяются для хранения всевозможных временных переменных. Регистры ESI и EDI необходимы в строковых операциях, ЕВР и ESP – при работе со стеком. Так же как и в случае с регистрами ЕАХ - EDX, младшие половины этих четырех регистров называются SI, DI, BP и SP соответственно, и в процессорах до 80386 только они и присутствовали.
2.5. Сегментные регистры.
При использовании сегментированных моделей памяти для формирования любого адреса нужны два числа – адрес начала сегмента и смещение искомого байта относительно этого начала (в бессегментной модели памяти flat адреса начал всех сегментов равны). Операционные системы (кроме DOS) могут размещать сегменты, с которыми работает программа пользователя, в разных местах памяти и даже временно записывать их на диск, если памяти не хватает. Так как сегменты способны оказаться где угодно, программа обращается к ним, применяя вместо настоящего адреса начала сегмента 16-битное число, называемое селектором. В процессорах Intel предусмотрено шесть 16-битных регистров - CS, DS, ES, FS, GS, SS , где хранятся селекторы. (Регистры FS и GS отсутствовали в 8086, но появились уже в 80286.) Это означает, что в любой момент можно изменить параметры, записанные в этих регистрах.
В отличие от DS, ES, GS, FS, которые называются регистрами сегментов данных, CS и SS отвечают за сегменты двух особенных типов – сегмент кода и сегмент стека. Первый содержит программу, исполняющуюся в данный момент, следовательно, запись нового селектора в этот регистр приводит к тому, что далее будет исполнена не следующая по тексту программы команда, а команда из кода, находящегося в другом сегменте, с тем же смещением. Смещение очередной выполняемой команды всегда хранится в специальном регистре EIP (указатель инструкции, 16-битная форма IP), запись в который так же приведет к тому, что далее будет исполнена какая-нибудь другая команда. На самом деле все команды передачи управления – перехода, условного перехода, цикла, вызова подпрограммы и т.п. – и осуществляют эту самую запись в CS и EIP.
2.6. Регистр флагов.
Еще один важный регистр, использующийся при выполнении большинства команд, - регистр флагов. Как и раньше, его младшие 16 бит, представлявшие собой весь этот регистр до процессора 80386, называются FLAGS. В EFLAGS каждый бит является флагом, то есть устанавливается в 1 при определенных условиях или установка его в 1 изменяет поведение процессора. Все флаги, расположенные в старшем слове регистра, имеют отношение к управлению защищенным режимом, поэтому здесь рассмотрен только регистр FLAGS (см. рис. 6):
Рис. 6. Регистр флагов FLAGS.
CF – флаг переноса. Устанавливается в 1, если результат предыдущей операции не уместился в приемнике и произошел перенос из старшего бита или если требуется заем (при вычитании), в противном случае – в 0. Например, после сложения слова 0 FFFFh и 1, если регистр, в который надо поместить результат, – слово, в него будет записано 0000 h и флаг CF = 1.
PF – флаг четности. Устанавливается в 1, если младший байт результата предыдущей команды содержит четное число битов, равных 1, и в 0, если нечетное. Это не то же самое, что делимость на два. Число делится на два без остатка, если его самый младший бит равен нулю, и не делится, когда он равен 1.
AF – флаг полупереноса или вспомогательного переноса. Устанавливается в 1, если в результате предыдущей операции произошел перенос (или заем) из третьего бита в четвертый. Этот флаг используется автоматически командами двоично-десятичной коррекции.
ZF – флаг нуля. Устанавливается в 1, если результат предыдущей команды – ноль.
SF – флаг знака. Он всегда равен старшему биту результата.
TF – флаг ловушки. Он был предусмотрен для работы отладчиков, не использующих защищенный режим. Установка его в 1 приводит к тому, что после выполнения каждой программной команды управление временно передается отладчику.
IF – флаг прерываний. Сброс этого флага в 0 приводит к тому, что процессор перестает обрабатывать прерывания от внешних устройств. Обычно его сбрасывают на короткое время для выполнения критических участков кода.
DF – флаг направления. Он контролирует поведение команд обработки строк: когда он установлен в 1, строки обрабатываются в сторону уменьшения адресов, когда DF =0 – наоборот.
OF – флаг переполнения. Он устанавливается в 1, если результат предыдущей арифметической операции над числами со знаком выходит за допустимые для них пределы. Например, если при сложении двух положительных чисел получается число со старшим битом, равным единице, то есть отрицательное, и наоборот.
Флаги IOPL (уровень привилегий ввода-вывода) и NT (вложенная задача) применяются в защищенном режиме.
2.7. Цикл выполнения команды
Программа состоит из машинных команд. Программа загружается в оперативную память компьютера. Затем программа начинает выполняться, то есть процессор выполняет машинные команды в той последовательности, в какой они записаны в программе.
Для того чтобы процессор знал, какую команду нужно выполнять в определённый момент, существует счётчик команд – специальный регистр, в котором хранится адрес команды, которая должна быть выполнена после выполнения текущей команды. То есть при запуске программы в этом регистре хранится адрес первой команды. В процессорах Intel в качестве счётчика команд (его ещё называют указатель команды) используется регистр EIP (или IP в 16-разрядных программах).
Счётчик команд работает со сверхоперативной памятью, которая находится внутри процессора. Эта память носит название очередь команд, куда помещается одна или несколько команд непосредственно перед их выполнением. То есть в счётчике команд хранится адрес команды в очереди команд, а не адрес оперативной памяти.
Цикл выполнения команды – это последовательность действий, которая совершается процессором при выполнении одной машинной команды. При выполнении каждой машинной команды процессор должен выполнить как минимум три действия: выборку, декодирование и выполнение. Если в команде используется операнд, расположенный в оперативной памяти, то процессору придётся выполнить ещё две операции: выборку операнда из памяти и запись результата в память. Ниже описаны эти пять операций.
- Выборка команды . Блок управления извлекает команду из памяти (из очереди команд), копирует её во внутреннюю память процессора и увеличивает значение счётчика команд на длину этой команды (разные команды могут иметь разный размер).
- Декодирование команды . Блок управления определяет тип выполняемой команды, пересылает указанные в ней операнды в АЛУ и генерирует электрические сигналы управления АЛУ, которые соответствуют типу выполняемой операции.
- Выборка операндов . Если в команде используется операнд, расположенный в оперативной памяти, то блок управления начинает операцию по его выборке из памяти.
- Выполнение команды . АЛУ выполняет указанную в команде операцию, сохраняет полученный результат в заданном месте и обновляет состояние флагов, по значению которых программа может судить о результате выполнения команды.
- Запись результата в память . Если результат выполнения команды должен быть сохранён в памяти, блок управления начинает операцию сохранения данных в памяти.
Суммируем полученные знания и составим цикл выполнения команды:
- Выбрать из очереди команд команду, на которую указывает счётчик команд.
- Определить адрес следующей команды в очереди команд и записать адрес следующей команды в счётчик команд.
- Декодировать команду.
- Если в команде есть операнды, находящиеся в памяти, то выбрать операнды.
- Выполнить команду и установить флаги.
- Записать результат в память (по необходимости).
- Начать выполнение следующей команды с п.1.
Это упрощённый цикл выполнения команды. К тому же действия могут отличаться в зависимости от процессора. Однако это даёт общее представление о том, как процессор выполняет одну машинную команду, а значит и программу в целом.
Читайте также: