Синтез микропрограммного управляющего автомата
Рефераты >> Программирование и компьютеры >> Синтез микропрограммного управляющего автомата

A =-9=-10012, Апк = 1,1001, Адк = 1,0111

B =13= 11012, Впк = 0,1101, Вдк = 0,1101

3.2.1 Определим знак произведения: 1 + 0 = 1

3.2.2 Перемножим модули сомножителей:

Таблица 2

Множимое

Множитель

Сумматор

Пояснения

0,1101

0,0111

0,00000000

0,11010000

0,11010000

Сложение

 

0,01101000

Сдвиг

0,0011

0,01101000

0,11010000

1,00111000

Сложение

 

0,10011100

Сдвиг

0,0001

0,10011100

0,11010000

1,01101100

Сложение

 

0,10110110

Сдвиг

0,0000

0,01011011

Сдвиг

Получили псевдопроизведение: 0,01011011

3.2.3 Произведём коррекцию (прибавим к псевдопроизведению Вдк):

0,01011011

Вдк= 0,00110000

0,10001011

3.2.4 Присвоение произведению знака:

(A*B)дк=1,10001011

(A*B)пк=1,01110101

A*B = (-9)*(13) = -117 = -11101012

3.3 Сомножители разных знаков (А>0, B<0)

A = 9 = 10012, Апк = 0,1001, Адк = 0,1001

B =-13= -11012, Впк = 1,1101, Вдк = 1,0011

3.3.1 Определим знак произведения: 0 + 1 = 1

3.3.2 Перемножим модули сомножителей:

Таблица 3

Множимое

Множитель

Сумматор

Пояснения

0,0011

0,1001

0,00000000

0,00110000

0,00110000

Сложение

 

0,00011000

Сдвиг

0,0100

0,00001100

Сдвиг

0,0010

0,00000110

Сдвиг

0,0001

0,00000110

0,00110000

0,00110110

Сложение

 

0,00011011

Сдвиг

Получили псевдопроизведение: 0,00011011

3.3.3 Произведём коррекцию (прибавим к псевдопроизведению Aдк):

0,00011011

Адк= 0,01110000

0,10001011

3.3.4 Присвоение произведению знака:

(A*B)дк=1,10001011

(A*B)пк=1,01110101

A*B = (9)*(-13) = -117 = -11101012

3.4 Сомножители отрицательные (A<0, B<0)

A = -9= -10012, Апк = 1,1001, Адк = 1,0111

B =-13=-11012, Впк = 1,1101, Вдк = 0,0011

3.4.1 Определим знак произведения: 1 + 1 = 0

3.4.2 Перемножим модули сомножителей:

Таблица 4

Множитель

Множитель

Сумматор

Пояснения

0,0011

0,0111

0,00000000

0,00110000

0,00110000

Сложение

 

0,00011000

Сдвиг

0,0011

0,00011000

0,00110000

0,01001000

Сложение

 

0,00100100

Сдвиг

0,0001

0,00100100

0,00110000

0,01010100

Сложение

 

0,00101010

Сдвиг

0,0000

0,00010101

Сдвиг

Получили псевдопроизведение: 0,00010101

3.4.3 Произведём коррекцию (прибавим к псевдопроизведению Bпк, а затем Aпк):

0,00010101

Впк= 0,11010000

0,11100101

Aпк= 0,10010000

0,01110101

3.4.4 Присвоение произведению знака:

(A*B)дк=0,01110101

(A*B)пк=0,01110101

A*B = (-9)*(-13) = 117 = -11101012

4 Выбор и описание структурной схемы операционного автомата (ОА)

ОА должен содержать:

- регистры RG1, RG2 для приема мантисс операндов с ШИВх;

- регистр RG3 и счетчик CT1 для приема характеристик с ШИВх;

- регистр RG4 для записи и хранения результата и частных сумм;

- комбинационные сумматоры SM;

- счетчик CT2 для подсчета тактов умножения;

- три сумматора по модулю 2 для получения обратного кода множимого и определения ПРС;

- триггер T1 для хранения знака результата;

- схему конъюнкции;

- триггер T2 для фиксации ПРС;

- усилитель-формирователь для выдачи результата на ШИВых.

Операнды поступают в операционный автомат по 32-разрядной шине ШИВх. Перед началом умножения необходимо обнулить регистр частных сумм RG4, так как именно с него поступает информация на плечо A в SM, в счетчик CT2 необходимо занести “001001”, а триггер T1 сбросить. Операнды поступают в дополнительном коде. Сначала мантисса множителя записывается в RG1 и RG2, а его характеристика в RG3 и CT1. Мантисса первого операнда преобразуется в ДК с помощью схемы сложения по модулю 2 и сумматора и заносится в RG4. Затем записываются мантисса и характеристика множимого в RG2 и CT1 соответственно. После анализа знаков операндов произведем коррекцию, если это необходимо. Если знаковый разряд множимого (p2) равен 0, то обнуляем RG4. Если знаковый разряд множителя (p1) равен 1, то в RG4 заносим информацию с плеча S сумматора. После проведения коррекции начинается процесс получения псевдопроизведения. В процессе умножения происходят сдвиги регистров RG1 и RG4, а также увеличение счетчика CT2. Кроме того производится анализ младшего разряда RG1 (p4). Если он равен 1 тогда в RG4 заносим информацию с плеча S сумматора. Получение псевдопроизведения происходит до тех пор пока 5-й разряд в счетчике CT2 не окажется равным “1”. Далее производится анализ старшего разряда мантиссы результата. Если он равен “0” – требуется нормализация. Нормализация осуществляется путем сдвига RG4 влево и уменьшеня счетчика CT1. Характеристика произведения получается обычным сложением характеристик операндов, причем старший разряд характеристики у множителя подается инверсным на плечо сумматора A. Перед выдачей результата на ШИВых содержимое RG3, T1 и информация с плеча S сумматора SM2 подается на усилитель-формирователь.


Страница: