Электронные системы ускорителей



Семинар 1. Проектирование управляющего устройства процессора


Умножение двоичных чисел без знака

Умножение

Рассмотрим процедуру операции умножения на примере 4-х разрядных двоичных чисел.

Разместим операнды в регистрах и определим необходимые микрооперации, записав результат в таблицу:

Таблица

Процесс умножения носит циклический характер. Выполняются следующие действия: анализируется содержимое младшего разряда регистра R2, и если он имеет значение 1, то выполняется сложение множимого с содержимым регистра R3 и, затем, сдвиг регистров R2, R3 вправо, в противном случае (младший разряд - 0) - только сдвиг. Число повторений в цикле равно числу разрядов множителя.


Операционное устройство

Для выполнения операции умножения n-разрядных чисел устройство должно содержать n+1-разрядный сумматор См, счетчик Сч, n-разрядные регистры R1 и R2, а также n+1-разрядный регистр R3, причем регистры R2 и R3 должны выполнять операцию сдвига вправо.

Структурная схема операционного устройства имеет следующий вид:

ОУ

В узлах операционного устройства под действием сигналов zi выполнятся указанные микрооперации. Кроме того, там же формируются признаки xi

Микрооп

Условия








Управляющее устройство на основе схемной логики

Методика проектирования управляющего устройства включает в себя следующие этапы:

1) Построение схемы алгоритма в микрокомандах.

Алгоритм

Объединим микрооперации в микрокоманды:

МК1: z4,z6;

МК2: z3;

МК3: z1,z2,z5,z7.

Изобразим блочную структуру алгоритма операции:

2) Построение графа функционирования устройства управления.

Граф

Управляющее устройство (УУ) является логическим устройством последовательностного типа. Команда, выдаваемая в следующем такте, зависит от того, какая команда выдается в текущем такте или, иначе, от текущего состояния. Определим состояния, размечая алгоритм по следующему правилу: а1 - начало схемы; а2, а3 - состояния, следующие за операторными блоками. Полученные отметки а1, а2, а3 соответствуют состояниям устройства.

Состояния устройства в графе представляются узлами, а дугами, соединяющими узлы, показывают возможные переходы между узлами. На дугах записываются условия, при которых происходит переход, и выполняемая устройством микрокоманда.

3) Кодирование состояний устройства.

Число разрядов кода выбирается из следующих соображений: если число состояний равно N, то для обеспечения N кодовых комбинаций требуется к-разрядный код, при котором выполняется неравенство N <= 2к. В нашем случае N = 3, к = 2.

y2 y1
a1 0 0
a2 0 1
a3 1 0

4) Структурная схема устройства управления.

Структура

Триггеры Т1 и Т2 образуют 2-х разрядный регистр текущего состояния устройства. Комбинационная схема по состоянию регистра и значениям условий х1 и х2, поступающих с выхода ОУ, определяет новое состояние, в которое должно перейти устройство. При этом формируются сигналы S1, R1, S2, R2, которые в момент поступления синхроимпульса С устанавливают в регистре новую комбинацию кода, соответствующую следующему состоянию. Комбинационная схема также формирует управляющие сигналы z1...z7.

5) Построение таблицы функционирования комбинационной схемы.

Табл

Заполнение таблицы происходит по анализу графа алгоритма работы устройства управления. При этом выясняется, что переход из состояния а1 в а2 связан с изменением сигнала y1 из 0 в 1. Для этого необходимо подать сигнал установки триггера S1. Кроме этого на выходе должны быть сформированы сигналы микрокоманды МК1 - z4,z6. И т.д.


Лог

Для каждой строки таблицы записываются логические выражения в следующем формате: в левой части перечисляются переменные, приведенные в колонке выходных сигналов, в правой части - логическое выражение, представленное через текущее состояние аi и значений условий перехода. Получим следующие выражения.


Лог

Затем определяется логическое выражение для каждой выходной переменной. Для этого в левой части равенства указывается выходная переменная, а в правой - связанные через операцию дизъюнкции (or) правые части из ранее составленных выражений, в которых представлена данная переменная. Полученные логические выражения приводят к минимальной форме.

6) Построение комбинационной схемы.

Табл

По полученным выражениям строится логическая схема. Входящие в выражения значения а1, а2, а3, определяемые комбинацией значений y1, y2, могут быть получены с помощью дешифратора. Схема комбинационного узла имеет следующий вид.






Управляющее устройство на основе программируемой логики

Табл

На рисунке изображена структурная схема процессора с управляющим устройством, построенным на основе программируемой логики. Блок микропрограммного управления (БМУ) определяет адрес очередной микрокоманды (МК), загружая его в регистр адреса (РА) для выборки МК из управляющей памяти (УП) в операционное устройство (ОУ). Поступающая из оперативной памяти микропроцессорного устройства инструкция имеет код операции, который определяет адрес первой микрокоманды реализуемой операции. Адреса всех последующих микрокоманд определяются в БМУ.

Табл

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

Таблица размещения микрокоманд в управляющей памяти, в соответствии с заданным форматом, имеет вид:

В ячейке с адресом 0000 размещена МК1, в которой МКОУ определяет действия микрокоманды z4,z6, а МКБМУ определяет безусловный переход к ячейке с адресом 0001. Здесь и в других микрокомандах Х обозначает неанализируемое значение.

Табл

В ячейку с адресом 0001 помещена МК2, в которой МКОУ не предусматривает никаких действий с ОУ, а МКБМУ определяет условный переход по условию х2. При х2 = 0 происходит переход к ячейке 0010, указанной в поле адреса МК2, при х2 = 1 - к ячейке 0011, в которой размещена МК6 для завершения операции умножения.

Микрокоманда МК3 в ячейке с адресом 0010 также не предусматривает действий с ОУ и предназначена для выполнения условного перехода по условию х1. Значение х1, замещая младший разряд содержимого поля адреса 0100, приводит при х1 = 0 к переходу к ячейке по адресу 0100, содержащей МК5, либо при х1 = 1 - по адресу 0101, содержащей МК4.

Микрокоманда МК4 предусматривает в ОУ выполнение z3, а в БМУ безусловный переход к ячейке с адресом 0100, где размещена МК5.

Микрокоманда МК5 предусматривает в ОУ выполнение z1,z2,z5,z7, а в БМУ - безусловный переход к МК2, адрес которой содержится в поле адреса МКБМУ.

Задание для самостоятельной работы

Разработать управляющее устройство для процессора, выполняющего умножение 8-разрядных беззнаковых чисел по инструкции MUL R1,R2 как на основе схемной, так и программируемой логики при условиях:

1. Регистры R1 и R2 предназначены для размещения множимого и множителя соответственно.

2. Результат выполнения инструкции размещается в тех же регистрах: в R1 - старший байт произведения, в R2 - младший байт произведения.

Указание. Для разработки электрической схемы и микропрограммы воспользуйтесь предложенными алгоритмами, доработав их до соответствия с заданием.