рефераты Знание — сила. Библиотека научных работ.
~ Портал библиофилов и любителей литературы ~

Меню
Поиск



бесплатно рефератыВиконання операцій множення і ділення у двійковій системі числення

Припустимо, що всі розряди, які розташовані праворуч від вертикальної лінії, відкидаються. Якщо додавати тільки n розрядів, то вноситься похибка, тому що не враховуються перенесення з відкинутих розрядів у розряди, які розташовані ліворуч від лінії. Ці перенесення можуть поширитися на k розрядів ліворуч від лінії. Якщо всі , то кожен розряд дає одиницю перенесення і загальна кількість одиниць перенесень з відкинутої частини буде дорівнювати

.

Для досить великих значень n маємо: .

Одиниці перенесень поширяться на k розрядів суматора, і добуток буде містити тільки точних розрядів. Отже, щоб одержати результат з точністю до n розрядів, необхідно виділити розрядів у суматорі НСМ і регістрі РгА. Кількість додаткових розрядів k при цьому визначається за формулою:

. (3.6)

Нижче приведені результати розрахунку за (3.6) :

п

24

32

40

48

64

72

k

5

5

6

6

6

7

3.2.3. Множення обернених кодів чисел

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

Нехай множене А - будь-яке число, а множник B > 0, тобто А = [A]об і [В]об . Тоді

.

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

Розглянемо випадок, коли множене А - будь-яке число, а множник B < 0, тобто А=[A]об і [В]об . Виходячи з означення оберненого коду . Отже,

.

Тоді

.

Таким чином, у загальному випадку, добуток одержується відразу зі знаком.

Виходячи з розглянутих випадків, можна зробити такі висновки.

Дії, що виконуються під час множення обернених кодів, залежать від знаку множника.

Добуток обернених кодів співмножників дорівнює оберненому коду результату тільки у випадку додатного множника.

Якщо множник є від'ємним числом, то обернений код добутку одержується додаванням поправок і до добутку обернених кодів співмножників.

Оскільки поправки мають різну вагу, то послідовність їх додавання залежить від того, з яких розрядів множника починається множення (табл. 3.7).

Приклад 3.7. Помножити обернені коди чисел А = - 0, 10100 і В = 0, 10011, використовуючи метод 1.

Розв'язання. Для даних чисел маємо: [А]моб=11,01011; [В]об= 0,10011. Оскільки B>0, то поправки не додаються. Послідовність дій, що виконуються в процесі множення, подані у вигляді табл. 3.8.

Відповідь: [С]моб =11,1010000011; С= - 0, 0101111100.

Таблиця 3.7 - Послідовність додавання поправок для оберненого коду

Методи множення

Е т а п и

З молодших розрядів множника

Додавання

Множення за методом і додатковий зсув на один розряд після його завершення

Додавання

Зі старших розрядів множника

Додавання

Додатковий зсув на один розряд і після нього множення за методом

Додавання

Таблиця 3.8 - Перший приклад множення обернених кодів

Приклад 3.8. Помножити обернені коди чисел А = - 0,10100 і В = - 0, 10011, використовуючи метод 2.

Розв'язання. Для даних чисел маємо: [А]моб=11,01011; [В]об= 1,01100. Оскільки B<0, то додаються поправки. Послідовність дій, що виконуються в процесі множення, подані у вигляді табл. 3.9.

Таблиця 3.9 - Другий приклад множення обернених кодів

Відповідь: С= 0, 0101111100.

3.2.4. Множення доповняльних кодів чисел

У випадках, коли числа в машині зберігаються в доповняльних кодах, доцільно всі операції над числами робити на суматорі доповняльного коду. Однак при цьому під час множення виникає ряд особливостей, які необхідно враховувати. Тому розглянемо правила множення операндів, що представлені в доповняльному коді.

Нехай множене А - будь-яке число, а множник B > 0, тобто А = [A]д і [В]д . Тоді

.

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

Розглянемо випадок, коли множене А - будь-яке число, а множник B < 0, тобто А=[A]д і [В]д . Виходячи з означення доповняльного коду . Отже,

.

Тоді

.

Звідси випливає, що коли множник є від'ємним числом, то доповняльний код добутку одержується додаванням поправки до добутку доповняльних кодів співмножників.

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

Правила множення з додаванням поправки наведені в табл. 3.10.

Приклад 3.9. Помножити доповняльні коди чисел А = - 0, 10100 і В = 0, 10011, використовуючи метод 1.

Розв'язання. Для даних чисел маємо: [А]мд =11,01100; [В]д= 0,10011. Оскільки B>0, то поправка не додається. Послідовність дій, що виконуються в процесі множення, подані у вигляді табл. 3.11.

Відповідь: [С]мд =11,1010000100; С= - 0, 0101111100.

Таблиця 3.10 - Правила множення з додаванням поправки

Методи множення

Етапи

З молодших розрядів множника

Множення за методом і додатковий зсув на один розряд після його завершення

Додавання

Зі старших розрядів множника

Додавання

Додатковий зсув на один розряд і після нього множення за методом

Таблиця 3.11 - Перший приклад множення доповняльних кодів

Приклад 3.10. Помножити доповняльні коди чисел А = - 0,10100 і В = - 0, 10011, використовуючи метод 2.

Розв'язання. Для даних чисел маємо: [А]мд=11,01011; [В]д= 1,01100. Оскільки B<0, то додається поправка. Послідовність дій, що виконуються в процесі множення, подані у вигляді табл. 3.12.

Таблиця 3.12 - Другий приклад множення доповняльних кодів

Відповідь: С= 0, 0101111100.

3.3. МЕТОДИ ПРИСКОРЕННЯ ОПЕРАЦІЇ МНОЖЕННЯ

3.3.1. Основні поняття

Прискорення операції множення дозволяє істотно підвищити продуктивність ЦОМ, оскільки приблизно 70% свого часу вони витрачають на виконання цієї операції. Аналізуючи (3.2) - (3.5), можна намітити такі шляхи скорочення часу множення: зменшення часу додавання і зсуву кодів; зменшення кількості додавань і кількості зсувів кодів.

Оскільки прості методи множення передбачають виконання в кожному циклі зсув кодів тільки на один розряд, то зменшити час зсуву неможливо тому, що кола для зсуву реалізують, як правило, з найменшою затримкою сигналів.

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

Відомі на цей час методи прискорення множення розподілені на дві великі групи: логічні й апаратні.

Логічними методами прискорення множення називають такі методи, реалізація яких не вимагає змін основної структури арифметичних кіл пристрою для множення (див. рис. 3.1 - 3.5), а прискорення досягається тільки за рахунок ускладнення схеми керування цим пристроєм. Стосовно пристроїв для множення паралельних кодів ознакою того, що ми маємо справу з логічним методом прискорення множення, є незалежність кількості додаткової апаратури (у порівнянні з вихідною схемою) від кількості розрядів співмножників.

Апаратні методи, прискорення множення вимагають для свого здійснення введення додаткової апаратури в основні арифметичні кола пристрою для множення.

Розрізняють апаратні методи першого порядку і другого порядку. Для апаратних методів першого порядку характерна лінійна залежність кількості додаткової апаратури від кількості розрядів у співмножниках п. Тоді як реалізація методів другого порядку вимагає введення додаткової апаратури, кількість якої пропорційна .

3.3.2. Логічні методи прискорення операції множення в двійковій системі числення

До логічних методiв прискорення операції множення належать: метод множення з пропусканням додавань у тих випадках, коли чергова цифра множнику є нуль; метод множення з перетворенням цифр множнику шляхом групування розрядiв i метод множення з послідовним перетворенням цифр множника.

В основi двох останніх логічних методiв лежить перехід до надлишкової двійкової системи числення з алфавітом {1, 0, }, який дозволяє зменшити кількість одиниць у коді множника, але при цьому в процесi множення будуть виконуватись операції додавання та віднімання.

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

.

Цей метод прискорення рівною мірою підходить для тих випадків, коли множення починається зі старших розрядів множника, і для випадків, коли множення починається з молодших розрядів.

Приклад 3.11. Помножити числа А = - 0, 10100 і В = 0, 10011, використовуючи метод множення з пропусканням додавань.

Розв'язання. Для даних чисел маємо: =1; = 0, 10100; =0; = 0, 10011. Визначаємо знак добутку: =10=1.

Усі дії, що виконуються в кожному циклі множення, наведені табл. 3.13.

Відповідь: С= - 0, 0101111100.

Таблиця 3.13 - Приклад множення за прискореним методом

Розглянемо тепер метод множення з перетворенням цифр множнику шляхом групування розрядiв.

Кількість циклів, що необхідні для реалізації операції множення, можна скоротити, якщо в кожному циклі аналізувати не один, а два або більше розрядів множнику, виконуючи після аналізу додавання або віднімання та зсув множнику на відповідну кількість розрядів (два або більше). Для організації прискореного множення множник розбивають на групи з двох розрядів і перетворюють його таким чином, щоб кожна група містила не більш одної значущої одиниці (додатної або від'ємної).

Правила перетворення множника з молодших розрядiв у разі групування по два розряди формулюються, враховуючи таке.

Комбінації 00, 01, 10 не перетворюються, а комбінація 11 замінюється комбінацією 1.0, яка містить від'ємну одиницю в даній групі розрядів і додатну одиницю, що передається до наступної групи розрядів множника.

З урахуванням одиниці, що передається з попередньої групи розрядів, у даній групі розрядів після перетворення може зустрітися одна з таких комбінацій:

00 - якщо дана група розрядів містить цифри 00 і з попередньої групи одиниця не передається або якщо дана група розрядів містить цифри 11 і одиниця передається з попередньої групи розрядів;

01 - якщо дана група містить цифри 01 і з попередньої групи одиниця не передається, або якщо дана група розрядів містить 00 і передається одиниця з попередньої групи розрядів;

10 - якщо дана група містить 10 і нема одиниці з попередньої групи або якщо дана група містить 01 і є одиниця з попередньої групи розрядів;

0 - якщо дана група розрядів містить 11 і нема одиниці з попередньої групи або якщо дана група містить 10 і є одиниця з попередньої групи.

Із сказаного випливають правила перетворенням множнику, починаючи з молодших груп розрядів, що наведені в табл. 3.14. Тут - цифри даної групи розрядів; - цифра, що передається з попередньої групи; - перетворені цифри даної групи; - цифра, що передається в наступну групу.

Таблиця 3.14 - Правила перетворенням множнику, починаючи з молодших груп розрядів

0 0

0

0 0

0

0 0

1

0 1

0

0 1

0

0 1

0

0 1

1

1 0

0

1 0

0

1 0

0

1 0

1

0

1

1 1

0

0

1

1 1

1

0 0

1

Страницы: 1, 2, 3, 4




Новости
Мои настройки


   бесплатно рефераты  Наверх  бесплатно рефераты  

© 2009 Все права защищены.