Файл: Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие.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 -