Микропроцессор. Устройства на базе микропроцессоров. Чтение и запись данных. Операции над четырёхразрядным кодом по машинным командам, страница 7

Если в состоянии останова, то алгоритм переходит.

В противном случае : готов ли процессор к обмене информацией? Если МП готов к обмену => не находится ли МП в процессе захвата (=> осуществляется лишь ввод или вывод данных), т.е. в регистр команд засылается содержимое шины данных по сигналу DBIN (Т3). Происходит анализ конца цикла (КЦ) (т.е. четвёртого и пятого циклов может и не быть). Если нет КЦ, то выполняется ОП; если опять нет КЦ, то опять ОП.

Если конец команды (КК), то анализируется триггер на прерывание (TI). Если он не активен, то происходит считывание следующего байта, если он активен – то выполняется прерывание.

В каждом машинном цикле происходит одно обращение к памяти или к портам => в каждом цикле машинных циклов, сколько требуется для обращения к памяти или портам.

Исключения:

1.  Команда HLT требует одно обращение к памяти, а выполняется за два машинных цикла.

2.  Команда  DAD – требует 1 обращение к памяти, а выполняется за 5 машинных циклов.

Да

 

Да

 

Нет

 

Нет

 

Нет

 

Да

 

HOLD

 

С 3х

 

DI

 

INT/EI

 

HOLD

 

СО

 
Особое условие.

1. Если во втором такте обнаружен сигнал запроса захвата HOLD, то при чтении МП считывает содержимое ШД и вырабатывает сигнал подтверждения захвата, отключаясь при этом от ШД и ША (шины адреса). Если в этот момент осуществляется машинный цикл записи, МП заканчивает машинный цикл записи и переходит в режим захвата. После этого по каждому такту анализируется вход HOLD, если на этом входе снят сигнал запроса захвата, то МП выходит в точку алгоритма «проверка конца команды» и снимает свой байт.

2.   Состояние останова МП.

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

Выполнение командного цикла в STA (копирование данных из аккумулятора в ячейку памяти, адрес которой указан в 2-х дополнительных байтах команды).

Первый такт МЦ:

Содержимое счётчика выставляется на шину адресов

(AB¬PC); (PC) ¬(PC)+1

Второй такт:

Анализируется, есть ли останов, READY, HOLD.

Третий такт:

(PK) ¬((AB)) в регистр команд записывается содержимое ячейки памяти, адрес которой выставлен на шине адресов.

Машинный цикл 2:

Чтение памяти.

1-й такт: на шину адресов выставляют содержимое программного счётчика, сам счётчик увеличивается на 1.

2-й такт: осуществляются все проверки.

3-й такт:  (Z) ¬((AB)), во внутренний регистр Z записывается содержимое ячейки памяти, адрес которой находится на ША.

МЦ 3:

Чтение памяти. 2 первых такта совпадают со вторым МЦ.

Такт 3: в (W) ¬((AB))

МЦ 4:

Запись в память.

1 такт: (AB) ¬(WZ) на шине адресов выставляется адрес регистров WZ.

2 такт: проверки.

3 такт: ((AB)) ¬(A)

4 такт: настройка УУ - подготовка к следующему МЦ итого 13 машинных тактов.

Система команд МП i8080.

Большинство универсальных МП имеет расширенную систему команд, что сделано для упрощения процесса программирования.

Все команды МП можно классифицировать по 5 признакам:

1.   по функциональному назначению

2.   по числу адресов