
Микропроцессоры Токхайм / 8.2. АРХИТЕКТУРА МП INTEL 8085
.doc8.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. Одним.