Разработка сумматора-умножителя.
1. Введение. Курсовой проект предполагает синтез цифровых схем арифметических устройств, выполняющих операции сложения, вычитания, умножения над числами, представленными в форме с плавающей запятой в двоичной и двоично-четверичной системах счисления. 2. ИСХОДНЫЕ ДАННЫЕ К КУРСОВОМУ ПРОЕКТУ В качестве исходных данных к курсовому проекту задается следующее: 1. Исходные операнды - десятичные числа с целой и дробной частью, над которыми производится операция умножения (Мн=29.63, Мт=63.29). 2. Алгоритм выполнения операции умножения: Б. 3. Метод ускоренного умножения на базе которого строится умножитель: умножение закодированного двоично-четверичного множимого на 2 разряда двоичного множителя одновременно в прямых кодах; Преобразование множителя производится для исключения из процесса умножения диады множителя 11. 4. Двоичные коды четверичных цифр множимого для работы в двоично-четверичной системе счисления (вариант кодирования учитывается при выполнении арифметических операций: 04 - 10, 14 - 01, 24 - 00, 34 - 11. ) 5. ). Множитель представляется обычным весомозначным кодом: 04 - 00, 14 - 01, 24 - 10, 34 - 11. 6. Тип синтезируемого устройства умножения: умножитель 2-го типа строится на базе ОЧУС, ОЧС и регистра результата. 7. Способ минимизации и логический базис для аппаратной реализации ОЧУС (Алгоритм Рота) и ОЧС (Карты Карно-Вейча) , ОЧС реализуется на мультиплексорах. Логический базис : Х1 Х1Х2 Х2 3. РАЗРАБОТКА АЛГОРИТМА УМНОЖЕНИЯ. ИСХОДНЫЕ ДАННЫЕ: Исходные сомножители: Мн=29,63: Мт= 63,29. Алгоритм умножения: Б. Метод умножения : умножение закодированного двоично-четверичного множимого на 2 разряда двоичного множителя одновременно в прямых кодах. Коды четверичных цифр множимого для перехода к двоично-четверичной с/с: 04 10, 14 01, 24 00, 34 11. Тип синтезируемого умножителя: умножитель 2-го типа (ОЧУС, ОЧС, регистр результата). Арифметические операции сложения двоично-четверичных чисел с разными знаками в дополнительных кодах и умножения на 2 разряда множителя в прямых кодах должны выполняться одним цифровым устройством, именуемым СУММАТОР-УМНОЖИТЕЛЬ. Учитывая то, что суммирующие узлы обязательно входят в состав умножителя, начнем синтез с разработки алгоритма умножения. 1. Перевод сомножителей из десятичной системы счисления в четверичную: МНОЖИМОЕ 29 | 4 0,63 Мн4 =131,2201 28 7| 4 4 1 4 1 2,52 Мн2/4 = 011101,00001001 3 4 в соответствии с заданной кодировкой множимого 2,08 множимое представляется кодом: 4 04 - 10, 14 - 01, 24 - 00, 34 - 11 0,32 4 0,28 МНОЖИТЕЛЬ 63| 4 0,29 Мт4 = 333,1022 60 15 | 4 4 3 12 3 1,16 Мт2/4 = 111111,01001010 3 4 множитель представляется обычным весомозначным 0,64 кодом: 04 - 00, 14 - 01, 24 - 10, 34 - 11 4 2,56 4 2,24 2. Запишем сомножитель в форме с плавающей запятой в прямом коде: Мн = 0,01110100001001 Рмн = 0.0011 +0310 закодирован по заданию Мт = 0,11111101001010 Рмт = 0.0011 +0310 незакодирован по заданию 3. Умножение двух чисел с плавающей запятой на 2 разряда множителя одновременно в прямых кодах сводится к сложению порядков, формированию знака произведения, преобразованию разрядов множителя с целью исключения диады 11, и перемножению мантисс сомножителей. Порядок произведения будет равен: Рмн = 0.0011 +03 Рмт = 0.0011 03 Р = 0.0100 12 результат закодирован в соответствии с заданием на кодировку множимого. Знак произведения определяется суммой по модулю два знаков сомножителей, т.е.: зн Мн + зн Мт = 0 + 0 = 0. Для умножения мантисс необходимо предварительно преобразовать множитель, чтобы исключить диаду 11(34), заменив ее на триаду 101. Преобразованный множитель имеет вид: Мт п4 = 12211200 или Мт п2 = 01 00 00 01 01 00 10 10. Перемножение мантисс по алгоритму «Б» приведено в таблице: Четверичная с/с Двоично-четверичная система счисления Комментарии 0. 00000000000000 0. 10 10 10 10 10 10 10 10 10 10 10 10 10 10 ч= 0 0. 00000003231002 0. 10 10 10 10 10 10 10 11 00 11 01 10 10 00 П1ч = Мн*2 0. 00000003231002 0. 10 10 10 10 10 10 10 11 00 11 01 10 10 00 ч 0. 00000032310020 0. 10 10 10 10 10 10 11 00 11 01 10 10 00 10 П2ч = 4-1*Мн*2 0. 00000102201022 0. 10 10 10 10 10 01 10 00 00 10 01 10 00 00 ч 0. 00001312201000 0. 10 10 10 10 01 11 01 00 00 10 01 10 10 10 П4ч = 4-3*Мн*1 0. 00002021002022 0. 10 10 10 10 00 10 00 01 10 10 00 10 00 00 ч 3. 33320211330000 1. 11 11 11 00 10 00 01 01 11 11 10 10 10 10 П5ч = 4-4*Мн*(-1) 3. 33322232332022 1. 11 11 11 00 00 00 11 00 11 11 00 10 00 00 5ч 0. 13122010000000 0. 01 11 01 00 00 10 01 10 10 10 10 10 10 10 П8ч = 4-7*Мн*1 0. 13110302332022 0. 01 11 01 01 10 11 10 00 11 11 00 10 11 11 8ч 4. После окончания умножения необходимо оценить погрешность вычислений. Для этого полученное произведение (Мн*Мт4= 0, 13110302332022 РМн*Мт = 6) приводится к нулевому порядку, а затем переводится в десятичную систему счисления: Мн*Мт4 = 131103,02332022 РМн*Мт = 0; Мн*Мт10 = 1875,1855. Результат прямого перемножения операндов дает следующее значение: Мн10*Мт10 = 29,63 * 63,29 = 1875,2827. Абсолютная погрешность: = 1875,2827 - 1875,1855 = 0,0972. Относительная погрешность: 0,0972 ,0000518321 ( = 0,00518321%) Мн*Мт 1875,2827 1. Введение 1. Луцик Ю.А. Конспект лекций по курсу Арифметические и логические основы вычислительной техники. Похожие работы:
Поделитесь этой записью или добавьте в закладки |