Файл: Мельник А. Архітектура комп\'ютера.doc

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

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

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

Добавлен: 24.12.2021

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

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

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

67






Таблиця 2.5

Показник порядку

Прямий код показника

Характеристика (показник + 4)

Примітки


+3

011

111

3 + 4=7


+2

010

110

2 + 4 = 6


+ 1

001

101

1+4 = 5


0

000

100

0 + 4 = 4


-1

101

011

-1+4 = 3


-2

11О

010

-2 + 4 = 2


-3

111

001

-3 + 4=1




000

Ознаку нуля


Як зазначалося, характеристика r - це порядок р з надлишком 1 = 2k-1 Вона не змінює свого знаку і змінюється від 1 (при р = -2k-1) до 2к"' (при р = +2k-1- 1). Винятком є число 0, яке виражається нульовою характеристикою і нульовою мантисою (не обов'язково).

Основною перевагою представлення чисел у форматі з рухомою комою є великий діапазон машинних чисел і висока точність їхнього подання. Діапазон визначається до­вжиною розрядної сітки, виділеної для характеристики, а точність визначається довжи­ною розрядної сітки, виділеної для мантиси.

Особливості виконання операцій над числами з рухомою комою:

  • збільшення мантиси у 2 рази здійснюється зсувом двійкового значення мантиси ліворуч (у бік старших розрядів);

  • зменшення мантиси у 2 рази здійснюється зсувом двійкового значення мантиси праворуч (у бік молодших розрядів);

  • величина числа не зміниться, якщо збільшити мантису в 2 рази і одночасно змен­шити порядок на 1;

  • величина числа не зміниться, якщо зменшити мантису в 2 рази і одночасно збіль­шити порядок на 1.


Під час арифметичних операцій над числами з рухомою комою виконуються дії як над порядком, так і над мантисою.


Тобто формат з рухомою комою має недолік, який полягає у відсутності унікального представлення для кожного числа. Усі числа, що наводяться на рис. 2.7, є еквівалентни­ми. Слід зауважити, що цього недоліку не мають нормалізовані числа.


68

У деяких моделях комп'ютерів одержало поширення відображення чисел із рухомою комою з основою порядку, рівною цілому ступеню числа 2 (s =2r). При цьому порядок р відображається двійковим цілим числом, а мантиса т - числом, в якому групи по r двій­кових розрядів зображають цифри мантиси з основою системи числення s.

Прикладами вживаних основ порядку є числа 8 та 16.

Використання для чисел з рухомою комою недвійкової основи порядку дещо змен­шує точність обчислень (при заданому числі розрядів мантиси), але дозволяє збільшити діапазон чисел, що представляються в машині, і прискорити виконання деяких опера­цій, зокрема нормалізації, за рахунок того, що зсув проводиться відразу на кілька двій­кових розрядів. Крім того, зменшується вірогідність появи ненормалізованих чисел в ході обчислень.

Наприклад, у разі використання шістнадцяткових чисел з рухомою комою число X вважається нормалізованим, якщо старша шістнадцяткова цифра X. відмінна від 0. Тоб­то у нормалізованому числі три старші двійкові цифри можуть дорівнювати 0. Це дещо зменшує точність представлення чисел при фіксованому числі розрядів мантиси. Якщо r старших шістнадцяткових розрядів мантиси рівні 0, то нормалізація в цьому випадку полягає в зсуві вліво мантиси на г шістнадцяткових розрядів і відповідному зменшенні показника порядку на r одиниць. Зсув на один шістнадцятковий розряд виконується як зсув мантиси відразу на чотири двійкові розряди.

Розглянемо кілька прикладів.

Припустимо, що потрібно подати у форматі з рухомою комою число 17. Для десят­кової системи 17 = 17.0 х 1010 = 1.7 х 101 = 0.17х 102. Аналогічно в двійковій системі 1710 = 100012 х 2° = 1000.12 х 21 = 100.01, х 22 = 10.0012 х 23 = 1.00012 х 24 = 0.10001, х 25. Якщо вико­ристати останній запис, то 8-розрядна мантиса числа буде рівною 10001000, а 5-розряд-ний порядок буде рівним 00101. Тоді число 17 в форматі з рухомою комою в двійковій системі має вигляд, показаний на рис. 2.8 а. Використовуючи формат з рухомою комою можна представляти числа в значно ширшому діапазоні, ніж використовуючи формат з фіксованою комою, при тих самих 14 розрядах. Так, на рис. 2.8 b) показано число 65536 = 0.12 х 217 у форматі з рухомою комою, для представлення якого у форматі з фіксованою комою потрібно було б 16 розрядів.

Як вже зазначалося, ідея зміщення порядку полягає в перетворенні його значень лише в додатні числа. Зміщення здійснюється шляхом додавання до кожного значення порядку фіксованого числа, рівного середньому значенню величини діапазону можли­вих чисел, яке вибирається для представлення нуля. В приведених вище прикладах як зміщення потрібно взяти число 16, тому що воно є середнім між 0 і 31 (порядок має 5 бітів, тому дозволяє представити 25 = 32 значень). Будь-яке число, більше ніж 16, в полі порядку буде представляти додатне значення, а менше - від'ємне. Зауважимо іще раз, що значення порядку з усіма нулями та одиницями зазвичай резервується для спеціальних випадків (таких як нуль та нескінченість).


69

Повернемося до попереднього прикладу. Ми обчислили 1710= 0.100012х25. Зміщення порядку рівне 16 + 5 = 21, і число має вигляд, показаний на рис. 2.9 а. Аналогічно для числа 0.25=1.0х2-2 будемо мати представлення, показане на рис. 2.9 b.

Розглянемо іще один приклад числа з рухомою комою, в даному випадку нормалі­зованого. Виразимо 0.0312510 в форматі з рухомою комою із зміщенням порядку на 16. Тоді 0.0312510 = 0.000012 х 2° = 0.0001 х 2-1 = 0.001 х 2-2 = 0.01 х 2-3 = 0.1 х 2-4. Додавши до порядку зміщення отримаємо 16 - 4 = 12. Повний вигляд числа показано на рис. 2.10.

На рис. 2.11 наведено два приклади використовуваного в комп'ютерах формату пред­ставлення чисел з рухомою комою. Зверху наведено формат, який був використаний в комп'ютерах CDC 6600, CDC 7000, та CYBER 170 фірми СКС, а знизу - формат, який був використаний в комп'ютерах системи ІВМ/370 фірми IBM, причому тут основою поряд­ку є число 16, тому мантиса вважається нормалізованою, якщо є хоча б одна одиниця в перших її чотирьох розрядах.

Існує велика кількість задач, коли обробці підлягають масиви чисел, які змінюються в вузькому діапазоні значень. В цьому випадку з метою більш ефективного використання розрядної сітки для представлення чисел використовують так звану поблоково-рухому кому, коли для всього масиву чисел є лише один порядок. В спеціалізованих комп'ютерах це дозволяє суттєво зменшити витрати обладнання на побудову арифметико-логічного пристрою.


70

При потребі іще більшого розширення діапазону представлення даних використо­вується так званий формат з рухомою-рухомою комою. Тут використовується два поля порядку, як це показано на рис, 2.12.

Тут значення числа визначається з виразу А = 2е, де e = Р1 2P2.

2.6.4. Стандарт ІЕЕЕ-754

Для представлення чисел з рухомою комою у більшості сучасних комп'ютерів ви­користовується стандарт ІЕЕЕ-754. В попередньому пункті ми розглянули можливі варі­анти представлення даних в форматі з рухомою комою. До середини 80-х років в різних комп'ютерах використовувались різні варіанти цього представлення, що суттєво усклад­нювало виконання на них тих самих програм. У 1985 році Інститут інженерів електро­техніків і радіоелектроніків (IEEE) розробив стандарт для чисел з рухомою комою, який офіційно відомий як ІЕЕЕ-754 (1985).

Стандарт ІЕЕЕ-754 для чисел з одинарною точністю використовує зміщення 8-роз-рядного порядку на 127. Це ще один спосіб представлення чисел із знаком без викорис­тання знаку мінус. Мантиса має 23 біти. Із знаковим розрядом включно повна довжина слова складає 32 біти (рис. 2.13).

Значення числа обчислюється за формулою:

число = (-1)S *2E-127*(1, М).

Мантиса представляється в прямому коді без знаку, знак мантиси представляється окремо. Суть нормалізації полягає в тому, що мантиса приводиться до вигляду 1.ххххх, тобто вона знаходиться в межах від 1,000...0 до 1,111...1. Слід зауважити, що оскільки кожна мантиса після нормалізації починається з 1, то нема сенсу зберігати цей розряд, тому він не зберігається разом з числом. Його необхідно просто враховувати під час операцій над числами.

Числа з подвійною точністю в стандарті ІЕЕЕ-754 подаються 64-розрядним словом, яке має знаковий розряд, 11-розрядний порядок і 52-розрядну мантису (рис. 2.14). Змі­щення порядку дорівнює 1023.


71

Значення числа обчислюється за формулою:

число = (-1)S *2E-1023*(1, М).

Діапазон чисел, які можуть бути представлені в цьому форматі, показаний на рис. 2.15.

У табл. 2.6 наведено характеристики форматів подання двійкових чисел в стандарті ІЕЕЕ-754 з одинарною та подвійною точністю.





Таблиця 2.6

Характеристика

Формат з одинарною точністю

Формат з подвійною точністю

Довжина слова

32 біти

64 біти

Мантиса (зі знаком)

24 біти

53 біти

Порядок

8 бітів

11 бітів

Зміщення

127

1023

Наближений діапазон

2128=3.8 1038

21024=9 10307

Найменше нормалізоване число

2-126=10-38

2-1022=10-308

Наближена точність представлення чисел

2-23=10-7

2-52=10-15

Як числа з одинарною точністю, так і числа з подвійною точністю в стандарті ІЕЕЕ-754 мають для нуля два варіанти представлення. Коли порядок і мантиса рівні нулю - число є нулем. При цьому значення знаку є несуттєвим. На цю обставину потрібно звертати увагу при проведенні операції порівняння числа з рухомою комою на збіжність з нулем.

Стандарт ІЕЕЕ-754 передбачає використання певної кількості значень мантиси та порядку для представлення нескінчених, невизначених та малих значень. Так мінус та плюс нескінченість подаються максимальним значенням порядку (3778для числа з оди-