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

Микропроцессоры Токхайм / 8.2. АРХИТЕКТУРА МП INTEL 8085

.doc
Скачиваний:
188
Добавлен:
13.05.2015
Размер:
1.09 Mб
Скачать

8.2. АРХИТЕКТУРА МП INTEL 8085

На рис. 8.3 показана архитектура МП Intel 8085. Он имеет 16-разрядный счетчик команд и защелку адреса, ко­торая загружает специализированную адресную (A15—А18) и мультиплексированную шины (AD7—AD0). Параллель­ные данные входят в МП и покидают его через AD7—AD0. Эта шина передает адрес, когда- линия управления ALE получает Н-сигнал, и данные, когда L-сигнал.

По 8-разрядной внутренней шине входящие и выходя­щие данные вводятся внутрь устройства. Они могут посту­пать с внутренней шины данных в 8-разрядный аккумуля­тор или регистр временного хранения, в индикаторы, регистр команд, устройство управления, в какой-либо из регистров общего назначения (В, С, D, Е, Н, L), 16-раз­рядный указатель стека, 16-разрядный счетчик команд или 8-разрядный буфер адреса/данных. Выводы SID и SOD ввода и вывода последовательных данных приведены спра­ва вверху на рис. 8.3, входы прерывания (INTR, RST5.5, RST6.5, RST7.5 и TRAP) —вверху слева вместе с выходом (подтверждение запроса на прерывание). Арифме­тико-логическое устройство загружается двумя 8-разряд­ными регистрами (аккумулятором и регистром временного хранения), как в типовом МП. Регистр состояний содер­жит пять индикаторов состояния вместо двух, как это бы­ло в типовом МП.

Регистр команд связан с дешифратором. Последний определяет текущую команду, требуемую микропрограмму или следующий машинный цикл. Он информирует за­тем схему управления и синхронизации о последователь­ности действий. Эта схема координирует действия МП и периферии. Если линии управления не показаны на рис. 8.3, выходы управления и состояний здесь приведены. J Входы RESET, HOLD и READY представлены также в части, относящейся к управлению и синхрониза­ции МП.

Регистры

Как и в случае типового МП в состав МП Intel 8085 входят 8- и 16-разрядные регистры. Адресуемых 8-разряд­ных регистров здесь восемь, шесть из которых (регистры общего назначения) могут быть использованы или как 8-разрядные, или могут объединяться в три 16-разрядные пары. Кроме того, МП Intel 8085 содержит два 16-разряд­ных регистра.

Аккумулятор (или регистр А) является ядром всех I операций МП, к которым относятся арифметические, ло­гические, загрузки или размещения данных и ВВ. Это 8-разрядный регистр.

Регистры общего назначения ВС, DE и HL могут быть использованы как шесть 8-разрядных или три 16-раз­рядные пары регистров в зависимости от текущей выпол­няемой команды. Как и в типовом МП, пара HL (фирмой Intel названа указателем данных) может быть использо­вана для указания адреса. Несколько команд используют пары ВС и DE в качестве указателя адреса, но обычно они являются регистрами хранения данных.

Счетчик команд PC всегда указывает на ячейку памяти следующей для выполнения команды.

Указатель стека SP является специальным регистром — указателем адреса (или данных), который всегда указывает на вершину стека в ОЗУ. Это 16-разрядный ре­гистр.

5. Регистр состояния (или индикаторов) содержит пять одноразрядных индикаторов, в которых содержится информация, относящаяся к состоянию МП. Эти указатели используются условными ветвлениями программы, вызовами подпрограмм и возвратами из подпрограмм.

Индикаторы

На рис. 8.4 представлены пять индикаторов МП 8085. Индикатор переноса CY устанавливается или сбрасывает­ся в результате выполнения арифметических операций. Его состояние проверяется командами программы. Как и в типовом МП, переполне­ние 8 бит при сложении устанавливает 1 в СУ; в случае вычитания, когда CY установлен, это ука­зывает, что вычитаемое больше уменьшаемого.

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

Индикатор знака 5 устанавливается в зависимости от состояния наиболее значимого бита после выполнения арифметических или логических команд. Эти команды ис­пользуют самый старший бит данных для того, чтобы представить знак числа, содержащегося в аккумуляторе. Установленный индикатор соответствует отрицательной величине, сброшенный — положительной.

Индикатор вспомогательного переноса АС показывает переполнение или перенос в третьем разряде аккумулятора таким же образом, как индикатор переноса показывает переполнение или перенос в седьмом разряде. Этот инди­катор используется в ходе выполнения операций двоично-десятичной арифметики.

Индикатор четности Р проверяет число бит единиц в аккумуляторе. Если это число четное, он показывает, что паритет четный, и тогда в индикаторе паритета устанав­ливается 1; если число нечетное, паритет нечетный, и ин­дикатор сбрасывается в 0. Например, если команда ADD дает результат в аккумуляторе ООП 00112, в индикаторе паритета будет установлена 1, так как число единиц (4) четно. Если в аккумуряторе—1010 11102, индикатор Р будет сброшен в 0, потому что число бит единиц (5) не­четно.

Так как все эти индикаторы содержат только единст­венный бит, их иногда называют не индикаторами, а бита­ми; мы часто будем встречать выражения: бит переноса, нуля, вспомогательного переноса, паритета (в регистре состояния).

Указатель стека

Указатель стека SP указывает на адрес последнего по­мещенного в стек байта. Он может использовать в качест­ве стека любую часть ОЗУ. Как и в типовом МП, указа­тель стека декрементируется при каждом помещении в стек и инкрементируется при каждом извлечении из него.

Арифметико-логическое устройство

Арифметико-логическое устройство (АЛУ) тесно свя­зано с аккумулятором, регистром состояний и нескольки­ми регистрами временного хранения, недоступными про­граммисту. Арифметические, логические операции и опе­рации передачи данных выполняются в АЛУ, а результаты обычно помещаются в аккумулятор.

Регистр команд и дешифратор

В ходе извлечения команды ее первый байт (КОП) пе­редается в 8-разрядный регистр команд. Содержимое регистра доступно тогда дешифратору команд. Выход это­го дешифратора, переданный портами по сигналам син­хронизации, управляет регистрами, АЛУ, буферами адре­са и данных.

Внутренний генератор тактовых импульсов

Кристалл МП Intel 8085 содержит законченный гене­ратор тактовых импульсов. Он требует только присоеди­нения кварцевого кристалла для синхронизации своей ра­боты. Микропроцессор Intel 8085 использует кварц с час­тотой 6,25 МГц, его версия — Intel 8085А-2 работает с кристаллом на частоте до 10 МГц. Вывод CLK является буферным выходом генератора тактовых импульсов, час­тота которого равна половине частоты кварца.

Прерывания

Пять входов аппаратного прерывания записаны в по­рядке приоритета в левой колонке табл. 8.3. Входом наи­высшего приоритета является TRAP. Сигнал Н-уровня на входе TRAP заставляет МП сохранить содержимое счет­чика команд в стеке и ответвиться на ячейку памяти 0024Н. Вход TRAP не может быть непризнанным и со­ставляет, следовательно, немаскируемое прерывание.

Три следующих аппаратных прерывания в табл. 8.3 яв­ляются так называемыми повторными запусками — ре­стартами (новый запуск программы по новому адресу в па­мяти). Прерывание RST7.5 заставляет МП поместить в стек содержимое счетчика команд и ответвиться на ячейку па­мяти 003СН. Прерывание RST6.5 более низкого приорите­та, чем предыдущее, заставляет МП поместить в стек со­держимое счетчика команд и ответвиться в память по адре­су 0034Н. Прерывание RST5.5 еще более низкого уровня заставляет МП поместить в стек содержимое счетчика команд и ответвиться в память по адресу 002СН.

Прерывание самого низкого приоритета выполняется по входу INTR, что заставляет процессор извлечь команду из специального внешнего источника.

Все четыре последних прерывания могут быть разре­шены или не разрешены программно и составляют поэтому маскируемые прерывания.

Ввод и вывод последовательных данных

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

RIM данные передаются с вывода последовательного вхо­да SID в бит 7 (b7) аккумулятора (см. рис. 8.5, а, где в качестве примера Н-сигнал передается по линии SID в наи­более значимый бит аккумулятора).

Отдельный последовательный бит может быть выведен через выход SOD, используя специальную команду S1M

(см. рис. 8.5,б, где в качестве примера L-сигнал выводит­ся по линии SOD через защелку последовательного выхо­да). Заметим на рис. 8.5, что источником данных является наиболее значимый бит 7 (b7) аккумулятора. Бит 6 (b6) аккумулятора должен быть установлен в 1, чтобы мог осу­ществляться после­довательный вывод данных.

Последовательный вход SID может быть использован так же, как универ­сальный вход TEST, тогда как вывод вы­хода SOD может служить выходом однобитовой команды. В следующем параграфе мы подробно остановимся на многоцелевых командах SIM и RIM.

Мнемоника RIM означает считывать маску прерывания (Read Interrupt Mask), SIM — установить маску прерыва­ния (Set Interrupt Mask).

На рис. 8.6 представлены программируемые регистры МП Intel 8085. Эти регистры являются для программиста основными, так как они доступны, а этот тип схемы со­ставляет модель программирования МП Intel 8085.

Первичный 8-разрядный аккумулятор обозначен А, другие 8-разрядные регистры общего назначения (В, С, D, Е, Н и L) все вместе называются вторичными аккумулято­рами/счетчиками данных. На рис. 8.6 приведены также 16-разрядные указатель стека SP и счетчик команд PC.

Упражнения

8.11. См. рис. 8.3. Intel 8085 снабжен счетчиком команд емкостью ______ бит, который связан с адресной защелкой. От нее адрес разделен на два и передается в периферию по шине _______ и ______ шине.

8.12. См. рис. 8.3. Выходная линия управления ALE

имеет _______ (Н-, L-) уровень, когда МП передает адрес

на мультиплексированную шину.

См. рис. 8.3. Выводы SID и SOD жестко связаны с секцией управления _______ (прерываниями, последова­тельным ВВ).

Перечислить шесть регистров общего назначения емкостью 8 бит каждый, кроме аккумулятора.

Какой 16-разрядный регистр всегда содержит ад­реса и указывает на вершину стека в ОЗУ?

Перечислить пять индикаторов регистра состояния МП Intel 8085.

См. рис. 8.7. Каково содержимое аккумулятора после выполнения операции сложения?

См. рис. 8.7. После сложения бит знака (S) будет равен ________ (0, 1).

См. рис. 8.7. После сложения бит нуля (Z) будет равен _______ (0, 1).

См. рис. 8.7. После сложения бит вспомогательно­го переноса (АС) будет равен ________ (0, 1).

См. рис. 8.7. Каким будет бит четности (Р) после сложения?

См. рис. 8.7. Каким будет состояние бита переноса (CY) после сложения?

8.23. Аппаратное прерывание высшего немаскированного приоритета выполняется по линии _______(INTR,

TRAP).

8.24. См. рис. 8.4. Когда активизировано аппаратное

прерывание RST7.5, МП сохранит содержимое _______

а стеке и ответвится по адресу ______ в памяти.

8.25. Когда шина данных передает 8 бит (параллельно), вывод SID управляет сразу _______ бит.

Решения

8.11. 16; адреса; мультиплексированной. 8.12. Когда на ALE L-ypoвень, мультиплексированная шина становится двунаправленной шиной данных. 8.13. Последовательным ВВ. 8.14. В, С, D, Е, Н, L. Они могут для некоторых операций использоваться парами регистров ВС, DE, HL. 8,15. Указатель стека (SP). 8.16. Индикаторы или биты: знака, нуля, переноса, вспомогательного переноса, четности. 8.17. 1111 1000+ +0000 1111 = 1 0000 01112- Таким образом (А) =0000 0111 (8 младших бит суммы). 8.18. (А) =0000 0111, следовательно, (S)=0. 8.19. (А) = = 0000 0111^=0, следовательно, (Z)=0. 8.20. Позиция b3 в аккумуля­торе, как и в регистре В, содержит 1 в обоих случаях (12+12=102), таким образом, будет иметь место перенос из бита b3 в бит b4 (АС) = = 1. 8.21. Аккумулятор содержит 0000 0111, следовательно, имеется не­четный паритет, (Р)=0. 8.22. 1111 1000+0000 1111 = 1 0000 0111, име­ет место переполнение в b7, таким образом, (СУ) = 1. 8.23. TRAP. 8.24. Счетчика команд (PC); ЗСН. 8.25. Одним.