Курсова робота Розробка схеми блоку арифметико-логічного пристрою для множення двох
Арифметико-логічні устрою (АЛУ) служать до виконання арифметичних і логічних перетворень над словами, званими у разі операндами. Операндами можуть бути двійкові числа з фіксованою комою (дрібні та цілі), двійкові (або шістнадцяткові) числа з плаваючою комою, десяткові цілі числа, команди або окремі їхні поля, логічні коди, алфавітно-цифрові поля. Операнди можуть мати постійну або змінну довжину.
Операції, що виконуються в АЛУ, можна розділити на групи:
- операції двійкової арифметики для чисел із фіксованою комою;
- Операції двійкової арифметики для чисел з плаваючою комою;
- Операції десяткової арифметики;
- Операції індексної арифметики;
- Операції спеціальної арифметики;
- Операції над логічними кодами (логічні операції);
- Операції над алфавітно-цифровими полями.
До арифметичних операцій належать додавання, віднімання, множення та поділ. Групу логічних операцій складають операції диз'юнкції (логічне АБО) та кон'юнкції (логічне І). Спеціальні арифметичні команди включають нормалізацію, арифметичний зсув, логічний зсув.
Можна навести таку класифікацію АЛП.
За способом дії над операндами АЛУ поділяються на послідовні та паралельні. У послідовних АЛУ операнди подаються в послідовному коді, а операції проводяться послідовно в часі над окремими розрядами. У паралельних АЛУ операнди представляються паралельним кодом і операції здійснюються паралельно у часі над усіма розрядами операндів.
За способом представлення чисел розрізняють АЛУ:
-для чисел із фіксованою комою;
- для чисел із плаваючою комою;
- Для десяткових чисел.
АЛУ для чисел з фіксованою комою у свою чергу діляться на АЛУ з дробовими та АЛУ з цілими числами.
За способом реалізації роботи розрізняють асинхронні та синхронні АЛУ. У асинхронних АЛУ визначається момент фактичного закінчення операції, після чого негайно може починатися наступна операція. У синхронних АЛУ незалежно від фактичної тривалості операції, що визначається значеннями операндів, виконання окремих операцій відводиться фіксований час.
За характером використання елементів та вузлів АЛУ поділяються на блокові та багатофункціональні. У блочному АЛУ операції над числами з фіксованою та плаваючою комою, десятковими числами та алфавітно-цифровими полями виконуються в окремих блоках. У цьому підвищується швидкість роботи, т.к. блоки можуть паралельно виконувати відповідні операції, але значно зростають витрати на обладнання. У багатофункціональних АЛУ операції всім форм подання чисел виконуються одними й тими ж схемами, які комутуються необхідним чином залежно від необхідного режиму роботи.
За своїми функціями АЛУ є операційним блоком, що виконує мікрооперації, що забезпечують прийом інших пристроїв (наприклад, пам'яті) операндів, їх перетворення і видачу результатів в інші пристрої. АЛУ управляється керуючим блоком, що генерує керуючі сигнали, що ініціюють виконання АЛУ певних мікрооперацій. Генерована керуючим блоком послідовність сигналів визначається кодом операції команди та оповіщаючими сигналами.
Проектування АЛУ включає вибір кодів для представлення даних, визначення алгоритмів виконання окремих операцій,структур операційних блоків та реалізованих у них наборів мікрооперацій Потім проводять об'єднання окремих операційних блоків та відповідних наборів мікрооперацій в один багатофункціональний операційний блок або кілька блоків окремих груп операцій. Прагнення забезпечити можливість ефективного об'єднання операційних блоків окремих операцій впливає вибір їх структур.
1.Опис алгоритму обчислення
Заданий алгоритм цілочисленного множення двійкових чисел, починаючи з молодших розрядів, при нерухомому множині та зрушенні суми часткових творів праворуч, представлений на рис.1. На початку відбувається перевірка молодшого розряду множника Y якщо він дорівнює 1, то до старшої половини RgY додається множник X, а потім відбувається зсув вмісту регістра RgY вправо на один розряд.

При нульовому молодшому розряді підсумовування немає, а відбувається лише зрушення. Далі лічильник розрядів зменшується на одиницю. Описана послідовність дій повторюється до того часу, поки лічильник розрядів стане рівним нулю. Після цього змінна Z (сума часткових творів) стає результатом обчислення – твором.
Для восьмирозрядного і восьмирозрядного множника процес множення буде виглядати наступним чином :
Нехай X = 10011101, Y = 00111001, X ´ Y = Z
| N такту | Y H | Y L | J |
| 1 | 0 0 0 0 0 0 0 0 | 0 0 1 1 1 0 0 1 | 0 |
| 2 | 1 0 0 1 1 1 0 1 | 0 0 1 1 1 0 0 1 | 0 |
| 3 | 0 1 0 0 1 1 1 0 | 1 0 0 1 1 1 0 0 | 1 |
| 4 | 0 1 0 0 1 1 1 0 | 1 0 0 1 1 1 0 0 | 1 |
| 5 | 0 0 1 0 0 1 1 1 | 0 1 0 0 1 1 1 0 | 2 |
| 6 | 0 0 1 0 0 1 1 1 | 0 1 0 0 1 1 1 0 | 2 |
| 7 | 0 0 0 1 0 0 1 1 | 1 0 1 0 0 1 1 1 | 3 |
| 8 | 1 0 1 1 0 0 0 0 | 1 0 1 0 0 1 1 1 | 3 |
| 9 | 0 1 0 1 1 0 0 0 | 0 1 0 1 0 0 1 1 | 4 |
| 10 | 1 1 1 1 0 1 0 1 | 0 1 0 1 0 0 1 1 | 4 |
| 11 | 0 1 1 1 1 0 1 0 | 1 0 1 0 1 0 0 1 | 5 |
| 12 | 0 0 0 1 0 1 1 1 | 1 0 1 0 1 0 0 1 | 5 |
| 13 | 1 0 0 0 1 0 1 1 | 1 1 0 1 0 1 0 0 | 6 |
| 14 | 1 0 0 0 1 0 1 1 | 1 1 0 1 0 1 0 0 | 6 |
| 15 | 0 1 0 0 0 1 0 1 | 1 1 1 0 1 0 1 0 | 7 |
| 16 | 0 1 0 0 0 1 0 1 | 1 1 1 0 1 0 1 0 | 7 |
| 17 | 0 0 1 0 0 0 1 0 | 1 1 1 1 0 1 0 1 | 0 |
| 18 | 0 0 1 0 0 0 1 0 | 1 1 1 1 0 1 0 1 | 0 |
Результат твору Z = 0010001011110101. Отриманий результат неважко перевірити. У десятковій системі матимемо Х = 157, Y = 57. Тоді результат у десятковій системі дорівнюватиме Z = 8949. Таким чином, щоб помножити два восьмирозрядні числа, необхідно зробити вісім разів додавання і вісім разів зрушення.
2.Розробка структурної схеми
АЛУ, що розробляється, матиме восьмирозрядний вхід даних X, восьмирозрядний вхід даних Y, шістнадцятирозрядний вихід результату Z, вхід початку обчислення START, вихід готовності результатуREADY, вхід примусового скидання R та тактовий вхід C (рис.2.1).

Малюнок 2.1. Умовне графічне зображення АЛУ.
При розробці структурної схеми необхідно звернути увагу на зменшення кількості застосовуваних елементів, що у свою чергу призведе до зниження споживаної потужності. Водночас необхідно забезпечити час обчислення менш заданого. Також необхідно приділити увагу запобіганню перегонам у схемі.
Вихідними для розробки структурної схеми є алгоритм обчислення. Відповідно до заданого алгоритму обчислення для його реалізації, як мінімум, знадобляться два регістри для зберігання та зсуву операндів. Для реалізації лічильника потрібно три тригери. Для визначення закінчення обчислення потрібна схема порівняння J з 0.
Для реалізації математичних обчислень знадобиться восьмирозрядний суматор.
Розроблена структурна схема показано на рис. 2.2. У цій схемі множник Y і результат Z зберігаються в одному 16-розрядному зсувному регістрі RgY. Регістри RgХ та RgY мають як прямі, так і інверсні виходи, що дозволяє зменшити кількість елементів у суматорі.

Як видно зі схеми, активний рівень сигналів управління - високий, і пристрій управління тактується по фронту імпульсу, а виконавчі пристрої - за спадом, що дозволяє уникнути гонок у схемі.
3Синтез Компонентів
Так як побудувати суматор відразу для восьми розрядів досить складно, суматор виконуватимемо за схемою послідовного з'єднання повних однорозрядних суматорів.
Таблиця істинності повного двійкового суматора наведена в табл.3.1, де а і b - доданки, S - сума, P - перенесення зпопереднього розряду. Рn – перенесення до наступного розряду.
| а | B | P | S | Рn |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
За таблицею істинності будуємо карти Карно (рис.3.1) та проводимо мінімізацію логічних виразів, що описують роботу повного суматора.