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 розрядів), тому що зі збільшенням розрядності чисел складність таблиці значно зростає.
... автомата повинна містити певну кількість логічний елементів, що утворюють функціонально повну систему для синтезу необхідної комбінаційної схеми. 1.5 Контроль виконання арифметичних операцій Арифметичні операції виконуються на суматорах прямого, оберненого і доповняльного коду. Припустимо, що зображення чисел зберігаються в машині в деякому коді, тобто операція перетворення в заданий код або ...
... в іншу (найчастіше для переведення із двійкової, вісімкової та шістнадцяткової систем числення у десяткову, і навпаки). 6. Програмна реалізація Програма розроблена для перетворення чисел з однієї системи числення в іншу.Реалізована в середовищі програмування Borland C++Builder. Лістінг програми: #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include <math.h> #include < ...
... льш прості операції які називаються мікроопераціями тобто кожна операція – це визначена послідовність мікрооперацій. Існують два основні типи керуючих автоматів 1. Керуючий автомат з жорсткою чи схемною логікою. Для кожної операції будується набір комбінаційних схем які в потрібних тактах збуджують відповідні керуючі сигнали. Іншими словами ...
... тову складність операцій у полі, то можна оцінити результуючу бітову складність операцій з многочленами. Щоб відрізняти арифметичну складність від бітової в оцінках ми використовуватимемо символи і . Обчислення значень многочленів. Нехай – довільне кільце. Розглянемо добре відомий алгоритм Руфіні - Горнера для обчислення значень многочлена над кільцем у точці. Останнє число ,і буде шуканим ...
0 комментариев