- •Прикладна теорія цифрових автоматів
- •Загальні методичні вказівки
- •Тема: Проектування спеціалізованих арифметико-логічних пристроїв
- •Методичні вказівки до виконання курсової роботи
- •Загальні відомості
- •1. Вибір схеми операційного автомату та опис його роботи.
- •2. Принципіальна схема модуля операційного блока (моб).
- •3. Приведення змістовного алгоритму виконання операції.
- •Граф-схеми мікропрограми ка.
- •5. Проектування модуля ка.
- •Структурний синтез автомата Мілі
- •Побудова схеми керуючого автомата
- •Структурний синтез автомата Мура
- •Зауваження
- •Література
- •Проектування спеціалізованих арифметико-логічних пристроїв
- •1. Реалізація операції додавання і віднімання
- •1.1. Алгоритм додавання і віднімання двійкових чисел
- •1.2. Функціональна схема алп для виконання операцій додавання і віднімання
- •1.3. Мікропрограма додавання та віднімання двійкових чисел
- •2. Реалізація операції множення
- •2.1. Алгоритм множення двійкових чисел із зсувом суми часткових добутків вправо
- •2.2. Функціональна схема алп для операції множення
- •2.3. Мікропрограма множення цілих чисел
- •2.4. Перший алгоритм множення у прямому коді.
- •2.5. Другий алгоритм множення у прямому коді.
- •2.6. Третій алгоритм множення у прямому коді.
- •2.7. Четвертий алгоритм множення у прямому коді.
- •3. Реалізація операції ділення
- •3.1. Алгоритм ділення цілих чисел
- •3.2. Функціональна схема алп для мікропрограми ділення
- •3.3. Мікропрограма ділення цілих чисел без відновлення залишку
2.6. Третій алгоритм множення у прямому коді.
Третій основний алгоритм множення Z= X*Y можна отримати за рекурентною формулою добутка
Zi = Zi-1 2 + xi 2 – n Y, i = де Z0 = 0, Zn = Z.
В відповідності з цією формулою множення починається зі старших розрядів множника, сума часткових добутків зсувається вліво, число кроків множення дорівнює n, закінчується виконання алгоритму додаванням. Довжину в 2n розрядів повинен мати тільки регістр PZ. ГСА алгоритму має вигляд:
Проте оскільки зсуви в РХ та PZ виконуються в одну й ту ж сторону, то в варіантах цього алгоритму старші розряди добутку можна заносити в регістр РХ.
Приклад цифрової діаграми множення чисел Х=11/16 та Y=10/16, n=4
x1*PX |
PY |
PZ |
СТК |
Пояснення |
1011
0110 1100
1000 |
1010
1010 1010
1010 |
00000000 1010 |
001
010 011
100
END |
Початковий стан +Y Результат сумування Зсув Зсув +Y Результат сумування Зсув +Y Результат сумування |
00001010 00010100 00101000 1010 |
||||
00110010 01100100 1010 |
||||
01101110 |
Побудова функціональної схеми та мікропрограма розробляються аналогічно до Додатку пункти 2.2. та 2.3..
Продовження додатку
2.7. Четвертий алгоритм множення у прямому коді.
По четвертому основному алгоритму множення Z =X*Y зводиться до обчислювання за рекурентною формулою
Zi = Zi-1 + xi Yi, i = де Z0 = 0, Zn = Z. Y0 = Y, Yi = Yi-12-1.
Тут множення починається зі старших розрядів множника, сума часткових добутків нерухома, в процесі множення множене зсувається вправо, закінчується множення додаванням. Очевидно, що довжину в 2n розрядів тут повинні мати регістри PY та PZ. Оскільки сума часткових добутків нерухома, то використовувати для зберігання її частини регістр РХ, що звільняється, неможливо. Проте закінчення операції можна визначати за нулоьвим вмістом РХ і, таким чином, виключити СТК. Відмінностями на ГСА, як і при множенні за другим основним алгоритмом, буде заміна умови СТК = n умовою PX = 0 та вилучення елементарних операцій на СТК. ГСА такого множення має вигляд:
Цифрова діаграма множення чисел Х = 7/16; Y = 15/16, n = 4.
x1*PX |
PY |
PZ |
СТК |
Пояснення |
0111 1110
1100
1000
|
01111000 00111100
00011110
00001111
|
00000000 00000000 00111100 |
001 010 |
Початковий стан Зсув +Y Результат додавання Зсув +Y Результат додавання Зсув +Y Результат додавання |
00111100 00111100 00011110 |
011 |
|||
01011010 01011010 00001111 |
100 |
|||
01101001 |
END |
T = (n-1)(tз+t+)+t+
Побудова функціональної схеми та мікропрограма розробляються аналогічно до Додатку пункти 2.2. та 2.3..
Продовження додатку