Структурно-функциональная организация процессоров

Для более глубокого понимания и быстрого освоения изучаемого материала рассмотрим архитектурные особенности простейших 8-разрядных процессоров.

Основные функции процессора

На процессор возлагается выполнение операций, предусмотренных его системой команд. При выполнении программы центральный процессор микропроцессорной системы обеспечивает выполнение всех функций, предусмотренных программой. К ним относится:

  • формирование адреса команд или данных, хранящихся в оперативной памяти;
  • выборка команд из памяти и их дешифрация;
  • прием данных из основной (оперативной) памяти, выполнение над ними арифметических, логических и других операций, определяемых кодом команды, и передача обработанных данных во внешние устройства или память;
  • формирование сигналов состояния (логических условий), управления и времени, необходимых для нормальной работы внутренних узлов, а также внешних устройств и памяти;
  • временное хранение результатов выполненных операций, адресов, формируемых сигналов состояния и других данных;
  • прием сигналов запроса от внешних устройств и их обслуживание. Для выполнения перечисленных функций процессор должен располагать необходимым набором аппаратных средств.

Состав процессора

Для описания основных узлов процессора воспользуемся структурной схемой на рис. 5.14, в которой можно выделить четыре указанные выше составные части:

  • операционный автомат, к которому можно отнести АЛУ и обслуживающие его регистры (аккумулятор А и два дополнительных регистра), блок десятичной коррекции и регистр признаков, формирующий логические условия;
  • управляющий автомат, включающий регистр команд, дешифратор и блок управления;
  • внутреннюю память, состоящую из регистров общего назначения (IV, Z, В, С, D, Е, Н, L), указателя стека, счетчика команд, регистра адреса и буферного регистра;
  • средства коммуникации в виде внутренней шины, шины данных и шипы управления.

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

  • • арифметическое сложение двух операндов с передачей переноса в старший разряд (и без него) и вычитание с передачей заема в младший разряд (и без него);
  • • логическое сложение, умножение, исключающее ИЛИ и сравнение;
  • • четыре вида циклических сдвигов;
  • • арифметические операции над десятичными числами.

При выполнении операций один из операндов поступает в АЛУ через аккумулятор А и дополнительный регистр 1, другой операнд – через дополнительный регистр 2. Циклические сдвиги выполняются только над содержимым аккумулятора А. В аккумулятор также помещаются результаты выполненных в АЛУ операций.

Блок десятичной коррекции. При суммировании десятичных чисел может потребоваться коррекция результата, для выполнения которой в микропроцессоре предусмотрен блок десятичной кор-

Структурная схема 8-разрядного процессора

Рис. 5.14. Структурная схема 8-разрядного процессора

рекции. При сложении каждый разряд десятичного числа (цифра) представляется 4-разрядным двоичным кодом (полубайтом, тетрадой), например кодом 8421. Сложение полубайтов происходит по правилам двоичной арифметики. Если сумма больше 9, то возникает необходимость в проведении коррекции. Коррекция осуществляется дополнительным прибавлением двоичного числа 0110 (6) к полученному результату. Это обусловлено тем, что вес 5-го разряда двоичного числа составляет 16 десятичных единиц, а вес старшего разряда десятичного числа – 10, т.е. разность равна 6. Если при сложении получен результат 10...15, то прибавление числа 6 (0110)2 приведет к появлению 1 в 5-м разряде. Этот разряд "уходит" в старший полубайт и забирает с собой "добавку" (6), оставляя правильный результат. В том случае, когда результат составляет 16... 18, в 5-м разряде появляется единица, значение которой (до переноса) соответствует 16 в десятичном исчислении. После переноса единицы 5-го разряда в старший полубайт ее значение становится равным 10. Таким образом, перенос сопровождается уменьшением результата на 6 десятичных единиц, что также требует проведения его коррекции. Принцип коррекции иллюстрируется на двух приведенных примерах.

Неправильный результат обнаруживается по наличию единиц в двух старших разрядах (3-й и 2-й), в 3-м и 1-м или по наличию переноса в следующую тетраду.

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

  • триггер переноса, вырабатывающий сигнал С = 1, если при выполнении операций сложения и сдвига появляется единица переноса из старшего разряда;
  • триггер дополнительного переноса, вырабатывающий сигнал V = 1, если при выполнении операции с двоично-десятичными кодами появляется единица из третьего разряда (старшего разряда младшего полубайта);
  • триггер нуля, вырабатывающий сигнал Z = 1, если результат операции равен нулю;
  • триггер знака, вырабатывающий сигнал S = 1, если значение старшего разряда операнда (в дополнительном коде) равно единице, т.е. результат операции – отрицательное число;
  • триггер четности, вырабатывающий сигнал Р = 1, если результат операции содержит четное число единиц.

Указанные триггеры обеспечивают выполнение в программе условных переходов. Например, если результат выполнения предыдущей операции равен нулю, то триггер нуля устанавливается в единичное состояние (Z = 1) и условие перехода в другую часть программы оказывается выполненным. Распределение разрядов регистра признаков условий в байте при передаче по шине данных следующее:

Разряд

А

А

А

А

А

А

А

А

Признак

S

Z

0

V

0

р

1

с

Регистры. Доступ к регистрам, в том числе к счетчику команд и указателю стека, осуществляется через мультиплексоры с помощью селектора регистров.

Регистры общего назначения (РОН) играют роль аккумуляторов, когда в них содержатся обрабатываемые данные, либо указателей, когда в них хранятся адреса операндов. Регистры В, С, D, Е, Н, L могут быть использованы в программе как отдельные 8-разрядные регистры или как 16-разрядные регистровые пары ВС, DE, HL. Название пары В, D, Я всегда соответствует названию первого регистра пары, в котором хранится старший байт 16-разрядного числа. 16-разрядный регистр Я служит адресным регистром: при косвенной регистровой адресации он хранит исполнительный адрес, поступающий из основной памяти.

Регистры W Z не являются программно-доступными и используются для выполнения команд внутри микропроцессора. В них хранятся второй и третий байт команды.

Обмен информацией между микропроцессором и внешними устройствами осуществляется через двунаправленный буферный регистр, а адресация к памяти и внешним устройствам – через 16-разрядный регистр адреса. Особенность буферного и адресного регистров заключается в том, что кроме состояния логического нуля и единицы в них предусмотрено третье состояние, в котором выходное сопротивление регистров бесконечно велико. В этом состоянии микропроцессора внешними устройствами осуществляется прямой доступ к памяти.

Указатель команд, или программный счетчик (Program Counter – PC). Счетчик указывает адрес, где находится в памяти очередной байт команды (для команд используются 3-байтовые форматы). Байты команд обычно выбираются в порядке нарастания их адресов. Поэтому после выборки каждого очередного байта схема инкремента- декремента увеличивает содержимое программного счетчика на единицу. Перед началом выборки какой-нибудь команды в счетчик заносится адрес ее первого байта. В процессе выбора 3-байтной команды содержимое счетчика увеличивается трижды. Обычный порядок следования адресов может быть изменен. Для этого в счетчике предусмотрена возможность записи начального адреса той части программы, которая должна выполниться. Эту часть программы обычно называют подпрограммой.

Указатель стека (Stack Pointer – SP) представляет собой 16-разрядный регистр, предназначенный для быстрой адресации особого вида памяти, именуемой стеком. Стековая память может быть выделена в основной памяти компьютера. Она используется при обслуживании прерываний. В стек заносится адрес возврата к прерванной программе на время обработки микропроцессором подпрограммы, содержимое аккумулятора, регистра признаков.

Обмен со стеком производится 2-байтными словами, для хранения которых выделяются две соседние ячейки. Особенности обмена для случая, когда указатель стека SP хранит адрес А. проиллюстрированы на рис. 5.15. При вводе информации в стек содержимое SP умень-

Стековые операции

Рис. 5.15. Стековые операции

шается на 1 и по адресу А – 1 помещается старший байт (СБ), а затем содержимое SP снова уменьшается на 1 и по адресу А – 2 поступает младший байт (МБ) и т.д. Адрес последней ячейки, занятой под стек, будет сохранен в SP. Вывод информации из стека начинается с ячейки, адрес которой хранится в SP (для рассматриваемого случая – это адрес А). После вывода первого, младшего байта (МБ) содержимое увеличивается на 1 и по адресу А + 1 выводится старший байт (СБ). После чтения СБ содержимое SP вновь увеличивается на 1 и т.д., т.е. SP не остается на прочитанной ячейке, он указывает на вершину стека. Таким образом, стековая память характеризуется тем, что обращение к ней осуществляется по принципу: первыми выбирают данные, поступившие последними.

Блок управления. Первый байт исполняемой команды записывается в регистр команд. В дешифраторе команд формируются сигналы, под действием которых в устройстве управления запускается микропрограмма для выполнения требуемой операции. Микропрограммы операций, определяемых набором команд микропроцессора, "зашиты" в управляющую намять. На входы устройства управления поступают:

  • • две неперекрывающиеся последовательности тактовых импульсов (Ф1, Ф2) с периодом Т;
  • • сигнал готовности (READY) внешних устройств и памяти к обмену информацией с микропроцессором;
  • • сигнал запроса от внешних устройств на прерывание (INT) выполнения основной программы и переход на выполнение подпрограмм обслуживания прерывания;
  • • сигнал запроса от внешних устройств на захват шин (HOLD), как правило, для организации обмена информацией по каналу прямого доступа к памяти;
  • • сигнал сброса (RESET), по которому происходит начальная установка микропроцессора.

С выхода устройства управления снимаются сигналы для управления внутренними узлами (на рис. 5.14 эти связи не показаны) процессора и внешними устройствами. Для управления внешними устройствами вырабатываются:

  • • сигнал синхронизации (SYNC), указывающий на начало каждого машинного цикла – промежутка времени, необходимого для одного обращения процессора к внешним устройствам или памяти;
  • • сигнал приема (DB1N), подтверждающий готовность процессора к приему данных;
  • • сигнал ожидания (WAIT), свидетельствующий о том, что процессор находится в состоянии ожидания;
  • • сигнал подтверждения захвата (HLDA), подтверждающий, что шины находятся в высокоомном состоянии, и внешние устройства могут обращаться к памяти напрямую, минуя процессор;
  • • сигнал разрешения прерывания (INTE), свидетельствующий о том, что триггер разрешения прерывания в блоке управления находится в состоянии логической единицы, при котором возможен прием сигналов запроса;
  • • сигнал выдачи (WR = 0), указывающий на то, что процессор выдал информацию на шину данных для ее записи в память или передачи во внешние устройства.

Интерфейс микропроцессора. Обмен информацией между узлами процессора осуществляется по 8-разрядной внутренней шине данных, а с внешней 8-разрядной шиной данных (ШД) – через буферный регистр. Для адресации к памяти и внешним устройствам используются 16-разрядная шина адреса (ША) и регистр адреса. К интерфейсу можно также отнести буферный регистр и регистр адреса.

 
< Пред   СОДЕРЖАНИЕ     След >