ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.06.2025
Просмотров: 4520
Скачиваний: 2
16.6. Процесс выполнения команд
Такт 2
К началу второго такта сигнал считывания -^RD устанавливается на L (low). ЗУ отвечает на это содержанием ячейки ЗУ, адрес кото рой выслан в такте 1. После интервала, соответствующего времени обращения к ЗУ, операционный код находится на шине данных.
ТактЗ
Данные подаются на шину данных. Сигнал считывания -^RD вновь устанавливается на Н (high). Поскольку протекает OF-цикл, ав томатически обрабатывается следующий такт. Значение счетчика программ возрастает на 1.
Такт 4
В течение этого такта декодируется операционный код. Решается, будут ли обрабатываться дальнейшие такты, как это имеет место при команде DCX.
16.6.2. Цикл считывания памяти (MR, memory read)
Цикл считывания памяти (MR, memory read) представлен здесь в виде двзос протекаюпщх друг за другом циклов, причем один из циклов содер жит «состояние ожидания» (wait state) Т^. Такт Tyj происходит то гда, когда на входе READY состояние READY — О показывает, что ЗУ с более высоким временем доступа еш;е выдается значаш;ие дан ные на шину данных. В случае быстрых ЗУ, которые могут ответить в течение одного такта, сигнал READY^ как правило, устанавлива ется на Н. Временная диаграмма этого цикла изображена на рис. 16.7.
Такт 1
В начале цикла посылаются управляюш;ий сигнал и сигнал приори тета. Процессор накладывает адрес счетчика команд на адресную шину. Сигнал ALE вызывает загрузку младшей части адреса в ре гистр промежуточного ЗУ. Программный счетчик повышает свое значение на 1.
Такт 2
К началу второго такта сигнал считывания ->RD устанавливает ся на L (low). ЗУ отвечает на это содержанием ячейки ЗУ, адрес которой выслан в такте 1. После интервала, соответствуюш;его вре мени выборки, имеются значаш;ие данные. Поэтому сигнал READY находится в состоянии Н (high).
Такт 3
Данные вводятся на шину данных и сигнал считывания -iRD вновь устанавливается на Н (high). Во втором из показанных MR-циклов
16.6. Процесс выполнения команд |
3 7 7 |
Аналогичный порядок действий справедлив и цикла Ю-write |
(«за |
||||
пись по входу/выходу»), только при этом 10/-^М = 0. |
|||||
MW |
MW |
||||
T2 |
ъ |
T, |
|||
r1\-j~i |
|||||
CLK |
|||||
Ю/-лМ • |
\ I O / M 4 . S 1 = 0 . S 0 - |
\ IO/M=f S1=0.S0' |
|||
L |
L |
DC |
|||
ADo-AD-j' |
)[A.-A. О\Щ n-n^irr |
УА» - А - ,ОШ( D»-D, (PUT |
к |
||
ALE J |
r~\ |
г |
|||
-nWR READY
Р и с . 16.8. Временная диаграмма цикла memory-write с наличием и без на личия состояния ожидания (wait state). Протекание процесса действительно и для цикла lO-write.
16.6.4.Пример выполнения команды
Вкачестве примера демонстрируется команда STA IB02H, 3 байта которой записываются в ЗУ по следующим адресам:
Адрес |
Содержание |
Комментарий |
1001 |
32 |
STA |
1002 |
02 |
младший байт адреса |
1003 |
Id |
старший байт адреса |
Процессор перезаписывает адреса и данные всегда в следуюп];ей последовательности: младший байт — старший байт.
На рис. 16.9 показано, что в первом цикле получаем команду STA, во втором цикле младшую часть адреса (02) и в третьем цикле старшую часть адреса (IB). В каждом из трех циклов программ ный счетчик увеличивает свое значение на 1, от 1001 до 1003. В 4-ом цикле адрес 1В02 подается на адресную шину и содержание накапливаюш;его регистра записывается в адресованную таким образом ячейку ЗУ.
378 |
Глава |
16. |
Структура, |
система |
команд и работа |
микропроцессора |
|||||||||
Zvklus |
OF |
MR |
MW |
||||||||||||
т, |
|||||||||||||||
Takt |
Тг |
Т4 |
т, Т2 |
Тз |
т, |
Тз |
т, |
Тз |
|||||||
Л-Дз |
_ 1 |
10 |
)[ |
1 10 |
1 |
10 |
; |
IB |
|||||||
кж:^ |
|||||||||||||||
АПь-ALh \ |
01 |
\-{ |
32 } |
^ |
02 |
И |
}2 ^ |
( |
щН |
IB |
)^ |
02 |
|||
сиг |
IN |
сиг |
IN |
ал |
IN |
ош |
oLrr |
||||||||
ALE |
п |
п |
п |
п |
|||||||||||
—Ни^ |
\ |
Г |
/ |
i |
/ |
||||||||||
11ГТУ |
. J |
1 |
|||||||||||||
—\vvK |
1 |
\ |
|||||||||||||
Рис. 16.9. Временная диаграмма команды STA IB02H (содержание из А: 4С).
16.7.Управление с помощью прерывания (interrupt)
Прерывание представляет собой возможность останавливать выпол няющуюся программу извне. Это может потребоваться, например, тогда, когда с помощью клавиатуры введена какая-либо команда, или тогда, когда должна быть проведена аварийная остановка упра вляемого микропроцессором станка. Если на линию прерывания (in terrupt line) подан сигнал, выполнение программы прерывается и вместо нее выполняется подпрограмма обработки прерывания (ISR, interrupt-service-routine), которая должна решить имеющиеся зада чи. В заключение выполнение программы продолжается.
Сигналы interrupt являются активными High-сигналами (Н) и могут формироваться на основе тактовых сигналов процессора. При выполнении каждой подобной команды проверяется, поступил ли сигнал interrupt извне. Это происходит во время предпоследнего такта команды. В любом случае команда выполняется до конца.
При любых прерываниях сначала должно быть сохранено сте ковое ЗУ (stau). Потом адреса программы обработки прерывания (ISR) загружаются в программный счетчик. В заключение програм-
16.7. Управление с помощью прерывания (interrupt)
ма обработки прерывания выполняется. В конце ISR с помощью ко манды RET содержание счетчика команд выносится из стекового ЗУ и программа продолжается с прежнего места.
Таблица 16.4. Свойства сигналов прерывания у 8085А.
Прерывание |
Запуск |
Способность |
Способность |
Адрес |
Приоритет |
TRAP |
фронт |
нет |
нет |
0024 |
1 |
состояние |
|||||
Я5Т7.5 |
фронт |
да |
да |
002С |
2 |
Я5Г6.5 |
состояние |
да |
да |
ООЗС |
3 |
Я5Т5.5 |
состояние |
да |
да |
0034 |
4 |
Различают следующие моменты:
•блокирование прерывания: с помощью команды EI (enable in terrupt, «разрешение прерывания») и команды DI (disable in terrupt, «запрещение прерывания») все прерывания, вплоть до TRAP, могут быть включены либо выключены (mascable inter rupt, «маскируемое прерывание»). Прерывания, которые могут быть заблокированы, блокируются с помощью ШТЕ-триггера. На него могут воздействовать сигнал возврата в исходное со
стояние (reset), прерывание и команда DI (disable interrupt).
•маскирование прерывания: с помощью команды SIM (set inter rupt mask, «установка маски прерывания») маскируемые пре рывания могут быть селективно включебны и выключены.
Когда в одно и то же время накладывается несколько прерыва ний, обрабатывается то, которое имеет самый низкий приоритет. После установления прерывания начинает выполняться программа обработки прерывания (ISR), которая должна быть записана про граммистом под заданным в табл. 16.4 адресом.
Сигнал прерывания INTR взаимодействует с внешним контрол лером, который может обработать большое количество прерываний. Контроллер прерываний при появлении прерывания выдает адрес подлежащей обработке программе прерываний на адресную шину. Для управления взаимодействием используются линии INTR-INTA.
Сигнал reset обрабатывает протекающую программу (также и обработку прерывания). В заключение программа выполняется с адреса 0000.