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