Курс лекций по микропроцессорамРефераты >> Кибернетика >> Курс лекций по микропроцессорам
Код – код состояния машинного цикла. Показывает какой из циклов выполняется МП.
Этот код всегда выставляется на магистраль данных перед блоком основной команды и информирует внешнее устройство каким циклом занят МП для того чтобы организовать какие – то промежуточные операции.
Примеры рассмотрения выполнения команды во временном интервале МП.(циклограмма)
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→ М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.