計算機(jī)組成原理白中英版第五版課后答案.pdf
《計算機(jī)組成原理白中英版第五版課后答案.pdf》由會員分享,可在線閱讀,更多相關(guān)《計算機(jī)組成原理白中英版第五版課后答案.pdf(67頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第1章 計算機(jī)系統(tǒng)概論 2015年3月25日星期三2 4. 馮諾依曼型計算機(jī)的主要設(shè)計思想是什 么?它包括哪些主要組成部分? null馮諾依曼計算機(jī)的主要設(shè)計思想 null存儲程序并按地址順序執(zhí)行 null馮諾依曼計算機(jī)主要包括 null存儲器、運(yùn)算器、控制器、輸入和輸出五部分組成 2015年3月25日星期三3 5. 什么是存儲容量?什么是單元地址? 什么是數(shù)據(jù)字?什么是指令字? null存儲容量 null存儲器所能保存二進(jìn)制數(shù)據(jù)的總數(shù); null常用單位為KB、MB等。 null單元地址 null用于識別存儲器中每個存儲單元的編號,即單元地址。 null數(shù)據(jù)字 null表示計算機(jī)所要處理數(shù)據(jù)的計算機(jī)字,稱為數(shù)據(jù)字。 null指令字 null表示一條指令的計算機(jī)字,稱為指令字。 2015年3月25日星期三4 6. 什么是指令?什么是程序? null指令 null由操作碼和操作數(shù)兩部分構(gòu)成 null能夠表示計算機(jī)中的一個基本操作的代碼或二 進(jìn)制串。 null程序 null用于求解某一問題的一串指令序列,稱為該問 題的計算程序,簡稱為程序。 2015年3月25日星期三5 7. 指令和數(shù)據(jù)均存放在內(nèi)存中,計算機(jī)如 何區(qū)分它們是指令還是數(shù)據(jù)? null計算機(jī)對指令和數(shù)據(jù)的區(qū)分是依靠指令的執(zhí)行階段 來決定的; null在取指階段,從存儲器中讀取的均是CPU要執(zhí) 行的指令; null在執(zhí)行階段,從存儲器中讀取的一定是指令執(zhí) 行所需要的操作數(shù); 2015年3月25日星期三6 8. 什么是內(nèi)存?什么是外存?什么是CPU? 什么是適配器?簡述其功能。 null內(nèi)存: null用于存放系統(tǒng)當(dāng)前運(yùn)行所需要的程序和數(shù)據(jù)的半導(dǎo)體存儲 器,稱為內(nèi)存儲器,簡稱內(nèi)存; null外存 null用于存放程序和數(shù)據(jù),但不能被CPU直接訪問的大容量 存儲器,稱為外存儲器,簡稱為外存; null外存一般包括磁盤存儲器和光盤存儲器。 nullCPU null運(yùn)算器和控制器合稱為中央處理器,簡稱CPU。 null適配器 null主機(jī)和不同速度的外設(shè)之間的一種部件,用于主機(jī)和外設(shè) 之間的信息轉(zhuǎn)換。 第2章 運(yùn)算方法和運(yùn)算器 2015年3月25日星期三8 1. 用8位編碼表示下列各整數(shù)的原碼、反碼、 補(bǔ)碼。 -1 -127 127 -35 1111 11111111 11101000 0001-000 0001 1000 00011000 00001111 1111-111 1111 0111 11110111 11110111 1111+111 1111 1101 11011101 11001010 0011- 010 0011 補(bǔ)碼反碼原碼真值 2015年3月25日星期三9 null若a 7 =0,則X為正數(shù),顯然a 0 a 6 取任何值均可。 null若a 7 =1,則X為負(fù)數(shù),[X] 移 =0. a 6 a 5 a 0 ∵ -0.5D = -0.100000B,則[-0.5D ] 移 =0.100000 ∴ 若要X>-0.5,即等價于[X] 移 > [-0.5D ] 移 即0. a 6 a 5 a 0 >0.100000,因此必須是a 5 a 0 不全為0。 null 結(jié)論: null如果a 7 =0, a 6 a 0 取任何值均可; null如果a 7 =1 ,必須滿足a 6 =1 且a 5 a 0 不全為0。 2. 設(shè)[X] 補(bǔ) =a 7 .a 6 a 5 a 0 ,其中a i 取0或1, 若要X>-0.5,求a 0 a 1 a 2 a 7 的取值。 2015年3月25日星期三10 3. 有一個字長為32位的浮點數(shù),符號位1位;階碼8位,用移碼 表示;尾數(shù)23位,用補(bǔ)碼表示;基數(shù)為2。請寫出:(1)最大 數(shù)的二進(jìn)制表示,(2)最小數(shù)的二進(jìn)制表示,(3)規(guī)格化數(shù)所能 表示的數(shù)的范圍。 null設(shè)移碼采用移128碼,且機(jī)器數(shù)格式如右: ①最大值(最大正數(shù)) null0 1111 1111 111 1111 1111 1111 1111 1111 null即 x = (1-2 -23 ) * 2 127 null二進(jìn)制表示: x = (1-0.0000 0000 0000 0000 0000 001) * 2 111 1111 ②最小值(最小負(fù)數(shù)) ①1 1111 1111 000 0000 0000 0000 0000 0000 null即 x = -1 * 2 127 null二進(jìn)制表示: x = -1* 2 111 1111 尾數(shù)M(23位)階碼E(8位)符號位S(1位) 2015年3月25日星期三11 3. 有一個字長為32位的浮點數(shù),符號位1位;階碼8位,用移碼表 示;尾數(shù)23位,用補(bǔ)碼表示;基數(shù)為2。請寫出:(1)最大數(shù)的 二進(jìn)制表示,(2)最小數(shù)的二進(jìn)制表示,(3)規(guī)格化數(shù)所能表示的 數(shù)的范圍。 null設(shè)移碼采用移128碼,且機(jī)器數(shù)格式如右: ③規(guī)格化數(shù)表示范圍 null最大正數(shù): 0 1111 1111 111 1111 1111 1111 1111 1111 即 x = (1-2 -23 ) * 2 127 null最小正數(shù): 0 0000 0000 100 0000 0000 0000 0000 0000 即 x = 2 -1 * 2 -128 null最大負(fù)數(shù): 1 0000 0000 011 1111 1111 1111 1111 1111 即 x = -(2 -1 +2 -23 ) * 2 -128 null最小負(fù)數(shù): 1 1111 1111 000 0000 0000 0000 0000 0000 即 x = -1 * 2 127 null規(guī)格化的正數(shù)范圍2 -129 ~ (1-2 -23 ) * 2 127 負(fù)數(shù)范圍-2 127 ~- (2 -1 +2 -23 ) * 2 -128 尾數(shù)M(23位)階碼E(8位)符號位S(1位) 2015年3月25日星期三12 4、將下列十進(jìn)制數(shù)表示成IEEE754標(biāo)準(zhǔn)的 32位浮點規(guī)格化數(shù)。 null 27/64 null27/64 = 0.011011B = 1.1011 * 2 -2 nulle=-2,則E=e+127=125 null∴ 規(guī)格化數(shù) null-27/64 null-27/64 =-0.011011B =-1.1011 * 2 -2 null∴ 規(guī)格化數(shù) 符號位 階碼(8) 尾數(shù)(23) 0 0111 1101 1011 0000 0000 0000 0000 000 符號位 階碼(8) 尾數(shù)(23) 1 0111 1101 1011 0000 0000 0000 0000 000 2015年3月25日星期三13 + [y] 補(bǔ) 00.00011 5、已知x和y,用變形補(bǔ)碼計算x+y,同 時指出結(jié)果是否溢出。 ①x=0.11011 y=0.00011 null[x] 補(bǔ) =00.11011 ,[y] 補(bǔ) =00.00011 null∴[x+y] 補(bǔ) =00.11110,未溢出 x+y = +0.11110 [x] 補(bǔ) 00.11011 00.11110 2015年3月25日星期三14 ②x=0.11011 y=-0.10101 null[x] 補(bǔ) =00.11011 ,[y] 補(bǔ) =11.01011 null∴[x+y] 補(bǔ) = 00.00110 ,未溢出 x+y = +0.00110 + [y] 補(bǔ) 11.01011 5、已知x和y,用變形補(bǔ)碼計算x+y,同 時指出結(jié)果是否溢出。 [x] 補(bǔ) 00.11011 00.00110 2015年3月25日星期三15 ③x=-0.10110 y=-0.00001 null[x] 補(bǔ) =11.01010 ,[y] 補(bǔ) =11.11111 null∴[x+y] 補(bǔ) = 11.01001 ,未溢出 x+y = - 0.10111 + [y] 補(bǔ) 11.11111 5、已知x和y,用變形補(bǔ)碼計算x+y,同 時指出結(jié)果是否溢出。 [x] 補(bǔ) 11.01010 11.01001 2015年3月25日星期三16 6、已知x和y,用變形補(bǔ)碼計算x-y,同 時指出結(jié)果是否溢出。 ①x=0.11011 y=-0.11111 null[x] 補(bǔ) =00.11011,[-y] 補(bǔ) = 00.11111 null∴x-y溢出(上溢) [x] 補(bǔ) 00.11011 + [- y] 補(bǔ) 00.11111 01.11010 2015年3月25日星期三17 6、已知x和y,用變形補(bǔ)碼計算x-y,同 時指出結(jié)果是否溢出。 ②x=0.10111 y=0.11011 null[x] 補(bǔ) =00.10111,[-y] 補(bǔ) = 11.00101 null∴[x-y] 補(bǔ) = 11.11100 ,未溢出 x-y = - 0.00100 [x] 補(bǔ) 00.10111 + [- y] 補(bǔ) 11.00101 11.11100 2015年3月25日星期三18 6、已知x和y,用變形補(bǔ)碼計算x-y,同 時指出結(jié)果是否溢出。 ③x=0.11011 y=-0.10011 null[x] 補(bǔ) =00.11011,[-y] 補(bǔ) = 00.10011 null∴[x-y] 補(bǔ) 溢出(上溢) [x] 補(bǔ) 00.11011 + [- y] 補(bǔ) 00.10011 01.01110 2015年3月25日星期三19 7、用原碼陣列乘法器計算xy。 ①x=11011 y=-11111 null 機(jī)器內(nèi)部補(bǔ)碼數(shù)據(jù): [x] 補(bǔ) =0 11011 [y] 補(bǔ) =1 00001 null 符號位單獨運(yùn)算: 0⊕1=1 null 算前求補(bǔ)器輸出: |x|=11011 |y|=11111 null 乘法陣列: |x| |y| = 1 1 0 1 0 0 0 1 0 1 null 算后求補(bǔ)器輸出: [xy] 補(bǔ) = 1 0010111011 ∴ xy = - 1101000101 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 2015年3月25日星期三20 7、用原碼陣列乘法器計算xy。 ②x=-11111 y=-11011 null 機(jī)器內(nèi)部補(bǔ)碼數(shù)據(jù): [x] 補(bǔ) = 1 00001 [y] 補(bǔ) = 1 00101 null 符號位單獨考慮:1⊕1=0 null 算前求補(bǔ)器輸出: |x|= 11111 |y|= 11011 null 乘法陣列: |x| |y| = 1 1 0 1 0 0 0 1 0 1 null 算后求補(bǔ)輸出: [xy] 補(bǔ) = 0 1101000101 ∴ xy = 0 1101000101 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 2015年3月25日星期三21 9-1、x=2 -011 0.100101,y=2 -010 (-0.011110),求[x+y] null設(shè)尾數(shù)階碼均使用雙符號位的補(bǔ)碼表示 [x] 浮 = 11 101,00.100101 [y] 浮 = 11 110,11.100010 1)求階差并對階 △E=Ex-Ey=[Ex] 補(bǔ) +[-Ey] 補(bǔ) =11 101 +00 010=11 111 修改后的x表示為: [x] 浮 = 11 110,0.010010(1) 2)尾數(shù)求和 M S = Mx+My =11 . 1101 00 (1) 3)規(guī)格化處理 執(zhí)行2次左規(guī)處理, M S = 11 . 0 1 0 0 1 0 (0), E S = 11 100 4)舍入處理 5)判溢出 故得最終結(jié)果為 x+y=2 -100 (-0.101110) 00. 0 1 0 0 1 0 + 11. 1 0 0 0 1 0 11 . 1 1 0 1 0 0 采用0舍1入法處理,則舍去0 階碼符號位為11,不溢出 2015年3月25日星期三22 9-1、x=2 -011 0.100101,y=2 -010 (-0.011110),求[x-y] null設(shè)尾數(shù)階碼均使用雙符號位的補(bǔ)碼表示 [x] 浮 = 11 101,00.100101 [y] 浮 = 11 110,11.100010 1)求階差并對階 △E=Ex-Ey=[Ex] 補(bǔ) +[-Ey] 補(bǔ) =11 101 +00 010=11 111 修改后的x表示為: [x] 浮 = 11 110,0.010010 (1) 2)尾數(shù)求差 M S = Mx - My =00. 110000 (1) 3)規(guī)格化處理 4)舍入處理 5)判溢出 故得最終結(jié)果為 x+y=2 -010 0. 110001 00. 0 1 0 0 1 0 + 00. 0 1 1 1 1 0 00. 1 1 0 0 0 0 采用0舍1入法處理,則進(jìn)位,M S = 00.110001 階碼符號位為11,不溢出 [-M y ] 補(bǔ) [M x ] 補(bǔ) 不需規(guī)格化 2015年3月25日星期三23 9-2、x=2 -101 (-0.010110)、y=2 -100 0.010110 ,求[x+y] null設(shè)尾數(shù)階碼均使用雙符號位的補(bǔ)碼表示 [x] 浮 =11 011,11.101010 [y] 浮 =11 100 ,00.010110 1)求階差并對階 △E=E x -E y =[E x ] 補(bǔ) +[-E y ] 補(bǔ) =11 011 +00 100=11 111 即△E為-1,x的階碼小,應(yīng)使M x 右移1位,E x 加1, [x] 浮 = 11 100,1.110101 (0) 2)尾數(shù)求和 M S = Mx+My =00. 0 0 1 0 1 1 (0) 3)規(guī)格化處理 執(zhí)行2次左規(guī)處理, M S = 00 . 1 0 1 0 0 0 (0),E S = 11 010 4)舍入處理 5)判溢出 故得最終結(jié)果為 x+y=2 -110 (0.101100) 11. 1 1 0 1 0 1 (0) + 00. 0 1 0 1 1 0 00. 0 0 1 0 1 1 (0) 采用0舍1入法處理,則舍去0 階碼符號位為11,不溢出 2015年3月25日星期三24 9-2、 x=2 -101 (-0.010110) y=2 -100 0.010110 ,求[x-y] null設(shè)尾數(shù)階碼均使用雙符號位的補(bǔ)碼表示 [x] 浮 =11 011,11.101010 [y] 浮 =11 100 ,00.010110 1)求階差并對階 △E=E x -E y =[E x ] 補(bǔ) +[-E y ] 補(bǔ) =11 011 +00 100=11 111 即△E為-1,x的階碼小,應(yīng)使M x 右移1位,E x 加1, [x] 浮 = 11 100,1.110101 (0) 2)尾數(shù)求差 M S = Mx-My =11. 0 1 1 1 1 1 (0) 3)規(guī)格化處理 4)舍入處理 5)判溢出 故得最終結(jié)果為 x+y= 2 -100 (-0.100001) 11 . 1 1 0 1 0 1 + 11. 1 0 1 0 1 0 11. 0 1 1 1 1 1 [-M y ] 補(bǔ) [M x ] 補(bǔ) 采用0舍1入法處理,則舍去0 階碼符號位為11,不溢出 不需規(guī)格化 第3章 內(nèi)部存儲器 2015年3月25日星期三26 1、設(shè)有一個具有20位地址和32位字長 的存儲器,問: ①該存儲器能存儲多少字節(jié)的信息? null存儲容量 = 存儲單元個數(shù)每單元字節(jié)數(shù) = 2 20 32 bit ②如果存儲器有512K8位SRAM芯片組成,需要多少片? null需要做存儲芯片的字位擴(kuò)展; 位擴(kuò)展:4片512K8位芯片構(gòu)成512K32位的存儲組; 字?jǐn)U展:2組512K32位存儲組構(gòu)成1M32位的存儲器; null因此,共需要24=8片給定的SRAM芯片 ③需要多少位地址做芯片選擇? null字?jǐn)U展的是2個存儲組,因此,需1位地址做片選。 4M字節(jié) 8 32 *2 20 null 8片4*2 8*512K 32*1024K nullnull 2015年3月25日星期三27 null由16K8位的芯片字位擴(kuò)展構(gòu)成64K32位的存儲器; null位擴(kuò)展:由4片16K8位的芯片構(gòu)成16K32位的存儲組; null字?jǐn)U展:由4組16K32位存儲組構(gòu)成16K32位的存儲器; null因此,4個存儲組的片選信號應(yīng)由最高兩位地址A 14 和A 15 產(chǎn)生; null該存儲器的組成邏輯框圖如下: 3、用16K8位的DRAM芯片構(gòu)成64K32位存儲器,問: (1)畫出該存儲器的組成邏輯框圖。 2:4 譯 碼 器 A 14 A 15 CS 3 CS 2 CS 0 CS 1 A 13 ~A 0 D 0 ~D 7 /WE 2015年3月25日星期三28 位擴(kuò)展 16K8 RAM A 13 ~A 0 D 7 ~D 0 /WE /CS 16K8 RAM A 13 ~A 0 D 7 ~D 0 /WE /CS A 13 ~A 0 D 7 ~D 0 D 15 ~D 8 16K8 RAM A 13 ~A 0 D 7 ~ D 0 /CS /WE 16K8 RAM A 13 ~A 0 D 7 ~ D 0 /CS /WE D 23 ~D 16 D 31 ~D 23 /CS /WE 2015年3月25日星期三29 字?jǐn)U展 16K32 存儲組 A 13 ~A 0 D 31 ~D 0 /WE /CS 16K32 存儲組 A 13 ~A 0 D 31 ~D 0 /WE /CS 16K32 存儲組 A 13 ~A 0 D 31 ~D 0 /WE /CS 16K32 存儲組 A 13 ~A 0 D 31 ~D 0 /CS /WE /WE A 13 ~A 0 D 31 ~D 0 74LS139 /G 1 B A /Y 0 /Y 1 /Y 2 /Y 3 /MREQ A 14 A 15 2015年3月25日星期三30 3、用16K8的DRAM芯片構(gòu)成64K32位存儲器,要求: (2)設(shè)儲器讀/寫周期為0.5μs,CPU在1μs內(nèi)至少要訪問一次。 試問采用哪種方式比較合理?兩次刷新的最大時間間隔是多少? 對全部存儲單元刷新一遍所需的實際刷新時間是多少? null假定16K8位的DRAM芯片的存儲矩陣是128行(1288)列; null若集中刷新,則有128行0.5us=64us的死時間,不合適; null若分散刷新,則每訪存一次需要1us,也不合適; null所以,應(yīng)采用異步式刷新方式。 null假定DRAM芯片的刷新周期為2ms null兩行的刷新間隔為:2ms/128 = 0.015625ms=15.625us null若取15.5us作為實際的刷新間隔 null刷新存儲體一遍實際所用時間為: 15.5us128=1984us = 1.984ms 2015年3月25日星期三31 6、用32K8位的EPROM芯片組成128K16 位的只讀存儲器,試問: ①數(shù)據(jù)寄存器多少位? null 因為系統(tǒng)數(shù)據(jù)總線為16位,所以數(shù)據(jù)寄存器16位 ②地址寄存器多少位? null 因為存儲器容量為128K,需系統(tǒng)地址總線17位, null 所以地址寄存器17位 ③共需多少個EPROM芯片? null 所需芯片總數(shù): (128K/32K)(16/8)=8片 2015年3月25日星期三32 6、用32K8位的EPROM芯片組成128K16位的只讀存儲器, 試問:(4)畫出此存儲器的組成框圖。 CPU 地址 寄存器 數(shù)據(jù) 寄存器 32K 8 32K 8 32K 8 32K 8 32K 8 32K 8 32K 8 32K 8 CS 3 CS 2 CS 1 CS 0 2:4 譯碼器 CS 0 ~ CS 3 A 16 A 15 2015年3月25日星期三33 8、設(shè)存儲器容量為64M,字長為64位,模塊數(shù)m=8,分 別用順序和交叉方式進(jìn)行組織。存儲周期T=100ns,數(shù) 據(jù)總線寬度為64位,總線傳送周期τ=50ns。求:順序 存儲器和交叉存儲器的帶寬各是多少? null順序存儲器和交叉存儲器連續(xù)讀出m=8個字的數(shù)據(jù)信息量為: q = 864 = 512位 null順序存儲器所需要的時間為 t 1 = mT =8100ns =800ns =810 -7 s null故順序存儲器的帶寬為 W 1 = q/t 1 = 512/(810 -7 ) = 6410 7 [bit/s] null交叉存儲器所需要的時間為 t 2 = T+ (m-1)τ= 100ns + (8-1)50ns = 450ns =4.510 -7 s null故交叉存儲器的帶寬為 W 1 = q/t 2 = 512/(4.510 -7 ) = 113.810 7 [bit/s] 2015年3月25日星期三34 9、CPU執(zhí)行一段程序時,cache完成存取的次數(shù)為2420 次,主存完成存取的次數(shù)為80次, 已知cache存儲周期為40ns,主存存儲周期為240ns, 求cache/主存系統(tǒng)的效率和平均訪問時間。 null命中率 h = N c /(N c +N m ) = 2420/(2420+80) = 0.968 null主存與Cache的速度倍率 r = t m /t c = 240ns/40ns = 6 null訪問效率 e = 1/(r+(1-r)h) = 1/(6+(1-6)0.968) = 86.2% null平均訪問時間 t a = t c /e = 40ns/0.862 = 46.4ns 2015年3月25日星期三35 10、已知cache存儲周期40ns,主存存儲周期 200ns,cache/主存系統(tǒng)平均訪問時間為50ns,求 cache的命中率是多少? null由 t a = ht c +(1-h)t m ,可得 %75.93 20040 20050 null null null null null null null mc ma tt tt h 2015年3月25日星期三36 13、一個組相聯(lián)Cache由64個行組成,每組4行。 主存儲器包含4K個塊,每塊128字。請表示內(nèi)存地 址的格式。 null組相聯(lián)映射下的主存地址格式如下: null每塊128字,假定主存以字進(jìn)行組織 null塊內(nèi)的字地址需要7位 nullCache由64個行組成,每組4行 nullCache中共包含16組,需4位組號 null主存包含4K個塊 null主存塊號為12位 null主存標(biāo)記位有12-4=8位 塊內(nèi)地址組號主存標(biāo)記 7位4位8位 2015年3月25日星期三37 14、某機(jī)主存容量1MB,字長1B,塊大小16B, Cache容量64KB,若Cache采用直接映射方 式,請給出2個不同標(biāo)記的內(nèi)存地址,它們映 射到同一個Cache行。 null直接映射下的主存地址格式如下: null每塊16B