WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаТехнічні науки → Виконання операцій множення і ділення у двійковій системі числення - Курсова робота

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

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

Е т а п и

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

Додавання

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

Додавання

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

Додавання

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

Додавання

Таблиця 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, яка містить від'ємну одиницю в даній групі розрядів і додатну одиницю, що передається до наступної групи розрядів множника.

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

Loading...

 
 

Цікаве