Умножение двоичных чисел с фиксированной запятой на ДСДК, схема 2

Схема Горнера имеет вид:

[C]д=[A]дB=[A]д(b12-1+b22-2+…+bn2-n-SgB)=SgB д+2-1(b1[A]д+2-1(b2[A]д+…+2-1(bn[A]д+0))…). (8)

Согласно выражению (8) разряды множителя анализируются, начиная со старшего разряда, т.е. регистр В сдвигается в каждом такте на один разряд вправо, и сумматор сдвигается на каждом такте на один разряд вправо. Коррекция при отрицательном множителе выполняется после выхода из цикла. В этой схеме умножения используется модифицированный код множимого и сумматор одинарной точности, производящий подсуммирования в модифицированном коде. Так как результат при умножении получается двойной точности, то необходимо предусмотреть схему хранения младших разрядов произведения, которые при сдвигах сумматора вправо будут сваливаться с разрядной сетки. При умножении на ДСДК младшие разряды произведения по мере их получения записываются в старшие разряды регистра В, освобождающиеся при сдвиге его вправо после очередного подсуммирования. Пример умножения для значений сомножителей: А=0,1101 и В=-0,1011 представлен в таблице 8.

Таблица 8 Умножение на ДСДК, схема 2

СМ РгВ СТ Комментарии
00.0000 + 00.1101 00.1101   00.0110   00.0011 +00.1101 01.0000     00.1000     00.0100 +11.0011 11.0111 1,0101 1. РгА:=[A]дм, РгВ:=[В]д, СМ:=0, СТ:=4,
    2. Выполняется проверка РгВ[4]=1. Условие удовлетворяется. Следовательно, производится подсуммирование РгА в сумматор.
1 1.010 3. Производится сдвиг сумматора и РгВ на один разряд вправо. Одновременно младший разряд сумматора переписывается в старший разряд РгВ. Т.Е. РгВ:= R(1) Рг(В), РгВ[0]:=СМ[5], СМ:= R(1)СМ, СТ:=СТ-1.
    4. Проверка: СТ=0 ? НЕТ Значит, снова проверяется РгВ[4]=1? НЕТ Следовательно, такт подсуммирования пропускается. Выполняется пункт 3.
01 1.01 5. СТ=0? НЕТ Следовательно проверяется значение анализируемого разряда множителя: Рг B[4]=1? ДА Следовательно, производится подсуммирование РгА к содержимому сумматора: СМ:=СМ+РгА,
001 1.0 6. Производится сдвиг сумматора и РгВ на один разряд вправо. Одновременно младший разряд сумматора переписывается в старший разряд РгВ. Т.Е. РгВ:= R(1) Рг(В), РгВ[0]:=СМ[5], СМ:= R(1)СМ, СТ:=СТ-1.
0001 1. 7. Проверка: СТ=0 ? НЕТ Значит, снова проверяется РгВ[4]=1? НЕТ Следовательно, такт подсуммирования пропускается. Выполняется пункт 3.
    8. СТ=0? ДА Выход из цикла. В РгВ[4] находится SgB. SgB=1? ДА Выполняется коррекция: СМ:=СМ+Рг`А,

 

Ответ: [C]д=1.0111 0001. Четыре старших разряда произведения находятся в сумматоре, а четыре младших – в РгВ.








Дата добавления: 2019-04-03; просмотров: 524;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.