Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

конмпект лекций

.pdf
Скачиваний:
12
Добавлен:
23.02.2015
Размер:
1.52 Mб
Скачать

Рисунок 113. Структурная схема МПС на базе I8080

Обозначения на схеме :

ПДП – прямой доступ к памяти, ССИ – семисегментные индикаторы,

ГТИ – генератор тактовых импульсов.

5.3 Состав устройств памяти комплекса Микролаб

Таблица 17

Аппаратное распределение памяти

 

Диапазон адресов

 

Устройство

 

 

 

 

 

 

 

 

 

 

0000h – 05FFh

 

ROM

 

 

 

 

 

 

 

 

 

 

0600h - 7FFFh

 

не используется

 

 

 

 

 

 

 

 

 

 

8000h – 83FFh

 

RAM

 

 

 

 

 

 

 

 

 

 

8400h - FFFFh

 

не используется

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 18

 

Распределение ROM - памяти

 

адрес

 

содержимое

 

 

0000h - 003Ah

 

Программы рестарта

 

 

0055h

 

Монитор

 

 

01А1h

 

Программа вывода на ССИ

 

 

01С0h

 

Программа SEGCG

 

 

0216h

 

Программа KEYIN

 

 

 

 

 

 

Таблица 19

 

Основные разделы RАM - памяти

 

адрес

 

содержимое

 

 

8000h-83С5h

 

Область программ пользователя

 

 

 

83С6h

 

Стек пользователя ( Дно )

 

 

83С7h-83D0h

 

Стек монитора

 

 

83D1h-83DFh

 

Адреса переходов RST

 

 

 

 

 

 

 

 

83E0h-83EBh

 

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

 

 

 

 

 

 

 

 

83F4h-83F7h

 

Данные для SEGCG

 

 

83F8h-83FFh

 

Буфер для ССИ

 

71

a0

 

 

 

 

 

 

a8

 

 

 

 

 

 

a9

 

 

 

 

 

ША

a10

 

 

 

 

 

 

a15

 

 

y0

 

ROM 512х8

d0

 

 

 

 

 

a

DC

y1

 

a0

 

 

 

 

 

 

 

 

 

 

d7

 

 

 

 

&

a8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CS

 

 

 

 

 

 

ROM 512х8

 

 

 

 

 

d0

1

 

 

 

a0

 

 

 

 

d7

 

 

 

 

&

a8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CS

d0 d7

 

 

 

 

 

 

MemRD

 

 

 

 

 

 

 

 

 

 

 

 

ШД

Рисунок 114 . Организация линейного адресного пространства ROM Таблица 20

Распределение адресного пространства

№ ПЗУ

Адрес10

Адрес16

Адрес2

 

0

0000

0000 0000 0000 0000

1

 

511

01FF

0000 0000 1111 1111

 

512

0200

0000 0011 0000 0000

2

 

1023

03FF

0000 0011 1111 1111

5.4 Организация машинного цикла M1

Как было отмечено ранее, любое действие или операция внутри МПС может быть продолжительностью только целое количество машинных тактов (Т). Интервал времени, необходимый для одного обмена по шине (транзакции) с устройством памяти или ввода – вывода, называется машинным циклом. В зависимости от адресата, назначения и направления обмена существует десять различных машинных циклов:

Машинный цикл

Назначение

Содержимое байта состояния

М1

Выборка КОП

a2h

М2

Чтение из памяти

82h

М3

Запись в память

00h

М4

Чтение стека

86h

М5

Запись в стек

04h

М6

Ввод из ВУ

42h

М7

Вывод во ВУ

10h

М8

Прерывание

23h

М9

Останов

8ah

М10

Прерывание при останове

2bh

72

Примечание:

1.Если команда однобайтная и безоперандная (или операнды – регистры), в машинном цикле М1 осуществляется и выполнение команды;

2.Цикл М2 следует за М1 для загрузки второго и третьего байта команды, а также операнда(ов) из памяти;

3.Тип машинного цикла идентифицируется байтом состояния, который формируется процессором и передаётся шинному формирователю в такте Т1.

Командным циклом называется набор машинных циклов, необходимый для выполнения одной команды. Как было указано ранее, для однобайтных безоперандных команд и однобайтных команд с регистровой адресацией командный цикл совпадает с машинным циклом М1. Для команды, например

На диаграмме, представленной ниже, воспроизведены сигналы для машинного цикла М1 – выборки и исполнения команды. Машинный такт синхронизируется передним фронтом CL1, а начало микрооперации (действие внутри машинного цикла), как правило, - фронтом CL2.

CL1

t

CL2

 

 

 

 

 

 

 

 

 

 

t

a0 – a15

 

 

 

 

 

 

 

 

 

 

t

 

 

Адрес (PC)

 

 

 

d0 – d7

 

 

 

 

 

 

 

 

 

 

t

байт состояния

 

КОП

 

 

SYNC

 

 

 

 

 

 

 

 

 

 

t

READY

 

 

 

 

 

 

 

 

 

 

t

DBIN

 

 

 

 

 

 

 

 

чтение

t

WAIT

 

 

 

 

 

 

 

 

 

 

t

T1

T2

TW

T3

T4

T5

Выгрузка

Проверка

Такт

Чтение

Дешиф-

Выполнение

адреса и байта

линии

ожидания

КОП

рация

 

состояния

READY

 

 

КОП

 

Рисунок 115. Машинный цикл М1 Примечание. Зачастую такт выполнения команды, связанный с работой АЛУ

(Т5), для увеличения быстродействия совмещается с тактом Т1 следующего машинного цикла.

73

Кроме работы под управлением потока команд соответствующей программы, МПС может находиться в одном из особых режимов работы:

Прерывание; Захват шин; Останов;

Прерывание при останове.

5.5 Обработка прерываний

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

Поступающий запрос по линии INT (h- уровень) принимается триггером прерываний (рис.116). При значении триггера разрешения прерывания (ТП=1) в последнем такте последнего машинного цикла выполнения команды процессор проверяет состояние входа INT и при его единичном значении начинает выполнять машинный цикл прерывание (М8). В свою очередь, этот цикл включает следующие этапы:

Цикл М1 по получению команды RSTi;

Цикл М3 по записи в стек старшего байта программного счётчика

(PC);

Цикл М3 по записи в стек младшего байта программного счётчика (PC);

+5В

+5В

 

МП

 

Q

INT

 

D Т

 

 

 

 

Авт

C

INTE (если ТП=1)

 

 

 

 

R

 

ТП

Шаг

+5В

 

 

 

d7

d1 d0

 

 

Рисунок 116. Схема «вклинивания вектора рестарта»

C

S

T

Q

 

 

 

 

C

 

 

D

R

 

Q

 

 

 

R

Рисунок 117. D- триггер с установочным входом

74

 

 

 

М1

 

T1

T2

 

T3

T4

Выгрузка

Проверка

 

Чтение

TW

Дешиф-

байта

линии

RSTi

 

рация

состояния и

READY

 

 

 

 

 

INTE

 

 

 

 

CL1

CL2

INT

SYNC

INTE

d0 – d7

байт состояния

RSTi

DBIN

чтение

ТП

a0 – a15

PC

WR

 

М3

 

 

М3

 

T1

T2

T3

T1

T2

T3

 

 

 

 

 

 

 

 

t

 

 

 

t

 

 

 

t

 

 

 

t

 

 

 

t

 

запись

 

запись

 

 

 

t

байт состояния

15-8

байт состояния

7-0

t

t

t

SP-1

SP-2

 

 

t

Рисунок 118. Машинные циклы обработки запроса прерывания После выполнения этих трех машинных циклов процессор

выполняет первую команду рестарта адрес которой определяется , как N*8. Здесь N – номер рестарта, представляющий собой значение битов с номерами 3-5 кода команды RSTi :

1 1 1 11

N

Рисунок 119. Формат команды рестарта

Команды рестарта – это короткие фрагменты памяти (ROM), расположенные в диапазоне 00h – 3Ah. Всего под них выделено 59 байт (7 команд по 8 байт и последняя – 3 байта – команда безусловного перехода. Основное назначение команд рестарта – передача управления программе обработки прерывания с номером N.

75

5.6 Режим «захват шин»

Режим захвата шин сводится к предоставлению одному из устройств МПС (например, видеосистеме) монопольного доступа к шинам, чаще всего, для организации обмена с устройствами памяти. Всё время этого режима линии адреса и данных процессора находятся в высокоимпедансном состоянии.

Начинается режим ПДП установкой устройством ввода-вывода сигнала высокого уровня на линии HOLD. Данная линия сканируется процессором по окончании такта Т2 каждого машинного цикла. Допустим, процессор в момент поступления сигнала HOLD исполнял машинный цикл М1. В таком случае в следующем такте Т3 процессор заканчивает обмен по шине, затем в такте (Т4) переводит выходные буферы ШД и ША в высокоимпедансное состояние и формирует сигнал HLDA. Если запрос захвата шин поступил в машинном цикле, не предусматривающим обмен по шине (например, цикл «останов»), две последние микрооперации выполняются в такте Т3. В завершение цикла М1 в такте Т4 процессор (уже в автономном состоянии) выполняет дешифрацию КОП и, если команде не требуется чтения операндов из памяти, выполняет данную команду.

Завершение режима «захват шин» происходит по сбросу сигнала HOLD, после чего процессор приступает к выполнению следующего машинного цикла.

5.7Режим останова

Всостояние останова процессор переводится программным путём при выполнении команды HLT. Выборка данной команды осуществляется обычным образом (цикл М1), после чего процессор выполняет цикл М9 – «останов». Данный машинный цикл укладывается в два такта :

В такте Т1 шинному формирователю передаётся байт состояния, соответствующий состоянию останов;

В такте Т2 выходные линии ШД и ША переводятся в СВИ и на линии WAIT устанавливается сигнал h – уровня и далее следует неограниченное количество тактов Тw.

Из состояния останов процессор может выйти следующим образом: По сигналу RESET = 1;

По сигналу HOLD = 1 процессор переходит в состояние «захват шин», по окончании которого возвращается в состояние «останов»;

По сигналу INT=1 процессор начинает обработку запроса прерывания и на команду IRET также возвращается в состояние «останов»;

76