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