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

Меню
Поиск



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

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

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

Розв'язання. Діючи за правилами, що наведені в табл. 3.14, одержимо

0 0

1 0

1 1

1 1

1 0

0 1

1 0

0 1

1 1

+1

+1

+1

+0

+0

+0

+0

+1

0 1

0

0 0

0

1 0

0 1

1 0

1 0

0

Замість 11 одиниць у вихідному представленні множника одержуємо 8 додатних і від'ємних одиниць у перетвореному.

Відповідь: 010000100110100.

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

Якщо група містить комбінацію 00, то це означає, що протягом двох найближчих циклів множення не потрібно буде виконувати ні додавань, ні віднімань; при наявності комбінації 01 потрібно буде виконати одне додавання в першому з двох найближчих циклів множення, а у разі комбінації 10 - у другому. Коли група містить комбінацію 0, то буде потрібно виконати одне віднімання в першому з двох найближчих циклів множення.

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

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

Розв'язання. Діючи за правилами, що наведені в табл. 3.15, одержимо

Замість 11 одиниць у вихідному представленні множника одержуємо 7 додатних і від'ємних одиниць у перетвореному.

Відповідь: 01000000100100.

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

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

0 0

0

0 0

0 0

1

0 1

0 1

0

0 1

0 1

1

1 0

1 0

0

0

1 0

1

0

1 1

0

0

1 1

1

0 0

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

Середня кількість додавань-віднімань дорівнює 0,375п. З урахуванням цього середній час множення складає:

- для першого і другого методів множення

;

- для третього і четвертого методів множення

.

Метод множення з послідовним перетворенням цифр множника передбачає послідовний аналіз цифр множника без розбиття на групи. При цьому використовується такі правила перетворення:

- якщо дана цифра неперетвореного множника не збігається із сусідньою праворуч цифрою, сусідня ліворуч цифра є 0 і попередня цифра перетвореного множника є 0, то даний розряд у перетвореному множнику є 1;

- якщо дана цифра неперетвореного множника не збігається із сусідньою праворуч цифрою, сусідня ліворуч цифра є 1 і попередня цифра перетвореного множника є 0, то даний розряд перетвореного множника повинний містити ;

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

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

Описане послідовне перетворення розрядів множнику забезпечує під час множення в середньому 0,333п додавань-віднімань. Це найкращий результат, що може бути отриманий для логічних методів прискорення множення.

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

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

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

Спочатку розглянемо апаратні методі прискорення операції множення першого порядку.

1. Метод множення з перетворенням цифр множнику групування розрядiв і використанням кратних множеного.

Практично використовують розбиття на групи з чотирьох розрядів, що рівносильне переходу до шестнадцаткової системи числення. При цьому розглядається чергова цифра (тетрада) множника і його попередня цифра (тетрада). В залежності від значень цифри множнику в попередньому розряді виконуються різні дії (табл.3.16). Для реалізації такого множення потрібно попередньо сформувати кратні множеного: А, 2А, 3А і 6А.

Аналіз чотирьох двійкових розрядів одночасно дає можливість одразу здійснити зсув на чотири розряди.

Таблиця 3.16 - Дії, що виконуються в залежності від цифр множника

Тетрада, що

аналізується

Значення попередньої цифри

Тетрада, що

аналізується

Значення попередньої цифри

?8

<8

?8

<8

0 0 0 0

+А

0

1 0 0 0

- (6А+А)

+(6А+2А)

0 0 0 1

+2А

+А

1 0 0 1

- 6А

- (6А+А)

0 0 1 0

+3А

+2А

1 0 1 0

- (3А+2А)

- 6А

0 0 1 1

+(2А+2А)

+3А

1 0 1 1

- (2А+2А)

- (3А+2А)

0 1 0 0

+(3А+2А)

+(2А+2А)

1 1 0 0

- 3А

- (2А+2А)

0 1 0 1

+6А

+(3А+2А)

1 1 0 1

- 2А

- 3А

0 1 1 0

+(6А+А)

+6А

1 1 1 0

- А

- 2А

0 1 1 1

+(6А+2А)

+(6А+А)

1 1 1 1

0

- А

2. Метод множення з аналізом довільної кількості розрядiв множнику. Ідея методу полягає у виявленні послідовностей нулів і одиниць з наступної груповою обробкою розрядів множнику. Якщо виявляється група вигляду , то виконується одразу зсув на k-1 розрядів і додавання множеного. Якщо аналізується група вигляду , то здійснюється зсув одразу на k-1 розрядів і віднімається множене. Коли аналізується група розрядів вигляду , то виконується її перетворення в нову групу вигляду . Код цієї групи показує, що спочатку виконується віднімання множеного, а потім зсув одразу на k-1 розрядів.

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

3. Метод множення з розбиттям множника на частини передбачає одночасне виконання множення числа А на окремі частини числа В з наступним додаванням отриманих результатів.

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

.

Якщо множення на частини виконується за першим і другим методами, то час множення дорівнює:

.

4. Метод множення з використанням таблиць квадратів чисел базується на тотожності:

.

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

Різновид цього методу множення описується тотожністю

.

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

4. Метод множення з запам'ятовуванням проміжних перенесень.

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

Приклад 3.14. Помножити числа А = 0, 10110 і В = 0, 11011, використовуючи метод множення з запам'ятовуванням проміжних перенесень.

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

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

Таблиця 3. 17 - Приклад множення з запам'ятовуванням перенесень

Для остаточних кодів S і P виконується додавання з розповсюдженням перенесення:

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

До апаратних методів прискорення операції множення другого порядку відносяться матричні методи множення.

Коли множене і множник розташовані в регістрах машини, можна утворити відразу всі часткові добутки і здійснити їх одночасне додавання, використовуючи певну кількість суматорів. Узагальнена структура пристрою, що реалізує таке множення (рис. 3.6), містить: регістри РгА і РгВ, в яких зберігаються множене і множник, відповідно; блок елементів І, що забезпечує формування всіх часткових добутків; блок суматорів, у якому здійснюється одночасне додавання всіх часткових добутків.

Матричні методи множення відрізняються саме організацією одночасного додавання.

Рис. 3.6. Узагальнена структура пристрою, що реалізує матричний метод множення

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




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


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

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