Учебное пособие по Схемотехнике (1084826), страница 3
Текст из файла (страница 3)
На рис. 2.10 представлен фрагмент логической схемы, которая формирует последовательность УС для реализации операции «сравнение модулей». Принцип построения ЛС достаточно прост и основан на табл. 2.6.
Например, МО2 относится к импульсному виду, длительность 1 такт, начинается с 4-го такта и существует, когда выполняется операция «ср. мод». Тогда ее формирование описывается следующим логическим выражением:
МО2:= «ср. мод» & УИ4
МО4- потенциальная переменная, существует в тактах (7-11) :
МО4:= «ср. мод» & УП7 V УП8 V УП9 V УП10 V УП11
Логические выражения для остальных МО можно составить самостоятельно.
Сформированная таким образом последовательность УС поступает на фрагмент АЛУ (рис.2.8) и обеспечивает выполнение микроопераций МО1-МО6. Результат операции сравнения соответствует состоянию триггера Тw.
2.3.2. Блок формирования управляющих сигналов
микропрограммного типа.
Принцип микропрограммного управления состоит в том, что алгоритм выполнения вычислительной или иной операции кодируется в виде микропрограммы аналогично тому, как алгоритм выполнения задачи кодируется в виде программы.
На рис. 2.11. представлена иерархия понятий, на которых основан принцип микропрограммного управления.
Микрокоманда - кодированная запись одной или нескольких микроопераций.
Микропрограмма – последовательность микрокоманд.
В ЭВМ микропрограммы для выполнения всех операций помещаются в постоянном запоминающем устройстве (ПЗУ).
Рис. 2.11. Иерархия микропрограммирования
.
Структура микропрограммы аналогична структуре программы (есть линейные и разветвленные участки). В табл. 2.7 представлен
формат микрокоманды.
Таблица 2.7.
МО | АМК | АР | У |
МО – коды микроопераций, которые должны выполняться данной микрокомандой.
АМК – поле с адресом микрокоманды, которая должна выполняться после данной микрокоманды на линейном участке микропрограммы.
У – поле управления (коды управления), они используются для организации разветвления в микропрограмме.
Если данная микрокоманда может повлечь разветвление, то следующий адрес микрокоманды (САМК) вычисляется на основании кодов АМК и кодов управления (У).
АР – коды адресов регистров, которые используются для управления АЛУ с магистральной структурой.
2.3.2.1. Кодирование поля МО.
Существуют 2 способа кодирования:
-горизонтальный;
-вертикальный.
Пусть в АЛУ есть набор микроопераций:
-
гашение РГ1
-
ГШ РГ2
-
ГШ РГ3
-
ПР РГ1
-
ПР РГ2
-
контроль p0
-
выдача SM
Горизонтальное кодирование отличается тем, что в поле микроопераций должно быть предусмотрено столько разрядов, сколько всего имеется различных микроопераций (табл.2.8).
Таблица 2.8.
поле МО | ||||||||
Наим. микрооп. | ГШ РГ1 | ГШ РГ2 | ГШ РГ3 | ПР РГ1 | ПР РГ2 | контр. p0 | ВЫД ОЗУ | ВЫД SM |
№ разр. | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Н-р | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
“1” – данная микрооперация будет выполнена этой микрокомандой
Совместимые МО отличаются тем, что они могут быть выполнены одной микрокомандой.
Совместимые МО: ГШ РГ1, ГШ РГ2, ГШ РГ3.
Несовместимые МО – те, которые не могут быть закодированы в одной команде, т.е. не должны выполняться одновременно.
Например: ГШ РГ1, ПР РГ1.
Недостаток горизонтального кодирования состоит в том, что требуется слишком большое количество разрядов в поле МО, что приводит к увеличению разрядности ПЗУ.
Достоинством этого метода является простота кодирования, наглядность.
Горизонтальное кодирование применяется в несложных специализированных цифровых управляющих устройствах .
Вертикальное кодирование отличается тем, что код поля микроопераций задается с помощью нескольких многоразрядных двоичных кодов ( рис.2.12).
При кодировании микрооперации группируют в зависимости от принадлежности функциональным узлам АЛУ или другим устройствам. Такой способ используется в реальных ЭВМ.
Рис.2.12. Структура поля МО при вертикальном кодировании.
2.3.2.2 Кодирование поля МО для АЛУ с магистральной структурой.
В формате МО для такого АЛУ отдельно кодируется название МО и в поле АР указывается адрес регистра, на который должна быть направлена данная МО.
Как следует из рис. 2.13 на выходе ДС МО может появиться одна из 4-х МО: ГШ ( гашение) - установка РГ в ноль , ПР-прием, ВЫД ОК – выдача обратным кодом, ВЫД ПК – выдача прямым кодом.
В поле АР закодированы номера регистров РГ[1:8].
Например, микрооперация ГШ РГ5 формируется так
ГШ РГ5:= ГШ & РГ5
Рис. 2.13. Кодирование МО для АЛУ с магистральной
структурой.
Рассмотрим, как происходит формирование следующего адреса микрокоманды (САМК) при разветвлениях в микропрограмме. В этом случае формирование САМК определяется полями АМК и У.
Например, S = A ± B
обозначим: D: = 1 – вычитание , D: = 0 – сложение.
Рис. 2.14. Фрагмент алгоритма с разветвлением.
На рис. 2.14 представлен фрагмент алгоритма с разветвлением.
Очевидно, что адрес САМК определяется значением переноса, т.е.
признаком wi.
В общем случае следующий адрес микрокоманды при разветвлении определяется следующим логическим выражением
САМК[1:k] := АМК[1:k] v y1&ω1 v y2&ω2 v ... v ym&ωm.
y[1:m] – код управления (поле у)
ω[1..m] – логические условия.
В поле Уi ставится “1”, если данная микрокоманда определяет разветвление по логическому признаку wi
Количество разрядов в поле У определяется числом разветвлений, которые возможны в микропрограмме.
Пример: АМК[1:6] = 000101;
У[1:3] = 100;
ω[1:3] = 110;
следовательно, САМК[1:6 ] = 100101
2.3.2.3 БФУС микропрограммного типа
На рис. 2.15 представлена упрощенная функциональная схема БФУС микропрограммного типа. Содержимое в РГкоп принимается при считывании команды из ПЗУ.
В ПЗУ находятся микропрограммы, обеспечивающие выполнение всей системы команд данной ЭВМ. На основе кода операции в ЛС формируется начальный адрес микропрограммы, который принимается в регистр адреса микрокоманды (РГ АМК).
Рис. 2.15 Функциональная схема БФУС микропрограммного типа
По этому адресу из ПЗУ считывается микрокоманда и принимается в регистр микрокоманд ( РГ МК). С выхода РГ МК коды поля МО поступают на дешифратор ДС МО и далее на формирователь.
Формирователь на основе кодов МО образует физические УС заданного типа длительности. УС поступают на все устройства ЭВМ в соответствии с выполняемой командой.
Коды полей АМК, У и логические признаки из АЛУ (флаги) поступают на схему «логика форм. САМК», где и образуется следующий адрес микрокоманды. При завершении выполнения данной микропрограммы на выходе ДС МО появляется УС «конец операции», который инициирует выборку из ОЗУ следующей команды и ,следовательно, новой микропрограммы.
2.3.2.4. Основные этапы разработки БФУС
микропрограммного типа.
-
Содержательное рассмотрение алгоритма вычислительной операции с числовыми примерами.
-
Составление обобщенного алгоритма выполнения операций.
-
Разработка структуры АЛУ и системы микроопераций
-
Составление кодированной схемы алгоритма, привязанной к данной схеме АЛУ.
-
Разработка формата микрокоманды, выбор разрядности полей микрокоманды.
-
Составление списка микроопераций, реализующих данный алгоритм.
-
Кодирование микрокоманд (написание микропрограммы).
-
Разработка логических схем формирования САМК, дешифратора МО и формирователя УС.
2.3.2.5. Разработка микропрограммы на примере операции “деление в прямых кодах”.
Принимаем, что числа представлены в прямых кодах в форме с фиксированной запятой. Машинный алгоритм выполнения данной операции практически подобен ручному.
Основные особенности:
-операция деление выполняется над модулями чисел;
-знак результата определяется логическим способом;
- в машинном алгоритме делитель сдвигается вправо;
-операция сравнение выполняется в прямых кодах.
Выполняем числовой пример деления двоичных чисел:
0 такт
1 такт
2 такт
3 такт (тактов должно быть столько же, сколько разрядов)
4 такт