Программируемые процессоры. Система микрокоманд

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

Для повышения разрядности центральный процессор составляется из нескольких секций.

Несмотря на то, что в настоящее время выпуск секционированных процессо­ров прекращен, их рассмотрение позволит глубже понять принципы построения и функционирования современных однокристальных микропроцессоров и си­стем, построенных на их основе. В дальнейшем рассматривается секционированный микропроцессор К584.

Структурно–функциональная организация процессора. Структурная схема отдельной микропроцессорной секции изображена рис. 1.6.1. рис. 1.6.1

В состав секции входят следующие узлы:

? арифметическо–логическое устройство (АЛУ), предназначенное для выполнения восьми арифметических и восьми логических операций. На входы АЛУ поступают операнды А, В и сигнал П переноса АЛУ. С выходов АЛУ снимаются результаты операций над операндами А, В, а также выходной сигнал ПВых переноса АЛУ и сигналы G, Р для ускоренного переноса;

?

рабочий регистр (РР)

, выполняющий основные функции при обработке ин­формации;

?

дополнительный регистр (ДР)

, или рабочий регистр расширения, использу­емый при операциях с двойной точностью,

?

блок регистров общего назначения

(POH)

,

состоящий из восьми регистров Р0…Р7, предназначенных для хранения и обмена информацией между блока­ми секций. Регистр Р7 обычно используется для выполнения функций счетчи­ка, который обеспечивает Последовательность выполнения команд: при уве­личении содержимого счетчика на +1 выполняется следующая микрокоманда; при увеличении на +2 следующая микрокоманда пропускается; режим отсут­ствия счета используется для занесения нового содержимого в Р7, что необ­ходимо для реализации переходов;

?

блок позиционного управления (БПУ)

, вносящий необходимые изменения в работу секции в зависимости от занимаемой ею позиции (младшей, сред­ней, старшей) в процессоре, составленном из нескольких секций. Требуемая позиция секции устанавливается с помощью сигналов П1, П0;

?

сдвигатели рабочего и дополнительного регистром (

C

РР, СДР)

при использо­вании сигналов БПУ позволяют выполнить операции сдвига содержимого ука­занных регистров;

?

схема селекции (СС),

осуществляющая выбор разрядов дополнительного ре­гистра ДР в зависимости от позиции, занимаемой секцией. С ее двухфункциональной выходной линии снимается младший (ДРО) или старший (ДРЗ)

разряды содержимого ДР;

?

блок инкрементора (БИ),

предназначенный для изменения содержимого счет­чика команд счетчика в зависимости от значений сигналов переноса на входе счетчика (ПСТ) и управления инкрементором (УИ), поступающих на их вход. С выхода блока инкрементора БИ снимаются выходной сигнал переноса счет­чика (ПСТВых) и старшие разряды операндов А (СтА) и В (СтВ). Режимы ра­боты схемы селекции СС и блока инкрементора БИ координируются сигнала­ми П1, П0, поступающими на вход блока позиционного управления БПУ (табл. 1.6.1). С помощью сигналов, поступающих на вход БИ, устанавливает­ся режим работы регистра Р7 — счетчик или

POH

(табл. 1.6.2); табл 1.6.1 - табл 1.6.2

? мультиплексор

A (MA)

управляет прохождением операндов А из

POH

или входной шины (ШВх) на вход АЛУ или выходную шину (ШВых). Входная и вы­ходная шины составлены из 4–х линий;

? мультиплексор В

(MB)

управляет прохождением операндов В с

РР, ДР или ШВх на вход АЛУ; выходной мультиплексор (МВых) осуществляет передачу операнда А, а также операндов с выхода АЛУ на ШВых или входы

РР, ДР,

POH;

? мультиплексор адреса (МАдр) принимает операнды, поступающие на его вход из регистров

РР, ДР и счетчика команд (Р7), и передает их на шину адреса (ШАдр), составленную из 4–х линий. Если на управляющий вход мультиплек­сора МАдр, называемый входом приоритета счетчика

(ПР), поступает сигнал, ПР = 1, то на ШАдр выдается содержимое счетчика (Р7). При ПР = 0 на ШАдр поступает содержимое РР или ДР в зависимости от конкретной выполняемой микрокоманды;

? программируемая логическая матрица (ПЛМ) преобразует 9–разрядный код микрокоманды, который поступает в секцию по шине микрокоманд (ШМК), составленной из 9–и линий, в 20–разрядное внутреннее управляющее слово, обеспечивающее управление работой всех блоков микропроцессорной секции;

? регистр микроопераций (РМО), состоящий из 20– и

D

–триггеров, предназна­чен для запоминания внутреннего управляющего слова на время выполнения микрокоманды. Использование регистра микроопераций РМО, загрузка кото­рого производится по положительному фронту синхроимпульса (при изменении сигнала из 0 в 1), позволяет во время выполнения текущей микрокоманды производить в ПЛМ прием и преобразование кода следующей микрокоманды.

Система микрокоманд. Код микрокоманды состоит из девяти разрядов (К8/К0). Используется два формата кода микрокоманд:

? первый формат содержит операционное поле из 4 старших разрядов К8/К5, определяющее в основном функции АЛУ; дополнительное поле из разрядов К4 и КЗ, расширяющее возможности кодирования; селекторное поле из трех младших разрядов К2/К0 (ррр), позволяющее выбрать один из восьми

POH,

который участвует в выполняемой микрооперации;

? второй формат состоит из одного поля, содержащего все разряды К8/К0 кода МК.

Для удобства пользования система микрокоманд разбивается на шесть групп. Рассмотрим особенности МК каждой группы.

Группа 1.

С помощью МК этой группы (табл. 1.6.3) выполняются МО пересылки между внутренними узлами МПС без участия АЛУ. Источником информации является

POH

(Р) или ШВх, приемником —

POH

(Р), РР, ДР или ШВых. табл 1.6.3 - табл 1.6.4

Группа 2.

В эту группу (табл. 1.6.4) включены арифметические и логические операции, выполняемые АЛУ. Операции, обозначенные в табл. 1.6.4 звездочкой (*), зависят от кода

kkkk

и приведены в табл. 1.6.5. Эти операции выполняют­ся в общем случае над операндами А, В, поступающими в АЛУ соответственно через мультиплексоры А, В (рис. 1.6.1), из источников указанных в графе «Описание микрооперации» табл. 1.6.4 (левая колонка относится к операнду А, а правая — к операнду В).

Следует выделить три вида операций (табл. 1.6.5). табл 1.6.5

Операции над двумя операндами.

К ним относятся три (1–3) ариф­метических и все восемь (8–15) логических операций.

Операции над одним операндом.

Эти операции (4–7) позволяют выполнить передачу через АЛУ прямого, обратного или дополнительного кода операндов А и В, а также пересылку с приращением: А + 1, В + 1.

Операции без участия операндов.

Операцию П = 1 – ?П можно ис­пользовать для установки нулей и единиц во всех разрядах любого из четырех приемников информации: Р, РР, ДР, ШВых.

Группа 3.

Операции этой группы (табл. 1.6.6) позволяют выполнить сложе­ние, комбинируя источники (Р, РР ДР, ШВх) и приемники (Р, РР, ДР, ШВых) информа­ции. Операции ДР + П (3.7, 3.12) факти­чески являются пересылочными и допол­няют операции группы 1, причем имеется возможность инкрементировать содер­жимое дополнительного регистра ДР. табл 1.6.6

Группы 4, 5.

Эти операции (табл. 1.6.7 и 1.6.8) позволяют реализовать полный набор сдвигов содержимого, рабочего регистра (РР) или регистра двойной дли­ны (РР, ДР), составленного из последо­вательного соединения РР и ДР. В по­следнем случае возможно совмещение сдвига с подсуммированием сигнала пе­реноса П в РР. табл 1.6.7 - табл 1.6.8

Различают арифметические, логические и циклические сдвиги вправо и влево на один разряд, которые соответственно имеют обозначения: САП, САЛ, СЛП, СДЛ, СЦП, СЦЛ. Выполнение отдельных операций сдвигов проиллюстрировано в виде диаграмм на рис. 1.6.2.

При арифметических сдвигах старший (левый) разряд используется как знако­вый; при сдвигах вправо он сохраняется. При работе с операндами двойной длины различают одно– и двухзнаковые сдвиги, реализуемые в старшей позиции МП соответственно при П0 = 1 и П0 = 0. В первом случае старший разряд вы­ходной шины АЛУ помещается только в старший разряд рабочего регистра РР, во втором случае — в старшие разряды РР и ДР. При логических сдвигах место освободившегося разряда занимает нуль. Для циклических сдвигов характерно о, что информация циркулирует вдоль регистров, не покидая их.рис. 1.6.2

Группа 6.

Операции этой группы (табл. 1.6.9) позволяют выполнить сло­жение или вычитание при активном сигнале перено­са П в сочетании с пра­вым арифметическим или левым циклическим сдви­гом результата в регистре двойной длины РР, ДР Эти микрооперации обеспечи­вают эффективную реали­зацию алгоритмов умножения и деления двоич­ных чисел. табл 1.6.9

Понравилась статья? Поделиться с друзьями:
Все об энергетике, электротехнике и электронике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: