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

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

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

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

Добавлен: 15.06.2025

Просмотров: 4509

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

блокам обращаются с использованием нижних (или верхних) 8 битов адресной шины и сигнала 10/-^М = 1. Для этого примененимы обе команды, IN и OUT. Длина адреса периферийного блока равна каждый раз 8 бит. В микропроцессоре 8085А этот 8-битовый адрес подается при подключении адресного фикса­ тора (address latch) на младший и старший адресные байты.

Преимущества, получаемые при подключении периферийного уст­ ройства в качестве ЗУ (memory-mapping, управление памятью):

• В нашем распоряжении имеется большое число команд р^ля осу­ ществления передачи данных.

Недостатки подключения периферийных блоков в качестве ЗУ (memory-mapping):

Количество адресуемых ячеек ЗУ уменьшается. Для того, что­ бы различать периферийные блоки и блоки ЗУ, как правило, используется Ai^. могут быть подключены ЗУ с общей емко­ стью только 32 К.

Команды становятся длиннее, так как они должны содержать 16-битовые адреса.

16.4. Периферийные блоки

Периферийные блоки представляют собой программируемые интер­ фейсы компьютера. Различают параллельные и последовательные интерфейсы. Типичным для большинства интерфейсов является то, что они двунаправлены. Они имеют, как правило, несколько команд­ ных регистров, в которых запоминаются особенности процедуры передачи. Например, в одном из регистров хранятся направление и вид сигналов, используемые при обмене данными. Эти командные регистры загружаются процессором. Далее данные должны быть запомнены в промежуточном ЗУ. Это необходимо, поскольку про­ цессор и периферия в редких случаях работают синхронно.

На рис. 16.4 представлен двунаправленный интерфейс, который, конечно, сильно упрощен. Изображен только один канал i интерфей­ са с шириной 8 бит. Интерфейс подключен к внешней шине данных и управляющей шине микропроцессора. Поэтому входу данных Di соответствуют вход и выход типа tri-state. Выход также выполнен с помощью вентиля типа tri-state, чтобы он мог работать на двуна­ правленную шину.


16.5. Параллельный

интерфейс микропроцессора

8255

При выдаче данных интерфейс прежде всего должен быть уста­ новлен на выдачу. Эта информация запоминается в одном из непоказанных здесь командных регистров. Командный регистр загру­ жается через шину данных. Установив -^WR = О, можно загрузить один бит в выходной триггер. Поскольку правый tri-state-буфер включен на основе сигнала enable («разрешить»), результат виден на внешней шине.

Д

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

шина

CLK'

^fflJ Cl<h E/Ai

fm

[73^^

&

-.WR' ни|C1

m^^

ID

Р и с . 16.4. Принцип построения двунаправленного интерфейса. Изображе­ ние канала i параллельного интерфейса.

При введении данных устанавливается = 0. Затем с каждым так­ том, имеюш;аяся на внешней шине, информация загружается в верх­ ний входной триггер. При -ii?D = О бит может быть выдан на шину микропроцессора.

Взаимодействие с внешней шиной представлено здесь упрош;енно. Как правило, имеется протокол, на основе которого можно выяснить, имеются ли новые данные на шине, когда интерфейс установлен на прием, либо выяснить, считываются ли данные, когда интерфейс включен на передачу. Если данные принимаются, можно просигнализировать

оприеме в процессор с помош;ью, например, сигнала прерывания.

16.5.Параллельный интерфейс микропроцессора 8255

вкачестве примера блока интерфейса рассмотрим параллельный интерфейс микропроцессора 8255. В него входят три параллельных


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

интерфейса с портами А, В и С, каждый шириной 8 бит. С помо­ щью двух адресных линий Ai и А^ выбирается один из четырех ре­ гистров интерфейса. Такими регистрами могут быть как регистры данных портов А,В и С, так и командный регистр. Командный ре­ гистр содержит информацию как о том, действует ли интерфейс как вход или как выход, так и об особенностях способов передачи данных.

РА,.,,РАп

РС7...РС0

РВу...РВо

Регистр данных

Регистр данных

Регистр данных

канал А

канал С

канал в

Внутренняя шина данных (8 бит)

Логика управления

командный

драйвер шины

считыванием и записью

регистр

данных

гтттп

.CS-xWR-^RD А.

RESET

D,...Do

Рис. 16.5. Параллельный интерфейс микропроцессора 8255.

Линии данных от DQ ДО D^ подключены к шине данных, они являются высокоомными до тех пор, пока блок не выбран с помощью сигнала -^CS. К выводам от А^ до Ао, от Ст до Со и от Bj до ^о можно подключить переключатели, светодиоды, датчики, принтеры др. устройства.

Регистры выбираются линиями данных Ао и Ai в соответствии с табл. 16.2.

16.6.Процесс выполнения команд

внормальном рабочем состоянии процессор реализует непрерывно повторяющуюся последовательность шагов. Постоянно из ЗУ выда-


16.6. Процесс выполнения

команд

ются программы, которые затем обрабатываются. В командном ЗУ команды приводятся в порядок в соответствии с последовательно­ стью программы. Счетчик команд (PC, program counter) в процессо­ ре содержит адрес команды, которая будет выполняться следующей.

Таблица 16.2.

Лг

Ло

Регистр

0

0

регистр данных, порт А

0

1

регистр данных, порт В

1

0

регистр данных, порт С

1

1

может быть записано в командный регистр

Команда имеет фиксированный формат, она снабжена специ­ альным кодом и, когда необходимо, адресом. В качестве примера используем ассемблерную программу STA 0F12H. Она служит для запоминания содержания накапливающего регистра (accumulator) в ячейке ЗУ 0F12H. STA представляет собой так называемое мне­ моническое изображение; можно легко заметить, что оно выведе­ но из английского описательного обозначения «store accumulator». Компилирующая ассемблерная программа переводит эту команду на машинный язык, в двоичное представление, которое может быть интерпретировано процессором. В машинном языке заменены друг на друга младшие и старшие байты адреса.

Таблица 16.3. Противопоставление ассемблерного, шестнадцатеричного и двоичного представлений команды STA DF12H. Команда состоит из 3 байтов.

Ассемблерный способ записи

STA

0F12H

Шестнадцатеричный способ записи

32

OF 12

Двоичный способ записи

ООН 0010

0001 0010 0000 1111

Для выполнения команды содержание счетчика команд переда­ ется на адресную шину и команда из ЗУ загружается в декодер команд. Эта фаза называется «выборка операционного кода» (OF, operation code fetch). В этом машинном цикле команда также деко­ дируется. После этого становится известным, из скольких байтов состоит команда и сколько машинных циклов необходимо, чтобы ее выполнить. В предложенном примере это два дальнейших байта, задаюш;их адрес ЗУ, в котором должно быть перезаписано содержание накопительного регистра. В конце этого цикла счетчик команд по­ вышает свое значение на 1. Теперь он указывает на младшие байты адреса (в данном примере OF Н).


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

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

Вследуюш;ем цикле из ЗУ получают младший байт адреса. Этот цикл называется «считывание ЗУ» (MR, memory read). Ц^ля этого процессор выдает адрес счетчика команд на адресную шину. Счетчик программ вновь повышает свое значение на 1. В следуюш;ем цикле, также являюш;имся MR-циклом, считывается старший байт адреса.

Впоследнем цикле содержание накапливаюш;его регистра запи­ сывается в ячейке ЗУ, адрес которой был считан перед этим. Этот цикл называется «запись в память» (MW, memory write).

16.6.1. Цикл выборки операционного кода (OF)

Цикл выборки операционного кода является единственным циклом, который имеет 4 такта. Причина этого заключается в том, что по­ сле выдачи операционного кода из ЗУ он должен быть сперва де­ кодирован, чтобы решить, какая операция должна быть проведена следующей. Временная диаграмма OF-цикла команды STA 0F12H показана на рис. 16.6.

CLK

Ю/-лМ

I—Г

К—Г

у 10/м=Ф, si=i,so4i

|( РСН \r\. spezifi lert

ADo'AD-j

i PCL OUT)—(~тD^^mji-...

ALE I/ \_

-,Л£) -

L

J

Рис . 16.6. Временная диаграмма цикла выборки операционного кода в слу­ чае команды STA 0F12H.

Такт 1

В начале цикла посылаются управляющий сигнал и сигнал приори­ тета. В этом случае Ю/^М ^ О, 5i = 1, ^о = О, INTA = 0. Со­ держание счетчика команд выдается на адресную шину. Старшая часть адреса поступает на РСН, младшая часть адреса переводится при появлении сигнала ALE из шины данных в регистр промежу­ точного ЗУ.