Файл: Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.07.2024

Просмотров: 126

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

рых логических элементов,так как эа счет отсутствия цепи выдачи обратного кода с регистра РХ и 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 -