Циклы выполнения команд: принципы организации, К1810ВМ86, КР580ВМ80

Пример HTML-страницы

Циклы выполнения командПринципы организации командных и машинных циклов.

Команда пред­ставляет собой совокупность микрокоманд, которые в виде двоичных кодов хра­нятся в постоянной памяти (ПЗУ) устройства управления процессора. Выполне­ние команды можно рассматривать как процесс считывания из ПЗУ микрокоманд, инициирующих работу некоторых функциональных узлов процессора на отдель­ных временных интервалах (тактах). Время, затрачиваемое на выполнение коман­ды, называется командным циклом.

Команды имеют не одинаковую длительность командных циклов, так как со­держат различное число микрокоманд, используют разные способы адресации и другую дополнительную информацию. Это обстоятельство отражается в форма­тах команд, имеющих длину один, два и более байт. В командном цикле можно выделить две основные фазы:

● фазу выборки команды.

В этой фазе программный счетчик PC выставляет на адресную шину адрес первого байта команды. Микропроцессор вырабатыва­ет сигнал «чтения памяти», благодаря которому содержимое адресуемой ячейки памяти по шине данных поступает в регистр команд IR ( Instruction Register ).

Программный счетчика PC формирует адрес, указывающий на следующий элемент объектного кода. Фаза выборки одинакова для всех команд;

● фазу выполнения команды.

Фаза начинается с дешифрации команды. В ре­зультате дешифрации первого байта определяется вид (код) операции и в уст­ройстве управления формируются необходимые для ее выполнения управля­ющие сигналы. Действия процессора в фазе выполнения команды и ее про­должительность зависит от вида операции. Для выполнения операции может потребоваться дополнительное обращение к памяти или внешним устрой­ствами за данными, пересылка данных в соответствующие регистры процес­сора, непосредственное выполнение операции в АЛУ, вывод результатов в память или внешнее устройство и т. д.

Различная длительность командных циклов и неоднородность их отдельных фаз явились причиной организации машинных циклов для выполнения команд. Каждый машинный цикл представляет собой цикл обращения к системной ма­гистрали. В машинном цикле производится выборка очередного байта (слова) команды или данных из памяти, запись в память, ввод или вывод данных. Команд­ный цикл может содержать различное число машинных циклов. В первом машин­ном цикле М1 происходит выборка первого байта команды, ее дешифрация и ис­полнение, если данные находятся во внутренних регистрах процессора. Если выполнение команды требует обращения к памяти или внешним устройствам, то используется два, три и более машинных циклов.

Машинные циклы, как и команд­ные, также не являются однородными. Поэтому на их выполнение затрачивается различное число тактов. Таким образом, при выполнении команды все действия процессора синхронизированы вложенными друг в друга циклами трех уровней: командными, машинными и тактовыми.

Рассмотрим в общих чертах особенности организации машинных циклов и ра­боты микропроцессоров КР580ВМ80 и К1810ВМ86.

Микропроцессор КР580ВМ80.

Организация машинных циклов. Для организации машинных циклов (МЦ) используется двухфазная система синх­роимпульсов Ф1, Ф2. Машинные циклы выполняются по тактам. Каждый такт отсчитывается от фронта импульсов Ф1. Его длительность равна периоду синхро­импульсов.

В течение такта выполняется одна микрокоманда. В первый такт каждого МЦ процессор вырабатывает сигнал синхронизации SYNC. Один МЦ включает 3–5 тактов, один командный цикл — 1–5 МЦ.

Набор управляющих сигналов процессора не обеспечивает его нормального функционирования в микропроцессорной системе. Например, он не позволяет реализовать селективное обращение к памяти и внешнему устройству. Поэтому в процессоре предусмотрен вывод на шину данных 8–разрядного слова состоя­ния SW ( Status Word ) в первом такте каждого машинного цикла, что позволяет расширить набор управляющих сигналов и организовать работу МП в машинных циклах.

Отдельные разряды D 7… D 0 слова состояния имеют следующее назначение:

D 0 ( INTA ) ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ: стробирование команды RS Т (повторного пус­ка) в микропроцессор из устройства, запрашивающего прерывание, при действи­тельном сигнале ПРИЕМ ( DBIN );

D l ( WO #) ЗАПИСЬ/ВЫВОД: при WO # = 0 на шине данных находится информация для запи­си в память или вывода во внешнее устройство (при WO = 1 реализуется режим чтения из памяти или приема из внешнего устройства);

D 2 ( STACK ) СТЕК: на шине адреса установлен адрес из указателя стека;

D 3 ( HLTA ) ПОДТВЕРЖДЕНИЕ ОСТАНОВА: микропроцессор находится в состоянии останов — отклик на команду ОСТАНОВА HLT ;

D 4 ( OUT ) ВЫВОД: на адресной шине установлен номер устройства вывода и осуществляется вывод информации из аккумулятора в это устройство при сигнале ВЫДАЧИ ( WR = 0);

D 5(М1) ВЫБОР ПЕРВОГО БАЙТА: текущий цикл служит для выбора первого байта команды;

D 6( INT ) ВВОД: на адресной шине установлен номер устройства ввода и осуществляется ввод информации в аккумулятор из этого устройства;

D 7 (МЕМ R ) ЧТЕНИЕ ИЗ ПАМЯТИ: в текущем цикле производится чтение из памяти.

С помощью разрядов слова состояния кодируются МЦ. В 8–разрядном про­цессоре КР580ВМ80 предусмотрено 10 МЦ:

№ МЦ Назначение Код
1 Прием первого байта команды в регистр команд 10100010
2 Чтение данных из памяти 10000010
3 Запись данных в память 00000000
4 Чтение из стека 10000110
5 Запись в стек 00000100
6 Ввод данных из порта в аккумулятор 01000010
7 Вывод данных из аккумулятора в порт 00010000
8 Подтверждение прерывания 00100011
9 Останов 10001010
10 Подтверждение прерывания при останове 00101011

Работа в машинных циклах.

Выполнение любой команды начинается с первого машинного цикла М1, называемого основным. Перед началом цикла в программном счетчике PC установлен адрес первого байта очередной команды.

На такте Т1 происходят следующие процессы:

● адрес первого байта загружается в регистр адреса и выставляется на шину адреса; одновременно содержимое счетчика команд поступает в схему инк­ремента–декремента;

● передним фронтом импульса Ф2 формируется сигнал SYNC , свидетельству­ющий о том, что текущий цикл является первым машинным циклом; одновре­менно с этим сигналом на шину данных выставляется информация о состоя­нии микропроцессора.

На такте T 2:

● передним фронтом импульса Ф1 формируется Строб, по которому происхо­дит запись слова состояния в регистр состояния;

● передним фронтом импульса Ф2 в микропроцессоре формируется сигнал Прием; с помощью сигнала Прием и выходного сигнала D 7 регистра состоя­ния формируется управляющий сигнал чтения из памяти ЧтП; первый байт команды через двунаправленный буфер БД поступает на шины данных мик­ропроцессора, однако не воспринимается им;

● прежнее содержимое счетчика команд, находящееся в схеме инкремента–декремента, увеличивается на единицу и снова передается в счетчик. Следова­тельно, теперь в счетчике будет уже находиться адрес второго байта коман­ды или адрес первого байта следующей команды, если текущая команда яв­ляется однобайтной;

● выявляется необходимость перевода микропроцессора в состояние ожида­ния TW путем проверки сигналов ГОТОВНОСТИ (Гт), ЗАПРОСА ЗАХВАТА (ЗЗх) и ПОДТВЕРЖДЕНИЯ ОСТАНОВА ( D 3). Если к моменту появления среза импуль­са Ф2 сигнал Гт = 0, то микропроцессор переходит в состояние ожидания Tw , которое может длиться неограниченно большое, но целое число тактов. На срезе Ф2 каждого такта производится проверка сигнала Гт. При Гт = 1, ЗЗх = 0, D 3 = 0 микропроцессор переходит в такт ТЗ.

На такте ТЗ:

● отрицательным фронтом Ф1 первый байт команды записывается в регистр команд РК;

● положительным фронтом Ф2 оканчивается сигнал Прием на выходе микро­процессора и, следовательно, сигнал чтения из памяти ЧтП.

На такте Т4:

● первый байт команды поступает из регистра команд в устройство управле­ния, где анализируется и выясняется необходимость дополнительного обра­щения к памяти;

● если команда однобайтная и операнды находятся в регистрах микропроцес­сора, то такое обращение не требуется и предусмотренная командой опера­ция выполняется; при необходимости используется дополнительный такт Т5;

● если существует необходимость дополнительного обращения к памяти, то ос­новной машинный цикл М1 заканчивается.

Отличие машинных циклов ЧТЕНИЯ ИЗ ПАМЯТИ (2), ЧТЕНИЯ ИЗ СТЕКА (4), ВВОДА из внешнего устройства (6) по сравнению с циклом М1 заключается в сле­дующем:

● для активизации режима работы устройств используются соответствующие управляющие сигналы;

● на такте ТЗ информация на шине данных воспринимается микропроцессором как данные, а не первый байт команды, и поэтому передается в другие реги­стры, а не в регистр команд.

Особенности выполнения машинных циклов ЗАПИСИ В ПАМЯТЬ (3), ЗАПИСИ В СТЕК (5) и ВЫВОДА из микропроцессора во внешние устройства (7) проявляют­ся в следующем:

● для активизации режимов записи или вывода используются соответствующие управляющие сигналы для каждого из указанных устройств;

● на такте Т2 из микропроцессора на шину данных выводится информация;

● на такте ТЗ формируется управляющий сигнал для активизации записи или вывода.

Микропроцессор К1810ВМ86.

Организация машинных циклов. Машинные циклы (МЦ) синхронизируются тактовыми импульсами, поступающими на вход CLK.

Период тактовых импульсов составляет такт МЦ. Границей раздела тактов является срез тактового импульса. Каждый МЦ содержит не менее четы­рех тактов Т1–Т4.

В режиме минимальной конфигурации все необходимые сигналы управления вырабатываются микропроцессором самостоятельно. В режиме максимальной конфигурации возможна работа в восьми МЦ, тип которого выбирается трехраз­рядным кодом S2S1S0.

Работа в машинных циклах.

Рассмотрим работу процессора в машин­ном цикле, в котором осуществляется обращение к магистрали.

В такте Т1 микропроцессор на соответствующие выводы выставляет адрес А19…А0 и сигнал BHE/S7 = 0 для активизации Н–банка памяти.

При адресации портов ВВ старшие разряды А19…А16 адреса принимают зна­чение 0.

В циклах чтения такт Т2 используется для переключения шины адресов/дан­ных (ША/Д) в режим чтения. В это время она находится в высокоомном состоя­нии. Данные принимаются в течение тактов ТЗ и Т4.

В циклах записи в течение тактов Т2–Т4 процессор выставляет на ША/Д дан­ные D15…D0. В такте ТЗ любого МЦ МП сигналом READY опрашивает готовность ВУ к обме­ну. Если READY = 0, то в следующем такте МП переходит в состояние ожидания, которое длится целое число тактов TW . После поступления READY = 1 микропро­цессор завершает МЦ тактом Т4 и переходит к следующему МЦ обращения к ма­гистрали. При отсутствии необходимости обращения к магистрали генерируются холостые такты Т5.

При передаче данных в тактах Т2, ТЗ ( TW ), Т4 на выводах A 16/ S 3… A 19/ S 6 и BHE / S 7 микросхемы активными становятся сигналы S 3… S 7, которые информи­руют ВУ о  состоянии МП. При этом S 6 = 0, S 5 показывает состояние флага пре­рывания, a S 4 S 3 кодирует сегментный регистр, используемый при адресации.


Понравилась статья? Поделиться с друзьями:
Все об энергетике, электротехнике и электронике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: