Файл: Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.07.2024
Просмотров: 94
Скачиваний: 0
2. СЛіМ.іРУІДШІГ, БЛОКИ 2 .1 . БЛОКИ ДЛЯ іЛйЗ-ЬііИЯ И ВЫЧИТАНИЯ ЧИСЕЛ В 11РЛ.МЫХ
КОДАХ /1,4,11-14,19-21/ .
В ЗУ числа могут храниться в прямом или дополнительном кодах. Из ЗУ извлекаются операнды /т .е . числа, участвующие в операции/ и пересылаются в регистры АУ в том виде, в котором оли хранились в ЗУ. Позгому, в зависимости от того, в каких ко дах хранятся числа, различают ^персщии в прямых и дополнитель ных кодах.
При построении суммирующих блоков /СВ/ для сложения и вычитания чисел в прямых кодах некоторые трудности возникают при реализации операции вычитания. Преодоление этих трудно стей осуществляется путем замены операции вычитания операцией сложения прямого кода одного операнда с дополнительным или обратным кодом второго операнда, при использовании дополни тельного кода /ДК/ результат операции также будет представлен ДК. Так как № положительного числа совпадает с прямим кодом этого же числа, то получение прямого кода результата не вызы вает затруднений. При отрицательном же результате для получе
ния прямого |
кода |
необходимо произвести поразрядную инверсию |
||||||||||||||
и добавить |
I |
в младший |
разряд. По времени |
это равноценно |
сум |
|||||||||||
мированию. следовательно, |
для |
получения |
результата необходимо |
|||||||||||||
время |
6 + w )é+ |
/г д е |
|
|
время однократного суммирования, |
|||||||||||
W - вероятность поучения ДК результата. Вследствие того,что |
||||||||||||||||
фактическая задержка, вносимая СЕ, увеличивается |
в //+ *' |
/ |
||||||||||||||
раза |
по сравнению с |
£+ , |
ДК |
при выполнении операций в |
пря |
|||||||||||
мых кодах не |
используются. |
|
|
|
|
|
|
|
|
|||||||
|
|
Алгоритм сложения с использованием обратных кодов |
|
|||||||||||||
состоит и следующем: |
|
|
|
|
|
|
|
|
|
|
||||||
1. |
Если Х0 |
= /+ /, |
то |
подать |
на сумматор /2Г/ прямой Код числа X. |
|||||||||||
Если Xв = / - /," то |
подать |
на |
57 |
обратный |
код числа X. |
|
|
|||||||||
2. |
Если !/0=/+/ |
и Х0 =/+/ |
или |
У0 = /- / и |
= /- /, |
то |
подать |
|||||||||
па |
27 |
прямой код |
числа |
У. |
Если У0 = /- / |
и.0» =/+/ |
или |
У0 |
=/+/ |
|||||||
и |
,Ус = / - /, |
то |
подать |
па |
27 |
обратный код |
числа |
У. |
|
|
|
|||||
3. Образовать |
|
прдаой код результата. |
|
|
|
|
|
|
||||||||
|
|
Следует помнить, что JT в данном |
еду чае |
должен иметь |
||||||||||||
цепь ц и к л и ч е с к о г о |
переноса |
и оперировать с двумя знаковыми |
||||||||||||||
разрядами так же, как и с основными разрядами, а результат |
||||||||||||||||
.получается |
всегда |
в |
обратном коде. Однако* |
так |
как обратный |
- 8 -
код положительного числа совпадает с его пряный кодом, то об разовывать прямой код результата следует только в случае п о у чения отрицательного результата. Из приведенного алгоритма следует, что суммирующий блок должен включать в себя три ре
гистра РХ, РУ и Р ? , |
сумматор |
Z |
и ЕМУ. Выходы Рл и РУ |
долж |
ны быть подключены к |
входам 2Г |
, а |
выходы 2 - ко входам |
P Z . |
Составим микроалгоритм /І.ІА/ реализации операции сложения па пе речисленных узлах. Для загшси МА будем использовать язык логичесшіх схем алгоритмов Н.А.Ляпунова. Буквы, используемые для обозначения микроопераций и логических условий, заключаются в круглые скобки, которые при необходимости снабжаются номера ми. микрооперации /МО/ от логических условий /ЛУ/ отличаются тем, что после последних всегда имеется стрелка, направленная
вверх и снабженная цифрой. Если ЛУ |
А выполняется /А =І/, |
то |
|||||||
осуществляется переход КМО, указанный стрелкой. |
Если ЛУ не |
вы |
|||||||
полняется |
/А=0/, |
то осуществляется переход к МО В или ЛУ |
В, |
за |
|||||
писанному |
нелосредствптю |
за |
ЛУ А. Пусть /+/=0 , |
а /-/= 1 . Тогда |
|||||
МА сложения /МАО/ будет иметь вид: |
|
|
|
|
|||||
(fiAC)- (но)(х„)і,(Вкі,^(^»)^1(KoK/>x) iL |
)* |
|
|
||||||
ix( |
ß |
(9, f , |
Л ) М |
в ° * п ) і '1(п н п )(ъ Л 1 * (вт )ю № * * ю £ к |
|||||
Выполнение MAC начинается по сигналу ВО, затем проверяется ЛУ |
|||||||||
Хр. Если Хр =0, |
то осуществляется |
МО выдачи прямого кода |
с |
ре |
|||||
гистра X |
/ВКРХ/. Если Xр =1, |
то осуществляется |
переход |
по |
|
||||
стрелкам I к МО выдачи обратного кода с регистра I /ВОКРХ/, Да |
|||||||||
лее проверяется |
ЛУ I |
ѵ |
Л |
/ . |
По результату |
проверки |
осу |
ществляется выбор МО /ИКРУ/ или /ВОКРУ/. Далее следует МА при ема кода на регистр 2 /ІЖ Р?/ и выдача его прямым или обратным кодами. Завершается MAC выработкой сигнала КО.
Следует отметить, что это не единственный способ задания МА. Другим возможным методом записи МА являются графы.
На рис.2.1-1 показан пример графа/рассмотренного выше MAC. По приведенному MAC легко воспроизвести схему суммиру
ющего блока /СБ/ /р и с .2 .1 -2/ на базе комбинационного сумматора, особенностью которого является возможность совмещения во време ни МО ВКРХ и ВКРУ. Кроме упомянутых
- 9 -
Р ис. 2 . 1 -f
ранее регистров и ZL в схеме СБ имеются |
триггера ТХ и |
|||||||
ТУ знаков регистров X и У, |
ШУ на ДЗ и схема выделения |
|||||||
сигнала |
Q |
переполнения |
|
|
.Как известно, |
|||
сигнал Q |
фиксируется при |
появлении комбинаций 1 0 или 01 |
||||||
в знаковых |
разрядах £ |
с |
помощью схемы неравнознач |
|||||
ности /+ |
/ . |
При этом знак результата определяется по пер |
||||||
вой цифре. БМУ вырабатывает сигналы ПК и КО с помощью |
||||||||
двух ЛЗ. Задержка |
|
|
|
|
|
|||
|
|
|
Г, * t t + t c f а ^ г ~ |
|
у |
|
||
где |
- |
время выдачи кода с регистра, |
|
Г £- |
- задерж |
|||
ка |
сигналов |
в сумматоре, |
£г |
-время |
приема кода на ре |
|||
гистр. Следовательно: |
|
|
|
|
|
|||
В случае |
использования накапливающего |
£ |
|
регистр FZ из |
схемы СБ можно■исключить. При сравнении различных блоков, выполняющих одни и те же операции,представляет интерес оценивать аппаратурные затраты. В общем случае сделать такую оценку затруднительно,так как аппаратурные затраты сильно зависят от используемой системы элементов и принци пов построения основных узлов. В первом приближении та кую оценку все же можно дать на основе подсчета количест ва основных узлов и элементов в блоке. Введем для этого следующие обозначения:
а f - |
стоимость одного разряда регистра', |
&г - |
стоимость одного разряда цепей выдачи кода; |
a_jстоимость одного разряда цепей выдачи прямого и обрат |
|
ного |
кодов; |
®Ѵ“ стоимость одного разряда цепей приема кода; |
|
^■стоимость одного разряда сумматора; |
|
- |
стоимость одного триггера или линии задержки; |
a.f- |
стоимость одного логического элемента /Й, ИДИ,.НЕ/; |
аg - стоимость одного разряда цепей сдвига; |
|
|
а^—стоимость одного разряда счетчика. |
|
|
Используя введенные обозначения,схему СБ на рис. |
2.1-2 |
|
можно оценить в |
|
|
c = a t (3n+ i)+ a3 (3n+ t)+ aY(n-H)+<i-s (n+ e)+ |
+ W a 7 ~ |
|
=(3af +3ctj + а ч +a.3)n+(a.f + а 3 i-a v +2a.s +-4a6 |
||
•f- W a p ) = |
n |
|
- 11 -
условных единиц.
Удобной величиной для оценки различных блоков явля
ется |
коэффициент |
эффективности |
j |
|
|
|
• |
где |
Ü - время выполнения операции. |
||
В данном случае |
/ |
|
|
|
|
(Я 'П +в і У е с + Г ' + І г ) • |
|
Задачи. I . Составить микроалгоритм |
суммирования с исполь |
зованием дополнительных кодов и по нему построить схему СБ и оценить величину аппаратурных затрат.
2 . Определить вероятность и/ получения дополнительного кода результата в СБ,работающим с дополнительными кодами, в предположении,что X и У распределены равномерно в ин
тервале / - 1 , 1/ и вероятность получения результата /х .+ у /> 1 равна нулю.
3. Построить схему СБ с накапливающим сумматором. Оценить
быстродействие |
полученной схемы. |
|
||
4. Пусть |
, |
а |
. Выполнить 16 |
вариантов операций |
сложения |
/± X /t /± 1 / |
в дополнительных |
и обратных кодах. |
2 .2 . БЛОКИ ДЛЯ СЛОЖЕНИЯ И ВЫЧИТАНИЯ ЧИСЕЛ В ДОПОЛПИТЕДЬ-
і т кож х______/ і /
Числа в ЗУ хранятся в этом случае в дополнительном коде. В этом же коде они пересылаются в регистры СБ. Ал горитм выполнения суммирования предельно прост:
1 . |
Подать на |
Е |
код числа |
X. |
|
|
|
|
|
2. |
Если S0 = /+ /,т о подать |
на £ |
код числа У. Если^=/—/ |
||||||
то |
подать на |
Е |
инверсный |
код числа У |
и I |
переноса в |
|||
младший разряд £ |
. СБ должен |
состоять |
из |
РХ,РУ,Р^ и £ . |
|||||
Составим МА. выполнения операции суммирования |
|||||||||
t не |
-МО прибавления I переноса |
в младший разряд £ |
|||||||
|
Схема СБ с комбинационным |
£ |
»соответствующая |
||||||
данному MC,показана на рис. |
2 .2 -1 . Быстродействие данно |
||||||||
го |
СБ такое |
же,как и у |
СБ на рис.2 .1 -2 ,однако аппаратур |
||||||
ные |
затраты |
несколько |
ниже |
как за |
счет |
отсутствия некото- |
- 12 -