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

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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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

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

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

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

Множимое:

_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

_7 8 |2

4 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

δ ; δ =

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

 

 

Разработка функциональных схем основных узлов

Синтез одноразрядного четверичного умножителя

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

· 2 разряда из регистраМн, преобразованные в ФДК;

· 2 разряда из регистра Мт, преобразованные в ПМ;

· управляющий вход h.

Разряды множителя закодированы в обыкновенной двоичной с/с:

0 - 00; 1 - 01; 2 - 10; 3 - 11.

Разряды множимого закодированы в соответствии с заданием:

0 - 11; 1 - 01; 2 - 10; 3 - 00.

 

Управляющий вход h определяет тип операции:

0 - умножение закодированных цифр, поступивших на информационные входы ОЧУ.

1 - вывод на выходы без изменения значения разрядов, поступивших из регистра множимого.

Принцип работы ОЧУ описывается с помощью таблицы истинности.

 

Таблица истинности ОЧУ

Мн Мт Упр. Ст. разряд Мл.разряд   Пример
h
                  3·0=00
                  Выход - код «03»
                  3·1=03
                  Выход - код «03»
                  3·2=12
                  Выход - код «03»
          x x x x 3·3=21
          x x x x Выход - код «03»
                  1·0=00
                  Выход - код «01»
                  1·1=01
                  Выход - код «01»
                  1·2=02
                  Выход - код «01»
          x x x x 1·3=03
          x x x x Выход - код «01»
                  2·0=00
                  Выход - код «02»
                  2·1=02
                  Выход - код «02»
                  2·2=10
                  Выход - код «02»
          x x x x 2·3=12
          x x x x Выход - код «02»
                  0·0=00
                  Выход - код «00»
                  0·1=00
                  Выход - код «00»
                  0·2=00
                  Выход - код «00»
          x x x x 0·3=00
          x x x x Выход - код «00»

 

В таблице выделено 8 безразличных набора, т.к. на входы ОЧУ из разрядов множителя не может поступить “11”.

Проведём минимизацию переключательных функций картами Карно-Вейча. Для проведения минимизации переключательных функций необходимо выделить те наборы переменных, где функция принимает нулевое значение. Также необходимо включить и все безразличные наборы, то есть наборы, которые не могут прийти на вход схемы ОЧУ.

 

Из таблицы истинности видно, что функция всегда равна «1».

Минимизация функции картами Карно:

                 
        * *   0
          * *    
          * *    
        * *   0

Минимизировав функцию, получим:

 

Минимизация функции картами Вейча:

               
                       
            0        
  * * * * * * * *  
                     
                       
                       
                   
      h   h      

Минимизировав функцию, получим:

 
 


Минимизация функции картами Карно:

        010      
        0 * *   0
        * *    
          * *    
          * *    

 

Минимизировав функцию, получим:

 

Построенная схема – Схема 2.

 

 

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

z#(Z-z) 1x1x0 1x0x1 0x1x1 0x0x0 xxx0x
1x1x0 - 1x0x1 0x1x1 0x0x0 0xx0x
xx00x
xxx01
1x0x1 1x1x0 - 0x1x1 0x0x0 0xx0x
0x00x
xx000
0xx01
xx101
0x1x1 1x1x0 1x0x1 - 0x0x0 0x00x
0xx00
0x00x
xx000
0x001
1x101
0x0x0 1x1x0 1x0x1 0x1x1 - 0x001
0x100
0x001
1x000
0x001
1x101
xxx0x 1x110 1x011 0x111 0x010 -
Остаток 1x110 1x011 0x111 0x010 0x001
0x100
0x001
1x000
0x001
1x101

 

z#(Z-z) n L                
1x110   Ø Ø Ø   Ø Ø Ø
1x011 Ø   Ø Ø Ø   Ø Ø
0x111 Ø Ø   Ø Ø Ø   Ø
0x010 Ø Ø Ø   Ø Ø Ø  
0x001 Ø Ø Ø Ø Ø Ø Ø Ø
0x100 Ø Ø Ø Ø Ø Ø Ø Ø
0x001 Ø Ø Ø Ø Ø Ø Ø Ø
1x000 Ø Ø Ø Ø Ø Ø Ø Ø
0x001 Ø Ø Ø Ø Ø Ø Ø Ø
1x101 Ø Ø Ø Ø Ø Ø Ø Ø

 

Откуда получим множество L-экстремалей

 

L#E                
1x1x0 Ø       Ø      
1x0x1 Ø Ø     Ø Ø    
0x1x1 Ø Ø Ø   Ø Ø Ø  
0x0x0 Ø Ø Ø Ø Ø Ø Ø Ø
Остаток Ø Ø Ø Ø Ø Ø Ø Ø

 

Получена единственная тупиковая форма:

 

Проверка функции картами Карно:

                 
00 * *   1   1 * *
  * *         * *
  * *       * *
  * *         * *

Минимизировав функцию, получим:

 

Построенная схема – Схема 3.

 

Литература

1. Савельев А.Я. Прикладная теория цифровых автоматов. М.: Высшая

школа, 1985.

2. Лысиков Б.Г. Арифметические и логические основы цифровыхавтома-

тов. Мн.: Вышейшая школа, 1980.

3. Лысиков Б.Г. Цифровая вычислительная техника. Мн.:, 2003 г.

4. Луцик Ю.А., Лукьянова И.В., Ожигина М.П. – Учебное пособие по

курсу "Арифметические и логические основы вычислительной техники". -Мн.: ротапринт МРТИ,2001 г.

5. Луцик Ю.А., Лукьянова И.В.– Учебное пособие по курсу "Арифметические и логические основы вычислительной техники". -Мн.:ротапринт МРТИ,2004 г.

 

 

 

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

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

Множимое:

_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

_7 8 |2

4 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

δ ; δ =

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

 

 


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

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



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

0.081 с.