Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие

.pdf
Скачиваний:
13
Добавлен:
23.10.2023
Размер:
4.91 Mб
Скачать

код положительного числа совпадает с его пряный кодом, то об­ разовывать прямой код результата следует только в случае п о у ­ чения отрицательного результата. Из приведенного алгоритма следует, что суммирующий блок должен включать в себя три ре­

гистра РХ, РУ и Р ? ,

сумматор

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 -

рых логических элементов,так как эа счет отсутствия цепи выдачи обратного кода с регистра РХ и PZ , вследствие чего аппаратурные затраты на I разряд регистра сокращаются

 

С =(Ja, *2аг + a3 + a v i-af )n ф а ,+ 2 а г +а3 + а ѵ

 

)

Задачи,

I . Построить

схему СБ с накапливающим

27

для

сложения и вычитания чисел в дополнительных кодах.

2 .3 , БЛОКИ ДЛЯ СЛОЖЕНИИ И

ВЫЧИТАНИЯ ЧИСЕЛ

С ШІАШЩКЛ

ЗАПЯТОЙ_______/ 1 .17.23.24/

 

 

 

 

 

Число X,представленное в форме с плавающей запятой,

имеет вид

_

 

 

 

 

 

 

X

— А * X. ,

 

 

 

где

^

-порядок

числа, X

-мантисса, А

-основание

системы счисления.

 

 

 

 

 

X

Число X называется нормализованным,если его мантисса

удовлетворяет условию

 

 

 

 

или при

К=2

 

- j f £ X ■< /

 

 

 

 

,

 

 

 

 

 

Машинное слово имеет структуру,показанную на рис.2.3-1

или -2 . По одному разряду

слова отводится

для

представ­

ления знака мантиссы /ЗГА/

и знака порядка /ЗП /,а

осталь­

ные разряды - для

представления мантиссы /К / и порядка

/П /. Производить

сложение мантисс можно лишь в

том случае,

если у чисел одинаковые порядки. Поэтому операция сложе­ ния начинается с выравнивания порядков чисел. После вы­ полнения операции суммирования возможно нарушение норма­ лизации числа как влево на один разряд,так и вправо на лю­ бое число разрядов. Поэтому после выполнения суммирования производится нормализация результата. Нормализованный ре­ зультат не всегда помещается в разрядной сетке машины. Поэтому заключительным этапом выполнения операции являет­ ся округление результата и окончательная проверка факта нормализации результата. Следовательно,выполнение опера­ ций сложения и вычитания чисел с плавающей запятой cö” f стоит из следующих этапов:

- 13 -

ГзмГ

М

унт 1 п

}

 

Р и с . 2 5 - 1

 

\ЗП I

п

|з/УI /ѵ

I

Р и с . 2 .5 -2

н о

- 14 -

1. Выравнивание порядков.

2. Суммирование мантисс.

3. Определение порядка результата.

4.Нормализация результата.

5.Округление результата.

Рассмотрим каждый из этих этапов отдельно.Выравнивание по­ рядков осуществляется путем сдвига вправо числа,порядок которого меньше.Так как сдвиг вправо эквивалентен деле­ нию мантиссы на К,то при каждом сдвиге порядок должен

увеличиваться

на I .

Рассмотрим пример. Пусть Х=2* 0,1010,

У=2 51 0 0 І І ;

тогда

х' =2 * 0 , 0 0 1 0 1 0 .

Поэтому для выравнипания порядка необходимо прежде всего определить,порядок какого числа меньше. Это можно осу­ ществить с помощью специальной схемы сравнения кодов. Но, так как при выполнении умножения и деления порядки чисел складываются и вычитаются,то в ЛУ всегда тлеется сумматор порядков. Поэтому для определения числа с меньшим поряд­ ком используют сумматор порядков. Для этого из порядка первого числа вычитают порядок второго числа. По знаку разности определяют больший порядок,а абсолютная величи­ н а разности позволяет определить необходимое число сдви­ гов. Так как над порядками производятся только операции сложения или вычитания, то для представления их удобно использовать дополнительные коды. Таким образом»алгоритм выравнивания порядков чисел X и У сводится к следующему:

1. Подать на £

прямой код порядка фх

числа X,обратный

код порядка У у

числа У и I

переноса в

младший разряд.

2 . Если разность

порядков Л

положительная,то сдвигать

надо мантиссу числа У. Если разность порядков отрицатель­

ная, то

сдвигать

надо мантиссу числа X.

3. Если

Л > 0

,то при каждом сдвиге из разности поряд­

ков

необходимо

вычитать I , а если Л < О ,то прибав­

лять

I .

 

 

4. Выравнивание порядков завершается,когда в счетчике

разности

порядков

будет записан 0. Рассмотрим пример.

Пусть Цх

=6 , а

= I . Тогда .

 

 

.

О О , Н О

 

 

+

f l s ! i i

 

 

 

ОО, 1 0 1

- 15 -

Разность порядков положительная и равна 5. Следовательно, для выравнивания порядков необходимо сдвинуть 5 раз вправо мантиссу числа У.

Из приведенного алгоритма выравнивания порядка следует что блок, реализующий этот алгоритм.должен состоять из ре­ гистров порядков РПХ и РПУ, сумматора порядка£П и счет­ чика сдвигов СС. Составим микроалгоритм выполнения опера­ ции выравнивания порядков на перечисленных узлах:

(^ .ч в ^^н а Ц д ^р п ^во к Р п у Х в п У п к с ф с^ф ң с ^^^/гсР у )

( - tcc)(occ) t'(pcc}t*{*(псрх)(+ fcc)(öëc) і 2і '(ко).

Схема блока ВП,реализующая этот микроалгоритм,показана на рис.2 ,3 -3 . Особенностью блока ВП является наличие

замкнутого контура .включающего ЛЗ t~c

и необходимого

для создания

серии импульсов правого

сдвига мантисс

/ПСРХ и У/.

После выравнивания порядков осуществляется

ѵммированиѳ мантисс,которое в принципе ничем не отличаеі':я от рассмотренных ранее в 2 .1 я 2 . 2 способов суммиро­ ваний чисел с фиксированной запятой. Результату присваи­ вается порядок большего по абсолютной величине операнда, т .е . того,мантисса которого оставалась неподвижной при выравнивании порядков, а установить втот факт можно с помощью триггера Т на рис.2 .3 -3 . Суммирование мантисс может нарушать нормализацию результата. Если для суммиро­ вания мантисс исполъвуются модифицированные коды,то ле­ вое нарушение нормализация /ЛИЦ/ определяется по комби­

нации цифр

0 1

я 1 0

в знаковая разрядах

&

правое

/ТОЩ/ - по

комбинациям цифр 00,0 и I I , I

в

старшем и зна­

ковых разрядах

Е

. Нормализация результата

осуществ­

ляется путем сдвига мантиссы результата влево /или впра­ во / и вычитания /или прибавления/ I к порядку результата при каждом сдвиге до тех пор,пока будут сохраняться указанные комбинации цифр. Составим МА нормализации;

(* яи )= (н о }(ли и }^(Ш і)і£ і3(л<;Р2Х-1РП2}(пнн) f 3 *

f 3( Ш ) t* l '(ncP iJf+ fP trzjM K oh

Схема,реализующая данный MAH, показана на рис. 2 .3 -4, где КС - комбинационная: схема.

- 16 -

При сдвиге вправо при нормализации результата оторасыванме младшего разряда может привести к накоплению боль­ шой положительной ошибки. Для исключения этого вбооят опе­

рацию округления. С этой целью £

и ? £ имеют дополнитель­

ный разряд со стороны младших разрядов. Округление осуще­

ствляется добавлением I в этот разряд с последующий отбра­

сыванием его содержимого. Если в

дополнительном разряде

была І,то возникает I переноса в

младший основной разряд.

Вследствие этого погрешность будет знакопеременной и не больше младшего разряда.

В заключение рассмотрим блок-схему устройства для суммирования чисел с плавающей запятой /р и с .2 .3 -5 /. Блок выравнивания порядков /ВВП/ выдает сигналы правого сдвига на РХ или РУ,находящиеся в блоке суммирования мантисс /БСМ/.и порядок результата n j . По сигналу НО из ЕВП запускается БСМ. Затем вступает в работу блок нормализа­ ции результата /ВНР/, нормализующий мантиссу результата /МZ / . По первому сигналу КО из БНР производится округле­ ние результата,а по второму - о помощью триггера Т выра­ батывается сигнал КО суммирования чисел с плавающей запя­ той.

Задачи. I . Проследить на примере сложения чисел 2~^0,1010 и З'Чо.Ю Н работу всех блоков устройства для сложения чисел с плавающей запятой.

2. Построить блок выравнивания Порядков на базе суммато­ ра накапливающего типа.

3 . Построить блок выравнивания порядков на базе суммато­ ра комбинационного типа с цепью циклического переноса при условии,что порядки чисел представляются прямыми кодами.

2 ,4 .

ОЦЕНКА ВРЕМЕНИ ВЫПОЛНЕНИЯ ОПЕРАЦИИ СЛОЖЕНИЯ ЧИСЕЛ

С ПЛАВАШЕЙ ЗАПЯТОЙ______ /2 4 /

 

Среднее время t+

выполнения операции сложения равно

 

t+ -

+ tc * t /н +

+ ^гп >

где

t g } l c> t lH , t a

и

t 2n

- средние времена,необходи­

мые соответственно

для выравнивания порядков, сложения

мантисс,первой нормализации,округления и второй нормали­ зации.

Оценим каждое из указанных времен. Среднее время

 

 

t e = t , + t ^ M ( D K) ,

 

 

 

где t t

- время,необходимое д£ля вычитания

порядков,

 

длительность такта сдвига, М Ш

- среднее число

сдви­

гов.

В свою очередь

29#

,

.,

 

 

Здесь

и далее ІѴ/^обозначает

вероятность

события А.

В

данном случае h / ff /c

= і ) -

вероятность

того,что раз­

ность

порядков ? < * ! ? * - ? • / /

равна • I ,

'1* j -абсо­

лютная величина максимально возможного порядка

 

где N

- величина,определяющая диапазон

представления

чисел в машине,т.е.

 

 

 

 

 

а квадратные скобки означают взятие ближайшего большего к Co9 fi N целого числа.

Предположим,что порядки фх и ^статистически неза­ висимы и одинаково распределены. Тогда при С/0 по фор­ муле полной вероятности получим:

” ( 9 х =Л(н(<Іѵ ф і ) + * ( $ х ш/ - О ) =

Случайные величины f x "AS y М0 ГУТ ™eTb различные законы распределения,однако все они в первом приближении могут быть аппроксимированы равномерным законом

'9 К

«9

- 18 -

Соседние файлы в папке книги из ГПНТБ