Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТтАМ / Посібник / Rozdil_02_math.pdf
Скачиваний:
130
Добавлен:
12.02.2016
Размер:
1.25 Mб
Скачать

мантис і порядків чисел в одному й тому ж чи різних кодах. Наприклад, порядок числа може бути представлений в прямому, а мантиса – в додатковому кодах і т.п.

Розглянемо таке представлення для 16-розрядної сітки (рис. 2.24).

Рис. 2.24. Представлення числа з плавальною комою у 16-розрядному процесорі.

1 – знаковий розряд мантиси, 2 – розряди значущих цифр мантиси, 3 – знаковий розряд порядку, 4 – розряди значущих цифр порядку.

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

Так дійсне число одинарної точності (тип single або float, діапазон

1,5 · 10

…3,4 · 10

) представляється 4 байтами, а

дійсне число

вісьмома байтами.

(тип double, діапазон

5.0 · 10

…1,7· 10

) –

подвійної

точності

 

 

Тип single представляється в пам’яті наступним чином:

4-й байт: '+' ('–') та 7-бітовий порядок,

3-й байт: '+' ('–') та 7 старших бітів мантиси,

2-й байт: 8 середніх бітів мантиси,

1-й байт: 8 молодших бітів мантиси.

усього 4 байти = 32 біти.

1.4.4Математичний співпроцесор

Як вже зазначалося основні арифметичні операції над числами виконує арифметико-логічний пристрій. Зазвичай його робота зводиться лише до арифметичного додавання кодів чисел та за необхідності перетворення їх з безпосереднього коду в додатковий чи навпаки.

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

порядки чисел до деякого спільного

– а отже й здійснити відповідну

корекцію мантис, тобто зсув їх вліво чиспвправо.

Покажемо це на прикладі додатного та від’ємного чисел

а) додатні числа

б) від’ємні числа

"0"

"1"

зсуввправо

"0"0

"1"0

"0"

… 0

"1"

… 0

зсуввліво

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

Якщо у нас є два числа

 

та

2

,

й за спільний

порядок прийняти порядок другого

числа (тобто

 

) тоді після

2

 

 

корекції число матиме вигляд

 

2 сп

сп

 

 

2

 

 

 

 

Далі степінь основи можна винести за дужки і виконати додавання мантис

 

 

сп

 

сп

сп

 

Машинна операція

додавання чисел в нормалізованій формі таким

2

 

2

 

2 .

2

чином розпадається на 4 етапи (покажемо це на прикладі чисел

і2 ):

1.Визначають порядок якого числа більший у додатковому коді

після чого отриманий

результат (

 

) перетворюють в безпосередній код

 

дод

 

 

дод

дод

 

 

зсувають на

Якщо

,

то

,

отже мантису числа

 

 

 

 

 

 

 

 

 

 

 

розрядів вправо і

0

 

приймають таким же як

, тобто

 

на

.

 

розрядів

Якщо

 

,

 

то

 

 

,

отже зсувають

вправо

 

 

0

 

 

 

 

 

сп

 

 

 

 

мантису числа

 

і

 

приймають таким же як

 

, тобто

 

 

 

.

Таким чином обидва числа приводять до одного

порядку .

 

 

сп

 

 

зсуву –

2. Додають

мантиси в додатковому

коді

з

урахуванням

 

 

 

 

сп

 

результатом буде мантиса числа .

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

4.Результат подається в безпосередньому коді.

Для пришвидшення виконання обчислень з плавальною комою було введено спеціальний пристрій – математичний співпроцесор (англ. coprocessor). Спочатку математичний співпроцесор був окремою мікросхемою, для якої на системній платі ПК було передбачено спеціальний роз’єм.

Наприклад для функціонування з мікропроцесором Intel 80286 було спроектовано співпроцесор 80287, а для мікропроцесора 80386 –

співпроцесор 80387. Очевидну вигоду від такого пристрою відчули не лише інженери а й звичайні користувачі, оскільки більшість програм оперують із дійсними величинами. Тому математичний співпроцесор став обов’язковим компонентом.

Згодом його почали вбудовувати у мікросхему центрального процесора де він перейняв на себе виконання математичних операцій над дійсними числам. Тут він отримав назву модуля операцій з плавальною комою (англ. floating point unit – FPU).

Модуль операцій з плавальною комою підтримує роботу з дійсними числами на рівні примітивів – завантаження/вивантаження дійсних чисел чи математична операція над ними виконується однією командою. Завдяки цьому досягається значне пришвидшення таких операцій.

Корпорація Intel почала це нововведення з процесора Intel 486DX. Це спростило схемні реалізації та призвело до збільшення обчислювальної потужності ЕОМ.

1.4.5Взаємозв’язок математичних операцій в ЕОМ

Як уже було показано вище усі основні математичні операції (віднімання, множення, ділення) в ЕОМ реалізовано через єдину операцію додавання. Й хоча виконання математичної операції додавання над двійковими операндами не є чимось складним, однак для її виконання не було розроблено технічного пристрою. Тому його довелося реалізувати за допомогою логічних елементів.

Основними компонентами ЕОМ є логічні елементи І, АБО, НІ та ін, за допомогою яких можна виконувати однойменні логічні операції. На базі цих логічних операцій у двійковій системі числення виконується єдина арифметична операція – додавання, на базі якої у свою чергу виконуються решта три операції: віднімання множення та ділення. А вже до цих чотирьох операцій зводяться з використанням чисельних методів усі складні математичні дії.

Повністю ланцюжок зв’язків між базовими логічними елементами та складними математичними залежностями наведено на рис. 2.25.

Соседние файлы в папке Посібник