Файл: Чеботарев Н.А. Построение схем сложения и вычитания в электронных цифровых машинах [пособие].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.04.2024
Просмотров: 29
Скачиваний: 0
Рассмотрим алгоритм сложения дополнительных кодов, учтя возможные комбинации знаков слагаемых, при условии, что запя тая фиксирована перед старшим разрядом.
Случай 1. Л >0; 5> 0; А + В< 1.
[^]доп“ ^> [В)лоа=В;
[Л]доп+[5] доп^^-Ь# —И+Д]д0п-
. *>
. Так как сумма является положительным числом, то можно ска зать, что получен дополнительный код суммы чисел.
Случай 2. Л > 0; В<С0; А !>|В;, следовательно А+ В у 0.
И]доп—А', [б]доп= В + 2;
И]доп+ [5]Д0П=(Л +В)+2.
Так как сумма — положительное число, то результат сложения не является дополнительным кодом (лишнее 2). Очевидно, для по лучения дополнительного кода суммы необходимо отбросить чис ло 2. Нетрудно видеть, что это число появилось в результате пере носа из знакового разряда. Следовательно, если не учитывать пере нос из знакового разряда (отбросить его), то будет получен допол нительный код суммы чисел:
И + В ]доп = И ]ДОп+[В]до„ -2 .
Случай 3. Л >0; В < 0; - |/4!< Sj, следовательно Д-+5<0.
[А ]доп=^4; ( S U = f i+ 2 ;
И]доп-г[#]доп—(A+fi)-f 2—[A + B ]i0a.
Так как сумма А+В — число отрицательное, то результат сло жения является дополнительным кодом суммы чисел.
Случай 4. /4<0; В < 0; :Л + £ |< 1 .
\А]ЛОп—А +2; [В]мп*=В+2\
[Л] ДОП+ [Я]до„ -[(Л + 5 )+ 2 ]+ 2 .
Так как сумма А+В — число отрицательное, то дополнительный код этого числа представляется выражением в квадратных скоб ках. Следовательно,
[А+В] ДОП^[А] ДОП+[ В ] ДОП 2.
Рассмотренные случаи показывают, что в зависимости от зна ков и соотношения модулей чисел получаются различные записи алгоритма сложения дополнительных кодов. Однако можно запи сать алгоритм сложения дополнительных кодов одинаково для всех случаев. Действительно,''вычитание числа 2 означает определение
15
остатка по модулю 2 и, следоватедьно, алгоритм сложения допол нительных кодов можно записать в виде
[ А + в и ^ й А ]Wn+[5]„n) (mod 2). |
(2.5) |
Это выражение мож§т быть получено и на основе выражения |
(2.4) |
и правила сложения чисел по модулю. |
|
Вычисление остатка по модулю 2 не требует никаких дополни тельных действий. Ограничение разрядной сетки знаковым разря дом (разряд единиц) приводит к тому, что любое число больше двух представляется остатком по модулю 2, так как для представ
ления разряда двоек нет физического элемента.
Выражение (2.5) можно записать словами в виде следующего
правила.
П р а в и л о . Для получения дополнительного кода суммы двух чисел необходимо сложить дополнительные коды этих чисел как обычные положительные числа, включая и знаковый разряд; пере нос из знакового разряда не учитывается.
Таким образом, алгоритм сложения дополнительных кодов по зволяет использовать для сложения этих кодов сумматор положи тельных чисел комбинационного (рис. 2) или накапливающего ти па (рис. 3).
Определим время сложения для сумматоров каждого типа. Вре мя сложения определяется временем сложения з одном разряде и временем распространения переноса. При сложении «-разрядных чисел получим для времени сложения следующие выражения.
Для сумматора комбинационного типа (рис. 2): |
|
7’Ксл=Я^пер+<1 =Я(^и+^илн) + <1 • |
( 2.6) |
где |
|
tnep —время образования переноса в одном разряде; |
|
h —время образования суммы-в одном разряде. |
|
Для сумматора накапливающего типа (рис. 3): |
|
^ Нсл~я(£гг+£3)-}-Дтг, |
(2.7) |
где
/тг—время изменения состояния триггера (время образова ния суммы;)
t3—время задержки в линии задержки.
В сумматоре накапливающего типа слагаемые подаются после довательно одно за другим. Сложение начинается с момента пода чи второго слагаемого. Поэтому с этого момента 'отсчитывается
и время сложения. |
|
Сравнение |
и Тнсл для сумматоров, построенных на эле |
ментах с одинаковым быстродействием, показывает, что ТКСЛ« Т НСЛ. Выясним состав блока операций, обеспечивающего выполнение операций сложения и вычитания. При этом будем исходить из то-
]б
го, что числа в запоминающем устройстве хранятся в дополнитель
ном коде.
Как указывалось выше, при выполнении операции вычитания изменяется знак у вычитаемого и, таким образом, операция вычи тания сводится к операции сложения. Изменение знака вычитаемо го производится путем преобразования дополнительного кода вы читаемого. При этом возможны два случая: вычитаемое В положи
тельное, вычитаемое В отрицательное. |
то после преобразова |
|
Если В>0, |
например |В]ДОП=0.1Ш111, |
|
ния получим |
[ —В]доп= 1.001001. |
то после преобразова |
Если В < О, |
например [В]доп~ 1,001011, |
ния получим [ —В]доп==0.110101.
В обоих случаях преобразование выполняется одинаковым об разом независимо от знака вычитаемого, а именно так, как обра зуют дополнительный код отрицательного числа: инвертируются
З н а к |
ЧислоЗая часть |
Рис. 2
значения разрядов и прибавляется единица в младший разряд. Анализируя алгоритм сложения дополнительных кодов по вы
ражению (2.5) (в операции участвуют два числа и выполняется
17
сложение) и учитывая необходимость преобразования вычитаемого при выполнении операции вычитания, получим следующий мини мальный состав узлов блока операций:
— регистры для хранения кодов чисел, участвующих в опера ции:
—сумматор для сложения дополнительных кодов чисел;
—преобразователь кода вычитаемого;
—узлы связи для связи блока операций с запоминающим уст
ройством.
Укрупненная структурная схема блока операций с накаплива ющим сумматором при минимально возможном количестве обору дования приведена на рис. 4, а с комбинационным сумматором — на рис. 5. Смысл управляющих сигналов, указанных на схемах, рас крыт в табл. 1.
Рассмотрим структуру узлов блока операций, приведенного на рис. 4.
Числа из оперативного запоминающего устройства принимают ся в блок операций параллельным кодом. Для приема чисел слу жат элементы «И,», составляющие узел связи оперативного запо минающего устройства с арифметическим устройством.
Регистр (Рг) параллельного действия с количеством разрядов, определяемым разрядной сеткой ЭЦМ. Регистр служит для хране ния второго слагаемого или вычитаемого, поступающего из опера тивного запоминающего устройства.
Преобразователь (Пр) является узлом связи регистра (Рг) с сумматором (См) и служит для выдачи в сумматор слагаемого при выполнении операции сложения или преобразованнЬго вычи таемого при выполнении операции вычитания. Как указывалось выше, в процессе преобразования необходимо инвертировать зна-
Рис. 5
18
чение разрядов вычитаемого и в младший-разряд прибавить едини цу. Последняя задача выполняется сумматором, а преобразователь только выдает инвертированное вычитаемое. Исходя из этого, не трудно составить схему преобразователя. Схема одного разряда преобразователя приведена на рис. 6.
Сумматор параллельного действия (рис. 3) служит для хране ния первого слагаемого или уменьшаемого, сложения дополнитель ных кодов, хранения результата и участвует в преобразовании вы читаемого. В сумматоре должна быть предусмотрена цепь приема единицы в младший разряд при выполнении операции вычитания
(преобразование вычитаемого). Так как числа в сумматор могут подаваться-только последовательно друг за другом, то прием еди ницы в младший разряд осуществляется е задержкой после приема вычитаемого (рис. 7). Это обстоятельство приводит к увеличению
( Г г /
или ^ Г Ш .
йечгмПр
Рис. 7
времени вычитания по сравнению со временем сложения. Время вычитания Т \ ч будет
7’нВч=(д+1)(^тг-г4) + ^тг- |
(2.8) |
Элементы «И2» составляют узел связи арифметического устрой ства с оперативным запоминающим устройством и служат для вы дачи чисел в оперативное запоминающее устройство. Числа выда ются параллельным кодом.
Составим микропрограмму операций сложения и вычитания применительно к одноадресной системе команд. В этом случае об ращение, к оперативному запоминающему устройству при выпол нении операции происходит за вторым числом. Первое число (сла гаемое, уменьшаемое) находится в сумматоре. При составлении микропрограммы будем исходить из условия выполнения операции в четыре этапа: подготовки АУ, приема числа, собственно выполне
ния операции и формирования результата. На первом этапе необ ходимо произвести очистку регистра, на в т оромприе м числа из ячейки а запоминающего устройства, на третьем — прибавление слагаемого или преобразованного вычитаемого. При выполнении третьего этапа уже получается результат. Поэтому четвертый этап
19
6 данном случае Отсутствует. Микропрограмму, состоящую из по следовательности микроопераций (МО), представим в виде Табл. 1.
|
|
|
|
|
|
|
|
|
Таблица I |
№ |
|
|
|
|
|
|
Сигналы |
|
|
|
|
: Содержание МО Обозн. МО |
|
Р |
<7 |
»- : |
Q |
||
этапа | МО |
|
||||||||
|
|
|
i |
|
1 |
|
\ |
■ |
|
1 |
! 1 |
Очистка регистра |
0-+Рг |
1 |
Pi |
|
1 ' |
Qopr |
|
\ |
<7слчЯъчI |
||||||||
|
I ... |
Прием числа из |
|
1 |
|
|
i |
|
|
2 |
|
2 |
{а)-+Рг |
|
Ра |
|
— |
Опч |
|
. |
ячейки „а* |
|
|
||||||
|
|
|
|
1 |
' |
|
|
||
3 |
|
3 |
Выдача числа в |
(Рг)-^См |
\ |
Рл |
- |
Qbhcm |
|
|
4сл |
||||||||
|
сумматор |
| |
|||||||
|
|
4 |
Выдача преобра |
(Рг)аР->Сл[ |
Р-, |
Чвч |
— |
Qbmcmnp |
|
|
|
зованного числа в |
|||||||
|
|
|
сумматор |
|
|
|
|
- |
|
При записи микроопераций приняты следующие обозначения: |
|||||||||
•-> |
— передача информации или занесение информации; направ |
||||||||
ление стрелки указывает направление передачи информации;' |
|||||||||
( ) — содержимое узла |
(ячейки |
|
хранения), |
заключенного в |
скобки.
Поставив в соответствие каждой микрооперации оператор А с номером, микрооперации, можно записать микропрограмму в опе раторной форме:
Операторная форма наглядно показывает, в каком направлении идет выполнение микропрограммы при тех или иных условиях.
Составим логические выражения для управляющих сигналов, используя данные табл. 1.
Управляющий сигнал Qopr должен быть сформирован при на личии синхросигнала р1 и признаков операции дсл или дт. Сле довательно,
Qopr—Р\ (9сл^*/вч)-
Аналогично получим выражения для остальных управляющих сигналов:
<3пч=/?2(^слу ^вч).
Qи’; см А3*7сл*
Q b4 см нр==Р з <7вч’
По логическим выражениям для управляющих сигналов можно
20
построить схему управления блоком операций при выполнении сло жения и вычитания. Эта схема приведена на рис. 8.
Для выработки управляющих сигналов необходимо, чтобы в арифметическое устройство поступали синхросигналы р и прйзнаки операций q. Синхросигналы можно формировать о помощью ге нератора импульсов и линии задержки с отводами (рис. 9), а приз-
Рис. 8 Рис. 9
наки операций с помощью дешифратора кода операции (рис. 10). Построением схемы управления заканчивается построение части арифметического устройства, предназначенной для выполнения
рассмотренных операций сложения и вычитания.
Составим теперь микропрограмму операций сложения и вычи
тания применительно к трехадресной системе команд.
При составлении микропрограммы будем исходить из того, что для выполнения трехадресной команды необходимо выбрать из оперативного запоминающего устройства первое число и поместить его в сумматор, затем выбрать второе число, выполнить собственно
мд |
Чсп |
|
Чвч |
||
опера - |
||
1 |
|
|
Рис. |
10 |
операцию, указанную в коде операции и результат отослать в опе ративное запоминающее устройство. Микрооперации, необходимые для выполнения указанных действий и составляющие микропро грамму операций сложения и вычитания, приведены в табл. 2.
Используя микропрограмму (табл. 2), составим логические вы ражения для управляющих сигналов:
Q ocm= V i (<7<ni7<7вч): |
Q bm см^ Р з(<7слУ<7в'>Ь/>в</с л : |
|
Qopr~ (PiVPi)(9csiУ<7вч)| |
*2вч см пр~Р&вч> |
|
Qji4~i.P2yP*)(4^ v4bh)j |
Qbh Р'ХРсл^Явч) ■ |
(2*9) |
21