ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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. Структура, система команд и работа микропроцессора
интерфейса с портами А, В и С, каждый шириной 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 Н).