Тактирование МП и синхронизация МПС
Лекция 3
3.1. Алгоритм управляющего автомата
3.2. Цикл команды в МПС
3.3. Тактирование МП и синхронизация МПС
3.4. Слово состояния МП как средство управления системой
Алгоритм управляющего автомата
Управляющее устройство МП состоит из двух независимых частей:
1. Первичного автомата, управляющего процессами внутри МП (ПУА).
2. Схемы, обрабатывающей осведомительные сигналы и генерирующей управляющие сигналы МПС.
Рис. 1.7. Примерная схема алгоритма функционирования управляющего автомата в течение цикла
Первичный управляющий автомат (рис. 1.7) работает следующим образом. Он инициирует начало выполнения очередной команды, вырабатывая микроприказ выдачи содержимого счетчика команд РС на шину адреса. Выбранный из памяти байт информации помещается в регистр команд. Первичный управляющий автомат (ПУА), в состав которого входит дешифратор команды, приступает к преобразованию кода команды в серию микроприказов, реализующих в МП определенную операцию.
Цикл команды в МПС
Цикл команды состоит из двух фаз: выборки команды и ее исполнения. Фаза выборки команды одинакова для всех команд микропроцессора. Последняя операция фазы исполнения команды, а именно размещение результата в аккумуляторе или в одном из регистров, также одинакова для целого ряда команд. Классификация команд по типам отражается в самом коде команды, таким образом существенно упрощается схема декодирования команды.
Существенная особенность работы первичного автомата состоит в том, что его алгоритм содержит условный оператор ожидания готовности операнда. Появление такого оператора в алгоритме объясняется тем, что МП приспособлены для работы с различными типами внешней системной памяти (с непосредственным, прямым или последовательным доступом), имеющими разные времена обращения. Кроме того, МП может обращаться за операндом не только к памяти, но и медленно действующим внешним устройствам ввода/вывода. Наличие в схеме алгоритма первичного автомата оператора ожидания готовности операнда является одной из причин того, что последовательность микрокоманд, реализующая некоторую команду, генерируется первичным автоматом не только на основе кода команды, но и под воздействием внешних управляющих сигналов.
Схема управления системой в зависимости от кода текущей команды, состояния ПУА, а также от значения осведомительных сигналов в шине управления вырабатывает управляющие воздействия, которые реализуют процедуры системного обмена информацией.
Тактирование МП и синхронизация МПС
В МП управляющий автомат в зависимости от сложности команды реализует цикл команды за несколько внутренних машинных циклов. В простейшем случае цикл команды реализуется за 1–5 машинных циклов. Один машинный цикл требуется МП для одного обращения к памяти или устройству ввода/вывода (УВВ). Выборка байта команды или каждого байта адреса или данных (а также их условного представления) требует одного машинного цикла. Аналогичность операций, выполняемых в этих циклах, несмотря на то, что они расположены в различных фрагментах блок-схемы алгоритма работы устройства управления, позволяет реализовывать их в течение цикла команды на одном и том же оборудовании первичного автомата. Эффективность работы управляющего автомата достигается за счет того, что машинные циклы могут быть переменной длины. Так, в МП I8080 каждый цикл может состоять из 3–5 тактов. Тактирование МП от внешнего генератора показано на рис. 1.8.
Каждый такт машинного цикла образует пара сигналов тактирования F1 и F2, поступающих от внешнего генератора. В начале каждого машинного цикла первичный автомат генерирует сигнал синхронизации МП системы SYNC. Каждому такту Т соответствует отдельное состояние первичного автомата управляющего устройства МП. На рис. 1.9 представлена блок-схема алгоритма работы первичного управляющего автомата.
Все такты Т1–Т5 имеют одинаковую длительность. Существуют три исключения из этого положения:
1. Состояние WAIT (Tw), в котором МП находится в ожидании операнда.
2. Состояние HOLD (Twh), в которое МП переходит под воздействием внешних сигналов управления МП системой.
3. Состояние HALT, в которое МП может быть введен командой останова.
Названные состояния МП не связаны с тактовой частотой сигналов F1 и F2, и их продолжительность не определена, так как зависит от внешних по отношению к МП событий. Эти состояния длятся целое число тактов, и выход из них МП тактируется. Таким образом, каждый период тактирования МП соответствует особому состоянию первичного автомата. В стандартном машинном цикле может быть от трех до пяти состояний автомата (Т1-3, Т1-4, Т1-5). Цикл команды содержит от одного до пяти машинных циклов. В зависимости от сложности операций, определяемых командой, цикл команды может быть реализован первичным автоматом с числом переходов по внутренним состояниям от четырех до восемнадцати.
Рис. 1.8. Тактирование МП
Рис. 1.9. Алгоритм работы первичного управляющего автомата
На предложенной выше блок-схеме первичного автомата (рис. 1.9) можно отметить следующее:
1. Микропроцессор позволяет приступить к анализу запросов на прерывание только после окончания выполнения текущей команды.
2. Из состояния останова HALT МП может быть выведен двумя способами: поступившим внешним сигналом прерывания и соответствующим разрешением на него или сигналом системной установки в исходное состояние RESET, который переводит первичный автомат в состояние Т1.