- в процессе исполнения любая машинная команда порождает выполнение последовательности микрокоманд
- каждая микрокоманда инициирует одновременные выполнения одной или нескольких микроопераций (декодирование команды, пересылка отдельных её частей, сдвиг операнда и т.д.)
- все эти временные команды должны выполняться в строго определённой временной последовательности; для создания этой последовательности используется генератор тактовых импульсов с частотой следования от 10 кГЦ до нескольких ГГЦ
- одна микрокоманда выполняется в течении одного тактового интервала (за один такт)
- в некоторых случаях один такт разбивают на ряд подтактов или фаз для выполнения несовместимых во времени микроопераций (несколько генераторов)
- время, необходимое для выполнения логически связанных микрокоманд называют машинным циклом (один или несколько тактов)
- время выполнения всей команды называют циклом команды
- в зависимости от выполнения действующий цикл команды делят на ряд фаз:
- выборка команд (из памяти)
- выборка адреса для команд косвенной адресации памяти
- исполнение команды:
а) выборка операндов
|
|
б) исполнение
в) запись результата
- Выборка команд – исполняемая команда считывается из оперативной памяти и помещается в регистр команд
- содержимое счётчика команд увеличивается на длину выбранной команды → команда декодируется и выделяется код операции определяющий выполняемые действия – если выбрана безадресная команда, то её выполнение завершается в этой фазе
- Выборка адреса – у большинства микропроцессоров эта фаза отсутствует, однако у 86 процессора она есть
- Исполнение – определяется типом выбранной команды
· осуществляется либо выборка операндов и выполнение операций над ними, с записью результата по адресу одного из операндов; либо пересылка из регистра в память или загрузка из памяти в регистр
· в этой фазе выполняются условные переходы и вызовы подпрограмм