logo
AOM / Мельник А

7.13.2.1. Багатотактовий пристрій множення двійкових чисел з молодших розрядів множника при нерухомому множеному з зсувом суми часткових добутків

Алгоритм множення двійкових чисел, який реалізує метод множення починаючи з молодших розрядів множника з зсувом суми часткових добутків вправо, описується на­ступним ітераційним виразом:

Тут вжито наступні позначення: X, Y, Z - множене, множник і добуток відповідно, Z. - сума часткових добутків на і-му етапі, Y(i) - і-й розряд множника, п - кількість роз­рядів операндів без врахування знакового розряду.

В кожному циклі множене додається до суми часткових добутків, якщо Yi=0, і не додається, якщо Y. = 0, після чого сума часткових добутків множиться на 2-1тобто зсу­вається на один розряд вправо. Після закінчення n-го циклу утворюється шуканий до­буток, тобто Zn = Z = XY.

Алгоритм можна представити блок-схемою, показаною на рис. 7.23.

262

Приклад:

Необхідно помножити два числа (без знакового розряду):

Х = 0101 0101; Y= 01101011;

Хід операцій проілюстровано в табл. 7.3:

Таблиия 7.3

i

Zi

Y (Y(i))

X*Y(i)

Zi+X*Y(i)

zi+1

0

0000 0000 0000 0000

0110 1011

0101 0101

010101010000 0000

0010 1010 1000 0000

1

0010 1010 1000 0000

0110 1011

01010101

0111 1111 1000 0000

0011 1111 1100 0000

2

0011 1111 1100 0000

0110 1011

0000 0000

0011 1111 1100 0000

0001 1111 1110 0000

3

0001 1111 11100000

0110 1011

01010101

0111 0100 11100000

0011 1010 0111 0000

4

0011 101001110000

0110 1011

0000 0000

0011 10100111 0000

0001 1101 0011 1000

5

0001 1101 0011 1000

0110 1011

01010101

01110010 0011 1000

0011 10010001 1100

6

0011 10010001 1100

0110 1011

01010101

1000 1110 0001 1100

0100 01110000 1110

7

010001110000 1110

0110 1011

0000 0000

01000111 0000 1110

0010 0011 1000 0111

Таким чином 0101 0101 .01101011 =0010 0011 1000 0111.

Базова структура багатотактового АОП множення двійкових чисел за описаним ме­тодом наведена на рис. 7.24.

Тут СМЧД - суматор часткових добутків. Множник зберігається в регістрі множни­ка, а множене - в регістрі множеного. Обидва ці регістри є n-розрядними. Суматор част-

263

кових добутків є накопичувальним суматором, тобто на його виході є регістр з оберне­ним зв'язком, як це показано на рис. 7.22. В кожному такті вміст цього регістра та регі­стра множника зсуваються на один розряд вправо в сторону молодших розрядів. Розряд в крайньому правому тригері регістра множника випадає, а на його місце поміщається наступний розряд множника, який керує операцією СМЧД, тобто вказує, чи є в даному такті додавання, чи його немає. При зсуві молодший розряд СМЧД може випадати, а може і зберігатися, залежно від того, якої розрядності потрібен результат - n-розрядний, чи 2п-розрядний. Завдяки тому, що в даній структурі регістри множеного і множника є n-розрядними, а не 2n-розрядними, як це є в базових структурах АОП множення інши­ми методами, перший метод множення використовується найчастіше.