Файл: Вводый курс цифровой электроники (К.Фрике, 2003).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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-циклов


3 7 6 Глава 16. Структура, система команд и работа

микропроцессора

сигнал READY во втором такте еще на L (low), и процессор поэтому начинает такт ожидания T^j до тех пор, пока сигнал READYne пе­ реходит в состояние Н (high), показывая этим, что данные являются значащими.

MR

MR

CLK

\ Ю/М-ф, S1-1,SO

|( IO/M="0, S1^LS040

AD^'AD-j

ALE

READY

г

L

IDC

B^K9Bн^жИ

ЯxA„-A,OU|HPZE FN

Jr\

r~\

Г

Рис. 16.7. Временная диаграмма цикла считывания ЗУ. Один цикл с дру­ гим без состояния ожидания.

16.6.3. Цикл записи в ЗУ (MW, memory write)

На рис. 16.8 представлены циклы memory-write, содержащие и не содержащие интервал, соответствующий состоянию ожидания.

Такт 1

В начале цикла посылаются сигналы и управляющий. Процессор вы­ дает на адресную шину адрес ячейки ЗУ, в которую должна про­ изойти запись.

Такт 2

Если данные находятся на шине данных, сигнал записи ->WR уста­ навливается на L (low).

ТактЗ

После этого ЗУ вводит данные и отвечает значением П (high) сиг­ нала READY, если он готов. Сигнал записи ^WR устанавливается на П, если сигнал READY имеется в наличие в последнем такте; в противном случае выставляется состояние ожидания (wait state).


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.