Множительное устройство
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Введение
Курсовой проект предполагает синтез множительного устройства для умножения чисел с плавающей запятой, представленных в двоично-четверичной системе счисления. Процесс умножения фактически является повтором некоторых циклических действий, число повторений которых зависит только от разрядности сомножителей. Для получения действительного произведения необходима аппаратура для хранения и сдвига модуля множимого удвоенной разрядности, для хранения модуля множителя, сумматор удвоенной разрядности и устройство для хранения суммы накопившихся частичных произведений. Умножение выполняется только сдвигами и сложением. Целью данного проекта является разработка процессов умножения и суммирования и реализация их в заданном функционально полном логическом базисе. Все действия производимые в ходе проекта выполняются исключительно по законам и следствиям булевой алгебры. Также одной из целей является практическое определение действительных временных затрат на выполнение умножения и суммирования в зависимости от заданного логического базиса.
1. Разработка алгоритма умножения
В разработке алгоритма умножения можно выделить следующие составные элементы:
) Перевод сомножителей из десятичной системы счисления в четверичную, а затем в двоично-четверичную:
Мн10 Мн4 Мн2\4
,3010 231,1034 11 00 01, 01 10 00 2/4
Мт10 Мт4 Мт2\4
,1410 313,0204 00 10 01 , 01 01 00 2/4
) Запишем сомножители в форме с плавающей запятой:
Мн = 1 , 11 00 01 01 10 00 0 , 10 00
Мт = 0 , 00 01 00 10 11 10 0 , 10 00 .
) Перемножение двух чисел с плавающей запятой сводится к сложению порядков, формированию знака произведения и перемножению мантисс сомножителей.
Порядок произведения будет равен:
ПМн = 0, 10 00
+ПМт = 0, 10 00
ППр = 0, 01 11
Знак произведения определяется суммой по модулю двух знаков сомножителей, т.е.
ЗнМн ЗнМт = 1 0 = 1
Перемножение мантисс приведено в Таблице 1.1:
Таблица 1.1
Умножение в четверичной с/сУмножение в 2/4 с/с1 такт0 0 0 0 0 0 0 0 0 0 0 0 10 10 10 10 10 10 10 10 10 10 10 10Mн0 0 0 0 0 02 3 1 1 0 3 10 10 10 10 10 1011 00 01 01 10 003 1 3 0 2 000 01 00 10 11 10 0 0 0 0 0 2 0 1 3 3 2 110 10 10 10 10 11 10 01 00 00 11 01
Таблица 1.1(окончание)
2 такт0 0 0 0 2 0 1 3 3 2 1 010 10 10 10 11 10 01 00 00 11 01 10Мн0 0 0 0 0 02 3 1 1 0 3 10 10 10 10 10 1011 00 01 01 10 001 3 0 2 0 0 01 00 10 11 10 10 0 0 0 0 2 10 3 0 3 1 3 10 10 10 10 11 01 10 00 10 00 01 003 такт0 0 0 2 1 03 0 3 1 3 010 10 10 11 01 10 00 10 00 01 00 10Мн0 0 0 0 0 02 3 1 1 0 3 10 10 10 10 10 1011 00 01 01 10 003 0 2 0 0 0 00 10 11 10 10 10 0 0 0 2 1 23 2 3 1 1 1 10 10 10 11 01 1100 11 00 01 01 01 4 такт0 0 2 1 2 3 2 3 1 1 1 010 10 11 01 11 0011 00 01 01 01 10Мн0 0 0 0 0 02 3 1 1 0 3 10 10 10 10 10 1011 00 01 01 10 000 2 0 0 0 0 10 11 10 10 10 100 0 2 1 2 3 2 3 1 1 1 010 10 11 01 11 0011 00 01 01 01 105 такт0 2 1 2 3 23 1 1 1 0 010 11 01 11 00 1100 01 01 01 10 10Мн0 0 0 0 0 02 3 1 1 0 3 10 10 10 10 10 1011 00 01 01 10 002 0 0 0 0 011 10 10 10 10 10 0 2 1 3 0 00 3 3 3 1 210 11 01 00 10 1010 00 00 00 01 116 такт2 1 3 0 0 03 3 3 1 2 011 01 00 10 10 1000 00 00 01 11 10Мн 0 0 0 0 0 02 3 1 1 0 3 10 10 10 10 10 1011 00 01 01 10 000 0 0 0 0 0 10 10 10 10 10 102 1 3 0 0 03 3 3 1 2 011 01 00 10 10 10 00 00 00 01 11 10Произведение до округления Mн*Mт = 1,11 01 00 10 10 10 00
Для округления добавим к седьмому разряду 11.
Произведение после округления: Мн*Мт = 1,11 01 00 10 10 01 01
) Полученный результат можно перевести в десятичную систему и оценить погрешность вычислений. Для этого полученное ранее произведение приводится к нулевому порядку, а затем переводится в десятичную систему счисления:
(Mн Mт)10 = - ( 2 45 + 1 44 + 3 43 + 1 40 + 1 40 ) = - 2497,25 10
Результат прямого перемножения операндов дает следующее значение:
н10 Mт10 = 55,14 (-45,30)= - 2497,84210
Абсолютная погрешность:
D = - 2497,842 - (- 2497,25) = - 0,592
Относительная погрешность:
d = D / (Мн Мт) =0,592 / 2497,842 = 0,00024 (d = 0,024 %)
Эта погрешность является суммарной, накопленной за счет приближённого перевода из 10 с/с в четверичную обоих сомножителей, а также за счет округления полученного результата произведения.
2. Разработка структурной схемы
При разработке устройства умножения использование непосредственно четверичной системы затруднительно. Поэтому четверичные цифры кодируються двоичными эквивалентами (диадами) так, что перемножение одной четверичной цифры на другую заменяется перемножением их двоичных эквивалентов. В связи с этим для получения четверичного разряда произведения строится отдельная схема - одноразрядный четверичный умножитель (ОЧУ)(Рис 2.1.), на входы которого поступают диады Мн и Мт.
Для суммирования необходим одноразрядный четверичный сумматор (ОЧС), на входы которого поступают диады четверичных цифр с учетом их сдвига влево. На выходе ОЧС (Рис 2.2.) формируются четверичные цифры произведения, представленные двоичными эквивалентами. Младший разряд произведения как и старший формируется без суммирования, однако в старший разряд поступает единица переноса из младшего разряда. С учетом этого структура ОЧС старшего разряда может быть несколько проще ОЧС других разрядов.
При умножении Мн на последующие цифры Мт на выходах ОЧС в каждом такте умножения будут появляться двоичные диады, которые добавляясь к сумме ранее полученных диад постепенно образуют полное произведение. Для накопления произведения необходимы регистры и схемы суммирования, аналогичные ОЧС.
Знак произведения формируется сложением по модулю 2 знаков Мн и Мт. Порядок произведения вычисляется сложением дополнительных кодов порядков сомножителей.
Рис 2.1. Схема ОЧУ
Рис 2.2. Схема ОЧС
множительный устройство система счисление
Временные затраты на умножение шестиразрядных сомножителей определяются в основном затратами на образование частичных произведений, получаемых на выходах ОЧС, и примерно равны