布魯斯乘法器演算法
1)字母定義:a,0000;q,乘數;q-1,0;m被乘數
2) 乘數的最低位補零;
3) 從乘數的最低兩位開始迴圈判斷,如果是00或11,則不進行加減運算,但a、q需要右移一位;如果是01,則和被乘數進行加法運算,a、q右移一位;如果是10,則和被乘數進行減法運算,a、q右移一位;
4) 運算次數為4bits的整數倍
5) 乘數的最後兩位為11或10時,a的最高位補1;
例1:7x6=42 (標紅為下一步動作)步驟a
qq-1
m[-m]補
初始值0110
000,右移
0011
010,a-m
00110右移
1001
111,右移,a補1
0100
101,a+m
右移=』b00101010=』d42;
注:若被乘數m為負數,貌似不適合此方法,若大神經過,請指點一二
初次研究,歡迎指正。
Booth乘法器設計
1.乘法器原理 在計算兩個補碼相乘時,可以通過booth演算法來實現定點補碼一位乘的功能。布斯 booth 演算法採用相加和相減的操作計算補碼資料的乘積,booth演算法對乘數從低位開始判斷,根據後兩個資料位的情況決定進行加法 減法還是僅僅進行移位操作。討論當相乘的兩個數中有乙個或二個為負數的情況,...
查詢表乘法器
查詢表乘法器先將乘法的所有可能結果儲存起來,然後將兩個相乘的資料組合起來作為 位址 找到相應的結果。例如 設 a,b 為兩個 2 位二進位制數,則 a,b 各有 4 種取值可能,乘積有 4 4 16 種可能 排除重複的其實只有 8 種可能 我們先將對應的 16 種可能結果儲存起來,然後對於每一特點的...
乘法器 硬體設計
人們日常習慣的乘法是十進位制,但計算機實現起來不方便。首先,需要記錄9x9乘法表,每次相乘去表中找結果 其次,將豎式相加也不方便。但二進位制卻十分方便,馮 諾伊曼在 關於endvac的報告草案 中說 二進位制可以極大簡化乘法和除法運算。尤其是對於乘法,不再需要十進位制乘法表,也不需要兩輪的加法 二進...