Синтез микропрограммного управляющего автоматаРефераты >> Программирование и компьютеры >> Синтез микропрограммного управляющего автомата
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 подается на усилитель-формирователь.