- •Содержание
- •1. Задание к курсовому проекту
- •2. Исходные данные к курсовому проекту
- •3. Разработка алгоритма умножения
- •4. Разработка структурной схемы сумматора-умножителя 2 типа для алгоритма умножения "б"
- •5. Разработка функциональных схем основных узлов сумматора-умножителя
- •5.1 Логический синтез одноразрядного четверичного сумматора-умножителя:
2. Исходные данные к курсовому проекту
Исходные операнды Мн = 45,44 Мт = 57,31
Алгоритм выполнения операции умножения: Б – умножение начинается с младших разрядов множителя со сдвигом частичных произведений (множимого) влево.
Метод ускоренного умножения, на базе которого строится умножитель:
умножение закодированного двоично-четверичного множимого на 2 разряда двоичного множителя одновременно в прямых кодах.
Двоичные коды четверичных цифр множимого для работы в двоично-четверичной системе счисления: 04 ─ 01, 14 ─ 00, 24 ─ 11, 34 ─ 10.
Множитель представляется обычным весомозначным кодом: 04 ─ 00, 14 ─ 01, 24 ─ 10, 34 ─ 11.
Тип синтезируемого устройства умножения:
Логический базис для реализации ОЧС: А3 Карты Карно-Вейча.
Логический базис для реализации ОЧУ (ОЧУС): А6 метод Квайна – Мак-Класки.
Тип реализуемой структурной схемы: 2.
3. Разработка алгоритма умножения
1. Перевод сомножителей из десятичной системы счисления в четверичную:
Множимое Множитель
-
_45
4
0,44
_57
4
0,31
44
_11
4
4
56
14
4
4
1
8
2
1,76
1
12
3
1,24
3
4
2
4
3,04
0,96
4
3,84
4
3,36
Мн4 = 231,13 Мт4 = 321,1033
В соответствии с заданной кодировкой:
Мн2/4 = 111000,0010 Мт2/4 = 101100,00011010
2. Запишем сомножитель в форме с плавающей запятой в прямом коде:
Мн2/4 = 0,1110000010 РМн = 0.1010 +0310 -закодировано по заданию
Мт2/4 = 0,11100101001111 РМт = 0.1010 +0310 -закодировано традиционно
3. Умножение двух чисел с плавающей запятой на два разряда множителя одновременно в прямых кодах. Это сводится к сложению порядков, формированию знака произведения, преобразованию разрядов множителя согласно алгоритму, и перемножению мантисс сомножителей.
Порядок произведения будет равен:
РМн = 0. 1010 03
РМт = 0.1010 03
1,0110 13
Знак произведения определяется суммой по модулю “два” знаков сомножителей:
зн Мн ⊕ зн Мт = 0 ⊕ 0 = 0.
Для умножения мантисс необходимо предварительно преобразовать множитель. При умножении чисел в прямых кодах диада 11(34) заменяется на триаду 1 . Преобразованный множитель имеет вид:
МтП4 =
Для умножения мантисс также понадобятся заготовки в виде –Мнд и 2Мнд:
[–Мн4]д = 0,10221; [–Мн2]д = 10,0001111100
[2Мн4]д = 0.12232; [2Мн2]д = 01,100001111110
Таблица 1.1 – Перемножение мантисс по алгоритму Б:
Четверичная с/с |
Двоично-четверичная с/с |
Комментарии |
||||
0. |
000000 |
000000 |
01. |
01 01 01 01 01 01 |
01 01 01 01 01 01 |
|
0 |
000000 |
010221 |
01. |
00 00 00 00 00 00 |
10 10 11 00 11 11 |
|
0 |
000000 |
010221 |
00. |
00 00 00 00 00 00 |
10 10 11 00 11 11 |
|
0 |
000002 |
311300 |
01. |
01 01 01 01 01 10 |
00 01 11 11 10 01 |
|
0 |
000002 |
322121 |
01. |
01 01 01 01 01 10 |
11 10 00 01 00 11 |
|
0. |
000023 |
113000 |
01. |
01 01 01 01 11 11 |
10 01 10 00 01 01 |
|
0. |
000032 |
101121 |
01. |
01 01 01 01 11 00 |
00 00 11 00 00 11 |
|
0. |
000231 |
130000 |
01. |
01 01 01 10 00 01 |
11 11 10 01 01 01 |
|
0. |
000323 |
231121 |
01. |
01 01 01 00 11 01 |
11 01 00 00 00 11 |
|
0. |
001223 |
200000 |
00. |
00 00 10 10 11 00 |
11 11 01 01 01 01 |
|
0. |
002313 |
131121 |
00. |
00 00 00 11 10 00 |
10 11 00 00 00 11 |
|
0. |
010221 |
000000 |
00. |
00 10 10 11 00 11 |
11 01 01 01 01 01 |
|
0. |
013301 |
131121 |
00. |
00 10 11 00 10 01 |
00 11 00 00 00 11 |
|
0. |
122320 |
000000 |
01. |
11 11 10 01 10 00 |
01 01 01 01 01 01 |
|
0. |
203321 |
131121 |
01. |
11 01 01 01 01 00 |
00 11 00 00 00 11 |
|
После окончания умножения необходимо оценить погрешность вычислений. Для этого полученное произведение (Мн·Мт4 = 0,203321131121, РМн · Мт = 6) приводится к нулевому порядку, а затем переводится в десятичную систему счисления:
Мн · Мт4 = 203321.131121, РМн · Мт = 0;
Мн · Мт10 = 2297,4593
Результат прямого перемножения операндов дает следующее значение:
Мн10 · Мт10 = 88,69 ·11,59 = 2604,1664.
Абсолютная погрешность:
Δ = 2604,1664– 2297,4593= 306,7.
Относительная погрешность: