Извлечение кода команды или данных из памяти или внешнего устройства
Цикл М1 является основным циклом с которого начинается выполнение любой команды, поэтому временные процессы для него рассмотрим более подробно. Анализ процессов будем проводить по каждому машинному такту Т (рисунок 5).
На такте Т1 программный счетчик МП выдает на ША адрес ячейки памяти, из которой будет считываться код команды. При этом схема приращения адреса МП автоматически увеличивает на единицу значение числа, записанного в программном счетчике. Положительным фронтом тактового импульса Ф2 формируется сигнал “Синхро” и выдается слово состояния на ШД. Сигнал “Прием”, управляющий двунаправленным шинным формирователем (ШФ) шины данных (рисунок 6), на этом такте равен нулю, что позволяет слову состояния поступить на ШД процессора.
На такте Т2 слово состояния записывается в регистр. Положительным фронтом Ф2 заканчивается сигнал “Синхро” и формируется единичный сигнал “Прием”, позволяющий данным поступить на вход МП через ШФ.
На такте Т2 из сигнала “Прием” и седьмого разряда слова состояния (Д7) формируется сигнал на чтение данных из памяти (Чт. памяти), позволяющий данным поступать из памяти на ШД (см. рисунок 5 ). На этом же такте анализируется состояние сигналов “Готов” и “Захват”. При нулевом сигнале на входе “З.Зх” и единичном сигнале на входе “Готов” МП переходит к выполнению такта Т3.
Если к моменту появления отрицательного фронта Ф2 на такте Т2 сигнал на входе “Готов” будет иметь нулевой потенциал, то МП на такте Т3 переходит в режим ожидания. В этом режиме приостанавливается процесс обработки данных и формируется единичный сигнал на выходе “Ожидание”, подтверждающий это состояние. Время ожидания выражается целым числом тактов и может длиться бесконечно долго. На каждом такте в этом режиме при отрицательном фронте Ф2 будет проверяться состояние сигнала на входе “Готов”.
Изменения в диаграммах работы МП в режимах “Захват”, “Останов” и “Прерывание” будут рассмотрены отдельно.
На такте Т3 в момент отрицательного фронта сигнала Ф1 производится запись данных во внутренний регистр кода команды. Положительным фронтом Ф2 снимается сигнал “Прием” на выходе МП и, следовательно, сигнал “Чт. памяти”.
На последующих тактах Т4 и Т5 . дешифратор кода команды расшифровывает код команды, определяет количество байтов в команде, формирует команды на внутренние пересылки данных и подготавливает МП к выполнению следующих машинных циклов.
Отличие машинных циклов чтения данных из памяти или внешнего устройства будет заключаться лишь в том, что МП будет воспринимать числа, полученные на такте Т3 по ШД не как код команды, а как данные. При приеме данных из внешнего устройства на ШУ формируется сигнал чтение устройства ввода-вывода (Чт.ВУ) из сигнала “Прием” и разряда Д6 регистра состояния. Этот сигнал позволяет именно ВУ выдать информацию на ШД процессора.
Запись данных в память или внешнее устройство
Процесс записи данных в память иллюстрируется на схеме, показанной на рисунке 7.
На такте Т1 содержимое регистра адреса МП выдается на ША, а на ШД выдается слово состояния.
На такте Т2 на ШД выдаются данные для записи в память.
На такте Т3 формируется сигнал “Запись”, по которому будет проходить запись данных в память или ВУ.
На протяжении всего машинного цикла записи данных в память сигнал “Прием” находится на нулевом уровне, что позволяет двунаправленному шинному формирователю работать в режиме выдачи данных на ШД МП.
Процесс записи данных во внешнее устройство аналогичен записи данных в память. Единственное отличие этого процесса заключается в том, что вместо сигнала “Зп.память” формируется сигнал “Зп.в ВУ”, т.е. в первом случае выполнялась сборка по “И” для сигналов “Запись” с МП и “Память” с РгСС, а во втором - сборка по “И” для сигналов “Запись” и “Вывод”.