Файл: Чеботарев Н.А. Построение схем сложения и вычитания в электронных цифровых машинах [пособие].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.04.2024
Просмотров: 31
Скачиваний: 0
жен быть подан потенциал, который можно снять с триггера (Тг Км Сл), хранящего признаки операций q сл или дяч.
Необходимость в этом узле вызвана тем, что при разных опера циях связь сумматора с регистром 1 осуществляется по-разному. При операции сложения узел связи" обеспечивает связь одноимен ных разрядов сумматора и регистра.
Сумматор комбинационного типа для выдачи числа в регистр
Рис. 16
З1 Зак. 701 |
33 |
должен иметь как прямые, так и инверсные выходы. Для построе ния сумматора на диодных элементах (наиболее простые) нужно обеспечить также и инверсные входы. Возможная схема одного разряда сумматора приведена на рис. 16.
Узел связи второго регистра с сумматором (Уз. св. Рг2-С,м) яв ляется преобразователем числовой части в дополнение. В одном случае на выходе'узла связи будет числовая часть, а в другом — ее инверсии. Дополнение получается путем подачи вместе с ин версией числовой части единицы в младший разряд сумматора. Структурная схема одного разряда узла связи приведена на рис. 17.
Рис. 17
Узел связи первого регистра с сумматором (Уз. св. Рг1-См)
участвует в преобразовании результата из дополнительного кода в прямой при выполнении сложения по алгоритму (2.17) третьего случая. Для подачи в сумматор слагаемого или уменьшаемого из регистра (Рг 1.) используется непосредственная жесткая связь выхо дов триггеров со входами сумматора. Преобразование результата осуществляется путем его инвертирования и прибавления едини цы в младший разряд. В этой операции участвуют элементы сум матора и элементы узла связи (Уз. св. P rl-См) (рис. 18).
Регистр (Рг2) предназначается для хранения второго слагае мого или вычитаемого. Это обычный регистр на триггерах, требу ющий предварительной очистки перед приемом кода числа.
Узел связи числовой магистрали с регистром Рг2 служит для приема кода числа из числовой магистрали в регистр и состоит из логических элементов «И».
Схема одного разряда блока операций, в котором раскрыта структура узлов, приведена на рис. 18.
При составлении структурных схем узлов блока операций (рис. 18) учитывалось, что для работы сумматора с инверсными входами обязательно должен быть единичный сигнал на одном из
34
входов в каждом разряде, т. е. если В к равно единице, сигнал, рав ный единице, должен быть на единичном, входе, а если Вк = 0
(Вк = 1),— на нулевом. В противном случае входные элементы «И» сумматора будут закрыты и на выходах сумматора никаких сигна лов не будет.
Рассмотрим, как происходит подача на сумматор инвертиро ванного результата, и выясним, какие элементы составляют Уз. св. Рг1-См.
При сложении двух чисел А и В входные элементы «И» сумма тора образуют логические выражения.
35
ЛВ; (AB VAB); А В.
При преобразовании результата нужно на входы сумматора по
дать А вместо А и В =0 |
(В = |
1). |
Указанные логические выражения должны принять вид |
||
АО-0; |
(А - |
IVА - 0) = А- 1; А - 1. |
Подача 1 осуществляется управляющим сигналом <Здк-ик- Следовательно, для преобразования результата к элементам сум матора следует добавить элементы «И», реализующие выражения
А Фдк—пк ИА Qдк—пк ■Эти элементы входят в узел связи (Уз. св. Рг1-См).
Составим микропрограмму операции сложения применительно к одноадресной системе команд. При этом будем учитывать воз можность выполнения каждого из трех случаев сложения.
Для получения суммы двух чисел нужно подать на сумматор содержимое числовой части первого и второго регистра и затем со держимое сугиматора передать в первый регистр. Как было указа но, выходы первого регистра жестко связаны со входами суммато ра; а выходы сумматора через элементы «И» со входами первого регистра. Элементы «И» открываются напряжением с единичного выхода триггера (Тг Км Сл.) на все время операции. Поэтому для выполнения указанных действий достаточно двух микроопераций: выдачи содержимового второго регистра в непосредственном виде или в виде дополнения.
При составлении микропрограммы учтем, что преобразование результата выполняется только при наличии определенного приз нака, определяемого знаками слагаемых. Поэтому этот признак нужно хранить от начала операции до момента преобразования, для чего используется триггер (Тг Пр).
Микропрограмму операции сложения представим в виде табл. 6. Микропрограмму операции вычитания составлять не будем, так как она содержит те же микрооперации, что и микропрограмма операции сложения. Однако условия, при которых выполняются эти микрооперации, будут другие. Для того чтобы учесть это, при составлении логических выражений для управляющих сигналов со ставим таблицу, связывающую микрооперации с условиями их вы
полнения при сложении и вычитании, в-зависимости от знаков чи сел (табл. 7).
В габл. 7 приняты обозначения:
Ра—значение знакового разряда числа А; рв—значение знакового разряда числа В; !*р1 —сигнал переноса из старшего разряда сумматора.
36
|
|
|
|
|
|
Таблица € |
|
№ |
МО |
Содержание ЛЮ |
Обознач. МО |
р |
Ч |
|
Q |
эт |
|
||||||
|
|
' |
|
1 |
|
|
|
|
1 |
Очистка регистра 2 |
0-»Рг2 |
Рз |
; |
— |
QoI>r2 |
] |
2 |
Очистка триггера |
0->ТгПр |
|
? С л |
— |
QoTrifp |
|
|
преобраз. |
|
|
|
|
|
|
3 |
Установка триггера |
1 ~>ТгКмСл |
Р4 |
1 - |
QoTrKMc |
|
|
|
|
|
|
i |
||
2 |
4 |
Прием числа из ячей |
(а)-*Рг2 |
|
|
- |
|
|
|
ки |
Р4 |
|
jQiiM |
||
|
|
|
|
|
I |
|
|
|
5 |
Выдача модуля числа |
,(Рг2)|-*См |
Рт |
|
IхA ~iUB |
(?В чП К |
|
|
|
|||||
|
|
в сумм. |
|
|
|
|
|
|
6 |
Подача 0 на вход |
0 - Р Д |
— |
— |
|
Qopj |
|
|
|
переноса
3 7 Выдача дополнения мо
дуля числа в сумматор
8Подача „1“ на вход переноса
9Занесение 1 в триггер
преобраз.
10 Выдача инвертированно
го результата в суммах.
4 П Подача „1“ на вход переноса
(рг2 );ок -см |
— |
i’ A ' Iх В Q fiqO K |
1 -Р Д |
|
Q i i ’/i |
1-н-ТгПр |
|
1 |
|
QlTrllp |
|
|
|
” |
(Pri)0K ,См |
|
PTrll pPPl Одк-пк |
1 -РД |
—„— V |
<?1РД |
П р и м е ч а н и е . Прочерк в таблице означает независимость микрооперации от указанных условий.
Перейдем теперь к составлению логических выражений для уп равляющих сигналов, используя табл. 6 и 7:
1) QoPr2 ~P%i
2) |
QoTrTlp~Pu(Pi :i |
4'U\)' |
3) |
QlTi-КмСл ~- Pj (t/о.- У:>.ч) - |
|
4) |
Qnn—p^'/e.iV Pm); |
|
5) |
ОвчПК=Р79гсл(!а.4 |
I'-B ) '.'P^tftvi.PA' |
6) |
Qop.t =(2вчпк ; |
~Ув) VPlQnчСрА ~!Ав ); |
7) |
Qb'iOK |
|
8.) |
Qjp.a=QB4nKV <3дк-пк7 |
|
9) |
Q lT rnp==Q B 40K ; |
|
10) |
фдП-ПК^ДОвчСлОэаи • Цр1~РГгПр — [ipj |
где (*тгпр—сигнал состояния триггера преобразования. Выражения для ф в ч п к и Q B 4o k развернем и совместно преобра зуем с целью сокращения оборудования в схеме управляющей части:
Q B M |
n K ^ A P B / M |
c . i V P A f W |
^ c . ' i |
V |
|
М |
Р |
в / ^ в ч Х / ^ А Р |
||||||
= |
Ра [ р в |
(РпЧся) V |
|
Р В ( Р ^ |
в ч |
) ] |
V > A |
[ Р |
В |
( р |
7 ? с л(Р) 'VД>вчB)]', |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 1 |
|
С л у ч а й |
|
|
Чел—1 |
|
|
|
|
|
Чвч— |
1 |
|
|
Q |
|
№ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
|
в |
|
|
|
А |
|
В |
|
|
|
и |
|
|
|
|
|
1* |
|
|
|
|
|
|
|||||
|
+ |
|
+ |
|
|
|
+ |
|
— |
|
|
|
|
|
1 |
— |
|
— |
|
~ ^ 'в |
|
— |
+ |
|
Н д ~ ! Ч > |
Ф в ч П К |
|||
|
|
|
|
|
|
|
|
|
|
|||||
|
+ |
|
— |
|
|
|
+ |
|
+ |
|
|
|
|
О В ч О К |
2 |
|
|
^ |
А |
~ 1 ^ в |
|
|
|
|
|
|
|
~Рв |
|
— |
|
|
— |
— |
|
|
|
|
||||||
|
|
+ |
|
|
|
|
|
|
|
|
||||
|
+ |
|
— |
|
|
|
4 |
“ |
4 |
" |
|
|
|
|
3 |
— |
|
( | * А ~ а!в)М > 1 |
|
— |
— |
|
О * А |
~ Н в ) ? р ! Q a K - r i K |
|||||
|
|
+ - |
|
|
|
|
|
|
|
|
||||
Q b4OK= |
PA Р в Р т^ слХ/Н'АРв Р тР слХ/Н'А [J'BPt^'bhV P A |
И’ВРчб[вч— |
|
|||||||||||
= |
1 * |
А [ ( » |
в ( Р 7 ? е |
л |
) \ / И В |
( Р |
тV1M^ в ч,[PB) ] ( Р |
7 < 7 с лV) > B ( р 7 ? в |
ч ) ] |
По полученным выражениям для управляющих сигналов по строена схема управляющей части, приведенная на рис. 19.
Последовательность выполнения микроопераций определяется синхросигналами р. Выбор необходимых синхросигналов произве ден исходя из равных интервалов между каждыми двумя соседни ми синхросигналами и интервалов, необходимых для выполнения микроопераций.
Сравним алгоритм сложения модулей чисел с алгоритмами сло
38
жения дополнительных и обратных кодов при хранении чисел в прямом коде.
Сравнивая табл. 3 и 5, нетрудно увидеть, что в случае примене ния алгоритма сложения модулей чисел сокращается количество преобразований результата с 50 до 33% от всех случаев и исклю чается необходимость преобразования первого слагаемого (послед нее особенно существенно). Поэтому алгоритм сложения модулей чисел является наиболее распространенным при хранении чисел в оперативном запоминающем устройстве в прямом коде.
Недостатком алгоритма сложения модулей чисел является то, что необходимость прибавлять единицу в младший разряд при пре образовании результата вдвое увеличивает время собственно сло жения. Для устранения этого недостатка иногда производят преоб разование результата без прибавления единицы в младший раз ряд, а просто инвертированием. Это незначительно снижает точ ность вычислений, но зато сокращает время выполнения операции.
39