Курс лекций по микропроцессорам
Рефераты >> Кибернетика >> Курс лекций по микропроцессорам

Код – код состояния машинного цикла. Показывает какой из циклов выполняется МП.

Этот код всегда выставляется на магистраль данных перед блоком основной команды и информирует внешнее устройство каким циклом занят МП для того чтобы организовать какие – то промежуточные операции.

Примеры рассмотрения выполнения команды во временном интервале МП.(циклограмма)

SUI60 – операция вычитания из аккумулятора число 60

А←(А) – это расписан SUI60 – её код 06

Состояние регистров МП до выполнения команды:

А, F, B, C, D, E, H, L, SP, PC

80 43 80 33 80 32 80 20 8700 8006

Внешняя память

8006 – D6

8007 – 60

Ф1 – Ф2 – определяют временной режим работы МП.(частотные последовательности) Они поступают от внешнего устройства – генератора импульсов.

М1 – М2 – машинные циклы

М1 – состоит из 4-х тактов, М2 – из 3-х тактов;

М1 – это выбор кода операции команды из внешнего устройства

М2 – чтение из внешней памяти данных

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

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

Далее берется код команды D6 и выставляется на магистраль данных

Код D6 → MD → PK РгА

↓ ↓

ДШК АЛУ

УУ

↓↓↓↓↓

Далее выставляется М2

PC(8007)

МА → MD(60) → рег.W

Перед тем как выполнить команду обязательно появляется байт состояния машинного цикла.

ПМ – шина прием

После появления в первом машинном цикле MD – кода D6 – на линии прием ПМ появляется импульс разрешающий запись кода D6 в регистре команд.

В М2 после байта состояния на МD выводится данные в виде числа 60. Далее возникает импульс прием, который разрешает запись данных в вспомогательный регистр W.

Стадия выполнения команды происходит мгновенно.

Диаграмма состояний машинного цикла МП – 580

Временные диаграммы машинных циклов

Ф1

Если МП обрабатывает основную программу и нет никаких внешних отвлечений, то выполнение машинных циклов идет по порядку (М1→ М2 → М3 ….)

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

1. Состояние при обработке сигнала готовность

2. Особое состояние при обработке запроса на прерывание

3. Особое состояние при осуществлении режима прямого доступа в память

4. Особое состояние при обработке команды останов

1.Реакция МП на сигнал готовность

Сигнал готовность выдается внешним устройством и задает режим работы МП.

По переднему фронту сигнала Ф2 в такте Т2 снимается сигнал С(синхроимпульс), а буфер ШД МП переводится в режим приема и формируется сигнал ПМ. Если в текущем машинном цикле осуществляется прием данных в МП или на ШД выдаются данные. Если в текущем машинном цикле осуществляется передача данных из МП во внешнюю по отношению к нему подсистему. В это же время проверяется уровень сигнала на линии готовность ГТ. Если сигнал имеет ГТ = “лог 1”, что говорит о готовности внешнего по отношению к МП устройства к обмену информации, то МП переходит к выполнению такта Т3. Если на линии ГТ = “лог 0” то МП не переходит к выполнению такта Т3, а входит в особое состояние ожидания Т ож. В этом состоянии на шине адреса сохраняется адрес выданный в такте Т1 и сохраняется сигнал прием ПМ, если текущий машинный цикл связан с приемом данных в МП. По переднему фронту последовательности Ф1 в такте следующим за Т2 на выходе ожидание МП формируется “лог 1” то есть выдается сигнал ожидание. Продолжительность состояния Т ож определяется временем нахождения на линии ГТ сигнала “лог 0”, и равно целому количеству тактов. Если на линии ГТ сигнал = “лог 1”, который анализируется по сигналу последовательности Ф2, МП переходит к выполнению Т3 и по переднему фронту Ф1 снимается сигнал ожидания. Наличие в МП операции анализа готовности внешнего по отношению к нему устройства к обмену информации с устройствами быстродействие которых меньше быстродействия МП.

Когда МП находится в режиме ожидания он не выполняет никаких операций по преобразованию данных (стоит и ждет).

2.Реакция МП на сигнал запрос – прерывание (З.Пр)

МП анализирует сигнал З.Пр при выполнении всех команд, кроме команды EI (разрешение прерывания), если внутренний триггер – разрешения прерывания установлен в “1” и соответственно на выводе

Если поступил сигнал З.Пр и РПР, то по переднему фронту последовательности Ф2 последнего такта, последнего машинного устанавливается внутренний триггер прерывания. В этом случае следующим тактом будет Т1 цикла М1 команды RST(команда выхода на подпрограмму прерывания). Следовательно при поступлении З.Пр обеспечивается полное выполнение текущей команды прежде чем МП перейдет в режим обслуживания прерывания . В Т1 по переднему фронту последовательности Ф2 адрес очередной команды т. е. содержимое программного счетчика передается на шину адреса. На шину данных поступает информация состояния машинного цикла и МП выдает сигнал С (синхронизация). В этом же такте по переднему фронту последовательности Ф2 сбрасывается внутренний триггер разрежения прерываний и формируется на выходе РПР сигнал лог”0”. Следовательно МП будет игнорировать последующие запросы прерываний до тех пор пока триггер РПР не будет установлен командой EI. В такте Т2 сбрасывается внутренний триггер прерывания с ШД во внешний регистр может быть записана информация состояния машинного цикла по переднему фронту Ф2. ШД МП переводится на прием данных и формируется сигнал ПМ. Содержимое программного счетчика в этом случае не увеличивается на единицу из – за формирования специального запрещающего импульса препятствующего увеличению этого счетчика. Это необходимо что бы возвратиться к выполнению прерванной программы после окончания обработки подпрограммы прерывания RST.


Страница: