Добавил:
kostikboritski@gmail.com Выполнение курсовых, РГР технических предметов Механического факультета. Так же чертежи по инженерной графике для МФ, УПП. Писать на почту. Дипломы по кафедре Вагоны Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

литература / Пухальский Проектирование микропроцессорных систем 2001

.pdf
Скачиваний:
333
Добавлен:
12.11.2017
Размер:
21.12 Mб
Скачать

330 Глава 4. Микропроцессоры 8086/8088 и сопроцессор 8087

Максимальная рассеиваемая мощность составляет 2,5 Вт для МП 8086/8086-2/8086-1 и 1,0 Вт для МП 80С86/80С86-2. Токи потребления и параметры выходных сигналов характери­ зуются значения:

max = 340/350/360 мА — 8086/8086-2/8086-1; / сс = 10 мА/МГц — 80С86/80С86-2;

max;= 0,45

В при Iql = 2,5

мА, V0H mi„ -

2,4 В при 10н = -0,4 мА — 8086/8086-2/8086-1;

Vol.max - 0,40

В при I0L = 2,5

мА и У0н тт -

3,0 В при 10Н - -2,5 мА — 80С86/80С86-2.

Микропроцессор 8088 имеет 8-разрядную внешнюю шину данных при 16-разрядной внутренней шине, и программно совместим с МП 8086. Микропроцессор 8088 удобен для мо­ дернизации аппаратных конфигураций на базе МП 8080/8085 при переходе на более мощную систему команд МП 8086 [12, 14].

С труктурная схема М П 8086. На рис. 4.2, а изображена структурная схема МП, состоя­ щая из двух относительно независимых устройств: исполнительного устройства (Execution Unit) и шинного интерфейса (Bus Interface Unit). В исполнительном устройстве реализуются основные функции по обработке данных. Оно состоит из регистров данных, указательных и индексных регистров (Data, Pointer and Index Regs), арифметическо-логического устройства

(16-Bit ALU Arithmetic and Logic Unit) и регистра признаков (Flags). Исполнительное уст­ ройство принимает из шинного интерфейса предварительно извлеченные команды и возвраща­ ет в него несмещенные адреса операндов. Затем оно получает через шинный интерфейс нахо­ дящиеся в памяти операнды и возвращает полученный результат для записи в память. Функция шинного интерфейса заключается в обеспечении максимально возможной пропускной способ­ ности шины: производится упреждающая выборка команд с размещением их в 6-байтном реги­ стре очереди команд (6-Byte Instruction Queue) и реализуются функции, связанные с чтением и записью операндов в память, модификацией (перемещением) адресов и управлением шинами. Все интерфейсные операции выполняются параллельно с процессом обработки данных.

Основные узлы, входящие в состав МП 8086, изображены на рис. 4.2, б:

АХ, ВХ, СХ, DX 16-разрядные регистры общего назначения (РОНы), которые могут использоваться и как 8-разрядные регистры данных АН и AL, ВН и BL, СН и CL, DH и DL (Н High — старший байт и L Low — младший байт 16-разрядных РОНов АХ, ВХ, СХ, DX);

IP, SP, ВР, SI, DI указательные и индексные регистры, используемые для адресации памяти. За исключением регистра IP, любой из этих регистров можно использовать для хране­ ния 16-разрядных операндов;

CS, SS, DS, ES сегментные регистры, используемые только для адресации памяти;

ALU 16-разрядное арифметическо-логическое устройство (АЛУ);

Flags (PSW Program Status Word) регистр признаков (слово состояния программы);

Control Logic — схема управления;

6 Byte Instruction Queue — 6-байтная очередь команд, выбираемых из памяти с опереже­ нием по отношению к их декодированию и исполнению. Очередь команд представляет собой память типа FIFO 6 x 8 бит (first-in, first-out — первым вошел, первым вышел; см. § 2.6).

Слово состояния программы PSW (регистр признаков) содержит 16 разрядов, но исполь­ зуется только 9 флагов (рис. 4.2, в). Флаги МП 8086 разделяются на условные (или флаги усло­ вий), отражающие результат предыдущей операции АЛУ, и управляющие (или флаги управле­ ния), от которых зависит выполнение специальных функций:

SF (Sign Flag) — флаг знака (равен старшему разряду результата операции, представлен­ ного в дополнительном коде: SF - 0 — число положительное, SF = 1 — число отрицательное);

ZF (Zero Flag) — флаг нуля (ZF = 1 при получении нулевого результата и ZF = 0, если ре­ зультат отличается от нуля);

PF (Parity Flag) — флаг паритета (PF = 1, если младшие 8 бит результата содержат четное число единиц и PF - 0 в противном случае);

 

 

4.1. Структурная схема МП 8086

 

 

331

 

 

Execution Unit

 

Bus Interface Unit

 

 

 

 

 

Register File

 

Relocation Register File

 

 

 

 

Data, Pointer and

 

Segment Registers

 

 

 

 

 

Index Registers

 

and Instruction Pointer

 

 

 

 

 

(9 Words)

 

(5 Words)

 

 

 

 

 

 

 

 

i

f

 

 

 

 

 

\6-bitsALU

 

 

—» ВНЕ/S i

 

 

 

 

 

z!^>A19/S 6

. . . A l6 / s 3

 

 

Flags

 

 

 

 

 

 

Bus

 

 

 

 

 

 

 

 

Interface

 

 

 

 

 

 

 

 

 

Unit

■INTA, RD, WR

 

 

 

 

 

 

 

■DEN

 

 

 

 

 

 

 

Ж

■DT/R, ALE

 

 

 

 

 

 

 

 

 

 

 

 

 

6 -Byte

 

 

 

 

 

 

 

 

Instruction

 

 

 

 

 

 

 

 

Queue

 

 

 

TEST -

Л

 

 

 

 

c

- LOCK

 

INTR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m i

 

 

Control & Timing

2

■QSi-

о

 

2

 

>

 

 

RQ/OTi- 0 <

 

 

 

 

 

 

 

 

HOLD -

 

 

 

 

 

3

 

 

 

HLDA -

 

 

 

 

 

<p— *— ►Sr>* 2 - 0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

t

I

r r ^

 

 

 

 

 

CLK

RESET READY M N/M X

GND, Vn

 

 

 

6)

 

 

 

 

6-Byte Instruction

 

*■BHE/S 7

 

 

 

 

 

 

 

 

 

Data Registers

 

Queue

 

 

 

Accumulator

AX

AH

AL

 

 

 

 

■^19^6

Base

 

BX

BH

BL

 

 

 

 

Count

 

CX

CH

CL

 

 

 

>

i

Data

 

DX

DH

DL

 

 

 

 

 

 

Ъ

4^16^3

 

 

 

8

8

 

 

 

 

£

4

Points

 

 

» }>■Управление

 

 

 

 

 

 

Stack Pointer

 

SP

 

 

 

 

Base Pointer

 

 

16

 

BP

CS

Code Segment

 

 

ALU

 

Source Index

 

 

 

 

SI

s s

Stack Segment

Destination Index

 

 

 

DI

DS

Data Segment

Instruction Pointer PSW

Flags

IP

ES

Extra Segment

в)

Flags (P SW Program Status Word) регистр признаков

£>15

£>14

£>13

£>12

£>11

£>10

D9

DS

D l

£>6

£>5

DA

£>3

£>2

£>1

DO

0

0

1

1

OF

DF

IF

TF

SF

ZF

0

AF

0

PF

1

CF

 

 

 

 

 

 

T

 

<—

 

Флаги МП 8080/8085

--------->

 

 

 

 

 

INTE/IE

S

Z

0

AC

0

P

1

CY

Рис. 4.2. Структурная схема и программная модель МП 8086

332 Глава 4. Микропроцессоры 8086/8088 и сопроцессор 8087

CF (Carry Flag) — флаг переноса (CF = 1, если при сложении или вычитании возникает перенос или заем, и CF = 0 в противном случае; другие команды также воздействуют на этот флаг);

AF (Auxiliary Carry Flag) — флаг вспомогательного переноса (AF = 1, если при сложении или вычитании возникает перенос или заем из разряда 3, и AF = 0 в противном случае; флаг предназначен только для двоично-десятичной арифметики);

OF (Overflow Flag) — флаг переполнения. Флаг OF устанавливается в 1, если возникло переполнение, т. е. полученный результат вышел из допустимого диапазона представления чисел в дополнительном коде. При сложении флаг OF устанавливается в 1, если имеется пере­ нос в старший бит и нет переноса из старшего бита, или наоборот. При вычитании флаг OF устанавливается в 1, когда возникает заем из старшего бита, но заем в старший бит отсутству­ ет, или наоборот;

DF (Direction Flag) — флаг направления (применяется в командах манипуляций цепочка­ ми данных; если флаг DF = 0, цепочка обрабатывается с первого элемента, имеющего наи­ меньший адрес; если же флаг DF = 1, цепочка обрабатывается от наибольшего адреса к наи­ меньшему);

IF (Interrupt Enable Flag) — флаг разрешения прерываний, управляемый командами раз­ решения STI и запрета CLI прерываний (IF = 1 — прерывания разрешены; IF = 0 — прерыва­ ния запрещены; этот флаг по назначению эквивалентен сигналу INTE МП 8080 и флагу IE МП

8085);

TF (Trap Flag) — флаг трассировки (если TF = 1, то после выполнения каждой команды генерируется внутреннее прерывание для выполнения программы в пошаговом режиме).

Последние три из описанных флагов принадлежат к группе флагов управления. Младший байт в PSW соответствует 8-разрядному регистру признаков МП 8080/8085 и содержит все флаги условий, кроме флага переполнения OF.

В табл. 4.1 показано соответствие регистров МП 8086 и 8080/8085 с точки зрения их про­ граммной совместимости. Регистры АХ, ВХ, СХ и DX предназначены для хранения операндов и результатов операций и допускают адресацию не только целых регистров, но и их младшей и старшей половин. Регистры ВХ, СХ и DX имеют и специальные назначения: ВХ служит базо­ вым регистром в вычислениях адреса, СХ в некоторых командах выступает неявным счетчи­

ком, DX в некоторых операциях ввода-вывода содержит адрес порта ввода-вывода.

 

Таблица 4.1. Соответствие регистров МП 8086 и 8080/8085

 

Регистр МП 8086

AL

ВН

BL

СН

CL

DH

DL

SP

IP

PSW

Регистр МП 8080

А

н

L

В

С

D

Е

SP

PC

F

Указатель команды (инструкции) IP и регистр SP являются 16-разрядными программным счетчиком и указателем стека, но полные 20-разрядные физические адреса команды и стека образуются суммированием содержимого этих регистров и содержимого сегментных регистров CS и SS, сдвинутого на 4 разряда в сторону старших разрядов:

физический адрес команды = 16 • CS + IP, физический адрес стека = 16 • SS + SP.

Пусть, например, содержимое сегментного регистра CS - 38ВСh, а содержимое указателя команды IP = 7А53h. Тогда физический адрес команды будет равен 16 ■CS + IP = 38ВС0 + + 7А53 = 40613/г. Аналогичным образом используются и все остальные сегментные регистры.

Регистр ВР является базовым при обращении к стеку и может использоваться с другими регистрами и (или) смещением, которое является частью команды. Регистры SI и DI предна­ значены для индексирования. Хотя их можно использовать сами по себе, они часто комбини-

4.1. Структурная схема МЛ 8086

333

руются с регистрами В Х и ВР и (или) смещением. Вычисление физических адресов памяти данных при выполнении команд может быть произведено, например, таким образом:

физический адрес = 16 • SS + BP + SI + dispS, физический адрес = 16 • DS + ВХ + DI + disp\6,

где dispS и disp\6 8- и 16-разрядные смещения (disp displacement — смещение), а вычис­ ляемые 16-разрядные адреса ЕА = BP + SI + dispK и ЕА = ВХ + DI + disp 16 называются эффек­ тивными адресами (подробнее адресацию данных см. в § 4.2).

Применение сегментных регистров разделяет пространство памяти на сегменты, каждый из которых имеет размер 64 Кбайта и начинается на 16-байтной границе, называемой границей параграфа, т. е. любой сегмент всегда начинается с адреса, кратного 16. Содержимое сегмент­ ного регистра называется сегментным адресом, а сегментный адрес, умноженный на 16, —

начальным физическим сегментным адресом, или просто начальным (базовым) сегментным адресом. Сегменты памяти данных, стека и кода могут как перекрываться, так и не перекры­ ваться. Более того, все сегменты могут совпадать — иметь один и тот же базовый сегментный адрес. На рис. 4.3 изображено разделение памяти на не перекрывающиеся сегменты. Наличие

сегментных регистров обеспечивает следующие преимущества:

 

 

максимальный объем адресуемой памяти ра­

 

1 FFFFFto

вен 1 Мбайт, хотя команды оперируют 16-разряд-

 

ными адресами;

 

 

 

Сегмент

секции кода (команд программы), данных и

 

 

кода (64 Кбайта)

 

 

}

стека могут иметь длину более 64К байт благодаря

Сегментные

 

Сегмент

 

 

 

использованию

нескольких сегментов кода, дан­

регистры

+SP

}

стека (64 Кбайта)

ных и стека;

 

CS

 

Сегмент

упрощается

использование отдельных облас­

 

 

тей памяти для программы, ее данных и стека;

D S

 

данных (64 Кбайта)

 

}

при каждой загрузке программы в память для

ES

 

Д ополнительный

ее выполнения она сама и (или) ее данные могут

п

 

сегмент

 

}

размещаться в различных областях памяти, т. е.

 

 

данных (64 Кбайта)

сегментная структура памяти обеспечивает созда­

 

^

ОООООЬ

ние позиционно-независимых или динамически

Рис. 4.3. Сегментная структура памяти

перемещаемых программ; перемещение програм­ мы в адресном пространстве памяти производится изменением содержимого только сегмент­

ных регистров без изменения программного кода команд переходов и вызова подпрограмм. Общие сигналы для максимального и минимального режимов работы МП. Условное

графическое обозначение МП 8086 с указанием обозначений сигналов при работе в макси­ мальном и минимальном режимах приведено на рис. 4.4. Режим работы задает значение сигна­ ла M N/M X {Minimum!Maximum): MNIMX = 0 — максимальный режим (вывод подключен к зем­ ле) и MNIMX = 1 —- минимальный режим (вывод подключен к VCc - +5 В). В зависимости от установленного режима изменяются функции восьми внешних выводов МП (выводов 24 31). Под мультиплексную шину адреса-данных и адреса-состояния заняты 21 линия, а для внешне­ го управления микропроцессором и сигналов квитирования передач данных — 16 линий.

Сигналы, общие для максимального и минимального режимов работы МП 8086, имеют назначение:

A D ,5_о (Address Data Bus) — мультиплексная шина адреса-данных. По этим двунаправлен­ ным линиям с разделением во времени передаются младшие 16 разрядов адреса памяти или полные адреса устройств ввода-вывода А 15_о и данные В первом такте (Т{) каждого цикла шины выдается адрес Л15-0, который необходимо зафиксировать во внешнем регистре сигналом ALE, а затем (такты Т2, 7’3, Tw, Т4) принимаются или передаются данные D 15 0 (см. рис. 4.5). Мультиплексирование адресов и данных во времени сокращает число контактов корпуса, но и

334 Глава 4. Микропроцессоры 8086/8088 и сопроцессор 8087

замедляет скорость передачи данных (благодаря тщательно разработанной временной диа­ грамме работы скорость передачи уменьшается не столь значительно, как этого можно было бы ожидать). При подтверждении прерывания (сигнал INTA = 0) и захвата шин (сигнал HLDA = 1) линии A D i5_o переводятся в Z-состояние;

A l9/S6 * A 16/St, (Address/Status) — мультиплексные выходные сигналы адреса-состояния. В первом такте (Т{) на эти линии выводятся значения старших четырех разрядов адреса памяти А 19_ 1б, а при адресации устройств ввода-вывода выдаются сигналы низкого уровня. В осталь­ ных тактах цикла шины (Т2, Тъ, Tw, Т4) по этим линиям выдаются сигналы состояния 56_зЗна­ чения сигналов S4 и S3 идентифицируют сегментный регистр, участвующий в формировании физического адреса памяти в текущем машинном цикле (табл. 4.2). Сигнал S5 соответствует состоянию флага прерывания IF в PSW (см. рис. 4.2, в). Сигнал S5 обновляется в начале каждо­ го цикла CLK. Сигнал S6 всегда имеет низкий уровень. При подтверждении запроса DMA (за­ хвата шин) линии Л А(6/5з переводятся в Z-состояние;

 

1 8 1 0 В М 8 6

 

 

 

 

$

 

 

AD

 

+-Ч-

 

16

 

AD

8

0

CPU

3

15

7

1

 

9

14

 

Т ”

2

 

10

13

 

5

3

 

И

12

4

 

12

4

 

 

3

11

5

 

13

10

 

2

6

 

14

9

 

39

?

 

\i

 

 

 

 

MN/MX

 

$

38

 

 

A16/S3

19

 

 

A17/S4

37

CLK

 

36

21

RESET

 

A W S 5

35

 

 

22

READY

 

A19/S6

~34

 

 

 

вя& ет.

 

17

Ш

 

 

 

18

INTR

TEST

RQ/GT

HOLD

8086

\,2 0 -G N D ;4 0 - Vcc

Минимальный режим

1810ВМ88

1 8 1 0 В М 8 7

А

AD

CPU

0

1

2

3

4 J

б

7

Ш /М Х

CLK

RESET

READY

WMT

JNJK

>TEST

VCC

OTJD

97

106

115

124

3

13

14 2

39

15

A 16/53 3837

A 17/54 36

A 18/55 35

A 19/56

550

High

DEN

50

DT/R

51

IO/M

52

ALE

650

INTA

QS1

WR

iLO CK

RD

 

16

AD

NDCP

0

15

 

1

 

11

 

2

 

13

3

 

12

4

11

5

1 0

6

9

7

 

19 CLK

21RESET

22READY

25

24

QS0

QS\

31

RQ/GT

 

 

 

>

0

 

 

BUSY —

33

>

1

8087

 

W T —

 

 

1,20-GJJD; 4 0

-

VCc

 

 

17, 18,29,30 -

 

NC

HOLD 8088 HLDA

30

— ----

R Q /a n

Максимальный режим

 

 

Рис. 4.4. Условные графические обозначения микропроцессоров серии 1810

Таблица 4.2. У казатели сегментных регистров

*-*4

Si

Сегмент

0

0

ES

0

1

SS

1

0

CS или никакой

1

1

DS

BHE/Sj (Bus High Enable/Status) — разрешение старшей части шины/состояние. В первом такте на эту линию выводится значение сигнала ВНЕ, а в остальных тактах цикла шины — сигнал состоя­ ния 5У Сигнал ВНЕ совместно с сигналом Аа позволяет подключать одну часть памяти с байтной организацией к младшей половине шины AD i5_o, а другую часть — к старшей половине (табл. 4.3). Чтение слова, расположенного по четному адресу, производится за

4.1. Структурная схема МП 8086

335

одно обращение к памяти, а по нечетному адресу — за два обращения (сначала читается млад­ ший байт по верхней части шины, а затем старший байт по нижней части шины). Значения сигналов ВНЕ и A19_i6, как и сигналов Ai5_o, необходимо запоминать (фиксировать сигналом ALE) во внешнем регистре. При подтверждении запроса захвата шин линия BHE/S7 переводит­ ся в Z-состояние и ВНЕ = 0 в течение такта Т\ в первом цикле подтверждения прерывания;

 

 

Таблица 4.3. У правление шиной данных

ВНЕ

Aq

Операции запись/чтение

0

0

Целое слово (два байта) ADJ5_o

0

1

Байт по верхней части шины AD (AD15^8) / по нечетному адресу

1

0

Байт по нижней части шины AD (.AD?_$) / по четному адресу

1

1

Нет операций

RD (Read) — сигнал чтения устройств, подключенных к локальной шине МП. Сигнал RD = 0 в течение тактов Т2, Т3 и Tw (данные из памяти или внешних устройств передаются по шине A D |5_о в МП). При подтверждении запроса захвата шин выход RD переводится в Z-состояние;

CLK {Clock) — тактовый сигнал от внешнего генератора для синхронизации работы МП (частота сигнала 5, 8 и 10 МГц в зависимости от модели МП). Оптимальная скважность сигна­ ла CLK равна 3;

RESET — сигнал системного сброса, переводящий МП в определенное начальное состоя­ ние. Минимальная длительность значения сигнала RESET = 1 должна быть при первом включе­ нии МП не менее 50 мкс, а при повторном запуске — не менее четырех тактов синхронизации. При этом производится сброс (установка в 0) регистров PSW (флаг IF = 0 — прерывания за­ прещены), IP, SS, DS, ES, очереди команд и загрузка в сегментный регистр CS числа FFFF/z, т. е. после сброса МП стартует с адреса памяти FFFFOh = 16 • CS + IP',

READY — сигнал готовности, приостанавливающий работу МП при значении READY = 0. Этот сигнал используется в интерфейсах устройств ввода-вывода и памяти, быстродействия которых недостаточно для синхронной работы с МП. Значение сигнала READY = 1 устанавли­ вает адресуемое устройство после окончания им передачи или приема данных;

TEST — сигнал проверки освобождения шины данных другим процессором в мультипро­ цессорных системах. Этот сигнал используется вместе с командой ожидания WAIT. Выполнив команду WAIT, МП проверяет уровень сигнала TEST: если значение TEST = 1, то МП вводит холостые состояния и периодически проверяет уровень сигнала TEST с интервалом в пять так­ тов синхронизации, а если значение сигнала TEST = 0, МП переходит к выполнению следую­ щей по порядку команды. Таким образом, команда WAIT и сигнал TEST обеспечивают синхро­ низацию действий МП с внешними событиями;

NM I (Non-maskable Interrupt) — сигнал запроса по положительному фронту немаскируе­ мого прерывания типа 2 (type = 2 — см. рис. 4.26, с. 398). Запрос прерывания всегда удовлетво­ ряется по завершении выполнения текущей команды независимо от того, разрешены пре­ рывания или нет (независимо от значения флага IF). Для прерывания типа 2 адрес (вектор) подпрограммы обслуживания прерывания (CS:IP) должен быть записан в четыре ячейки памя­ ти, начиная с адреса 4 х type = 8. Немаскируемые прерывания предназначены для сигнализации о некоторых катастрофических событиях, например аварийном отключении сетевого питания, ошибке в памяти и др.;

INTR (Interrupt Request) — сигнал запроса прерывания высоким уровнем с фиксацией во внутреннем триггере. МП проверяет состояние этого триггера в последнем такте выполнения

4.1. Структурная схема МП 8086

337

INTA (Interrupt Acknowledge) — сигнал подтверждения прерывания. МП выдает активный уровень сигнала INTA = 0 в тактах Т2, Т3 и Tw двух циклов подтверждения прерывания. Во вто­ ром цикле подтверждения прерывания из контроллера прерываний 8259А производится чтение байта type типа прерывания; ____

ALE (Address Latcli Enable) — сигнал фиксации адресных сигналов А |9_0 и ВНЕ во внеш­ нем регистре (рис. 4.6; при необходимости можно фиксировать и значение сигнала МПО). Зна­ чение сигнала ALE = 1 в первом такте каждого цикла шины и он никогда не переводится в Z-состояние;

DT/R (Data Transmit/Receive) — сигнал управления направлением передачи данных (DT/R = 1 — передача данных от МП в память и внешние устройства, DT/R = О — прием дан­ ных микропроцессором от памяти и внешних устройств). Этот сигнал предназначен для управ­ ления шинными приемопередатчиками (рис. 4.6). Сигнал DT/R логически эквивалентен сигна­ лу состояния 5) в максимальном режиме работы МП. Истинное значение сигнала DT/R уста­ навливается в конце такта Г4 предыдущего цикла шины и удерживается до конца такта Т4 те­ кущего цикла шины (рис. 4.5). При подтверждении запроса захвата шин выход DT/R перево­ дится в Z-состояние;

D EN (Data Enable) сигнал разрешения данных, предназначенный для включения шин­ ных приемопередатчиков (рис. 4.6). Значение сигнала DEN - 0 при обращении к памяти и внешним устройствам, а также при выполнении циклов 1NTA. При выполнении циклов чтения данных из памяти или внешних устройств и циклов INTA сигнал DEN = 0 от середины такта Т2 до середины такта ТЛ(рис. 4.5). При выполнении циклов записи сигнал DEN - 0 с начала такта

Т2 до середины

такта

Т4. При

подтверждении

запроса захвата шин выход DEN переводится

в Z-состояние;

 

 

 

 

 

 

 

 

 

 

 

м/ю

 

->М /Ю

 

 

 

 

 

 

C PU

R D <>■

RD

 

 

 

 

 

 

WR

 

ш

 

 

 

 

 

 

8086

 

 

 

 

 

 

 

 

ША

 

-»ШТА

 

 

 

 

 

 

 

ADis- о

С

 

 

DA

_

DB

С

 

 

 

 

 

 

 

Transceiver

 

 

 

D T/R

 

 

 

 

1533АП6

 

 

 

 

DEN&

 

 

 

(2 шг.)

 

 

 

 

 

 

 

 

 

 

 

 

1533ИР22

А 19 -16. ВНЕ

 

RG

 

D RG

 

D RG $

HOLD

HLDA ALE

 

 

DO

L

DO

 

L

DO

 

 

 

 

 

 

HOLDТ

I HLDA

 

-QOE

 

>ОЕ

 

 

>ОЕ

 

(от Ш АС)

(ка ПМАС)

 

 

 

 

 

 

 

 

A E N -

 

 

 

 

 

 

 

 

 

(от Ш АС)

 

System Address Bus

Ц

 

 

 

 

 

 

 

 

 

 

 

 

ж

 

 

 

System Data Bus

С

 

 

 

 

 

 

 

 

AD

Data \

Address~)C

Data

 

 

Address Data

ALE ___

System Address £^5

X

Рис. 4.6. Демультиплексирование и буферизация адреса и данных МП 8086

22 Г. И. Пухальский

338

Глава 4. Микропроцессоры 8086/8088 и сопроцессор 8087

HOLD — сигнал запроса захвата шин, поступающий от другого устройства, способного управлять шинами МП-системы (например, от контроллера прямого доступа к памяти 8237). Значение HOLD = 1 должно удерживаться до тех пор, пока контроллеру требуется управление шинами;

HLDA (Hold Acknowledge) — сигнал подтверждения захвата шин, выдаваемый МП в ответ на значение сигнала HOLD = 1 с одновременным остановом выполнения программы и перево­ дом своих шин в Z-состояние. Значение HLDA = 1 выдается в середине такта Т\. При переходе значения сигнала HOLD с 1 на 0 (при снятии запроса захвата шин) МП устанавливает значение сигнала HLDA = О и начинает снова управлять шинами (продолжает выполнение приостанов­ ленной программы).

На рис. 4.6 показана структурная схема МП-системы при работе МП в минимальном ре­ жиме с буферированными шинами адреса и данных и сигналами управления Ю/М, RD, WR и INTA. Фиксацию адресных сигналов в регистрах 1533ИР22 можно и не производить, если ис­ пользовать память и внешние устройства, содержащие адресные регистры (см. БИС, описан­ ные в § 3.9). В этом случае в небольших МП-системах можно отказаться и от приемопередат­ чика 1533АП6. Если ввод-вывод по прямому доступу к памяти не используется, то следует за­ дать значения входных сигналов HOLD = 0 и AEN = 0.

Сигналы управления Ю!М, RD и WR можно преобразовать в четыре сигнала независимого управления чтением и записью данных в память и внешние устройства:

r iD h

Усс Х \

X I

i

8284 CI*

 

 

RSADY

 

>RES

 

RESET

ТRDY

t

Wait

State

Generator

HLDA*-----

(на Ш Л О

HOLD------

(от Ш Л О

Усс-

A E N --------

(от ШАС)

 

Усс

1533КП11

 

 

 

DI

d

 

 

 

- 0 0 M UX DO Control Bus

 

 

01

0

—— >MRDC

 

 

DI

 

RDO-

 

(MEMR)

 

- 1 0

 

 

 

 

 

 

-1 1

1

— >IORC

 

 

DI

CPU

 

(For)

- 2 0

 

8086

 

 

El

 

 

 

 

2

—>Штс

 

 

DI

 

WR<!>-

 

(MEMW)

 

30

 

 

 

 

CLK

 

31

 

Jowc

 

 

3

READY

U/Ю

A

 

Сvow)

RESET

 

■iOE

 

 

 

 

 

 

 

INTAQ-

 

 

* INTA

 

ALE

L

RG

 

 

 

>OE

$

Address Bvs

 

BHEfy-

D

 

DO

------- >BHE

 

^19-16

D

DO = > ^1 9 -0

HLDA A D is- о

D

 

 

 

 

 

 

Data Bus

HOLD

 

DA

DB C=^>Ol5-0

 

 

 

DT/R

T

 

 

MM/ Ш

DEN

TR/RC

 

ОЕ

 

 

 

 

 

 

Рис. 4.7. Типовая структурная схема для минимального режима

4.1. Структурная схема МП 8086

339

MRDC - RD М /1 0 , MWTC - WR -М 1 1 0 , I O R C = R D M /I O ,

IOWC = WR -М НО

(эти сигналы аналогичны сигналам управления MEMR, MEMW, I/OR и HOW МП 8080/8085). Данное преобразование легко выполнить с помощью четырехканального двухразрядного муль­ типлексора 1533КП11, как это показано на рис. 4.7. Например:

MRDC = DO0 = DIm ■A v DI0l - А = I -М /1оv~RD ■М /То=М llOv~RD =RD M /1д.

С игналы МП 8086 в максимальном режиме работы. Сигналы на 8 выводах МП при работе в максимальном режиме имеют назначение:

S2-о (Status) — сигналы состояния, которые активны в тактах 7’4, 7', и Т2 каждого цикла шины (см. рис. 4.14) и переходят в пассивное состояние (111) в течение такта 73 или Tw при значении сигнала READY = 1. Эти сигналы содержат информацию, определяющую тип цикла шины (табл. 4.4). Сигналы состояния S2-о подаются на контроллер шин 8288 (1810ВГ88), кото­ рый формирует полный набор системных сигналов управления памятью и внешними устройст­ вами (рис. 4.8). Любое изменение сигналов S2_o в такте Г4 определяет начало следующего цикла шины, а переход их в пассивное состояние (111) указывает конец цикла шины. При подтвер­ ждении запроса захвата шин выходы S2 (i переводятся в Z-состояние;

 

 

 

Таблица 4.4. Системные сигналы управления

 

S2

5,

So

Состояние МП

Сигналы 8288

Назначение сигнала

8085

0

0

0

Interrupt Acknowledge

INTA

Interrupt Acknowledge INTA

INTA

0

0

1

Read I/O Port

IORC

I/O Read Command

I/OR

0

1

0

Write I/O Port

AIOWC, IOWC

I/O Write Command

I/O W

0

1

1

Halt

None

 

 

1

0

0

Code Access

MRDC

Memory Read Command

MEMR

1

0

1

Read Memory

MRDC

Memory Read Command

MEMR

1

1

0

Write Memory

AMWC, MWTC

Memory Write Command

MEMW

1

1

1

Passive

None

 

 

8 2 8 8 ,1810ВГ88

CLK

 

 

RQ/GT

 

 

Запрос пшны

Предоставление

Освобождение

данных

шины данных

шины данных

(от 8087 на 8086)

(от 8086 на 8087)

(от 8087 ка 8086)

Рис. 4.8. Контроллер шин Рис. 4.9. Временные диаграммы запроса и предоставления шины

RQ/GTi-o (Request/Grant) — двунаправленные линии запроса/предоставления шин, обес­ печивающие бесконфликтное управление шинами несколькими ведущими устройствами, на­ пример, микропроцессором 8086, арифметическим сопроцессором 8087 и контроллером пря­ мого доступа к памяти 8237. Линия RQ/GTq имеет более высокий приоритет, чем линия

22*