Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Б М.docx
Скачиваний:
148
Добавлен:
09.06.2015
Размер:
2.63 Mб
Скачать

Однобайтная

команда

, А

Возможные адресные поля

UUJJ'

SSS-

RP -ддухразрядныи указатель* адре­сующий пару регистров

Паяв кода операции

номер регистра- приемника

номер регистра- источника

7 б\5 JI2

I

I

I

i

j

ч

ц

ifr

к

= ЛЛМ

Двухбайтная команда

7-й байт

ч

Z-й байт

1

Непосредствен­ный операнд или парт ввода-вывода

ССС - трехразряднъш указатель усло­вия передачи управления NNN-трехразрядный код, определяющий адрес вектора прерывания

Непосредстден- ный операнд или порт ддода-дыдода

I Непосредствен- ный операнд

' 7-й байт 2-й байт 3-й байт

Младший

лолуадрес

Старший

полуадрес

=Щяр =====

Младший

лолуадрес

Старший

полуадрес

Младший

полуадрес

Старший

полуадрес

ппп 1 Младший

666 ■■■■■ -| полу адрес

Старший

полуадрес

Варианты трех- убайтных команд

Рис. 10.3. Форматы команд МП К580

•ственной и регистровой косвенной адресациями. При этом надо помнить, что регистровая косвенная адресация требует пред­варительной настройки, т. е. загрузки адреса в регистр косвен­ного адреса. Поэтому регистровая косвенная адресация оказы­вается эффективной при обработке списочных структур данных, когда после загрузки косвенного адреса он многократно модифи­цируется командами инкремент или декремент.

В командах условного перехода 3-разрядный код ССС за­дает в трехбайтной команде условие передачи управления по адресу, указанному в команде. Возможны задания восьми вари­антов условия перехода: по переполнению, отсутствию перепол­нения, нулевому, ненулевому, положительному, отрицательному, четному и нечетному результатам.

Для упрощения перехода к подпрограмме и возврата из нее используются стековая память (в данном случае «перевернутый стек») и ряд специальных команд.

Имеются команды вызова подпрограммы и возврата из под­программы. По первой из них (трехбайтной) содержимое СчК “побайтно загружается в стёк (указатель стека перед загрузкой каждого байта уменьшается на 1), а указанный в команде адрес начала подпрограммы передается в СчК- По второй (однобай­тной) команде, которая ставится в конце подпрограммы, из стека q СчК побайтно передается двухбайтный адрес возврата в основную программу (после передачи каждого байта УС уве­личивается на 1). Дополнительную гибкость в организации ра­боты с подпрограммами обеспечивают оригинальные команды вызова по условию подпрограммы и возврата по условию из нее. Условия те же, что и у команды условного перехода.

Для управления стеком имеются команды передачи из за­данной команды пары регистров в стек и обратно, из регистра признаков в стек и обратно, команды обмена содержимого стека и регистровой пары, загрузки указателя стека.

Всего имеется две команды ввода-вывода: ввести и вывести (двухбайтный формат). В команде во втором байте указывается номер порта ввода-вывода, из которого байт информации со­ответственно вводится или куда байт выводится.

Система прерывания 8-разрядного микропроцессора KS80

Система прерывания имеет много общего с рассмотренной в гл. 9 системой прерывания малых ЭВМ, что определяется в первую очередь тем, что в этом случае используются модифи­кация интерфейса типа «общая шина» («мультишина»), порог прерывания и стековая память. Есть и отличия, например, в фор­мировании адреса и структуре вектора прерывания.

Структура вектора состояния (а следовательно, и вектора прерывания) представлена на рис. 9.21. Он занимает четыре 8-разрядных слова. Векторы прерываний для восьми уровней прерывания хранятся в фиксированных ячейках начальной об­ласти памяти с адресами 0, 8, 16, 56.

Рассмотрим упрощенный вариант системы прерывания на основе использования микросхемы «блок приоритетного преры-

Рис. 10.4. Схема блока приоритетного прерывания:

узлы: РгЗП — регистр запросов прерывания; РгПП — регистр порога преры­вания; ТрЗт — триггер запрета прерывания; ШПр — шифратор приоритета запроса прерывания; Км —скомпаратор; ТгП — триггер прерывания; сигналы: РВК— разрешение выдачи кода приоритета; РБПП — разрешение работы данного БПП в многоблочной системе прерываний; СГр — выбор состояния в группе [подается от дешифратора в многоуровневых (более восьми) системах прерывания!; ЗтП — запрет прерывания: РП — разрешение прерывания;

ОСП — общий сигнал прерывания; СИНХ — сигнал синхронизации триггера прерывания; РРб— сигнал разрешения работы следующему (в сторону умень­шения приоритета) БПП в многоблочной системе прерывания

ваяия (БПП)», схема которого представлена на рис. 10.4 IЭтот блок реализует восьмиуровневую систему прерывания. Запросы поступают на входыRi — Rq (приоритет растет с увеличением номера входа). Число уровней входов может быть увеличено присоединением дополнительного БПП. При одновременном по­явлении нескольких запросов (запрос соответствует низкому уровню потенциала) в регистр запросов прерывания будет за­писана 1 лишь в разряд, соответствующий наиболее приоритетно­му из поступивших запросов, так как сигнал запроса Rj = 0 на одном из входов блокирует все входы с меньшими номерами.

В командах условного перехода 3-разрядный код ССС за­дает в трехбайтной команде условие передачи управления по адресу, указанному в команде. Возможны задания восьми вари­антов условия перехода: по переполнению, отсутствию перепол­нения, нулевому, ненулевому, положительному, отрицательному, четному и нечетному результатам.

Для упрощения перехода к подпрограмме и возврата из нее используются стековая память (в данном случае «перевернутый стек») и ряд специальных команд.

Имеются команды вызойа подпрограммы и возврата из под­программы. По первой из них (трехбайтной) содержимое СчК “побайтно загружается в стек (указатель стека перед загрузкой каждого байта уменьшается на 1), а указанный в команде адрес начала подпрограммы передается в СчК. По второй (однобай­тной) команде, которая ставится в конце подпрограммы, из стека § СчК побайтно передается двухбайтный адрес возврата в основную программу (после передачи каждого байта УС уве­личивается на 1). Дополнительную гибкость в организации ра­боты с подпрограммами обеспечивают оригинальные команды вызова по условию подпрограммы и возврата по условию из нее. Условия те же, что и у команды условного перехода.

Для управления стеком имеются команды передачи из за­данной команды пары регистров в стек и обратно, из регистра признаков в стек и обратно, команды обмена содержимого стека и регистровой пары, загрузки указателя стека.

Всего имеется две команды ввода-вывода: ввести и вывести (двухбайтный формат). В команде во втором байте указывается номер порта ввода-вывода, из которого байт информации со­ответственно вводится или куда байт выводится.

Система прерывания 8-разрядного микропроцессора К580

Система прерывания имеет много общего с рассмотренной в гл. 9 системой прерывания малых ЭВМ, что определяется в первую очередь тем, что в этом случае используются модифи­кация интерфейса типа «общая шина» («мультишина»), порог прерывания и стековая память. Есть и отличия, например, в фор­мировании адреса и структуре вектора прерывания.

Структура вектора состояния (а следовательно, и вектора прерывания) представлена на рис. 9.21. Он занимает четыре 8-разрядных слова. Векторы прерываний для восьми уровней прерывания хранятся в фиксированных ячейках начальной об­ласти памяти с адресами 0, 8, 16, 56.

Рассмотрим упрощенный вариант системы прерывания на основе использования микросхемы «блок приоритетного преры-

Рис. 10.4. Схема блока приоритетного прерывания:

узлы: РгЗП — регистр запросов прерывания; РгПП — регистр порога преры­вания; ТрЗт — триггер запрета прерывания; ШПр — шифратор приоритета запроса прерывания; Км —компаратор; ТгП — триггер прерывания; сигналу: РВК— разрешение выдачи кода приоритета; РБПП — разрешение работы данного БПП в многоблочной системе прерываний; СГр — выбор состояния в группе [подается от дешифратора в многоуровневых (более восьми) системах прерывания!; ЗтП — запрет прерывания; РП — разрешение прерывания; ОСП — общий сигнал прерывания; СИНХ — сигнал синхронизации триггера прерывания; РРб — сигнал разрешения работы следующему (в сторону умень­шения приоритета) БПП в многоблочной системе прерывания

вания (БПП)», схема которого представлена на рис. 10.4 IЭтот блок реализует восьмиуровневую систему прерывания. Запросы поступают на входы/?7 — Ro (приоритет растет с увеличением номера входа). Число уровней входов может быть увеличено присоединением дополнительного БПП. При одновременном по­явлении нескольких запросов (запрос соответствует низкому уровню потенциала) в регистр запросов прерывания будет за­писана 1 лишь в разряд, соответствующий наиболее приоритетно­му из поступивших запросов, так как сигнал запроса /?; = 0 на одном из входов блокирует все входы с меньшими номерами.

Восьмиразрядный унитарный код запроса поступает в шиф­ратор, формирующий 3-разрядный двоичный код номера запроса N=AoAiA2=A, который в компараторе Км сравнивается с ко­дом порога прерывания (приоритета текущей программы) В = = ВоВ\В2* хранящимся в регистре порога прерывания (регистре состояния). Если уровень запроса выше установленного идущей на процессоре программой порога прерывания (Л>£), то на выход компаратора поступает сигнал 1, в противном случае 0.

Блок приоритетного прерывания находится в режиме ожида­ния сигнала разрешения стробирования (на схеме не показан), который формирует микропроцессор по окончании цикла коман­ды. Если в момент стробирования БПП, т. е. в момент поступле­ния от микропроцессора сигнала разрешения прерывания (РП) (INTE)y на выходе компаратора единичный сигнал, то триггер ТгП переходит в состояние 1 и на выходе буферной схемы фор­мируется общий сигнал прерывания ОСП (INT), который уста­навливает триггер запрета прерывания ТрЗт, кратковременно блокирующий регистр РгЗП на случай появления запросов с бо­лее высоким приоритетом. Сигнал ОСП (INT) инициирует фор­мирование кода команды передачи управления

. RST N,

которая в данном случае имеет вид 11 AqA\A2 111, при этом 3-разрядный номер N=AqA\A2 принятого к обслуживанию за­проса передается в микропроцессор по сигналу РВК (ELR). Про­текание процедуры прерывания поясняет рис. 10.5.

По команде RST N аппаратура МП записывает в стек (в ОП по адресу из УС) содержимое СчК (адрес возврата) и загружа­ет в СчК адрес (соответствует числу 8ХА0

00... 0 А0 А\ А2 ООО,