
- •Тема 1. Системи числення. Правила переведення цілих та дробових чисел з однієї сч в іншу сч
- •Тема 2. Подання інформації в електронно-обчислювальних машинах.
- •Тема 3. Арифметичні операції в двійковій сч. Додавання і віднімання чисел.
- •Тема 4. Двійкова сч. Виконання операцій множення
- •4.2. Множення чисел представлених у формі з фіксованою комою на двійковому суматорі прямого коду
- •4.3. Особливості множення чисел представлених у формі з плаваючою комою
- •4.4. Множення чисел, представлених у формі з фіксованою комою, на двійковому суматорі доповняльного коду
- •4.5. Множення чисел на двійковому суматорі оберненого коду
- •Тема 5. Арифметичні операції в двійково-десяткових сч
- •Тема 6. Логічні основи цифрових автоматів
- •Тема 7. Елементарні функції алгебри логіки. Функціонально-повні системи логічних функцій
- •Тема 8. Форми представлення функцій алгебри логіки
- •Тема 9. Методи мінімізації булівських функцій
- •Тема 10. Логічні елементи та їх класифікація
- •Тема 11. Базові комбінаційні вузли цифрових автоматів
- •Тема 12. Синтез дешифраторів та шифраторів
- •Тема 13. Синтез мультиплексора та демультиплексора
- •Тема 14. Синтез суматорів
- •Тема 15. Синтез тригерів
- •Тема 16. Синтез лічильників
4.2. Множення чисел представлених у формі з фіксованою комою на двійковому суматорі прямого коду
Нехай задані машинні зображення двох чисел: [А]пр =SgA, а1а2…an
[В]пр = SgВ, b1b2…bn
Тоді їх добуток
Cпр = Sgc, c1c2…cn
де Sgc
– Sg1
SgB;
- знак додавання за модулем 2.
При виконанні цієї операції повинні бути задані структурова схема пристрою, на якому проводиться операція, і метод множення.
Приклад 4.1. Помножити числа [А]пр=1.11010 і [В]пр=0.11001
При множенні будуть використовуватися метод 2 і пристрій, зображений на рис.4.2
Запис
усіх дій, що виконуюються пристроєм
виконується за допомогою умовних
позначень, тобто:
= -
оператор присвоювання означає,
що блоку, що вказаний зліва від оператора,
присвоюється значення, вказане справа
від оператора;
- зсув вмісту регістру [Рг
А]
на один розряд вправо;
[СМ] – вміст суматора СМ; ПП – початкове
положення.
Розвязок: Знак добутку визначаємо окремо від цифрової частини у відповідності з рівнянням:
Sgc
=
Sg1
SgB=1
0=1
Отримання цифрової частини можна показати в результаті наступного запису. Нехай суматор має 10 розрядів без врахування знаку, а регістри – 5 розрядів без знаку. Введем позначення відповідно цифрової частини множеного і цифрової частини множника.
Послідовність дій в процесі виконання операцій представлена у вигляді таблиці 4.1
Відповідь: [С]пр=1.1010001010.
Рис 4.2. Структурна схема пристрою множення
Таблиця 4.1
Суматор |
Регістр В |
Примітка |
0000000000 + 11010 |
11001
-1100 --110 ---11
----1 |
ПП:[СМ]: = 0; [РгА]: = [А']; [РгВ]: = [В];
b5=1;
[СМ] :=
[СМ] + [РгA];
[
b4
= 0; [
b3
= 0; [
b2=1;
[СМ]:= [СМ] + [РгA]
[
b1= 1; [СМ]:= [СМ] + [РгА];
[ Кінець |
1101000000 0110100000 0011010000 0001101000 + 11010 | ||
1110101000 0111010100 + 11010 | ||
10100010100* 1010001010 |
* Якщо в процесі виконання множення виникає одиниця переносу зі старшого розряду, то її треба зберігати.
Щоб процес множення відбувався правильно, необхідно передбачити блокування вироблення сигналу переповнення, так як можливе тимчасове переповнення на якомусь кроці множення (див. приклад 4.1). Приклад показує, що в даному випадку не обов'язково мати суматор довжиною 2n розрядів. Зберігання «хвостів» множення можна здійснювати в вивільнюваних розрядах регістра множника. Для цього достатньо забезпечити ланцюг передачі інформації з молодшого розряду суматора в старшин розряд регістра множника.
У всіх наведених нижче прикладах буде використано розглянутий спосіб.
4.3. Особливості множення чисел представлених у формі з плаваючою комою
Для чисел, представлених у формі з плаваючою комою, обов'язковим є представлення у вигляді мантиси і порядку (характеристики). При операції множення дії, які виконуються над мантисами і порядками, різні: мантиси перемножуються, порядки складаються. Очевидно, що результат множення може вийти ненормалізованном, тоді буде потрібно нормалізація з відповідною корекцією порядку результату. Отже, структурна схема розмножувального пристрою повинна змінитися (рис.4.3).
Рис. 4.3. Структурна схема пристрою множення з плаваючою комою
Розглянемо приклад виконання операцій множення чисел, заданих в прямому коді.
Приклад 4.2. Перемножити числа А = - 0,11001∙2-3 і В = 0,10011∙2 +1.
Як пристрій множення використовується схема, показана на рис. 5.3, де РгА і РгВ - відповідно регістри для порядків рА і рВ.
Розвязок: Мантиси перемножуються за правилами, розглянутим для чисел, представлених у формі з фіксованою комою. Для перемножування мантис використовується суматор прямого коду, а для складання порядків - суматор зворотного коду.
Спочатку записуються машинні зображення чисел:
[mA]пр=1.11001; [рА]об=1.100;
[mB]пр=0.10011; [рВ] об= 0.001;
Послідовність дій у процесі виконання операції множення мантис представимо в табл.4.2.
Після виконання зазначених дій знаходиться мантиса добутку [mC] пр = 1,0111011011.
Одночасно з цим над порядками проводиться операція додавання:
[pC] об = [pA] об+ [pB] об = 1,100 + 0,001 = 1,101.
Так як мантиса результату
не задовольняє умові нормалізації
(порушена
ліва межа:
= 1,
= 0), товиконується
зсув мантиси
ліворуч на один розряд: [mС]
np
= 1,1110110110, і корекція порядку [р'С]об
= [рС]об+
1,110 = 1,101+1,110
= 1,110.
Таблиця 4.2
Знак результату |
Суматор |
Регістр В |
Примітка |
|
Sgc
=
Sg1
|
00000 + 11001 |
10011 |
РгmB: = [mB]; РгmA = [mA] РгpA = [рA]; PrpB: = [pB]; СМM: = 0; B5=1;.СМm:= [СМm] +[ РгmA]; [
B4=1; СМm:= [СМm] + [РгmA];
[ b3
= 0; [ b2
= 0; [
b1 = 1; СМm:=[СМm]+ [РгmA];
[ Кінець |
|
|
11001 011001 + 11001 |
01001 |
| |
1001011 1001011 01001011 001001011 + 11001 |
| |||
|
00100 00010 00001 |
| ||
|
|
| ||
111011011 0111011011 |
| |||
|
|
| ||
|
00000 |
|
Якщо суматор мантис містить тільки n розрядів, то після округлення виходить вихідний результат.
Відповідь: З = - 0,11110∙2-3.
При виконанні операції множення може мати місце ряд особливих випадків. Наприклад:
якщо один із співмножників дорівнює нулю, то добуток також дорівнює нулю. Отже, необхідно передбачити блокування виконання алгоритму множення і формувати результат, рівний нулю;
якщо порядок результату дорівнює найбільшій негативній величині, то необхідно формувати машинний нуль.
Ці особливі випадки можна передбачити в алгоритмі операції введенням аналізатора співмножників на нуль на початку операції (перший випадок), або корекцією добутку на підставі ознак результату (другий і третій випадки).