page14
4. Временные диаграммы
машинных циклов
Обработка
команд
программы
микропроцессором
Z80
представляет
собой
поэтапное
выполнение следующих машинных циклов:
ü
извлечение кода операции (цикл M1);
ü
цикл чтения/записи памяти;
ü
цикл ввода/вывода;
ü
цикл предоставления доступа к шине;
ü
цикл подтверждения маскируемого прерывания;
ü
цикл подтверждения немаскируемого прерывания;
ü
выполнение команды останова.
Все команды состоят из последовательности машинных циклов. Каждый из этих машинных
циклов продолжается от 3 до 6 тактов и может быть удлинён путём введения дополнительных
тактов
T
W
(время
ожидания),
если
скорость
ЦП
ограничивается
быстродействием
внешнего
устройства.
Рис. 4.1 показывает, что команды, как правило, состоят из 3 машинных циклов. Первый
машинный цикл каждой команды - это цикл извлечения кода операции, который длится 4, 5 или 6
тактов
синхронизации
(если
он
не
продлевается
сигналом
/WAIT),
в
цикле
M1
из
памяти
извлекается
код
команды,
которая
потом
выполняется.
В
последующих
машинных
циклах
осуществляется передача данных между ЦП и памятью или устройством ввода-вывода. Эти цикли
продолжаются от 3 до 6 тактов и также могут быть продлены сигналом /WAIT, если ЦП должен
синхронизироваться с внешним устройством.
Далее рассматриваются временные диаграммы базовых машинных циклов. Очередность их
выполнения, а также точное время выполнения команд (в тактах) приведены в 5.4.
Рис. 4.1. Пример выполнения команды
4.1.
Извлечение
кода
операции
На рис.4.2 отражены временные процессы цикла M1. Содержимое счётчика команд PC
(адрес кода операции в памяти) подается на шину адреса непосредственно в начале машинного
цикла. Через полтакта (когда адрес памяти стабилизируется на шине) активизируется сигнал
/MREQ. Его спадающий фронт прямо используется для выбора микросхемы запоминающего
устройства. Одновременно с этим включается сигнал /RD и позволяет передать данные из памяти
на шину данных ЦП. По нарастающему фронту такта T3 данные вводятся в ЦП. Этот же фронт
используется и для выключения сигналов /MREQ и /RD
Во время тактов T3 и T4 происходит дешифрация и выполнение извлеченной команды
внутри МП. Одновременно с этим производится регенерация динамической памяти: на 7 младших
битов шины адреса подается адрес регенерации, и активизируется сигнал /RFSH указывая на то,
что ША содержит адрес регенерации. Само восстановление происходит по сигналу /MREQ;
сигнал RFSH нельзя использовать для этого, т.к. Устойчивость адреса регенерации обеспечивается
только ко времени включения /MREQ. Во время регенерации сигнал /RD не формируется, чтобы
избежать передачи данный из различных областей памяти на шину данных.