- •/Міністерство освіти і науки україни
- •"Організація та функціонування комп'ютерів"
- •І. Теоретичні відомості
- •1.1. Коротка історія розвитку комп’ютерної техніки
- •1.2. Принципи організації комп’ютера фон-Неймана
- •Іі. Опис архітектури навчального комп’ютера DeComp
- •2.1. Організація навчального комп’ютера – симулятора DeComp
- •2.2. Пульт управління навчального комп’ютера
- •Закладка “Документація до “Навчальної еом”
- •2.4 Закладка “Пристрій підготовки даних”
- •2.4.1 Порядок введення інформації на перфострічку
- •III. Вказівки до виконання лабораторних робіт Лабораторна робота № 1
- •1. Теоретична частина
- •1.1 Загальні поняття про системи числення
- •Позиційні системи числення, які застосовуться у комп’ютерах
- •1.2.1 Двійкова система числення
- •Вісімкова система числення
- •Шістнадцяткова система числення
- •1.3. Переведення чисел з однієї позиційної системи числення до іншої
- •1.3.1. Переведення цілих чисел
- •1.3.2 Переведення правильного дробу
- •1.3.3 Особливості переведення вісімкових і шістнадцяткових чисел до двійкової системи числення і навпаки
- •Лабораторна робота № 2
- •1. Теоретичні відомості
- •1.2. Інструкції арифметичних операцій:
- •1.3. Призначення Регістру Ознак
- •1.4. Дослідження виконання інструкцій навчального комп’ютера
- •2. Порядок виконання роботи
- •Вимоги до звіту
- •Лабораторна робота № 3
- •1. Теоретичні відомості
- •1.2. Організація програмних циклів
- •1.3. Особливості виконання операцій зсуву
- •2. Порядок виконання роботи:
- •3. Вимоги до звіту.
- •Лабораторна робота № 4
- •1. Теоретичні відомості
- •1.1. Загальні відомості про логічні функції
- •1.2. Опис логічних інструкцій навчального комп’ютера
- •1.3. Подання від’ємних чисел у комп’ютерах
- •1.3.1. Прямий код
- •1.3.2. Обернений код
- •1.3.3. Доповняльний код
- •1.3.4. Модифіковані коди
- •2. Порядок виконання роботи:
- •3. Вимоги до звіту
- •Лабораторна робота № 5
- •1. Теоретична частина.
- •1.1. Додавання і віднімання двійкових чисел з фіксованою комою
- •1.2. Додавання двійкових чисел у модифікованому доповняльному коді
- •1.3. Додавання двійкових чисел у модифікованому оберненому коді
- •1.4. Переповнення розрядної сітки при додаванні у модифікованих машинних кодах
- •1.5. Множення двійкових чисел без знаку
- •2. Порядок роботи:
- •3. Вимоги до звіту
- •Лабораторна робота № 6
- •1. Теоретична частина
- •1.1. Подання чисел з рухомою комою
- •1.2. Правила додавання (віднімання) двійкових чисел з рухомою комою
- •2. Порядок роботи:
- •3. Вимоги до звіту.
- •Лабораторна робота № 7
- •1. Теоретична частина
- •1.1. Ділення двійкових чисел без знаку
- •1.1.1. Ділення з відновленням залишку
- •1.1.2. Ділення без відновлення залишку
- •1.2. Множення двійкових чисел із знаком
- •1.2.1 Множення чисел у форматі з фіксованою комою
- •1.3. Ділення двійкових чисел у форматі з фіксованою комою.
- •2. Порядок роботи
- •3. Вимоги до звіту.
- •Література.
- •Додаток
1.5. Множення двійкових чисел без знаку
Множення двійкових чисел виконують за правилами, аналогічними для десяткових чисел, тобто визначають проміжні добутки, а потім їх додають. Але, важливо зазначити, що у цьому процесі значно полегшується процес визначення проміжних добутків. Насправді виконуються тільки два правила множення двійкового числа на двійкову цифру:
1). Якщо ця двійкова цифра (розряд множника) дорівнює 1, то двійкове множене просто копіюється без змін у якості проміжного добутку;
2). Якщо цей розряд множника дорівнює 0, то проміжний добуток дорівнює 0.
Ці правила ілюструє приклад 4. Дії виконуються наступним шляхом: у першому розряді множника стоїть 1, тому у якості першого проміжного добутку копіюється значення множеного. У наступному зліва розряді множника стоїть 0, і, відповідно, другий проміжний добуток дорівнює 0000. Далі, дії повторюються.
При визначенні кожного наступного проміжного добутку він зсувається вліво на один розряд відносно попереднього. Всі отримані проміжні добутки, враховуючи зсуви, додаються між собою. Таблиця ХХ – таблиця множення одного розряду двійкових чисел.
Табл. ХХ Приклад 4.
0
* 0
0
1
* 0
0
0
* 1
0
1
* 1
1
1 0 0 1 -
множене
* 1 1 0 1 - множник
1 0 0 1
+ 0 0 0 0 проміжні
1 0 0 1 добутки
1 0 0 1 .
1 1 1 0 1 0 1 = добуток
Отже, операція множення двійкових чисел зводиться до операцій зсуву та додавання. Крім того зауважимо, що множення двох n – розрядних чисел дає результат, який містить 2n бітів.
Відомі два наступні основні способи виконання операції множення:
а) Множення, починаючи з молодших розрядів множника, із зсувом вліво, процес починається з молодшого розряду множника;
б) Множення, починаючи із старших розрядів множника, із зсувом вправо, процес починаючи із старших розрядів множника:
1101 - множене 1101 - множене
* 1101 - множник * 1101 - множник
1101 1101
+ 0000 + 1101
1101 0000
1101 1101
10101001 - добуток 10101001 - добуток
а) б)
Схема множення із зсувом СДП вправо подана на наступному малюнку.
На цьому малюнку позначено:
-
A(a3, a2, a1, a0) i B(b3, b2, b1, b0) – двійкові 4-ри розрядні числа – сомножники;
-
Р – добуток;
-
ДПі – проміжні добутки.
Зауважимо, що операція множення числа на 10 ± n - основу системи числення в степені ± n, рівноцінна зсуву даного числа вправо на n розрядів, якщо степінь додатна, і вліво, якщо степінь від’ємна.
Хоча процес аналізу розрядів множника і додавання множенного із самим собою стільки разів, скільки одиниць у множнику, простий, він вимагає достатньо великих витрат часу. Сумування проміжних добутків (ДП) виконується звичайно не на кінцевому етапі, а по мірі їх отримання. Це дозволяє не зберігати всі ДП, тобто скорочує апаратні витрати.
У залежності від способу отримання суми ДП (СДП) можливі чотири варіанти реалізації “традиційної” схеми множення:
1. Множення, починаючи з молодших розрядів множника, із зсувом СДП вправо і при множеному, що є нерухоме;
2. Множення, починаючи із старших розрядів множника, при зсуві СДП вліво і при множеному, що є нерухоме;
3. Множення, починаючи з молодших розрядів множника, із зсувом множеного вліво і СДП, що є нерухоме;
4. Множення, починаючи із старших розрядів множника, при зсуві множеного вправо і при СДП, що є нерухоме.
Варіанти із зсувом множеного (вар. 3, 4) на практиці використовуються менше, тому що для їх реалізації регістри множеного, СДП і суматор повинні мати розрядність 2n .
Виконання алгоритму множення без знаку із зсувом вправо для двох чисел: А = 1010 і В = 1110 показане на наступному прикладі:
|
|
Коментар |
A B |
1010 * 1011 |
Множене Множник |
СДП |
0000 |
початкове значення сумарного проміжного добутку |
ДП0 = Ab0 P 0 = СДП + ДП0 P 0 2-1 |
+ 1010 01010 01010 |
Множення множенного на 20 розряд множника (= 1); Перший проміжний добуток Зсув вправо першого добутку |
ДП1 = Ab1 P 1 = P 0 2-1+ ДП1 P 1 2-1 |
+ 1010 011110 011110 |
Множення множенного на 21 розряд множника (= 1); Другий проміжний добуток Зсув вправо другого добутку |
ДП2 = Ab2 P 2 = P 1 2-1 + ДП2 P 2 2-1 |
+ 0000 0011110 0011110 |
Множення множенного на 22 розряд множника (= 0); Третій проміжний добуток Зсув вправо третього добутку |
ДП3 = Ab3 P 3 = P 2 2-1 + ДП3 P 3 2-1 |
+ 1010 01101110 01101110 |
Множення множенного на 23 розряд множника (= 1); Четвертий проміжний добуток Зсув вправо четвертого добутку, отриманий кінцевий результат. |
Даний алгоритм множення без знаку із зсувом вправо можна описати таким чином:
1. Первинне значення СДП приймається таким, що дорівнює 0;
2. Аналізується наступна цифра множника (аналіз починається з молодшого розряду). Якщо він дорівнює 1, то до СДП додається множене, інакше додавання не виконується;
3. Виконується зсув СДП вправо на один розряд;
4. Пункти 2 і 3 повторюються для усіх цифрових розрядів множника.
Аналогічним шляхом реалізуються і інші варіанти алгоритмів множення двійкових чисел без знаку.