計算機組成原理第五版白中英詳細(xì)作業(yè)參考答案解析
WORD格式編輯整理第2章作業(yè)參考答案1、(1) -35(=23)16(2)127(3)-127-1-35原=10100011127原=01111111-127原=11111111 -1原=10000001反-35反=11011100127反=01111111-127 反=10000000 -1專業(yè)知識分享=11111110-35補=11011101127補=01111111-127補=10000001 -1=111111112當(dāng)a7=0時,x_0,滿足x>-0.5的條件,即:若a7=0, a6、a0可取任意值當(dāng)a7=1時,x<0,若要滿足x>-0.5的條件,則由補碼表示與其真值的關(guān)系,可知:6x = T 二 佝 2口)= -1 a6 2 a5 2 2a3 2“ a2 ” 2厘 a1 2止 a0 2i =0要使x>-0.5 ,所以要求a6=1,并且a5、ao不能全部為0所以,要使x>-0.5,則要求a7=0;或者a7= a6=1,并且a a0至少有一個為1 由題目要求可知,該浮點數(shù)的格式為: 313023220SE(移碼表示)M(補碼表示)注:由于S是數(shù)符,已表示了尾數(shù)的符號,所以為了提高表示精度,M(23位)不必存儲符號位,只需存小數(shù)點后面的有效數(shù)值位即可。最大數(shù)的二進制表示為:0 11111111 1 111111(23個1) 最小數(shù)的二進制表示為:1 11111111 0 000000(2 3個0)(3)非IEEE754標(biāo)準(zhǔn)的補碼表示的規(guī)格化數(shù)是指其最高有效位與符號位相反故有:最大正數(shù)為:0111111111111111(23 個 1)=+(1-2 -23) 2127最小正數(shù)為:0000000001000128000(2 2 個 0)=+0.5 2-最大負(fù)數(shù)為:100000000011123128111(22 個 1)=-(0.5+2 - ) 2-最小負(fù)數(shù)為:1111111110000127000(2 3 個 0)=-1 2所以其表示數(shù)的范圍是:+0.5 2128、+(1-2 -23) 2127 以及-1 2127(0.5+2 -23) 2-1284、IEEE754標(biāo)準(zhǔn)32位浮點的規(guī)格化數(shù)為SE-127X=(-1)匯 1M2(1) 27/6427/64=27 2-6=(11011) 2 2-6=(1.1011) 2 2-2所以 S=0, E=e+127=125=(01111101),M=101132位的規(guī)格化浮點數(shù)為:00111110 1 1011000 00000000 00000000,即十六進制的(3ED80000)16(2) -27/64-2-27/64=-(1.1011)2 2所以 S=1, E=e+127=125=(01111101, M=101132位的規(guī)格化浮點數(shù)為: 10111110 1 1011000 00000000 00000000,即十六進制的(BED80000)i65、x+y補=兇補+y補(1)x=11011,y=00011x+y補=0011011+0000011=0011110;沒有溢出,x+y=11110x=11011,y=-10101x+y補=0011011+1101011=0000110;0 01 1 0 1 1+ 1 10 1 0 1 10 0 0 0 1 1 0沒有溢出,x+y=00110(3) x=-10110,y=-00001x+y補=1101010+1111111=1101001;沒有溢出,x+y=-10111& x-y補二x補+-y補(1)x=11011,y=-11111-y補=0011111x-y補=0011011+0011111=0111010;WORD格式編輯整理0 01 1 0 1 1+ 0 01 1 1 1 10 1 1 1 0 1 0正溢出,x-y=+111O1Ox=10111 , y=11011-y補=1100101x-y補=0010111+1100101=1111100;0 01 0 1 1 1+ 1 10 0 1 0 11 1 1 1 1 0 0沒有溢出,x-y=-00100x=11011 , y=-10011-y補=0010011x-y=+ 101110x-y補=0011011+0010011=0101110;正溢出,7、(1)x=11011 , y=-11111用原碼陣列乘法器1 1 0 1 1漢111111 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 0 0 0 1 0 1x y符號=0 二 1=1所以x y原=1 1101000101用直接補碼陣列乘法器:x補=011011, y補=100001(0) 1 1 0 1 1漢(1)00001(0) 1 1 0 1 1(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 00 (1) (1) (0) (1) (1)x y補=10 (1) (1) 0 (1) (1) 1 1 0 1 1將乘積中的 符號位 用負(fù)權(quán)表示, 其他的負(fù)權(quán)位化為正 權(quán),得:0010111011 x=-11111 ,y=-11011用原碼陣列乘法器1 1 3 1 1專業(yè)知識分享WORD格式編輯整理漢110111 1 1 1 111111000001 1 1 1 11 1 1 1 11 1 0 1 0 0 0 1 0 1x y符號=1 二 1=0所以x y原=0 1101000101用直接補碼陣列乘法器:x補=100001, y補=100101(1) 0 0 0 0 1戰(zhàn)00101(1) 0 0 0 0 1(0) 0 0 0 0 0(1) 0 0 0 0 1(0) 0 0 0 0 0(0) 0 0 0 0 01 (0) (0) (0) (0) (1)x y補=01 0 0 (1) (1) 0 0 0 1 0 1將乘積中的 符號位 用負(fù)權(quán)表示,其他的負(fù)權(quán)位化為正 權(quán),得:11010001018、 x=11000 , y=-11111用原碼陣列除法器計算,符號位單獨處理,商的符號位=0二1=1設(shè)a=(|x|2-5),b=(|y|2-5),貝U a,b均為正的純小數(shù),且 x*y的數(shù)值=(a寧b);余數(shù)等于(a寧b)的余數(shù)乘以25下面用不恢復(fù)余數(shù)法的原碼陣列除法器計算a-b55a補=兇 2補=0.11000,b補=|y|2補=0.11111,-b補=1.00001過程如下:0. 1 1 0 0 0+-b補 1.0 0 0 011. 1 1 0 0 1余數(shù)為負(fù),商為01. 1 0 0 1 0余數(shù)和商左移一位(0)+b補 0.111110. 1 0 0 0 1余數(shù)為正,商為11. 0 0 0 1 0余數(shù)和商左移一位(01)+-b補 1.0 0 0 010.00011商為10.00110(011)+-b補 1.0 0 0 011.00111商為00.01110(0110)+b補 0.11111專業(yè)知識分享WORD格式編輯整理1. 0 1 1 0 1商為00. 1 1 0 1 0(01100)+b補 0.111111. 1 1 0 0 1商為 0(011000)即:a十b勺商為0.11000;余數(shù)為1.11001 2-5,因為1.11001為負(fù)數(shù),加b處理為正數(shù),1.11001+b=1.11001+0.11111 =0.11000,所以 a-b的余數(shù)為 0.11000 2-5所以,(x - y)的商=-0.11000,原碼為:1.11000 ;余數(shù)為 0.11000 x=-01011 ,y=11001商的符號位=仁0=1設(shè)a=|x| 2-5,b=|y| 2-5,則a,b均為正的純小數(shù),且 x y的數(shù)值=a- b;余數(shù)等于(a b)的余數(shù)乘以25下面用不恢復(fù)余數(shù)法的原碼陣列除法器計算ab55a補=兇2-補=0.01011,b補=|y|2補=0.11001,-b補=1.00111過程如下:0. 0 1 0 1 1+-b補 1.0 01111. 1 0 0 1 0余數(shù)為負(fù),商為01. 0 0 1 0 0余數(shù)和商左移一位(0)+b補 0.110 011. 1 1 0 1 0余數(shù)和商左移一位(00)+b補 0.110 010.10011商為11.00110(001)+-b補1001 1 10.01101商為10.11010(0011)+-b補1001 1 10.00001商為10.00010(00111)+-b補1001 1 11. 0 1 0 0 1商為 0(001110)即:a*b勺商為0.01110;余數(shù)為1.01001 2-5,因為1.01001為負(fù)數(shù),加b處理為正數(shù),1.01001+b=1.01001+0.11001 =0.00010,所以 a-b的余數(shù)為 0.00010 2-5 所以,(x - y)的商=-0.01110,原碼為:1.01110 ;余數(shù)為 0.000109、011 010(1)x=2 - 0.100101,y=2- (-0.011110)Ex=-011,日=-010,所以EX 補=1101, Ey補=1110MX=0.100101,M=-0.011110,所以Mx補=0.100101,My補=1.100010x浮=1101 0.100101,y浮=1110 1.100010ExVEy, Ey-Ex = E y+(-Ex)=111O+OO11=OOO1對階后x浮=1110 O.O1OO1O (1) , y浮=1110 1.1OOO1O對階后的尾數(shù)相加: M+M=O.O1OO1O(1) +1.1OOO1OO. O 1 O O 1 O(1)+1. 1 O OO 1 O1. 1 1 O 1 O O(1)x+y=1.11O1OO(1) 20. 1 1 0 0 0 0(1) x-y=0.110000(1)21110,已經(jīng)是規(guī)格化數(shù),采用0舍1入法進行舍入處理: x-y=0.110001 2,即:-2x-y=0.110001 2101 100x=2 -(-0.010110) ,y=2-(0.010110)Ex=-1O1,Ey=-100,所以EX 補=1011,Ey補=1100M=-0.010110,M=0.010110,所以Mx補=1.101010,My補=0.010110x浮=1011 1.101010,y浮=1100 0.010110Ex<Ey,Ey-Ex = E y+(-Ex)=1100+0101=0001,化為規(guī)格化數(shù)(左移 2 位)為:x+y=1.O1OO1O 211O,即:_4x+y=-O.1O111O 2對階后的位數(shù)相減:MX-My=M+(-My)=O.O1OO1O (1) +O.O1111OO. 0 1 0 0 1 0(1)+ 0. 0 1 1 1 1 0對階后的尾數(shù)相加:MX+M=1.11O1O1+O.O1O11O1. 1 1 O 1 O 1+ 0. 0 1 0 1 1 0O. 0 0 1 0 1 1x+y=0.001011 21100,化為規(guī)格化數(shù)(左移 2 位)為:x+y=0.101100 21010,即:-6x+y=0.101100 2對階后的位數(shù)相減: WMv=M+(-My)=1.110101+1.1010101. 1 1 0 1 0 1+ 1. 1 0 1 0 1 0專業(yè)知識分享WORD格式編輯整理0 0 0 0 00 0 0 0 00 1 1 0 10 0 0 0 0 0 0 1 1 1 0 1 0 1所以,x y =-0.01110101 20111,規(guī)格化處理(左移一位),并采用0舍1入法進行 舍入:x y =-0.11101120110即:23 漢132鐵? 丫=-0.111011 煜 16丿i 16丿專業(yè)知識分享將x、y化為規(guī)格化數(shù):13上Ex=1110Ey=0011M= 1101 2=0.011010,3215M= 1111 2 =0.111100,16Ex-Ey=Ex+(-Ey)=1110+1101=1011 x :y符=0二0=0,下面用加減交替法計算尾數(shù) MT M: Mx補=0.011010,My補=0.111100,-My補=1.0001000. 0 1 1 0 1 0+-My補 1. 0 0 0 1 0 00. 1 1 1 1 0 0余數(shù)和商左移一位(0)+My補 0. 1 1 1 1 0 01. 1 1 1 0 0 0余數(shù)為負(fù),商為01. 1 1 0 0 0 0余數(shù)和商左移一位(00)+My補 0. 1 1 1 1 0 00. 1 0 1 1 0 0余數(shù)為正,商為11. 0 1 1 0 0 0余數(shù)和商左移一位(001)+-My補 1. 0 0 0 1 0 00.011100商為10.111000(0011)+-My補 1. 0 0 0 1 0 01.111100商為01.111000(00110)+My補 0. 1 1 1 1 0 00.110100商為11.101000(001101)+-My補 1. 0 0 0 1 0 00.101100商為11.011000(0011011)+-My補 1. 0 0 0 1 0 00.011100商為 1 (00110111)Mx My的商為0.0110111,余數(shù)為0.011100 2-7,由于x化為0.01101(Mx)是尾數(shù) 右移2位才得到,所以 x y真正的余數(shù)是0.011100 2-7再尾數(shù)左移2位,即9100.011100 2 =0.111000 2所以,x y 的商為:0.0110111 21011 ,規(guī)格化處理后為:0.110111 21010=0.110111 2-6,余數(shù)為 0.111000 2-1011、不考慮181ALU的函數(shù)發(fā)生器,而是從簡單的全加器出發(fā),貝若設(shè)4位的二進制數(shù)為 A=AAAAp, B=BBB1Bq,并設(shè)G=AB,R=A二B,由全加器進位輸出的邏輯函數(shù) C+1=AB+C(Ai二B)可知:(由于進位輸出函數(shù)還可以寫成 C+1=AB+G(Ai+B),故R=A+B也可)(1)串行進位方式:Ci=A3B0+O(A好 B)=Go+ROC=A B1+C(A1 B1)=G+PQC3=A2B2+C(A好 B)=G+POG=ABs+C(A好 b)=G3+P3O(2)并行進位方式:C1=G+POG=G+PC =G+P (Go+RC)=G1+PG+PRC>G=G+PO=G+P2(G1+PG+P RC0)=G2+F2G+F2P1G+PPi POG=G+F3C3=G+F3G+F3P2G+F3P2PG+F3F2PF0C012、WORD格式編輯整理-52-5=-(101) 2=-(1.01) 2 2所以S=1E=e+127=2+127=129=(81)6=(10000001) 2M=(010 0000 0000 0000 0000 0000) 2故浮點格式為:1 10000001 010 0000 0000 0000 0000 0000,用十六進制表示為:-1.5-1.5=-(1.1)2=-(1.1) 2 20所以S=1E=e+127=0+127= (7F)16=(01111111) 2M=(100 0000 0000 0000 0000 0000) 2故浮點格式為:1 01111111 100 0000 0000 0000 0000 0000,用十六進制表示為:3848384=(180) 16=(1 1000 0000) 2=(1.1) 2 2所以S=0(C0A00000)16(BFC00000)16E=e+127=8+127=135= (87)16=(10000111)2M=(100 0000 0000 0000 0000 0000) 2專業(yè)知識分享WORD格式編輯整理(43C00000) 16(3D800000)16(BD000000)16故浮點格式為:0 10000111 100 0000 0000 0000 0000 0000,用十六進制表示為: 1/16-41/16= (1.0) 2 2所以S=0E=e+127=-4+127= (7B) 16=(01111011)2M=(000 0000 0000 0000 0000 0000) 2故浮點格式為:0 01111011 000 0000 0000 0000 0000 0000,用十六進制表示為:(5) -1/325-1/32=-(1.0)2 2-所以S=1E=e+127=-5+127= (7A) 16=(01111010)2M=(000 0000 0000 0000 0000 0000) 2故浮點格式為:1 01111010 000 0000 0000 0000 0000 0000,用十六進制表示為:13、S=1(1) 1 10000011 110 0000 0000 0000 0000 0000專業(yè)知識分享WORD格式編輯整理E=(83) 16=131e=E-127=131-127=4 1.M=(1.11) 2所以,該浮點數(shù)為-(1.11) 2 24=-(11100) 2=-28 0 01111110 101 0000 0000 0000 0000 0000S=0E=(7E) 16=126e=E-127=126-127=-1 1.M=(1.101) 21所以,該浮點數(shù)為(1.101) 2 2=(0.1101) 2=0.812514、IEEE754標(biāo)準(zhǔn)中,32位二進制數(shù)仍然有232種不同的組合,但是由于在IEEE754 標(biāo)準(zhǔn)中,階碼為全1并且尾數(shù)為非0的情況不表示一個數(shù)。尾數(shù) 23位,尾數(shù)非 0有223-1種組合,再配合符號位,共有 2 (2 23-1)種組合不表示一個數(shù) 所以,該格式最多能表示不同的數(shù)的個數(shù)為:232-2 (223-1)15、該運算器電路由3部分組成:ALU完成定點加減法運算和邏輯運算;專用陣 列乘法器完成乘法運算;專用陣列除法器完成除法運算。具體邏輯電路略。16、運算器中含有:該ALU能完成8種運算,故使用3個控制參數(shù)9$專業(yè)知識分享WORD格式編輯整理(1) 一個4位的加法器:完成加法、減法、加1和傳送4種操作,其中加1操作 是把加數(shù)固定為1,利用4位的加法器實現(xiàn);傳送是把加數(shù)固定為 0,利用4位 加法器實現(xiàn)。(2) 個4位的求補器:完成求補操作。(3) 求反、邏輯乘和邏輯加分別設(shè)計專門的邏輯電路實現(xiàn)。 具體電路略17、181ALU中的有些操作是冗余的或可由其他操作替代的, 現(xiàn)要求簡化為8種運算, 故對181的運算種類進行簡化,得到4種邏輯運算和4種算術(shù)運算,具體功能表 如下:控制參數(shù)運算S2 S 1 S o0 0 0邏輯00 0 1AB0 1 0A+B0 1 1臉B1 0 0A加B1 0 1A減B減11 1 0A+A1 1 1A而181其他的邏輯運算和算術(shù)運算都可以由以上的運算間接得到,例如: 邏輯運算中:A通過對“A”求反得到;A B通過對“ A+B求反得到;AB通 過對“A B”與“ A ”進行邏輯與實現(xiàn);AB通過對“ AB取反得到;B通過“ A二B” 并讓A固定為全1得到;AB通過對“ A二B”與“A”進行邏輯與實現(xiàn);A B通 過對前面得到的AB再取反得到;A二B通過對“ A二B”取反得到;B通過“ A二B” 并讓A固定為全0得到;邏輯1通過對“邏輯0”取反得到;A B通過對前面 得到的AB再取反得到算術(shù)運算中:減1操作可通過“ A減B減1”并令B固定為0來實現(xiàn);1&余3碼編碼的十進制加法規(guī)則是:兩個1位十進制數(shù)的余3碼相加,如結(jié)果無進 位,則從和數(shù)中減去3 (即加上1101);如結(jié)果有進位,則和數(shù)中加上 3 (加上 0011),即得和數(shù)的余3碼。設(shè)參加運算的兩個一位的十進制數(shù)分別為 A和B,它們的余3碼分別為A。* 和B0、B3,其二進制加法的和的編碼為 S0、S3,進位為0+1,修正之后,和對應(yīng)的 余3碼為F0 Fa,進位為CY1,則根據(jù)余3碼的運算規(guī)則,有:當(dāng) C+1 =0 時,F(xiàn)i3Fi2Fi1Fio=S3S2S1So+1101;當(dāng) 0+1=1 時,F(xiàn) F2 F F2S3S2S1 So+0011, 由此可畫出邏輯電路圖如下:專業(yè)知識分享BioAioBi3Ai3Bi2Ai2Bii Aii來自于低位輸出的進位1. 0 1 1 1 1 1x-y=1.011111 2110 ,已經(jīng)是規(guī)格化數(shù),所以-4x-y=-0.100001210、(1) 23 工* 13 * * 16 |24? i1I 16丿i 16丿13M= 1101 2, =0.110100,Ex=001116M=-2 = -1001 2* =-0.100100,Ey=010016Ex+Ey=0011+0100=0111 x y符=0二 1=1,乘積的數(shù)值=|Mx| |My| :0. 1 1 0 1