- •Комп’ютерна схемотехніка. Архітектура комп’ютерів 2 зміст
- •2.1. Класифікація, призначення та основні характеристики пам'яті
- •2.2. Оперативна пам’ять (оп)
- •2.2.2. Статична пам'ять на біполярних транзисторах
- •2.3. Постійна пам'ять (пп)
- •2.9. Зовнішня оптична пам'ять
- •1. Представлення та обробка інформації
- •Класифікація засобів обчислювальної техніки
- •1.2. Класифікація комп’ютерів
- •1.3. Структурна схема компю’терів, що використовують спільну шину
- •1.4. Системи числення
- •1.4.1. Базові параметри та класифікація систем числення
- •1.4.2.Загальні принципи побудови систем з послідовним обчисленням символів
- •1.4.3. Загальні принципи побудови систем числення з паралельним обчисленням символів
- •1.5. Кодування знакозмінної інформації. Коротка характеристика груп кодів, родинних прямому, зворотному, додатковому. Особливості застосування в комп'ютерах
- •1.6. Формати даних і команд сучасних комп’ютерів
- •1.7. Процесори
- •1.7.1. Склад і призначення пристроїв
- •1.7.2. Блок додавання чисел у формі з фіксованою крапкою
- •1.7.3. Особливості виконання складання чисел у формі з плаваючою крапкою
- •1.7.4. Реалізація процесора двійкового множення. Загальні положення
- •1.7.5. Реалізація множення в прямому коді
- •I варіант.
- •II варіант.
- •III варіант.
- •IV варіант
- •1.7.6. Реалізація в процесорі операції множення в додатковому коді
- •1.7.7. Реалізація методів прискореного множення в процесорах
- •1.7.8. Схемні методи прискореного множення
- •1.7.9. Особливості виконання множення чисел з плаваючою крапкою
- •1.8. Реалізація двійкового ділення в процесорі
- •1.8.1. Реалізація ділення чисел з фіксованою крапкою в прямому коді
- •1.8.2. Особливості ділення чисел у формі з плаваючою крапкою
- •1.9. Добування квадратного кореня
- •Частина 2. Пам'ять комп'ютерів
- •2.1. Класифікація, призначення та основні характеристики пам'яті
- •2.2 Оперативна пам’ять (оп)
- •2.2.1 Внутрішня організація оп
- •2.2.2.Статична пам'ять на біполярних транзисторах
- •2.2.3. Статична пам'ять на езл-інтегральних схемах (іс)
- •2.2.4. Статична пам'ять на уніполярних транзисторах (на мон іс)
- •2.2.5. Динамічна пам’ять (дп) на моп транзисторах
- •2.2.6. Побудова пам’яті необхідної розмірності
- •2.3. Постійна пам'ять (пп)
- •2.3.1. Типи пп
- •2.3.2. Масочні пп (мпп)
- •2.3.3. Однократнопрограмована пам'ять
- •2.3.4. Репрограмована пам'ять
- •2.3.5. Flash-пам'ять
- •2.4. Зп с послідовним доступом(зппд)
- •2.4.1. Зппд на регістрах зсуву
- •2.4.2. Елемент зп з послідовним доступом на мон-транзисторах
- •2.4.3. Буферний зп типу "черга" (бп)
- •2.4.4. Пам'ять типу "список"/"стек"
- •2.5. Асоціативна пам'ять
- •2.6. Зовнішня пам'ять (зп)
- •2.6.1. Типи зп
- •2.6.2. Зовнішня магнітна пам'ять (змп)
- •2.6.3. Способи цифрового магнітного запису
- •2.7. Зовнішня пам'ять з прямим доступом(зпПрД)
- •2.7.1. Накопичувачі на гнучких магнітних дисках(нгмд)
- •2.7.2. Накопичувачі на жорстких магнітних дисках(нжмд)
- •2.7.3. Raid – дискові масиви
- •2.8. Зовнішні зп з послідовним доступом. Накопичувачі на магнітних стрічках(нмс). Стримери
- •2.9. Зовнішня оптична пам'ять
- •2.9.1. Оптичні диски типу cd
- •2.9.2. Оптичні диски типу dvd
- •2.10. Контроль роботи пристроїв пам’яті
- •3.1. Пристрій управління
- •3.1.1 Склад пристрою управління
- •3.1.2. Пу з жорсткою логікою
- •3.1.3. Мікропрограмний пристрій управління (пристрій управління з гнучкою логікою)
- •3.1.4. Мікропрограмний пристрій управління зі змінною тривалістю реалізації мікрокоманд.
- •3.2. Системи переривань
- •3.2.1. Типи і основні характеристики системи переривань
- •3.3. Система управління вводом/виводом
- •3.4. Організація мультипрограмного режиму роботи в сучасних комп’ютерах
- •3.4.1. Форми обслуговування користувачів і види мультипрограмування (мпр)
- •3.4.2. Динамічний розподіл пам'яті
- •3.4.3. Система захисту пам’яті (сзп)
- •0 1 2 3 4 5 6 7
- •3.5. Системи автоматичного контролю
- •3.5.1. Види помилок і способи контролю
- •3.5.2. Контроль передачі кодів
- •3.5.3. Контроль роботи комбінаційних схем
- •3.5.4. Контроль виконання операцій в процесорах
- •3.5.5. Контроль роботи процесорів по модулю 3
1.8.2. Особливості ділення чисел у формі з плаваючою крапкою
Z = X / Y = q kx m x / q ky m y = q kx-ky m x / m y m x 1, m y <1
Необхідно виконати наступні дії:
1. Знайти порядок частки: k x - k y.
2. Розділити мантиси одним з розглянутих вище способів (обмежень на мантиси не існує).
3. Якщо при діленні мантис частка виявилася денормалізованою вліво на 1 розряд, його зрушують вправо, а до різниці (k x - k y) додають 1.
Реалізація методів прискореного ділення
Треба діяти наступним чином: нехай дільник має в старшому розряді 1, якщо в результаті виконання ділення вийшов залишок, який в k старших розрядах має нулі, то стільки ж нулів повинно бути в k розрядах частки. Можна виконувати лише зсув на k розрядів вліво і частки, і залишку. Якщо в k старших розрядах залишку одиниці, то в (k -1) відповідних розрядах частки теж будуть одиниці. При цьому можна складання не виконувати, а здійснити зсув залишку та частки (k -1) раз, записуючи стільки ж одиниць в старший розряд частки, який потім буде зсуватися.
Можна переходити до четвіркової та інших систем.
При розподілі з плаваючою крапкою в Pentium 1-го покоління при деяких значеннях виникала втрата точності в 12 розряді після крапки, або в 4-му десятковому розряді.
Якщо в 486МП використовувався класичний алгоритм ділення, то в Pentium - ділення в 4-рковій системі (SRT):
1. Знаходимо найбільш значущі цифри діленого і дільника
2. Використовуємо отриману інформацію в якості покажчика в спеціальній таблиці пошуку чергової цифри частки, яка може приймати такі значення: -2, -1,0,1,2.
3. Множимо дільник на знайдену оцінку і віднімаємо отриманий результат з діленого (залишку). Якщо оцінка менше нуля, виконуємо складання.
4. Записуємо знайдену цифру частки в 2 молодших розряду частки
5. Зсуваємо вліво на 2 розряди залишок і частку
6. Вибираємо найбільш значущі цифри зсунутого залишку
7. Повторюємо з кроку 2
8. Якщо останній частковий залишок менше нуля, то скоректувати приватне, віднімаючи 1.
Особливо сильно втрачається точність, якщо найбільш значущі розряди дільника: 1.0001,1.0011,1.0111,1.1010,1.1101. Помилка посилювалася, якщо потім йшла група одиниць.
1.9. Добування квадратного кореня
Частота появи в програмах - 1-1,5%. Зазвичай реалізується програмним шляхом, але іноді і апаратним.
Y n +1 = 1/2 (Y n + X / Y n) Y n +1 - Y n
X = 2 Y 0 = 1 Y 1 = 1.5 Y 2 = ...
Вище розглянутий алгоритм переробимо так, щоб добування квадратного кореня можна було виконувати подібно поділу з тією відмінністю, що "дільник" - змінне число.
Нехай Y i-1 = 0.Y -1 Y -2 ... Y - (i-1). М и знайшли (i -1) наближення.
Знайдемо q i = X - (Y i -1 + 2 - i) 2 = q i -1 - 2 - (i -1) [Y i -1 + 2 - (i +1)]
q 0 = X q 1 = q 0 - 2 0 0.01
Для отримання залишку q i треба з попереднього залишку відняти зрушені на (i -1) розряд вправо знайдене наближення до кореня, в якому в двох молодших розрядах додано комбінацію (01). Якщо q i > 0, i-я цифра чергового наближення повинна бути обрана рівній одиниці. Якщо q i <0, то чергова цифра дорівнює нулю. У разі q i <0 треба відновити попередній додатній залишок аналогічно алгоритму розподілу з відновленням залишків.
Як q 0 беремо підкорінний вираз Х, з якого має бути вирахувано 0.01. Якщо скористатися алгоритмом розподілу без відновлення залишків з використанням ДК, то можна і при реалізації добування кореня уникнути процедури відновлення залишків.
Якщо при цьому вийде від’ємний залишок, то ми додамо до нього число, в якому в двох молодших розрядах записано 11. Наведене вище прищепило нагадує процес ділення по 2 варіанту. Можна організувати процес і по 1 варіанту. При цьому замість зсуву дільника вправо будемо зсувати залишки вліво.