- •Исходные данные:
- •Разработка алгоритма умножения
- •Умножение по алгоритму в
- •Разработка структурной схемы сумматора-умножителя
- •Минимизация функции картами Карно:
- •Минимизация функции картами Вейча:
- •Минимизация функции картами Карно:
- •Логический синтез одноразрядного четверичного сумматора
- •Минимизация функции п картами Вейча:
- •Минимизация функции картами Карно:
- •Минимизация функции с помощью алгоритма Рота:
- •Поиск l-экстремалей.
- •Проверка функции картами Карно:
- •Оценка эффективности минимизации переключательных функций
- •Синтез очс на основе мультиплексора
- •Логический синтез преобразователя множителя (пм)
Министерство образования Республики Беларусь
Учреждение образования
Белорусский государственный университет информатики и радиоэлектроники
Кафедра электронных вычислительных машин
Пояснительная записка к типовому расчету по дисциплине «Арифметические и логические основы вычислительной техники»
Тема: Разработка сумматора-умножителя
Выполнил:
Студент гр. 150501
Николаев Михаил
Проверено
___________________
Луцик Ю. А.
Минск 2011
Исходные данные:
Исходные сомножители: = 36,25; = 47,51;
Алгоритм умножения: В;
Метод умножения: умножение закодированного двоично-четверичного множимого на 2 разряда двоичного множителя одновременно в прямых кодах;
Варианты кодирования четверичных цифр двоичными кодами:
= 11; = 01; = 10; = 00;
Тип синтезируемого умножителя: структурные схемы приведены для умножителя 1-го типа (ОЧУ, ОЧС, аккумулятор).
Метод минимизации ОЧС: алгоритм Рота
Метод минимизации ОЧУ: карты Карно-Вейча
Функционально полный логический базис для схемы ОЧС:
Логический базис для реализации ОЧС:
Функционально полный логический базис для схемы ОЧУ:
Логический базис для реализации ОЧУ:
Арифметические операции сложения двоично-четверичных чисел с разными знаками в дополнительных кодах и умножения на 2 разряда множителя в прямых кодах должны выполняться одним цифровым устройством, именуемым сумматор-умножитель. Учитывая то, что суммирующие узлы обязательно входят в состав умножителя, начнем синтез с разработки алгоритма умножения.
Разработка алгоритма умножения
Перевод сомножителей из десятичной системы счисления в четверичную:
Множимое:
_36| 4
36| 9| 4
0 8|2
* |
0,25 4 |
* |
1,00 |
4 |
|
* |
0,00 |
4 |
|
|
0,00 |
=210,100
=100111,001111
Множитель:
_47| 4
4 |11| 4
* |
0,51 4 |
* |
2,04 |
4 |
|
* |
0,16 |
4 |
|
|
0,64 |
4 3
3
=233,200
=100000,101111
Запишем сомножители в форме с плавающей запятой в прямом коде:
Мн = 0,100111001111 = 0.1100 (закодировано по заданию)
Мт = 0,100000101111 = 0.1100
Умножение двух чисел с плавающей запятой на 2 разряда множителя одновременно в прямых кодах сводится к сложению порядков, формированию знака произведения, преобразованию разрядов множителя согласно алгоритму и перемножению мантисс сомножителей.
-
= 0.1100
+3
= 0.1100
+3
P = 0.0110
+6
Результат закодирован в соответствии с заданием на кодировку множимого.
Знак произведения определяется суммой по модулю два знаков сомножителей:
зн Мн зн Мт = 0 + 0 = 0
Для умножения мантисс необходимо предварительно преобразовать множитель, чтобы исключить диаду 11 (34), заменив ее на триаду 101 и диаду 10 (24).
Преобразованный множитель имеет вид:
=
Мн = 0,0210100
2Мн = 0,1020200
= 3,3123300
Умножение по алгоритму в
0,000000000000 |
11,111111111111111111111111 |
|
0,000000210100 |
11,111111111111100111011111 |
Мн |
0,000000210100 |
11,111111111111100111011111 |
|
0,000002101000 |
11,111111111110011101111111 |
|
3,333333123100 |
00,000000000000011000011111 |
Мн |
0,000001230300 |
11,111111111101100011001111 |
|
0,000012303000 |
11,111111110110001100111111 |
|
0,000123030000 |
11,111111011000110011111111 |
|
3,333333123100 |
00,000000000000011000011111 |
Мн |
0,000122213300 |
11,111111011010100100001111 |
|
0,001222133000 |
11,111101101010010000111111 |
|
0,000001020200 |
11,111111111101111011101111 |
Мн |
0,001223213200 |
11,111101101000100100101111 |
|
0,012232132000 |
11,110110100010010010111111 |
|
0,122321320000 |
11,011010001001001011111111 |
|
После окончания умножения необходимо оценить погрешность вычислений. Для этого полученное произведение = 0,122321320000, ( * 6) приводится к нулевому порядку, а затем переводится в десятичную систему счисления:
= 122321,320000
= 1722,2375
Результат прямого перемножения операндов дает следующее значение:
= 1721,875
Абсолютная погрешность:
Δ = 1722,2375 - 1721,875 = 0,3625
δ ; δ =
Эта погрешность получена за счет приближенного перевода из десятичной системы счисления в четверичную обоих сомножителей, а также за счет округления полученного результата произведения.