Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорная техника.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
5.93 Mб
Скачать

Временные диаграммы сигналов мп

В первом такте МП по срезу импульса F1 выставляет на ША содержимое РС − это адрес ячейки памяти, где храниться код команды. Затем содержимое РС инкрементируется. В этом же такте по фронту F2 выдается импульс на выходе SYNC и одновременно на ШД поступает слово состояния. Из этого слова формируется сигнал управления для данного машинного цикла. Во 2-ом такте по фронту сигнала F2 на шину данных поступает содержимое ячейки памяти − это код команды. Этот код команды считывает МП по срезу сигнала F1 в такте Т3. Сигналы управления памяти формируются из сигнала DBIN и сигнала СС. Сигнал MEMR управляет памятью. В такте Т4 МП декодирует принятый код и определяет команду, которую он должен выполнить. Если команда не требует обращения к памяти, то в 5-ом такте она выполняется. На 4-ом такте этот цикл заканчивается.

Во 2-ом такте каждого машинного цикла по срезу сигнала F2 МП анализирует входы READY и HOLD. Если в этом моменте READY = 0 МП переходит в режим ожидания, если HOLD = 1 МП переходит в режим захвата.

Режимы работы мп

1. Начальная установка МП (НУ) − после включения электропитания триг. регистр находится в произвольном состоянии, в том числе и РС, поэтому МП может начать выполнение программы с произвольного адреса, поэтому происходит сброс МП. Для этого имеется вход RESET − вход НУ.

При этом происходит следующее:

  1. РС сбрасывается в 0: (PC)←0000H.

  2. Сбрасывается триггер разрешения прерываний: (INTE)←0, т. е. прерывания запрещаются

  3. Триггер захвата сбрасывается в 0: (HLDA)←0.

Когда RESET = 0 МП начинает работу: содержимое РС выдается на ША и МП читает код из 0-ой ячейки памяти (здесь должна быть первая команда программы).

2. Режим ожидания − для нормальной работы МП надо чтобы READY = 1. Во 2-ом такте каждого машинного цикла МП проверяет состояние входа READY. Если в момент среза импульса F2 READY = 0, то МП переходит в режим ожидания. В этом режиме МП не производит никаких действий. В режиме ожидания на выходе WAIT = 1. В этом режиме МП постоянно анализирует состояние входа READY, и как только появляется высокий уровень − МП продолжает выполнение прерванной программы. Этот режим необходим для согласования МП с медленными устройствами.

3. Режим захвата − МП отключается от управления системной шиной и отдает ША и ШД контроллеру прямого доступа к памяти. Для перехода в этот режим контроллер устанавливает HOLD = 1 . МП во 2-ом такте каждого машинного цикла анализирует этот вход и если там 1, то МП переходит в режим захвата, переводя ША и ШД в Z − состояние. МП в этом режиме следит за входом HOLD и как только там будет 0 МП продолжает выполнение прерванной программы.

4. Режим прерывания − чтобы перейти к подпрограмме прерываний надо чтобы они были разрешены. Это определяется триггером INTE, если INTE = 1 − прерывания разрешены, если INTE = 0 − прерывания запрещены. Для разрешения прерывания имеется команда EI, а для запрещения команда DI.

Внешние устройства подают высокий уровень на вход INT:

Если INTE = 1, то МП заканчивает выполнение текущей команды и сбрасывает в 0 триггер INTE. Закончив выполнение команды, МП переходит к машинному циклу обслуживания прерывания. В этом цикле:

  1. МП помещает содержимое РС в стек, в РС содержится адрес предыдущей команды − это адрес возврата в основную программу;

  2. Из СС формируется сигнал управления INTA. По этому сигналу внешнее устройство передает на ШД код команды RST N (N = 0, 1,…,7). МП считывает этот код и определяет адрес подпрограммы прерывания.

  3. В РС загружается полученный адрес подпрограммы, и она выполняется.

  4. В конце подпрограммы прерывания находится команда возврата RET. По этой команде МП извлекает из вершины стека адрес возврата и заносит его в РС − происходит возврат к основной программе.

RST N

VVV

Адрес ISR, HEX

RST 0

RST 1

RST 2

RST 3

RST 4

RST 5

RST 6

RST 7

000

001

010

011

100

101

110

111

0000

0008

0010

0018

0020

0028

0030

0038

В этом машинном цикле адрес не используется и на ШД образуется слово состояния − вырабатывается строб INTA. С помощью строба на ШД поступает адрес команды RST N.

5. Режим останова − команда останова HLT, после выполнения этой команды МП переходит в режим останова − МП не выполняет никаких действий, содержимое РС неизменимо, МП переводит буферы ША и ШД в 3-е состояние, на выходе МП WAIT = 1. В этом режиме МП может находиться бесконечно долго. Выти из режима останова можно 2-мя методами:

  1. Подачей запроса прерывания на вход INT − если прерывание разрешено (INTE = 1), то МП выходит из режима останова и переходит к подпрограмме обработки прерывания, если прерывание запрещено, то этот метод не срабатывает.

  2. Подачей сигнала начальной установки на вход RESET − при этом МП начнет выполнение программы с нулевого адреса. Этот метод всегда срабатывает.