06年4月考前串講計(jì)算機(jī)組成原理第二章(2)

字號(hào):

五、定點(diǎn)數(shù)的乘除法:
    (2001年)請(qǐng)用補(bǔ)碼一位乘中的 Booth 算法計(jì)算 x?y=?x=0101,y=-0101,列出計(jì)算過(guò)程。
    「分析」:補(bǔ)碼一位乘法中的Booth算法是一種對(duì)帶符號(hào)數(shù)進(jìn)行乘法運(yùn)算的十分有效的處理方法,采用相加和相減的操作計(jì)算補(bǔ)碼數(shù)據(jù)的乘積。做法是從最低位開(kāi)始,比較相臨的數(shù)位,相等時(shí)不加不減,只進(jìn)行右移位操作;不相等(01)時(shí)加乘數(shù),不相等(10時(shí))相減乘數(shù),再右移位;直到所有位均處理完畢
    「答案」:
    x=0101,x補(bǔ)=0101, -x補(bǔ)=1011,y=-0101,y補(bǔ)=1011
    循環(huán)   步驟    乘積(R0 R1 P)
    0     初始值   0000 1011 0
    1     減0101   1011 1011 0
    右移1位   1101 1101 1
    2     無(wú)操作   1101 1101 1
    右移1位  1110 1110 1
    3     加0101   0011 1110 1
    右移1位   0001 1111 0
    4     減0101   1100 1111 0
    右移1位   1110 0111 1
    所以結(jié)果為[x?y]補(bǔ)=11101111,真值為-00011001,十進(jìn)制值為-25.
    (2002年)已知x=0011, y=-0101,試用原碼一位乘法求xy=?請(qǐng)給出規(guī)范的運(yùn)算步驟,求出乘積。
    「分析」:原碼一位乘法中,符號(hào)位與數(shù)值位是分開(kāi)進(jìn)行計(jì)算的。運(yùn)算結(jié)果的數(shù)值部分是乘數(shù)與被乘數(shù)數(shù)值位的乘積,符號(hào)是乘數(shù)與被乘數(shù)符號(hào)位的異或。原碼一位乘法的每一次循環(huán)的操作是最低位為1,加被乘數(shù)的絕對(duì)值后右移1位;最低位為0,加0后右移1位。幾位乘法就循環(huán)幾次。
    「答案」:
    x原=00011,y原=10101,|x|=0011, |y|=0101結(jié)果的符號(hào)位1 0=1
    循環(huán)    步驟     乘積(R0 R1)
    0      初始值    0000 0101
    1      加0011    0011 0101
    右移1位   0001 1010
    2      加0     0001 1010
    右移1位    0000 1101
    3      加0011    0011 1101
    右移1位    0001 1110
    4      加0      0001 1110
    右移1位    0000 1111
    所以結(jié)果為-00001111
    (2003年)32.用 Booth 算法計(jì)算7×(-3)。要求寫(xiě)出每一步運(yùn)算過(guò)程及運(yùn)算結(jié)果。
    參考2001年考題
    (2004年)32. 用原碼的乘法方法進(jìn)行 0110×0101 的四位乘法。要求寫(xiě)出每一步運(yùn)算過(guò)程及運(yùn)算結(jié)果。
    參考2002年考題
    (2005年)32.用原碼加減交替一位除法進(jìn)行7÷2運(yùn)算。要求寫(xiě)出每一步運(yùn)算過(guò)程及運(yùn)算結(jié)果。
    「分析」:是教材P46原題
    「答案」:
    7的原碼0111,3的原碼0011,結(jié)果符號(hào)是0 0=0
    原碼加減交替除法求x/y的分步運(yùn)算過(guò)程。
    循環(huán)   步驟    余數(shù)(R0 R1)
    0     初始值   0000 0111
    左移,商0    0000 1110
    1    減0011    1101 1110
    加0011,商0   0000 1110(0)
    左移1位     0001 1100
    2    減0011    1110 1100
    加0011,商0  0001 1100(0)
    左移1位     0011 1000
    3    減0011    0000 1000
    商1    0000 1000(1)
    左移1位  0001 0001
    4    減0011  1110 0001
    加0011,商0  0001 0001(0)
    左移1位    0010 0010
    R0右移1位 0001 0010
    所以,商是0010,即2;余數(shù)是0001,即1.
    由上可見(jiàn),定點(diǎn)數(shù)乘除法計(jì)算題每年必考(10分),同學(xué)除了掌握已經(jīng)考過(guò)的三種題型外,還要特別注意原碼恢復(fù)余數(shù)除法的計(jì)算過(guò)程,教材P44頁(yè)例題:計(jì)算7/2.我們利用這種方法計(jì)算一下7/3.
    (2000年)1.在原碼一位乘中,當(dāng)乘數(shù)Yi為1時(shí),(?。?BR>    A.被乘數(shù)連同符號(hào)位與原部分積相加后,右移一位
    B.被乘數(shù)絕對(duì)值與原部分積相加后,右移一位
    C.被乘數(shù)連同符號(hào)位右移一位后,再與原部分積相加
    D.被乘數(shù)絕對(duì)值右移一位后,再與原部分積相加
    「分析」:原碼一位乘法中,符號(hào)位與數(shù)值位是分開(kāi)進(jìn)行計(jì)算的。運(yùn)算結(jié)果的數(shù)值部分是乘數(shù)與被乘數(shù)數(shù)值位的乘積,符號(hào)是乘數(shù)與被乘數(shù)符號(hào)位的異或。數(shù)值位相乘時(shí),當(dāng)乘數(shù)某位為1時(shí),將被乘數(shù)絕對(duì)值與原部分積相加后,右移一位。
    「答案」:B
    (2001年)7.原碼乘法是(?。?BR>    A.先取操作數(shù)絕對(duì)值相乘,符號(hào)位單獨(dú)處理
    B.用原碼表示操作數(shù),然后直接相乘
    C.被乘數(shù)用原碼表示,乘數(shù)取絕對(duì)值,然后相乘
    D.乘數(shù)用原碼表示,被乘數(shù)取絕對(duì)值,然后相乘
    「分析」:原碼一位乘法中,符號(hào)位與數(shù)值位是分開(kāi)進(jìn)行計(jì)算的。運(yùn)算結(jié)果的數(shù)值部分是乘數(shù)與被乘數(shù)數(shù)值位的乘積,符號(hào)是乘數(shù)與被乘數(shù)符號(hào)位的異或。
    「答案」:A
    8.原碼加減交替除法又稱(chēng)為不恢復(fù)余數(shù)法,因此(?。?。
    A.不存在恢復(fù)余數(shù)的操作
    B.當(dāng)某一步運(yùn)算不夠減時(shí),做恢復(fù)余數(shù)的操作
    C.僅當(dāng)最后一步余數(shù)為負(fù)時(shí),做恢復(fù)余數(shù)的操作
    D.當(dāng)某一步余數(shù)為負(fù)時(shí),做恢復(fù)余數(shù)的操作
    「分析」:在用原碼加減交替法作除法運(yùn)算時(shí),商的符號(hào)位是由除數(shù)和被除數(shù)的符號(hào)位異或來(lái)決定的,商的數(shù)值是由除數(shù)、被除數(shù)的絕對(duì)值通過(guò)加減交替運(yùn)算求得的。由于除數(shù)、被除數(shù)取的都是絕對(duì)值,那么最終的余數(shù)當(dāng)然應(yīng)是正數(shù)。如果最后一步余數(shù)為負(fù),則應(yīng)將該余數(shù)加上除數(shù),將余數(shù)恢復(fù)為正數(shù),稱(chēng)為恢復(fù)余數(shù)。
    「答案」:C
    (2002年)5.原碼乘法是指(?。?。
    A.用原碼表示乘數(shù)與被乘數(shù),直接相乘
    B.取操作數(shù)絕對(duì)值相乘,符號(hào)位單獨(dú)處理
    C.符號(hào)位連同絕對(duì)值一起相乘
    D.取操作數(shù)絕對(duì)值相乘,乘積符號(hào)與乘數(shù)符號(hào)相同
    答案:B
    六、邏輯運(yùn)算:
    (2005年)5.已知一個(gè)8位寄存器的數(shù)值為11001010,將該寄存器小循環(huán)左移一位后,結(jié)果為(?。?。
    A.01100101     B.10010100   C.10010101   D.01100100
    「分析」:
    移位種類(lèi) 運(yùn)算規(guī)則
    算術(shù)左移 每位左移一位,最右位移入0,位移出進(jìn)入標(biāo)志寄存器C位
    算術(shù)右移 每位右移一位,位符號(hào)復(fù)制,最低位移出進(jìn)入標(biāo)志寄存器C位
    邏輯左移 每位左移一位,最右位移入0,位移出進(jìn)入標(biāo)志寄存器C位
    邏輯右移 每位右移一位,最右位移入0,最低位移出進(jìn)入標(biāo)志寄存器C位
    小循環(huán)左移 每位左移一位,位進(jìn)入最低位和標(biāo)志寄存器C位
    小循環(huán)右移 每位右移一位,最低位進(jìn)入位和標(biāo)志寄存器C位
    大循環(huán)左移 每位左移一位,位進(jìn)入標(biāo)志寄存器C位,C位進(jìn)入最低位
    大循環(huán)右移 每位右移一位,最低位進(jìn)入標(biāo)志寄存器C位,C位進(jìn)入位
    「答案」:C
    七、浮點(diǎn)數(shù)運(yùn)算:
    (2001)6.浮點(diǎn)加減中的對(duì)階的(?。?BR>    A.將較小的一個(gè)階碼調(diào)整到與較大的一個(gè)階碼相同
    B.將較大的一個(gè)階碼調(diào)整到與較小的一個(gè)階碼相同
    C.將被加數(shù)的階碼調(diào)整到與加數(shù)的階碼相同
    D.將加數(shù)的階碼調(diào)整到與被加數(shù)的階碼相同
    「分析」:浮點(diǎn)加減法中的對(duì)階是向較大階碼對(duì)齊,即將較小的一個(gè)階碼調(diào)整到與較大的一個(gè)階碼相同。
    「答案」:A
    注意有關(guān)浮點(diǎn)數(shù)的運(yùn)算
    例:用浮點(diǎn)數(shù)運(yùn)算步驟對(duì)56+5進(jìn)行二進(jìn)制運(yùn)算,浮點(diǎn)數(shù)格式為1位符號(hào)位、5位階碼、10位尾碼,基數(shù)為2.
    「答案」:
    5610=1110002=0.111000×26  510=1012=0.101×23
    ① 對(duì)階:0.101×23=0.000101×26
    ② 尾數(shù)相加:0.111000+0.000101=0.111101
    ③ 規(guī)格化結(jié)果:0.111101×26
    ④ 舍入:數(shù)據(jù)己適合存儲(chǔ),不必舍入
    ⑤ 檢查溢出:數(shù)據(jù)無(wú)溢出。
    第二章一般不考簡(jiǎn)答題