資源描述:
《第3章 運算方法和運算部件ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、3.3二進制乘法運算定點原碼的一位乘法設:X=XsXnXn-1…X3X2X1Y=YsYnYn-1…Y3Y2Y1則,X×Y=(Xs?Ys)
2、(XnXn-1….X3X2X1)×(YnYn-1…Y3Y2Y1)手工乘法過程:X=+1011;Y=+1101X×Y:1011被乘數(shù)(十進制數(shù)11)?1101乘數(shù)(十進制數(shù)13)101100001011101110001111積(十進制數(shù)143)部分積定點原碼1位乘法器實現(xiàn)設置3個寄存器:部分積寄存器A,被乘數(shù)寄存器B,乘數(shù)寄存器C(部分積寄存器)和1個計數(shù)器。運算步
3、驟:初始化:Y→CX→B0→A運算:C/2→C(取乘數(shù)的末位)B→ALU(根據(jù)C中的移出位送B或送全0)A→ALU并執(zhí)行加法(部分積送ALU與被乘數(shù)相加)ALU/2→BUS(從右邊移出的一位放到C的最左邊)BUS→A計數(shù)器減1計數(shù)器不為0,則繼續(xù);否則結束運算,結果在A、C中。原碼一位乘法邏輯圖圖3.5實現(xiàn)原碼一位乘法的邏輯電路C/2→C移位電路ALU加法器A部分積C乘數(shù)B被乘數(shù)計數(shù)器CdCnALU/2→AA→ALUB→ALU定點原碼的一位乘法實現(xiàn)過程例3.32:X=0.1101,Y=0.1011,求
4、X.Y。部分積乘數(shù)被乘數(shù):00.11010000001011+X001101001101右移1位00011011011(丟失)+X001101010011右移1位00100111101(丟失)+0000000001001右移1位00010011110(丟失)+X001101010001右移1位00100011111(丟失)乘積高位乘積低位X.Y=0.10001111定點補碼1位乘法(1)補碼與真值的轉換關系設[X]補=X0.X1X2???Xn當真值X≥0時,X0=0,[X]補=0.X1X2???Xn=
5、=X當真值X<0時,X0=1,[X]補=1.X1X2???Xn=2+XX=[X]補-2=1.X1X2???Xn-2=-1+0.X1X2???Xn=-1+(2)補碼的右移不論數(shù)的正負,連同符號位將數(shù)右移一位,并保持符號位不變,相當于乘1/2(或除2)。定點補碼1位乘法(3)補碼一位乘法設被乘數(shù)[X]補=X0.X1X2???Xn,乘數(shù)[Y]補=Y0.Y1Y2???Yn,則有:[X?Y]補=[X]補?(-Y0+)當乘數(shù)Y為正時,定點補碼一位乘法的運算過程與定點原碼一位乘法相同。見例3.33。當乘數(shù)Y為負時,
6、運算結束后,還需要補充進行加[-X]補操作。見例3.34。定點補碼1位乘法Booth(布斯)1位乘法規(guī)則(帶符號位的乘法):[X?Y]補=[X]補?∑(Yi+1-Yi)2-i將部分積初始化為0;乘數(shù)的最低位為Yn,在其后增加一位0作為[Y]補的第n+1位;比較Yi與Yi-1;i=n+1,……,2,1:若Yi-Yi-1=1,則部分積作加[X]補運算若Yi-Yi-1=-1,則部分積作加[-X]補運算若Yi-Yi-1=0,則部分積作加0運算(加0運算可以省略)運算完成后,部分積右移1位,得到新的部分積;反復
7、n+1次,但最后一次不移位,所得的結果即為[X×Y]補。布斯補碼1位乘法實現(xiàn)過程(例3.35)被乘數(shù):X=-0.1101,乘數(shù):Y=-0.1011[X]補=11.0011[–X]補=00.1101部分積乘數(shù)[Y]補=1.01010000001.01010初始值:最后一位補0–X00110110則–X,再右移001101右移1位00011011.01010移出去后丟掉+X11001101則+X,再右移111001右移1位111100111.0101移出去后丟掉-X00110110則-X,再右移00100
8、1右移1位0001001111.010移出去后丟掉+X11001101則+X,再右移110111右移1位11101111111.01移出去后丟掉-X00110110則-X0010001111不右移乘積高位乘積低位定點原碼2位乘法原理:兩位乘數(shù)有4種可能組合,對應以下操作。00─相當于0?X,部分積為Pi+0,然后右移兩位;01─相當于1?X,部分積為Pi+X,然后右移兩位;10─相當于2?X,部分積為Pi+2X,然后右移兩位;11─相當于3?X,部分積為Pi+3X,然后右移兩位。Pi+3X用(Pi-X
9、)+4X來替代,4X用C=1來標志,并歸到下一步執(zhí)行。在下一步執(zhí)行時由于部分積已右移了2位,此時4X已變成了X(即4X/22=X)。實現(xiàn)的法則如表所示:Yn-1YnC操作000(Pi+0)×2-20→C001(Pi+X)×2-20→C010(Pi+X)×2-20→C011(Pi+2X)×2-20→C100(Pi+2X)×2-20→C101(Pi﹣X)×2-21→C110(Pi﹣X)×2-21→C111(Pi+0)×2-21→C定點原碼2位乘法實現(xiàn)過程例3