ЛЕКЦИЯ 10-11. ЦИКЛ РАБОТЫ МИКРОПРОЦЕССОРА

 

Как у всякого процессора у МП цикл работы состоит из
чтения команды и ее исполнения. Во время выборки команде извлекается из памяти и записывается в управляющий регистр
IR
Если команда двух или трех байтовая, то организуется необходимое число обращений к памяти второй и третий байты помещаются в регистры временного хранения информации
W и Z. Во время выполнения команда дешифруется, производится обращение к памяти за операндом если необходимо производится обработка данных.

Цикл выборки и исполнения команды состоят из нескольких
машинных циклов (от одного до пяти). Машинный цикл требуется
всякий раз, как только происходит обращение к памяти или внешним устройствам системы. При выборе команды всегда необходим
один машинный цикл на каждый байт команды. Машинный цикл состоит из 3-5 тактов синхрогенератора. Такт - наименьший промежуток времени, необходимый для выполнения элементарного
действия в МП. Его длительность равна периоду поступления сигналов ФГ синхрогенератора. Начало каждого машинного цикла сообщается восьмиразрядным словом состоятия процессора, которое
выдается им в момент действия сигнала
SYNC. МП имеет
10 различных машинных циклов :

1. FETCH (MI) - выборка команды, при выполнении
этого цикла команда извлекается из памяти и помещается в управляющий регистр
IR;

2. MEMOR READ - чтение из памяти, этот цикл формируется во всех тех случаях, когда читаются какие-либо
данные иди второй и третий байты команды;

3. MEMORY WRITE - запись в память;

4. STACK READ - чтение стека;

5. STACK WRITE - запись в стек;

6. INPUT - ввод информации от внешних устройств;

7. OUTPUT - вывод информации во внешнее устройст во;

8. INTERRUPT - подтверждение прерывания;

9. HALT - подтверждение останова;

10. HALT INTERRUPT - подтверждение прерывания во время

останова.

В таблице 2.1. указано распределение сигналов состояния
МП по шине данных.

Таблица 2.1

Типы машинных циклов

 

Разряд шины данных

Информ. В состоянии

Выборка команды MI

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

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

Чтения стека

Запись в стек

Ввод

Вывод

Подверждение прерыв.

Подверждение состояния

Подверждение прерыв во время ост.

1

2

3

4

5

6

7

8

9

10

11

12

D0

INTA

0

0

0

0

0

0

0

1

0

1

D1

W0

1

1

0

1

0

1

0

1

1

1

D2

STACK

0

0

0

1

1

0

0

0

0

0

D3

HLTA

0

0

0

0

0

0

0

0

1

1

D4

OUT

0

0

0

0

0

0

1

0

0

0

D5

MI

1

0

0

0

0

0

0

1

0

1

D6

IN

0

0

0

0

0

1

0

0

0

0

D7

MEMR

1

1

0

1

0

0

0

0

1

0

 

 

Общая диаграмма управляющих последовательностей аналогична той, что приведена на рис.1.5. Каждая ветвь диаграммы
состоит из нескольких машинных циклов в зависимости от содержания команды. Машинные циклы следуют один за другим.
Диаграмма выполнения Машинного цикла приведена на рис. 2.2. Цикл
состоит из 3-5 тактов, которые на диаграмме указаны как
Ti (i=I-5).

В первом такте Т т на шину данных выдается слово состояния процессора, которое сопровождается сигналом SYNC .

Кроме того, в это время на адресную шину выдается адрес
ячейки памяти или внешнего устройства, к которому будет производиться обращение.

В состоянии Т2 MП анализирует значение сигнала READY
или HLTA и переходит соответственно, в состояние Тwn и

 

Тw - ожидание. Если на МП поступил сигнал захвата HOLD,
то внутренний триггер захвата устанавливается в I и МП переходит в режим захват, сообщая об этом сигналом
HLDA на соответствующем своем выходе. При отсутствии сигнала READY МП
переходит в режим ожидания так же сообщая об этом сигналом
WAYT. С приходом сигнала готовности МП переходит в следующее состояние Т3. В этом состоянии характер действий определяется типом машинного цикла. При выполнении цикла Ml код операции переносится в управляющий регистр IR, а в циклах чтения
из памяти, записи в память, ввода и вывода информации, осуществляется пересылка данных,

Состояния Т4 и Т5 являются необязательными, и выполняются при необходимости в соответствии с содержанием команды.

После такта Т3 и Т4 если выполнение команды не ограничивается одним машинным циклом, МП входит в следующий машинный цикл.
Если же команда состоит из одного машинного цикла или выполняется последний машинный цикл команды, то начинается цикл
Ml
следующей команды. Во время прерывания МП в последнем такте
последнего машинного цикла команды, по фазе Ф2 производится
опрос входа
INТ, на который поступает сигнал прерывания.
Если
INT =1 и сигнал 1NTE в единичном состоянии (т.е. прерывание уже было разрешено), то в течении машинного цикла Ml
приращения PC не производится и выдается сигнал INTE
Сигнал INTE сбрасывается в "0" в такте Т1. В этом же цикле, но в такте Т3 устройство, запрашивающее прерывание выставляет код операции CALL (вызов подпрограммы) и последовательно два байта адресной части команды. Для чтения этих данных в МП
последний трижды генерирует сигналы
INTA и DBIN.

Если сигнал HLTA в единичном состоянии, то МП будет находится в состоянии останова до тех пор, пока не поступит
запрос прерывания при единичном значении сигнала
INTE. В
этом состоянии может происходить захват шин.

Если состояние HLTA нулевое, то захват может происходить
в такте Т
3 в цикле чтения и в такте, следующем за Т3 в цикле
записи.