資源描述:
《第3章 運算方法和運算部件ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、3.3二進(jìn)制乘法運算定點原碼的一位乘法設(shè):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ù)(十進(jìn)制數(shù)11)?1101乘數(shù)(十進(jìn)制數(shù)13)101100001011101110001111積(十進(jìn)制數(shù)143)部分積定點原碼1位乘法器實現(xiàn)設(shè)置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ù);否則結(jié)束運算,結(jié)果在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定點補(bǔ)碼1位乘法(1)補(bǔ)碼與真值的轉(zhuǎn)換關(guān)系設(shè)[X]補(bǔ)=X0.X1X2???Xn當(dāng)真值X≥0時,X0=0,[X]補(bǔ)=0.X1X2???Xn=
5、=X當(dāng)真值X<0時,X0=1,[X]補(bǔ)=1.X1X2???Xn=2+XX=[X]補(bǔ)-2=1.X1X2???Xn-2=-1+0.X1X2???Xn=-1+(2)補(bǔ)碼的右移不論數(shù)的正負(fù),連同符號位將數(shù)右移一位,并保持符號位不變,相當(dāng)于乘1/2(或除2)。定點補(bǔ)碼1位乘法(3)補(bǔ)碼一位乘法設(shè)被乘數(shù)[X]補(bǔ)=X0.X1X2???Xn,乘數(shù)[Y]補(bǔ)=Y0.Y1Y2???Yn,則有:[X?Y]補(bǔ)=[X]補(bǔ)?(-Y0+)當(dāng)乘數(shù)Y為正時,定點補(bǔ)碼一位乘法的運算過程與定點原碼一位乘法相同。見例3.33。當(dāng)乘數(shù)Y為負(fù)時,
6、運算結(jié)束后,還需要補(bǔ)充進(jìn)行加[-X]補(bǔ)操作。見例3.34。定點補(bǔ)碼1位乘法Booth(布斯)1位乘法規(guī)則(帶符號位的乘法):[X?Y]補(bǔ)=[X]補(bǔ)?∑(Yi+1-Yi)2-i將部分積初始化為0;乘數(shù)的最低位為Yn,在其后增加一位0作為[Y]補(bǔ)的第n+1位;比較Yi與Yi-1;i=n+1,……,2,1:若Yi-Yi-1=1,則部分積作加[X]補(bǔ)運算若Yi-Yi-1=-1,則部分積作加[-X]補(bǔ)運算若Yi-Yi-1=0,則部分積作加0運算(加0運算可以省略)運算完成后,部分積右移1位,得到新的部分積;反復(fù)
7、n+1次,但最后一次不移位,所得的結(jié)果即為[X×Y]補(bǔ)。布斯補(bǔ)碼1位乘法實現(xiàn)過程(例3.35)被乘數(shù):X=-0.1101,乘數(shù):Y=-0.1011[X]補(bǔ)=11.0011[–X]補(bǔ)=00.1101部分積乘數(shù)[Y]補(bǔ)=1.01010000001.01010初始值:最后一位補(bǔ)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種可能組合,對應(yīng)以下操作。00─相當(dāng)于0?X,部分積為Pi+0,然后右移兩位;01─相當(dāng)于1?X,部分積為Pi+X,然后右移兩位;10─相當(dāng)于2?X,部分積為Pi+2X,然后右移兩位;11─相當(dāng)于3?X,部分積為Pi+3X,然后右移兩位。Pi+3X用(Pi-X
9、)+4X來替代,4X用C=1來標(biāo)志,并歸到下一步執(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