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

字號:

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