Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2. Архітектура обчислювальних систем.docx
Скачиваний:
112
Добавлен:
17.07.2024
Размер:
3.77 Mб
Скачать
  1. Виконання логічних операцій з цілими числами, представленими в машинних кодах

Кількість логічних операцій може бути обчислено за формулою , де n – число змінних. Із формули видно, що для двох змінних a і b логічних операцій 16. Основні із них: логічне додавання, логічне множення, логічне не, додавання по модулю 2.

Для виконання логічних операцій, використовують таблиці істинності:

Логічне додавання

a  b

Логічне множення

a & b

Логічне

не

Додавання по модулю

a  b

a \ b

1

0

a \ b

1

0

a

a \ b

1

0

1

1

1

1

1

0

1

0

1

0

1

0

1

0

0

0

0

0

1

0

1

0

2.2.2. Принципи зображення дійсних чисел в памяті програми у форматі з плаваючою комою. Основні арифметичні операції над дійсними числами у форматі з плаваючою комою та їх проблеми

Число з рухомою комою — форма подання дійсних чисел, в якій число зберігається у формі мантиси і показника степеня.

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

В обчислювальній техніці числа з рухомою комою (FP) — спосіб подання підмножини дійсних чисел за допомогою цілого числа з фіксованою точністю, яке називається мантисою, масштабованим за допомогою цілого показника фіксованої основи. Наприклад, 12,345 — це число з рухомою комою за основою десять із п’ятьма цифрами точності:

Однак, на відміну від 12.345, 12.3456 не є числом з рухомою комою за основою десять із п’ятьма цифрами точності — воно потребує шести цифр точності; найближче число з рухомою комою лише з п’яти цифр дорівнює 12,346. На практиці більшість систем з рухомою комою використовують основу два, хоча також поширена основа десять (десяткове число з рухомою комою).

Арифметичні операції з рухомою комою, такі як додавання та ділення, наближають відповідні арифметичні операції з дійсними числами шляхом округлення будь-якого результату, який сам по собі не є числом з рухомою комою, до найближчого числа з рухомою комою. Наприклад, в арифметиці з рухомою комою з точністю до п’яти десятих цифр суму 12,345 + 1,0001 = 13,3451 можна округлити до 13,345.

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

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

Протягом багатьох років у комп’ютерах використовували різноманітні подання чисел з рухомою комою. У 1985 році було створено стандарт IEEE 754 для арифметики з рухомою комою, і з 1990-х років найчастіше зустрічаються представлення, визначені IEEE.

Швидкість операцій з рухомою комою, яка зазвичай вимірюється через FLOPS, є важливою характеристикою комп’ютерної системи, особливо для програм, які передбачають інтенсивні математичні обчислення.

Блок з рухомою комою (FPU, розмовно - математичний співпроцесор) — це частина комп’ютерної системи, спеціально розроблена для виконання операцій над числами з рухомою комою.

В нормальній формі

Ан = mApA, (20)

де mA – мантиса числа А; pA – порядок числа А.

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

q-1  mA  1, (21)

де q – основа системи числення.

Нормалізована форма подання чисел – форма подання чисел для якої виконується умова (21).

Оскільки в даному випадку абсолютне значення мантиси лежить в ме­жах від q-1 до 1- q-n, де n – кількість розрядів для подання мантиси без знаку, положення розрядів числа в його машинному подання не фіксоване. Тому таку форму подання чисел називають також формою подання числа з плаваючою комою.

Приклад: Запис числа у формі з плаваючою комою:

А2 = 21101,1101 = 2210,11101 = 240,1011101.

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

а)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Номер

розряду

Поле миси

Знак мантиси

Знак порядку

б)

Знак числа

в)

1,

1

0

1

1

0

1

1

1

1

0

0

0

1

0

1

г)

0,

1

1

0

0

0

0

1

1

1

1

0

0

0

1

1

Рис. 2. Подання числа у формі з плаваючою комою

Приклад: Нехай в розрядну сітку цифрового пристрою (рис. 2) необхід­но записати двійкові числа А1 = - 10110,11112 та А2 = + 0,000110101112. Перш за все необхідно подати дані в нормальній формі (рис. 2, в, г). Порядок числа вибираємо таким чином, щоб для них виконувалась умова (21), тобто А1 = - 0,101101111225 і А2 = + 0,1101011122-3. Оскільки система числення для задано­го цифрового пристрою є постійною, то немає необхідності вказувати її ос­нову, достатньо лише подати показник порядку.

Оскільки для подання порядку виділено п’ять цифрових розрядів і один розряд для знаку, їх машинне подання і машинне подання мантиси відповідно має вид:

рА1

=

0

00101

рА2

=

1

00011

mA1

=

1,

101101111

mA2

=

0,

11010111