Регистры микропроцессора

Лекция №15-2

Микропроцессорная техника

2. АРХИТЕКТУРА МИКРОПРОЦЕСОРА.. 1

2.1 СТРУКТУРА МИКРОПРОЦЕССОРА К580. 1

2.1.1. РЕГИСТРЫ МИКРОПРОЦЕССОРА.. 2

2.1.2. АРИФМЕТИЧЕСКО-ЛОГИЧЕСКОЕ УСТРОЙСТВО.. 5

2.1.3. ШИНЫ МИКРОПРОЦЕССОРА.. 5

2.1.4. СТЕК.. 7

2.1.5. БУФЕРНЫЕ СХЕМЫ… 8

2.2. СЛОВО СОСТОЯНИЯ МИКРОПРОЦЕССОРА.. 9

2.2.1. СОСТОЯНИЕ ЗАХВАТА.. 10

2.2.2. СОСТОЯНИЕ ПРЕРЫВАНИЯ.. 10

2.2.3. СОСТОЯНИЕ ОСТАНОВА.. 11

2.3. СИСТЕМА КОМАНД МИКРОПРОЦЕССОРА К580. 11

ПРИЛОЖЕНИЕ.. 13

АРХИТЕКТУРА МИКРОПРОЦЕСОРА

На примере К580ВМ80А

СТРУКТУРА МИКРОПРОЦЕССОРА К580.

Рассмотрим наиболее часто используемый в промышленности 8-разрядный микропроцессор К580ВМ80А(аналог Intel 8080). На рис.2.1 представлена структура микропроцессора К580. На структурные решения определенное влияние оказало ограниченное число выводов корпуса МП (в данном случае их 40).

МП имеет три шины: 8-разрядную двунаправленную внутреннюю шину данных (ШД), 16-разрядную адресную шину (ША) и шину управления (ШУ).

Внутренняя шина данных является магистралью, по которой могут обмениваться данными все подключенные к ней блоки (узлы) МП. Одновременно по шине данных осуществляется обмен только между двумя узлами МП. Таким образом, узлы МП, подсоединенные к шине данных, разделяют эту шину по времени.

Шина управления содержит линии для передачи управляющих сигналов, признаков состояния процессора и периферийных устройств, в том числе линии: синхронизации передачи и идентификации информации, передаваемой по шине данных; сигналов, информирующих МП о готовности периферийных устройств; сигнала запроса прерывания от периферийных устройств и сигнала разрешения прерывания и др.

При рассмотрении структуры МП можно выделить следующие ее части: блок регистров, арифметическое — логическое устройство (АЛУ), буферные схемы, управляющее устройство.

Рис.2.1
Адресная шина (А0 — А15)
dbin
inte
intr
wait
hlda
hold
ready
sinc
reset
Буфер ША
j1
j2
Запись
Управление шиной
Управление прерыва-нием
Управление ПДП
Готовность, ожидание
Сброс
Синхрони-зация
Сх ема упр авления МП С

Регистры микропроцессора

Управ- ляющие сигналы
Первичный управляющий аппарат
ДК
Внешняя шина данных
АЛУ
РА
ИНК/ДЕК
СК (PC)
УС (SP)
L
H
E
D
C
B
Z
W
Мультиплексор
F
Т
А
РК
Буфер ШД
Внешняя шина данных (D0 — D7)

Структура МП К580

РЕГИСТРЫ МИКРОПРОЦЕССОРА

Основу большинства ЦП образуют рабочие регистры. Регистры представляют собой сверхоперативное ЗУ небольшой емкости. Регистры состоят из триггеров и адресуются подобно ячейкам памяти. Число регистров, однако, очень невелико. Данные могут храниться в регистре до тех пор, пока шина или некоторый блок не будут готовы принять их или пока они не потребуются по программе. Использование в программе рабочих регистров выгодно, так как ЦП может получить содержащиеся в них данные, не обращаясь к памяти. Регистры, содержимое которых не изменяется под воздействием программы, позволяют сохранить данные для последующего использования.

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

Микропроцессор К580 содержит программно-доступные 8-разрядные регистры: регистр-аккумулятор; общие регистры (регистры общего назначения — РОН) B, C, D, E; регистр признаков F и 16-разрядные специализированные регистры; счетчик команд СК; регистр-указатель стека УС; сдвоенный регистр косвенного адреса HL (H — регистр старшего полуадреса, L — регистр младшего полуадреса). Кроме того, имеются непосредственно недоступные программные регистры: 8-разрядные регистры временного хранения T, W, Z; 8-разрядный регистр команды, 16-разрядный регистр адреса РА. Имеется возможность использования содержимого пар регистров Bи C, D и E,H и L как составных слов двойной длины .

Аккумулятор — это регистр временного хранения, который используется в качестве источника одного из операндов и места, где фиксируется результат операции. В команде аккумулятор в явном виде не адресуется. На использование аккумулятора в операции указывает код операции команды. Иначе говоря, в отношении аккумулятора применяется подразумеваемая адресация, что позволяет применять одноадресные команды, имеющие сравнительно короткий формат. Для того, чтобы аккумулятор мог одновременно являться регистром операнда и регистром результата операции, он строится на основе двухступенчатых триггеров. (Следует отметить, что некоторые МП для повышения производительности имеют несколько аккумуляторов.)

Регистры Общего Назначения могут служить в качестве устройств временного хранения данных или адресов. По отношению к этим программно-доступным регистрам применяется подразумеваемая, или укороченная (регистровая) адресация, задаваемая коротким номером регистра. Использование аккумулятора и общих регистров позволяет при выполнении команд уменьшить количество обращений к памяти и тем самым повысить быстродействие МП. Для повышения эффективности операций со словами двойной длины и операций формирования и пересылок двухбайтных адресов имеется возможность оперировать с содержимым пар регистров B и C, D и E, H и L как с составными словами двойной длины, т.е. в МП автоматически выполняется операция конкатенации над содержимым пар регистров. При этом реализуются так называемые тандемные пересылки, состоящие в передаче в цикле выполнения команды последовательно друг за другом 2 байт информации. Наличие в блоке регистров специализированного регистра косвенного адреса HL позволяет иметь команды с подразумеваемой косвенной адресацией, т.е. без указания в команде номера регистра, хранящего исполнительный адрес. При выполнении операций в МП возникает потребность в кратковременном хранении некоторых операндов и результатов выполнения операций. Для этой цели служат регистры временного хранения данных T, W и Z. Использование регистров временного хранения позволяет МП за один цикл выполнения команды реализовать, например, такую операцию, как обмен содержимым двух регистров. Буферные регистры временного хранения данных построены по простейшему принципу динамического хранения переменных на емкостях затворов МОП-транзисторов. Они позволяют простейшими аппаратными средствами выполнять довольно сложные операции “перетасовки” данных не только между общими регистрами, но и между регистрами, аккумулятором и памятью.

Схема инкрементора / декрементора — особенностью блока регистров МП является наличие в его составе этого устройства,которое производит над содержимым регистров (без привлечения АЛУ) операцию прибавления/вычитанияединицы. Схема инкрементора / декрементора позволяет реализовать процедуры автоматического задания приращений при операциях с адресами не только в регистре-указателе стека, но и в счетчике команд.

Счетчик Команд (СК) содержит адрес ячейки памяти, в которой находится очередная команда. Цикл выполнения команды начинается с того, что ЦП посылает содержимое счетчика команд в шину адресам таким образом ЦП извлекает из памяти первое слово команды. При этом увеличивается на единицу содержимое счетчика команд и, таким образом, в следующем цикле команды из памяти будет извлечена следующая из последовательности команд. Если команда многобайтная ЦП увеличивает на 1 содержимое счетчика команд (инкрементирует) столько раз, сколько это нужно. Таким образом, ЦП извлекает из памяти и реализует команды последовательно, если только команда передача управления или условный переход не изменит содержимое счетчика команд.

Регистр Команд сохраняет код команды до тех пор, пока она не будет дешифрирована.

Регистр Адреса Памяти содержит адрес данных в памяти. Адреса могут представлять собой часть команд или данные. Многие ЭВМ имеют по несколько регистров адреса. Собственно регистр адреса недоступен программисту. Однако любая пара регистров (BC, DE, HL) может быть использована для задания адресов команд и данных в программе. Этот адрес под воздействием соответствующих команд не только может быть загружен в регистр-защелку адреса, но и модифицирован (посредством схемы инкрементор / декрементор) в процессе загрузки. Регистр-защелка адреса передает адрес в буферную схему и далее в шину адреса.

Регистр Признаков — процессор КР580ВМ80 выдает 5 бит условий, отображающих результат выполнения операций (рис.2.2). Все биты, за исключением бита дополнительного переноса, могут быть проанализированы командами управления последовательностью выполнения программы (командами условного перехода). Ниже рассмотрено, в каких командах и какие биты анализируются, а также как выполняются команды в зависимости от битов состояния /5, стр.217/

Введем условие, что бит состояния:

равен 1, если он “установлен”,

равен 0, если он “сброшен”.

  • Бит переноса (Carry или CY) устанавливается и сбрасывается командами сложения, вычитания, сдвига и логическими командами, выполненными над данными, и может быть программно проанализирован. Например, в результате операции сложения двух однобайтных слов появляется единица переноса из старшего разряда, бит переноса устанавливается, если же перенос не возникает, бит переноса сбрасывается. Операции сложения, вычитания, сдвига и логические устанавливают и сбрасывают бит переноса по разным правилам. Процессор К580ВМ80 имеет несколько видов операций сложения: ADD, ADC, ADI, ACI и DAD; вычитания: SUB, SBB. SUI, SBI, CMP и CPI; циклического сдвига: (ML, RAR, RLC, RRC; логических операций: ANA, ORA, XRA, ANI, ORI, XRI, которые могут устанавливать и сбрасывать этот бит.
Регистр признаков
7 6 5 4 3 2 1 0
— не используются Регистры микропроцессора
Рис. 2.2

  • Дополнительный бит переноса или вспомогательный перенос (Auxiliary carry или АС) устанавливается при появлении переноса из бита 3. Состояние дополнительного бита переноса не может быть проанализировано непосредственно программой, за исключением команды десятичной коррекции (DDA). Бит дополнительного переноса может быть установлен всеми операциями сложения, вычитания, приращения (+1), уменьшения (-1) и операциями сравнения.
  • Бит знака (Sign или S). В байте можно представить числа от -12810 до +12710,. При этом, как обычно, седьмой бит представляет знак. Если он равен 1, байт содержит числа от -12810 до — 110, если 0 — от 010 до +12710. В конце выполнения некоторых операций бит знака устанавливается по седьмому биту результата.
  • Бит нулевого признака (Zero или Z) устанавливается, если результат определенных операции равен 0. Бит нуля сбрасывается, если результат ненулевой. Если операция дает нулевой байт результата и единицу переноса, как показано ниже, бит нуля также устанавливается.
  • Бum четности (Parity или Р) устанавливается при выполнении некоторых операций путем подсчета числа бит в байте, равных единице. Если суммарное число равно четной величине, то индицируется сигнал четности, в противном случае — сигнал нечетности. Бит четности устанавливается сигналом четности и сбрасывается сигналом нечетности.

Hackerdom-10-03 Регистры процессоров


Похожие статьи.

Понравилась статья? Поделиться с друзьями: