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

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

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

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

Добавлен: 24.12.2021

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

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

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

На рис. 2.4 показано приклад розрядної сітки комп'ютера (формату даних) для пред­ставлення двійкових чисел із фіксованою комою в вигляді 32-розрядних слів для випад-


64

ків закріплення коми перед старшим і після молодшого розряду. Розряди пронумеровані зліва направо.

Для кодування знаку числа використовується знаковий розряд (а на рис. 2.4). У цьо­му розряді 0 відповідає знаку «+», а 1 - знаку «-». На розрядній сітці вказано вагу кож­ного розряду. Найбільше додатне число, яке може бути представлене в розрядній сітці, по­казаній на рис. 2.4 а, рівне 0,11...1=1-2-31. Тут після коми розміщена 31 одиниця. А найменше додатне значуще число рівне 0,00... 01 =2-31. Тут після коми розміщено 30 нулів.

В розрядній сітці (рис. 2.4 а) можуть бути представлені числа в діапазоні від -(1 -2-31) до -2-31 і від +2-31 до +(1-2-31), що відповідає діапазону абсолютних десяткових чисел при­близно від (1-10-9) до 10-9. Числа |х| < 2-31 не можуть бути представлені в розрядній сітці і приймаються рівними 0 (число виходить за розрядну сітку вправо). Всі числа |х| >=1 також не можуть бути представлені в прийнятій розрядній сітці.

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

Якщо кома зафіксована праворуч від молодшого розряду, розрядна сітка (рис. 2.4 б) дозволяє представляти додатні та від'ємні цілі двійкові числа, модуль яких 1< = |х| < = 231-1, що відповідає діапазону абсолютних десяткових чисел приблизно від 1 до 109, а також 0.

Всі числа, модуль яких менший 1 або більший (231-1), не можуть бути представлені в цій розрядній сітці (число виходить за межі розрядної сітки).

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

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

Комп'ютери, які опрацьовують числа в форматі з фіксованою комою, є простішими (меншими за габаритами) та швидшими порівняно з комп'ютерами, які опрацьовують числа в форматі з рухомою комою, але в них можливе виникнення проблем через по-


65

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

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

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

Розглянемо основні формати чисел із фіксованою комою, що використовуються у сучасних комп'ютерах, та діапазони представлення в них чисел (табл. 2.4).

Таблиця 2.4




Формати без знакового розряду

довжина

Міп

Мах

16 байт = 128 біт

0

3.40282366920938е+38

8 байт = 64 біт

0

18446744073709551615

4 байти = 32 біт

0

4294967295

2 байти =16 біт

0

65535

1 байт = 8 біт

0

255

Формати

і знаковим розрядом (доп

овняльний код)

довжина

Міп

Мах

16 байт = 128 біт

-1.70141183460469е+38

1.70141183460469е+38

8 байт = 64 біт

-9223372036854775808

9223372036854775807

4 байти = 32 біт

-2147483648

2147483647

2 байти = 16 біт

-32768

32767

1 байт = 8 біт

-128

127

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

2.6.3. Числа із рухомою комою

Не завжди діапазон представлення чисел у форматі з фіксованою комою є достатнім для проведення обчислень. В такому випадку використовується формат представлення чисел із рухомою комою.

У загальному випадку в форматі з рухомою комою число подається у вигляді А = ± m . q±p, де m - мантиса числа, q - основа порядку, ± р - порядок числа. Попередній вираз мож­на записати як А = ±mA • ± рA , де упущено основу порядку, оскільки в комп'ютерах вона не­змінна. В більшості випадків основа порядку дорівнює основі системи числення, тобто 2.




66

Для однозначного і максимально точного відображення чисел число з рухомою ко­мою представляють у нормалізованому вигляді. Якщо виконується нерівність q - 1 < = |m| <1, а у випадку двійкової системи числення 0.5 < = |т| <1 (старший двійковий розряд мантиси дорівнює 1), то вважається, що число представлене в нормалізованому вигляді.

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

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

  • по одному розряду для представлення знаку числа Sm (поле знаку числа) і знаку порядку Sp;

  • певне число розрядів для представлення значення порядку р;

розряди для представлення значення модуля мантиси m (поле мантиси). Наприклад, можливий такий варіант, коли формат числа складається з чотирьох по­лів (рис. 2.5) тобто, [[А] = SPpASmmA.

Зазвичай у форматі з рухомою комою замість порядку р використовують так звану характеристику ("зміщений порядок") г = ± р + 1, де 1 - надлишок (зсув), значення якого

підбирається таким чином, щоб у разі зміни значення показника від деякого мінімально-

го значення -|рmin| до максимального +|рmax|, характеристика г змінювалася від 1 до гmax .

Отже, характеристика не змінює свого знаку. У цьому випадку відпадає необхідність у відображенні знаку порядку S . Для цього приймається, що 1 = 2k-1, де k - число розрядів, виділених для представлення порядку числа у форматі з рухомою комою.

Тоді формат числа з рухомою комою можна подати так, як показано на рис. 2.6 (з ви­користанням трьох полів), тобто, [А] = SmpAmA.

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

Таким чином, мантиса в такому варіанті відображається, починаючи з розряду, що йде після старшого. Це слід враховувати під час виконання будь-якої операції з ман­тисою числа, і перед початком операцій відновлювати старший розряд мантиси. Після завершення операцій формування нормалізованого результату у відведеній для нього розрядній сітці, старша одиниця мантиси знову відкидається. Порядок із k-розрядним полем може змінюватися в межах від -2k-1 + 1 до + 2k+1 - 1 (табл. 2.5, k = 3).