
- •2. Архітектура обчислювальних систем
- •2.1 Функції бінарної логіки
- •2.2 Представлення даних на рівні машин
- •Виконання логічних операцій з цілими числами, представленими в машинних кодах
- •2.2.2. Принципи зображення дійсних чисел в памяті програми у форматі з плаваючою комою. Основні арифметичні операції над дійсними числами у форматі з плаваючою комою та їх проблеми
- •2.3. Пристрої введення-виведення. Поняття шини комп'ютера
- •2.4. Функціональна організація обчислювальних систем
- •2.4.1. Структура комп'ютера, класична архітектура фон Неймана, гарвардська архітектура
- •2.4.2. Ієрархічний принцип побудови пам'яті – регістрова, кеш, оперативна пам'ять, зовнішня пам'ять. Cpu.
- •2.4.3. Переферійні пристрої
Виконання логічних операцій з цілими числами, представленими в машинних кодах
Кількість
логічних операцій може бути обчислено
за формулою
,
де 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, розмовно - математичний співпроцесор) — це частина комп’ютерної системи, спеціально розроблена для виконання операцій над числами з рухомою комою.
В нормальній формі
Ан = mApA, (20)
де mA – мантиса числа А; pA – порядок числа А.
Як видно з поданого вище матеріалу, що таке подання чисел не однозначне, тому для визначеності вводять деякі обмеження. Найбільш поширеним і зручним для подання чисел в цифрових пристроях є обмеження у вигляді
q-1 mA 1, (21)
де q – основа системи числення.
Нормалізована форма подання чисел – форма подання чисел для якої виконується умова (21).
Оскільки в даному випадку абсолютне значення мантиси лежить в межах від q-1 до 1- q-n, де n – кількість розрядів для подання мантиси без знаку, положення розрядів числа в його машинному подання не фіксоване. Тому таку форму подання чисел називають також формою подання числа з плаваючою комою.
Приклад: Запис числа у формі з плаваючою комою:
А2 = 21101,1101 = 2210,11101 = 240,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 |