Слово состояния микропроцессора

Для нормального функционирования МП-системы недостаточно управляющих сигналов, генерируемых микропроцессором. Микропроцессорная система в каждом машинном цикле должнаполучать более полную информацию о состоянии МП. В условиях “узкого” интерфейса МП, когда внешних выводов для индикации внутреннего состояния (слова состояния) МП недостаточно, эта задача решается с использованием мультиплексирования шины данных и представления внутреннего состояния МП на внешнем по отношению к МП регистре слова состояния (РСС). На рис. 2.5. представлена схема подсоединения РСС к шине данных МП.

Шина данных
Система управляющих сигналов в данном машинном цикле
Рис. 2.5
D7
D0
синхро
РСС
D7 – D0
МП
D7 – D0

Слово состояния микропроцессора Слово состояния микропроцессора Слово состояния МП

Процессор в первом такте каждого машинного цикла генерирует на шине данных слово состояния (СС), которое содержит информацию о процессах, происходящих в МП. Так как сигнал синхронизации “синхро” вырабатывается в МП в начале каждого машинного цикла, то он используется в качестве сигнала, идентифицирующего информацию, представленную в шине данных как слово состояния СС. Слово состояния СС загружается во внешний регистр слова состояния РСС под воздействием сигнала синхронизации “синхро” . Сигналы, которые представлены на выходе 8 — разрядного регистра состояния, используются в качестве сигналов управления периферией МП-системы. Если при реализации любой команды первый машинный цикл в цикле команды есть цикл выборки команды, то машинные циклы в цикле команды могут следовать в достаточно произвольном порядке, что определяется кодом команды. Всего МП К580 имеет десять типов машинного цикла

1. выборка команды;

2. чтение из памяти;

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

4. чтение из стека;

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

6. чтение из УВВ;

7. запись в УВВ;

8. разрешение прерывания;

9. разрешение останова;

10.разрешение прерывания во время останова;

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

Таким образом, в условиях “узкого” интерфейса МП управление МП -системой осуществляется генерацией управляющих воздействий на двух уровнях:

на уровне управляющих сигналов (микроприказов) по шине управления собственно МП в каждом такте работы первичного автомата;

на уровне миниприказов путем генерации слово состояния в каждом машинном цикле.

Выходы регистра слова состояния и управляющие линии корпуса МП образуют линию управления МП системы. Двенадцать линий шины системного управления обеспечивают возможность работы МП-системы со сложным многофункциональным периферийным оборудованием. При этом использование временного мультиплексирования шины данных для вывода на внешний регистр состояния сигналов управления МП-системой снижает общую производительность системы.

СОСТОЯНИЕ ЗАХВАТА

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

Переход в состояние захвата происходит следующим образом. От внешнего устройства поступает сигнал уровня логической единицы на вход Запрос захвата. Этот сигнал на отрицательном фронте импульса j2 такта Tg принимается в триггер захвата управляющего устройства. Управляющее устройство заканчивает выполнение текущего цикла, переходит в состояние захвата и подтверждает это выдачей сигнала на выходе Подтверждение захвата. Сигнал на выходе Подтверждение захвата выдается на положительном фронте импульса j1 в такте Тд, если текущий цикл не является циклом записи; в противном случае этот сигнал выдается на положительном фронте импульса j1 такта, следующего за тактом Тд.

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

СОСТОЯНИЕ ПРЕРЫВАНИЯ

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

Если на некотором участке программы допускается ее прерывание, то при составлении программы в начале этого участка предусматривается команда inte, по которой триггер разрешения прерывания в управляющем устройстве микропроцессора устанавливается в состояние логической единицы, а в конце участка — команда intr, при выполнении которой триггер сбрасывается в состояние логического нуля. Состояние триггера выдается на выход Разрешение прерывания.

Процесс прерывания связан со следующими действиями. От внешнего устройства поступает сигнал уровня логической единицы на вход Запрос прерывания. Если прерывание разрешено (т. е. на выходе Разрешение прерывания имеется уровень логической единицы), то после окончания выполнения текущей команды триггер разрешения прерывания сбрасывается в состояние логического нуля, а в информации о состоянии микропроцессора, выдаваемой на шину данных, появляются сигналы Подтверждение прерывания (в разряде D0), Ввод (в разряде D1) и сигнал о том, что в данном цикле производится прием первого байта команды (в разряде D5). Cигнал Подтверждение прерывания используется в качестве строба для выдачи внешним устройством на шину данных команды RST (команды Рестарт).

При выполнении команды RST содержимое счетчика команд PC запоминается в стеке, а в счетчик команд PC записывается адрес первой команды прерывающей программы. Этот адрес задается следующим образом. Команда RST имеет структуру 11 АAА 111 и в счетчик команд заносится значение 00 000 000 00 ААА 000, которое и служит адресом первой команды прерывающей программы. Задавая определенную трехразрядную кодовую комбинацию ААА, внешнее устройство может задать адрес первой команды одной из восьми прерывающих программ.

После окончания выполнения прерывающей программы возврат в основную программу происходит следующим образом. Прерывающая программа заканчивается командой RET (Возврат из подпрограммы). В процессе выполнения этой команды адрес команды основной программы, перед которой произошло прерывание, выбирается из стека и передается в регистр адреса, а увеличенное на единицу значение заносится в счетчик команд.

СОСТОЯНИЕ ОСТАНОВА

В системе команд микропроцессора имеется команда HLT (Останов), которая вызывает прекращение выполнения программы и переход в состояние останова. Это состояние характеризуется тем, что буферы шины адреса и шины данных переходят в третье состояние, микропроцессор отключается от внешних шин и на выходе Ожидание устанавливается уровень логической единицы. Состояние останова может быть прервано сигналами запуска микропроцессора

Устройство процессора


Похожие статьи.

Понравилась статья? Поделиться с друзьями: