Разработка алгоритма умножения. — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Разработка алгоритма умножения.

2018-01-13 234
Разработка алгоритма умножения. 0.00 из 5.00 0 оценок
Заказать работу

РАЗРАБОТКА АЛГОРИТМА УМНОЖЕНИЯ.

 

 

1. Перевод сомножителей из десятичной системы счисления в четвертичную:

 

Множимое:

18| 4 0,72 Мн4 =102,2324

16 4| 4 4

2 0| 1 2,88

4 в соответствии с заданной кодировкой множимого

3,52 Мн2/4 =010010,101110

4

2,08

4

0,32

 

 

Множитель:

 

62| 4 в соответствии с заданной кодировкой множимого

60 |15| 4

2 12 3 Мт4 =332,022

3 Мт2/4 =111110,001010

 

0,17

4

0,68

4

2,72

4

2,88

 

2. Запишем сомножители в форме с плавающей запятой в прямом (дополнительном) коде (т.к. алгоритм В):

Мн =0,00010010101110 Рмн= 0.0100 +0310 - закодировано по заданию

Мт =0,00111110001010 Рмт = 0.0100 +0410 - закодировано традиционно

 

3. Умножение двух чисел с плавающей запятой на 2 разряда множителя одновременно в прямых кодах сводится к сложению порядков, формированию знака произведения, преобразованию разрядов множителя согласно алгоритму и перемножению мантисс сомножителей.

Порядок произведения будет равен:

Рмн = 0.0010 10

Рмт = 0.001010

Рмн*мт = 0.0100 20

Результат закодирован в соответствии с заданием на кодировку множимого.

Знак произведения определяется суммой по модулю два знаков сомножителей:

ЗнМн зн Мт = 0 0 = 0.

Для умножения мантисс необходимо предварительно преобразовать множитель, чтобы исключить диаду 11 (34), заменив ее на триаду 10 и диаду 10 (24), заменив ее на триаду 1 0. Преобразованный множитель имеет вид: Мтп4 =10120

[Мт]п=0,10 2022 (преобразованный)

[Мн]д=0,0102232

[-Мн]д=3,3231101

[2Мн]д=0,0211130


Структурная схема сумматора-умножителя 2-го типа. Алгоритм умножения «В», на 2 разряда множителя одновременно.  
ЗН
S1
P
S2
h
F1
F2
h
h
h
Qn-1
...
...
...
Qn
Qn-2
Q1
ОЧС
ОЧУС
ОЧС
ЗН
Ф Д К
ЗН
D1
Dm
РЕГИСТР МНОЖИМОГО
Р Е Г И С Т Р   М Н О Ж И Т Е Л Я  
РЕГИСТР РЕЗУЛЬТАТА
. . . .  
...
...
Dm+2
Преобра-зовательмножи-теля
mul/sum 0 1
Dm+1
0 1 0 1
ОЧС
ОЧУС
ОЧС
ОЧУС
ОЧС
ОЧУС
ОЧС

Умножение по алгоритмуВ:

Четвертичная с/с Двоично-четвертичная с/с Комментарии
            Σ0
            П1 = [Мн]д
            Σ1
            Σ1 * 4
            П2 = 0
            Σ2
            Σ2 * 4
            П3 = [-Мн]д
            Σ3
            Σ3 * 4
            П4 = [2Мн]д
            Σ4
            Σ4 * 4
            П5 = 0
            Σ5
            Σ5* 4
            П6 = [2Мн]д
            Σ6
            Σ6 * 4
            П7= [2Мн]д
            Σ7

 

После окончания умножения необходимо оценить погрешность вычислений. Для этого полученное произведение ((Мн*Мт)4=0,00102023123030 (РМн*PМт)4 = 20) приводится к нулевому порядку, а затем переводится в десятичную систему счисления:

(Мн*Мт)4 = 102023,123030;

(Мн*Мт)10 = 1163,4248.

 

Результат прямого перемножения операндов дает следующее значение:

Мн10*Мт10 = 18,72 * 62,17 = 1163,8224.

Абсолютная погрешность:

D = |1163,8224- 1163,4248| =0,3976.

Относительная погрешность:

(δ = 0,03417%)

Эта погрешность является суммарной, накопленной за счет приближенного перевода из 10 с/с в четверичную обоих сомножителей, а также за счет округления полученного результата произведения


Логический синтез одноразрядного четверичного сумматора

ОЧС - это комбинационное устройство, имеющее 5 входов и 3 выхода:

· 2 разряда одного слагаемого (множимого);

· 2 разряда второго слагаемого (регистр результата);

· вход переноса из младшего ОЧС.

Разряды обоих слагаемых закодированы: 0 - 10; 1 - 00; 2 - 01; 3 -11.

Логический базис для реализации – А2.

Принцип работы ОЧС описывается с помощью следующей таблицы истинности:

A1 A2 B1 B2 p П S1 S2 Четверичная
                1+1+0=02
                1+1+1=03
                1+2+0=03
                1+2+1=10
                1+0+0=01
                1+0+1=02
                1+3+0=10
                1+3+1=11
                2+1+0=03
                2+1+1=10
                2+2+0=10
                2+2+1=11
                2+0+0=10
                2+0+1=03
                2+3+0=11
                2+3+1=12
                0+1+0=01
                0+1+1=02
                0+2+0=02
                0+2+1=03
                0+0+0=00
                0+0+1=01
                0+3+0=03
                0+3+1=10
                3+1+0=10
                3+1+1=11
                3+2+0=11
                3+2+1=12
                3+0+0=03
                3+0+1=10
                3+3+0=12
                3+3+1=13

 

 

Упрощение ОЧС картами Вейча

Для П

a1a2b1b2p                
                 
    1       1    
                 
                 

 

Для S1

a1a2b1b2p                
                 
                 
                 
                 

Для S2

a2

 
b2
b1

                 
               
               
               

p
p
a1

 

Результат минимизации функций по картам Карно-Вейча

ОЧС функция P

ОЧС функция S1

ОЧС функция S2

 

Реализация переключательной функции Q1 и P

Реализация переключательной функции Q2

Таблица истинности для ОЧС на мультиплексорах

a1a2b1 b2p П Псхема S1 S1схема S2 S2схема
      b2p    
       
       
       
         
       
       
       
         
       
       
       
         
       
       
       
      Const 0    
       
       
       
         
       
       
       
      Const 1    
       
       
       
         
       
       
       

 

Проверка L-экстремалей

Множество L-экстремалей E = {x001x0; x111x0; xxxx11; xx1x1x }

Z´ = Z - E = {100xxx; 111xxx; 1xx0xx; 1xxx1x; xxx11x; 1xxxx1 }

Проверка покрытия множества Z´ множеством найденных L-экстремалей Е

L#E                    
x001x0   Ø             Ø  
x111x0   Ø           Ø Ø Ø
xxxx11 Ø Ø   Ø Ø   Ø Ø Ø Ø
xx1x1x Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø
Остаток Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø

 

Конечное минимальное множество = { x001x0; x111x0; xxxx11; xx1x1x }

 

 

РАЗРАБОТКА АЛГОРИТМА УМНОЖЕНИЯ.

 

 

1. Перевод сомножителей из десятичной системы счисления в четвертичную:

 

Множимое:

18| 4 0,72 Мн4 =102,2324

16 4| 4 4

2 0| 1 2,88

4 в соответствии с заданной кодировкой множимого

3,52 Мн2/4 =010010,101110

4

2,08

4

0,32

 

 

Множитель:

 

62| 4 в соответствии с заданной кодировкой множимого

60 |15| 4

2 12 3 Мт4 =332,022

3 Мт2/4 =111110,001010

 

0,17

4

0,68

4

2,72

4

2,88

 

2. Запишем сомножители в форме с плавающей запятой в прямом (дополнительном) коде (т.к. алгоритм В):

Мн =0,00010010101110 Рмн= 0.0100 +0310 - закодировано по заданию

Мт =0,00111110001010 Рмт = 0.0100 +0410 - закодировано традиционно

 

3. Умножение двух чисел с плавающей запятой на 2 разряда множителя одновременно в прямых кодах сводится к сложению порядков, формированию знака произведения, преобразованию разрядов множителя согласно алгоритму и перемножению мантисс сомножителей.

Порядок произведения будет равен:

Рмн = 0.0010 10

Рмт = 0.001010

Рмн*мт = 0.0100 20

Результат закодирован в соответствии с заданием на кодировку множимого.

Знак произведения определяется суммой по модулю два знаков сомножителей:

ЗнМн зн Мт = 0 0 = 0.

Для умножения мантисс необходимо предварительно преобразовать множитель, чтобы исключить диаду 11 (34), заменив ее на триаду 10 и диаду 10 (24), заменив ее на триаду 1 0. Преобразованный множитель имеет вид: Мтп4 =10120

[Мт]п=0,10 2022 (преобразованный)

[Мн]д=0,0102232

[-Мн]д=3,3231101

[2Мн]д=0,0211130


Структурная схема сумматора-умножителя 2-го типа. Алгоритм умножения «В», на 2 разряда множителя одновременно.  
ЗН
S1
P
S2
h
F1
F2
h
h
h
Qn-1
...
...
...
Qn
Qn-2
Q1
ОЧС
ОЧУС
ОЧС
ЗН
Ф Д К
ЗН
D1
Dm
РЕГИСТР МНОЖИМОГО
Р Е Г И С Т Р   М Н О Ж И Т Е Л Я  
РЕГИСТР РЕЗУЛЬТАТА
. . . .  
...
...
Dm+2
Преобра-зовательмножи-теля
mul/sum 0 1
Dm+1
0 1 0 1
ОЧС
ОЧУС
ОЧС
ОЧУС
ОЧС
ОЧУС
ОЧС

Умножение по алгоритмуВ:

Четвертичная с/с Двоично-четвертичная с/с Комментарии
            Σ0
            П1 = [Мн]д
            Σ1
            Σ1 * 4
            П2 = 0
            Σ2
            Σ2 * 4
            П3 = [-Мн]д
            Σ3
            Σ3 * 4
            П4 = [2Мн]д
            Σ4
            Σ4 * 4
            П5 = 0
            Σ5
            Σ5* 4
            П6 = [2Мн]д
            Σ6
            Σ6 * 4
            П7= [2Мн]д
            Σ7

 

После окончания умножения необходимо оценить погрешность вычислений. Для этого полученное произведение ((Мн*Мт)4=0,00102023123030 (РМн*PМт)4 = 20) приводится к нулевому порядку, а затем переводится в десятичную систему счисления:

(Мн*Мт)4 = 102023,123030;

(Мн*Мт)10 = 1163,4248.

 

Результат прямого перемножения операндов дает следующее значение:

Мн10*Мт10 = 18,72 * 62,17 = 1163,8224.

Абсолютная погрешность:

D = |1163,8224- 1163,4248| =0,3976.

Относительная погрешность:

(δ = 0,03417%)

Эта погрешность является суммарной, накопленной за счет приближенного перевода из 10 с/с в четверичную обоих сомножителей, а также за счет округления полученного результата произведения



Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.095 с.