計(jì)算機(jī)組成原理白中英版第五版課后答案.pdf
第1章 計(jì)算機(jī)系統(tǒng)概論 2015年3月25日星期三2 4. 馮諾依曼型計(jì)算機(jī)的主要設(shè)計(jì)思想是什 么?它包括哪些主要組成部分? null馮諾依曼計(jì)算機(jī)的主要設(shè)計(jì)思想 null存儲(chǔ)程序并按地址順序執(zhí)行 null馮諾依曼計(jì)算機(jī)主要包括 null存儲(chǔ)器、運(yùn)算器、控制器、輸入和輸出五部分組成 2015年3月25日星期三3 5. 什么是存儲(chǔ)容量?什么是單元地址? 什么是數(shù)據(jù)字?什么是指令字? null存儲(chǔ)容量 null存儲(chǔ)器所能保存二進(jìn)制數(shù)據(jù)的總數(shù); null常用單位為KB、MB等。 null單元地址 null用于識(shí)別存儲(chǔ)器中每個(gè)存儲(chǔ)單元的編號(hào),即單元地址。 null數(shù)據(jù)字 null表示計(jì)算機(jī)所要處理數(shù)據(jù)的計(jì)算機(jī)字,稱為數(shù)據(jù)字。 null指令字 null表示一條指令的計(jì)算機(jī)字,稱為指令字。 2015年3月25日星期三4 6. 什么是指令?什么是程序? null指令 null由操作碼和操作數(shù)兩部分構(gòu)成 null能夠表示計(jì)算機(jī)中的一個(gè)基本操作的代碼或二 進(jìn)制串。 null程序 null用于求解某一問題的一串指令序列,稱為該問 題的計(jì)算程序,簡(jiǎn)稱為程序。 2015年3月25日星期三5 7. 指令和數(shù)據(jù)均存放在內(nèi)存中,計(jì)算機(jī)如 何區(qū)分它們是指令還是數(shù)據(jù)? null計(jì)算機(jī)對(duì)指令和數(shù)據(jù)的區(qū)分是依靠指令的執(zhí)行階段 來決定的; null在取指階段,從存儲(chǔ)器中讀取的均是CPU要執(zhí) 行的指令; null在執(zhí)行階段,從存儲(chǔ)器中讀取的一定是指令執(zhí) 行所需要的操作數(shù); 2015年3月25日星期三6 8. 什么是內(nèi)存?什么是外存?什么是CPU? 什么是適配器?簡(jiǎn)述其功能。 null內(nèi)存: null用于存放系統(tǒng)當(dāng)前運(yùn)行所需要的程序和數(shù)據(jù)的半導(dǎo)體存儲(chǔ) 器,稱為內(nèi)存儲(chǔ)器,簡(jiǎn)稱內(nèi)存; null外存 null用于存放程序和數(shù)據(jù),但不能被CPU直接訪問的大容量 存儲(chǔ)器,稱為外存儲(chǔ)器,簡(jiǎn)稱為外存; null外存一般包括磁盤存儲(chǔ)器和光盤存儲(chǔ)器。 nullCPU null運(yùn)算器和控制器合稱為中央處理器,簡(jiǎ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,即等價(jià)于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. 有一個(gè)字長為32位的浮點(diǎn)數(shù),符號(hào)位1位;階碼8位,用移碼 表示;尾數(shù)23位,用補(bǔ)碼表示;基數(shù)為2。請(qǐng)寫出:(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位)符號(hào)位S(1位) 2015年3月25日星期三11 3. 有一個(gè)字長為32位的浮點(diǎn)數(shù),符號(hào)位1位;階碼8位,用移碼表 示;尾數(shù)23位,用補(bǔ)碼表示;基數(shù)為2。請(qǐng)寫出:(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位)符號(hào)位S(1位) 2015年3月25日星期三12 4、將下列十進(jìn)制數(shù)表示成IEEE754標(biāo)準(zhǔn)的 32位浮點(diǎn)規(guī)格化數(shù)。 null 27/64 null27/64 = 0.011011B = 1.1011 * 2 -2 nulle=2,則Ee127125 null 規(guī)格化數(shù) null27/64 null27/64 =0.011011B =1.1011 * 2 -2 null 規(guī)格化數(shù) 符號(hào)位 階碼(8) 尾數(shù)(23) 0 0111 1101 1011 0000 0000 0000 0000 000 符號(hào)位 階碼(8) 尾數(shù)(23) 1 0111 1101 1011 0000 0000 0000 0000 000 2015年3月25日星期三13 y 補(bǔ) 00.00011 5、已知x和y,用變形補(bǔ)碼計(jì)算xy,同 時(shí)指出結(jié)果是否溢出。 x=0.11011 y=0.00011 nullx 補(bǔ) 00.11011 ,y 補(bǔ) 00.00011 nullx+y 補(bǔ) 00.11110,未溢出 x+y = +0.11110 x 補(bǔ) 00.11011 00.11110 2015年3月25日星期三14 x=0.11011 y=0.10101 nullx 補(bǔ) 00.11011 ,y 補(bǔ) 11.01011 nullx+y 補(bǔ) 00.00110 ,未溢出 x+y = +0.00110 y 補(bǔ) 11.01011 5、已知x和y,用變形補(bǔ)碼計(jì)算xy,同 時(shí)指出結(jié)果是否溢出。 x 補(bǔ) 00.11011 00.00110 2015年3月25日星期三15 x=0.10110 y=0.00001 nullx 補(bǔ) 11.01010 ,y 補(bǔ) 11.11111 nullx+y 補(bǔ) 11.01001 ,未溢出 x+y = - 0.10111 y 補(bǔ) 11.11111 5、已知x和y,用變形補(bǔ)碼計(jì)算xy,同 時(shí)指出結(jié)果是否溢出。 x 補(bǔ) 11.01010 11.01001 2015年3月25日星期三16 6、已知x和y,用變形補(bǔ)碼計(jì)算xy,同 時(shí)指出結(jié)果是否溢出。 x=0.11011 y=0.11111 nullx 補(bǔ) 00.11011,y 補(bǔ) 00.11111 nullx-y溢出(上溢) x 補(bǔ) 00.11011 y 補(bǔ) 00.11111 01.11010 2015年3月25日星期三17 6、已知x和y,用變形補(bǔ)碼計(jì)算xy,同 時(shí)指出結(jié)果是否溢出。 x=0.10111 y=0.11011 nullx 補(bǔ) 00.10111,y 補(bǔ) 11.00101 nullx-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ǔ)碼計(jì)算xy,同 時(shí)指出結(jié)果是否溢出。 x=0.11011 y=0.10011 nullx 補(bǔ) 00.11011,y 補(bǔ) 00.10011 nullx-y 補(bǔ) 溢出(上溢) x 補(bǔ) 00.11011 y 補(bǔ) 00.10011 01.01110 2015年3月25日星期三19 7、用原碼陣列乘法器計(jì)算xy。 x11011 y11111 null 機(jī)器內(nèi)部補(bǔ)碼數(shù)據(jù): x 補(bǔ) 0 11011 y 補(bǔ) 1 00001 null 符號(hào)位單獨(dú)運(yùn)算: 011 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、用原碼陣列乘法器計(jì)算xy。 x11111 y11011 null 機(jī)器內(nèi)部補(bǔ)碼數(shù)據(jù): x 補(bǔ) 1 00001 y 補(bǔ) 1 00101 null 符號(hào)位單獨(dú)考慮:110 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ù)階碼均使用雙符號(hào)位的補(bǔ)碼表示 x 浮 11 101,00.100101 y 浮 11 110,11.100010 1)求階差并對(duì)階 EExEyEx 補(bǔ) Ey 補(bǔ) 11 101 00 01011 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é)果為 xy2 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 階碼符號(hào)位為11,不溢出 2015年3月25日星期三22 9-1、x=2 -011 0.100101,y=2 -010 (-0.011110),求x-y null設(shè)尾數(shù)階碼均使用雙符號(hào)位的補(bǔ)碼表示 x 浮 11 101,00.100101 y 浮 11 110,11.100010 1)求階差并對(duì)階 EExEyEx 補(bǔ) Ey 補(bǔ) 11 101 00 01011 111 修改后的x表示為: x 浮 11 110,0.010010 (1) 2)尾數(shù)求差 M S = Mx My =00. 110000 (1) 3)規(guī)格化處理 4)舍入處理 5)判溢出 故得最終結(jié)果為 xy2 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 階碼符號(hào)位為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ù)階碼均使用雙符號(hào)位的補(bǔ)碼表示 x 浮 11 011,11.101010 y 浮 11 100 ,00.010110 1)求階差并對(duì)階 EE x E y E x 補(bǔ) E y 補(bǔ) 11 011 00 10011 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é)果為 xy2 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 階碼符號(hào)位為11,不溢出 2015年3月25日星期三24 9-2、 x=2 -101 (-0.010110) y=2 -100 0.010110 ,求x-y null設(shè)尾數(shù)階碼均使用雙符號(hào)位的補(bǔ)碼表示 x 浮 11 011,11.101010 y 浮 11 100 ,00.010110 1)求階差并對(duì)階 EE x E y E x 補(bǔ) E y 補(bǔ) 11 011 00 10011 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é)果為 xy 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 階碼符號(hào)位為11,不溢出 不需規(guī)格化 第3章 內(nèi)部存儲(chǔ)器 2015年3月25日星期三26 1、設(shè)有一個(gè)具有20位地址和32位字長 的存儲(chǔ)器,問: 該存儲(chǔ)器能存儲(chǔ)多少字節(jié)的信息? null存儲(chǔ)容量 = 存儲(chǔ)單元個(gè)數(shù)每單元字節(jié)數(shù) = 2 20 32 bit 如果存儲(chǔ)器有512K8位SRAM芯片組成,需要多少片? null需要做存儲(chǔ)芯片的字位擴(kuò)展; 位擴(kuò)展:4片512K8位芯片構(gòu)成512K32位的存儲(chǔ)組; 字?jǐn)U展:2組512K32位存儲(chǔ)組構(gòu)成1M32位的存儲(chǔ)器; null因此,共需要24=8片給定的SRAM芯片 需要多少位地址做芯片選擇? null字?jǐn)U展的是2個(gè)存儲(chǔ)組,因此,需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位的存儲(chǔ)器; null位擴(kuò)展:由4片16K8位的芯片構(gòu)成16K32位的存儲(chǔ)組; null字?jǐn)U展:由4組16K32位存儲(chǔ)組構(gòu)成16K32位的存儲(chǔ)器; null因此,4個(gè)存儲(chǔ)組的片選信號(hào)應(yīng)由最高兩位地址A 14 和A 15 產(chǎn)生; null該存儲(chǔ)器的組成邏輯框圖如下: 3、用16K8位的DRAM芯片構(gòu)成64K32位存儲(chǔ)器,問: (1)畫出該存儲(chǔ)器的組成邏輯框圖。 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 存儲(chǔ)組 A 13 A 0 D 31 D 0 /WE /CS 16K32 存儲(chǔ)組 A 13 A 0 D 31 D 0 /WE /CS 16K32 存儲(chǔ)組 A 13 A 0 D 31 D 0 /WE /CS 16K32 存儲(chǔ)組 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位存儲(chǔ)器,要求: (2)設(shè)儲(chǔ)器讀/寫周期為0.5s,CPU在1s內(nèi)至少要訪問一次。 試問采用哪種方式比較合理?兩次刷新的最大時(shí)間間隔是多少? 對(duì)全部存儲(chǔ)單元刷新一遍所需的實(shí)際刷新時(shí)間是多少? null假定16K8位的DRAM芯片的存儲(chǔ)矩陣是128行(1288)列; null若集中刷新,則有128行0.5us=64us的死時(shí)間,不合適; null若分散刷新,則每訪存一次需要1us,也不合適; null所以,應(yīng)采用異步式刷新方式。 null假定DRAM芯片的刷新周期為2ms null兩行的刷新間隔為:2ms/128 = 0.015625ms=15.625us null若取15.5us作為實(shí)際的刷新間隔 null刷新存儲(chǔ)體一遍實(shí)際所用時(shí)間為: 15.5us1281984us = 1.984ms 2015年3月25日星期三31 6、用32K8位的EPROM芯片組成128K16 位的只讀存儲(chǔ)器,試問: 數(shù)據(jù)寄存器多少位? null 因?yàn)橄到y(tǒng)數(shù)據(jù)總線為16位,所以數(shù)據(jù)寄存器16位 地址寄存器多少位? null 因?yàn)榇鎯?chǔ)器容量為128K,需系統(tǒng)地址總線17位, null 所以地址寄存器17位 共需多少個(gè)EPROM芯片? null 所需芯片總數(shù): (128K/32K)(16/8)=8片 2015年3月25日星期三32 6、用32K8位的EPROM芯片組成128K16位的只讀存儲(chǔ)器, 試問:(4)畫出此存儲(chǔ)器的組成框圖。 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è)存儲(chǔ)器容量為64M,字長為64位,模塊數(shù)m=8,分 別用順序和交叉方式進(jìn)行組織。存儲(chǔ)周期T=100ns,數(shù) 據(jù)總線寬度為64位,總線傳送周期=50ns。求:順序 存儲(chǔ)器和交叉存儲(chǔ)器的帶寬各是多少? null順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出m=8個(gè)字的數(shù)據(jù)信息量為: q = 864 = 512位 null順序存儲(chǔ)器所需要的時(shí)間為 t 1 = mT =8100ns =800ns =810 -7 s null故順序存儲(chǔ)器的帶寬為 W 1 = q/t 1 = 512/(810 -7 ) = 6410 7 bit/s null交叉存儲(chǔ)器所需要的時(shí)間為 t 2 = T+ (m-1)= 100ns + (8-1)50ns = 450ns =4.510 -7 s null故交叉存儲(chǔ)器的帶寬為 W 1 = q/t 2 = 512/(4.510 -7 ) = 113.810 7 bit/s 2015年3月25日星期三34 9、CPU執(zhí)行一段程序時(shí),cache完成存取的次數(shù)為2420 次,主存完成存取的次數(shù)為80次, 已知cache存儲(chǔ)周期為40ns,主存存儲(chǔ)周期為240ns, 求cache/主存系統(tǒng)的效率和平均訪問時(shí)間。 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平均訪問時(shí)間 t a = t c /e = 40ns/0.862 = 46.4ns 2015年3月25日星期三35 10、已知cache存儲(chǔ)周期40ns,主存存儲(chǔ)周期 200ns,cache/主存系統(tǒng)平均訪問時(shí)間為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、一個(gè)組相聯(lián)Cache由64個(gè)行組成,每組4行。 主存儲(chǔ)器包含4K個(gè)塊,每塊128字。請(qǐng)表示內(nèi)存地 址的格式。 null組相聯(lián)映射下的主存地址格式如下: null每塊128字,假定主存以字進(jìn)行組織 null塊內(nèi)的字地址需要7位 nullCache由64個(gè)行組成,每組4行 nullCache中共包含16組,需4位組號(hào) null主存包含4K個(gè)塊 null主存塊號(hào)為12位 null主存標(biāo)記位有124=8位 塊內(nèi)地址組號(hào)主存標(biāo)記 7位4位8位 2015年3月25日星期三37 14、某機(jī)主存容量1MB,字長1B,塊大小16B, Cache容量64KB,若Cache采用直接映射方 式,請(qǐng)給出2個(gè)不同標(biāo)記的內(nèi)存地址,它們映 射到同一個(gè)Cache行。 null直接映射下的主存地址格式如下: null每塊16B 塊內(nèi)的字節(jié)地址需要4位 nullCache容量64KB 共包含4K行 Cache塊號(hào)12位 null主存容量1MB 主存地址20位 主存標(biāo)記位20124 = 4位 null兩個(gè)滿足題目要求的主存地址: 0000 1001 0000 1110 0000 0001 1001 0000 1110 0000 塊內(nèi)地址Cache行號(hào)主存標(biāo)記 4位12位4位 2015年3月25日星期三38 15、假設(shè)主存容量16M32位,Cache容量 64K32位,主存與Cache之間以每塊432位大 小傳送數(shù)據(jù),請(qǐng)確定直接映射方式的有關(guān)參數(shù),并 畫出主存地址格式。 null直接映射下的主存地址格式如下: null每塊4字 塊內(nèi)的字地址需要2位 nullCache容量64KB Cache共包含16K個(gè)塊 Cache塊號(hào)需要14位 null主存16MB 主存地址為24位 主存標(biāo)記位有24142 = 8位 塊內(nèi)地址Cache行號(hào)主存標(biāo)記 2位14位8位 第4章 指令系統(tǒng) 2015年3月25日星期三40 3、指令格式結(jié)構(gòu)如下所示,試分析指令 格式與尋址方式特點(diǎn)。 單字長雙地址碼的RR型指令。 操作碼6位,系統(tǒng)中可以包含64種不同的指令。 源、目的操作數(shù)只能采用寄存器尋址方式。 源寄存器目標(biāo)寄存器 OP 3 07 49 815 10 2015年3月25日星期三41 4、指令格式結(jié)構(gòu)如下所示,試分析指令格式 與尋址方式特點(diǎn)。 雙字長雙地址碼的RS型指令。 操作碼6位,系統(tǒng)中可以包含64種不同的指令。 源操作數(shù)只能使用寄存器尋址方式; 目的操作數(shù)只能使用變址尋址方式; 其中,變址寄存器可使用16個(gè)通用寄存器之一; 偏移量為16位。 變址寄存器源寄存器 OP 3 07 49 815 10 偏移量(16位) 2015年3月25日星期三42 6、一種單地址指令格式如下所示,R變址寄存器,R1 基址寄存器,PC程序計(jì)數(shù)器,填寫下列尋址方式。 E=(R 1 )+D) 111基址間接尋址 E=(D)001間接尋址 E=(R 1 )+D 110基址尋址 E=(R)+D100變址尋址 E=(PC)+D010相對(duì)尋址 E=D000直接尋址 有效地址EXI 尋址方式 形式地址D尋址模式X間接特征I操作碼OP 2015年3月25日星期三43 7、某計(jì)算機(jī)字長為16位,主存容量為64K字,采用 單字長單地址指令,共有40條指令,試采用直接、 立即、變址、相對(duì)四種尋址方式設(shè)計(jì)指令格式。 null40條指令 null指令操作碼需6位,2 6 =64,其中24種編碼未用; null4種尋址方式 null尋址特征需2位; null單字長單地址指令 null剩余8位作為形式地址; null設(shè)計(jì)方案: null方案1:專用變址寄存器; null方案2:通用寄存器作為變址寄存器; E=(PC)+D E=(R)+D D=Imm E=D 有效地址E 11相對(duì)尋址方式 10變址尋址方式 01立即尋址方式 00直接尋址方式 尋址特征X尋址方式 2015年3月25日星期三44 方案1:專用變址寄存器 null各操作數(shù)的尋址范圍: null立即數(shù)尋址方式 指令中的立即數(shù)不能超過8位; null直接尋址方式 直接地址為8位,可直接尋址范圍為2 8 個(gè)單元; null變址尋址方式 E=(R)+D,其中變址寄存器R為16位; 由于主存容量64K字,可直接尋址整個(gè)主存空間; null相對(duì)尋址方式 E=(PC)+D,可直接尋址整個(gè)主存空間; 8位 形式地址 2位 尋址特征 6位 OP 2015年3月25日星期三45 方案2:通用寄存器作為變址寄存器 null各操作數(shù)的尋址范圍: null立即數(shù)尋址方式 指令中的立即數(shù)不能超過4位; null直接尋址方式 直接地址為4位,可直接尋址范圍為2 4 個(gè)單元; null變址尋址方式 E=(R)+D,其中變址寄存器R為16位; 由于主存容量64K字,可直接尋址整個(gè)主存空間; null相對(duì)尋址方式 E=(PC)+D,可直接尋址整個(gè)主存空間; 4位 形式地址 4位 寄存器 2位 尋址特征 6位 OP 2015年3月25日星期三46 9、某機(jī)字長為32位,CPU中有16個(gè)32位通用寄存器,設(shè)計(jì)一 種能容納64種操作的指令系統(tǒng),如果采用通用寄存器作為 基址寄存器,則RS型指令的最大存儲(chǔ)空間是多少? null指令格式 null64種操作 操作碼占6位; null16個(gè)通用寄存器一個(gè)操作數(shù)和基址寄存器各占4位; null單字長指令 形式地址占32 6 4 4 = 18位; null操作數(shù)S的地址E (R1)D,其中R1為32位的; null若系統(tǒng)的地址總線32位,則可尋址整個(gè)主存; null若系統(tǒng)的地址總線32位,則可尋址的最大存儲(chǔ)空間為 2 32 +2 18 形式地址D基址寄存器R1操作數(shù)R操作碼OP 6位4位4位 18位 2015年3月25日星期三47 12、根據(jù)操作數(shù)所在的位置,指出其尋址方式。 1.操作數(shù)在寄存器中,為 尋址方式; 2.操作地址在寄存器,為 尋址方式; 3.操作數(shù)在指令中,為 尋址方式; 4.操作數(shù)地址(主存)在指令中,為 方 式; 5.操作數(shù)的地址為某一寄存器內(nèi)容與位移量之和, 可以是 尋址方式; 寄存器 寄存器間接 立即數(shù) 直接尋址 相對(duì),基址,變址 第5章 中央處理機(jī) 2015年3月25日星期三49 2、參見圖5.15的數(shù)據(jù)通路,畫出存數(shù)指令STO R1,(R2) 的指令周期流程圖,其含義是將寄存器R1的內(nèi)容傳送至 (R2)為地址的數(shù)存單元中。 指令 地址 指令 數(shù)據(jù)單元 數(shù)據(jù) 地址 數(shù)據(jù) 2015年3月25日星期三50 存數(shù)指令STO R1,(R2) (PC)AR (M)DR (DR)IR 譯碼 (R2)AR (R1)DR DRMM 取指周期執(zhí)行周期 PC 0 G AR i R/W=1 DR 0 G IR i R2 0 G AR i R1 0 G DR i R/W=0 2015年3月25日星期三51 3、參見圖5.15的數(shù)據(jù)通路,畫出取數(shù)指令LAD (R3), R0的指令周期流程圖,其含義是將(R3)為地址數(shù)存 單元的內(nèi)容取至寄存器R0中。 指令 地址 指令 數(shù)據(jù) 數(shù)據(jù) 地址 2015年3月25日星期三52 取數(shù)指令LAD (R3),R0的指令周期 (PC)AR (M)DR (DR)IR 譯碼 (R3)AR MMDR DRR0 取指周期執(zhí)行周期 PC 0 G AR i R/W=1 DR 0 G IR i R3 0 G AR i DR 0 G R0 i R/W=1 2015年3月25日星期三53 6、假設(shè)某機(jī)器有80條指令,平均每條指令有4條微 指令組成,其中有一條取值微指令是所有指令公 用的,已知微指令長度為32位,請(qǐng)估算控制存儲(chǔ) 器容量。 null微指令的數(shù)目為803+1=241條; null微指令字長為32/8=4字節(jié); null故,控制存儲(chǔ)器的容量為 2414=964字節(jié) null該容量為控制存儲(chǔ)器的最小容量。 2015年3月25日星期三54 8、某機(jī)有8條指令I(lǐng)1I8,每條 微指令所包含的微命令控制 信號(hào)如下表所示。aj分別 對(duì)應(yīng)10種不同性質(zhì)的微命令 信號(hào)。假設(shè)一條微指令的控 制字段僅為8位,請(qǐng)安排微指 令的控制字段格式。 null微命令數(shù)目>操作控制字段,則采 用混合表示法設(shè)計(jì)微指令; null從左表中選擇互斥的微操作; nulla命令:與i互斥 nullb命令:與f、g、i、j互斥 nullc命令:與f、j互斥 nulld命令:與i、j互斥 nulle命令:與f、h、j互斥 nullf命令:與b、c、e、h、i、j互斥 nullg命令:與b、h、j互斥 nullh命令:與e、f、g、i互斥 nulli命令:與a、b、d、f、h、j互斥 nullj命令:與b、c、d、e、f、g、i互斥 null互斥信號(hào)組 nulle、f、h和b、i、j nulle、f、h和d、i、j nulle、f、h和b、g、j nulli、f、h和b、g、j I8 I7 I6 I5 I4 I3 I2 I1 jihgfedcba 微指 令 2015年3月25日星期三55 8、某機(jī)有8條指令I(lǐng)1I8,每條微指令所包含的微命令控制信號(hào) 如下表所示。aj分別對(duì)應(yīng)10種不同性質(zhì)的微命令信號(hào)。假 設(shè)一條微指令的控制字段僅為8位,請(qǐng)安排微指令的控制字 段格式。 null解法1: null將 (d, i, j)和(e, f, h)分別組成兩 個(gè)小組,進(jìn)行譯碼,可得六個(gè)微命令 信號(hào),剩下的a, b, c, g四個(gè)微命令信 號(hào)可進(jìn)行直接控制,其整個(gè)控制字段 組成如右圖所示: null解法2: null將 (b, i, j)和(e, f, h)分別組成兩 個(gè)小組,進(jìn)行譯碼,可得六個(gè)微命令 信號(hào),剩下的a, b, c, g四個(gè)微命令信 號(hào)可進(jìn)行直接控制,其整個(gè)控制字段 組成如右圖所示: a b c g 01d 01e 10 i 10 f 11 j 11 h * * * * * * * * 注意:00表示兩位 均不產(chǎn)生控制信號(hào) 2015年3月25日星期三56 12、今有4級(jí)流水線,分別完成取指、指令譯碼并取數(shù)、 運(yùn)算、送結(jié)果四步操作。假設(shè)完成各步操作的時(shí)間 依次為100ns、100ns、80ns、50ns。請(qǐng)問: 流水線的操作周期應(yīng)設(shè)計(jì)為多少? null流水線的操作周期應(yīng)按各步操作的最大時(shí)間來考慮,即流 水線時(shí)鐘周期性 ,故取100ns。 若相鄰兩條指令發(fā)生數(shù)據(jù)相關(guān),硬件上不采取措施,那么第2 條指令要推遲多少時(shí)間進(jìn)行? null遇到數(shù)據(jù)相關(guān)時(shí),就推遲第2條指令的執(zhí)行; null要推遲到所需讀取的數(shù)據(jù)已產(chǎn)生為止,因此至少需要延遲 2個(gè)時(shí)鐘周期。 如果再硬件設(shè)計(jì)上加以改進(jìn),至少需推遲多少時(shí)間? null如采用專用通路技術(shù),應(yīng)保證取數(shù)之前結(jié)果已計(jì)算出來; null因此,至少需要延遲1個(gè)時(shí)鐘周期。 流水時(shí)空?qǐng)D 2015年3月25日星期三57 流水時(shí)空?qǐng)D 取指 譯碼并 取數(shù) 運(yùn)算 送結(jié)果 取指 譯碼并 取數(shù) 運(yùn)算 送結(jié)果 取指 譯碼并 取數(shù) 運(yùn)算 送結(jié)果 取指 譯碼并 取數(shù) 運(yùn)算 送結(jié)果 可能出現(xiàn)的 數(shù)據(jù)相關(guān) 2015年3月25日星期三58 13、指令流水線有取指(IF)、譯碼(ID)、執(zhí)行 (EX)、訪存(MEM)、寫回寄存器堆(WB) 五個(gè)過程段,共有20條指令連續(xù)輸入此流水線。 畫出流水處理的時(shí)空?qǐng)D,假設(shè)時(shí)鐘周期為100ns。 2015年3月25日星期三59 13、指令流水線有取指(IF)、譯碼(ID)、執(zhí)行 (EX)、訪存(MEM)、寫回寄存器堆(WB) 五個(gè)過程段,共有20條指令連續(xù)輸入此流水線。 求流水線的實(shí)際吞吐量(單位時(shí)間內(nèi)執(zhí)行完畢的指令條數(shù))。 求流水線的加速比。 條/秒10*8.33 10*100*1)20(5 20 1)n(K n H 6 9 null null null null null null 4.17 1520 5*20 1)n(K nK Tp Ts S null null null null nullnull 2015年3月25日星期三60 16、判斷以下三組指令中各存在哪種類型的數(shù)據(jù)相關(guān)? I1 LDA R1 , A ;M(A)R1 I2 ADD R2 , R1 ;(R2)+(R1)R2 I3 ADD R3 , R4 ;(R3)+(R4)R3 I4 MUL R4 , R5 ;(R4) (R5) R4 I5 LDA R6 , B ;M(B)R6 I6 MUL R6 , R7 ;(R6) (R7) R6 寫后讀相關(guān) 讀后寫相關(guān) 寫后寫相關(guān) 第8章 輸入輸出系統(tǒng) 2015年3月25日星期三62 1、如果認(rèn)為CPU等待設(shè)備的狀態(tài)信號(hào)是處于非工作狀態(tài)(即踏 步等待),那么在下面幾種主機(jī)與設(shè)備之間的數(shù)據(jù)傳送中, ( )主機(jī)與設(shè)備是串行工作的;( )主機(jī)與設(shè)備是并 行工作的;( )主機(jī)程序與設(shè)備是并行運(yùn)行的。 A、程序查詢方式 B、程序中斷方式 C、DMA方式 2、中斷向量的地址是( )。 A、子程序入口地址 B、中斷服務(wù)程序入口地址 C、中斷服務(wù)程序入口地址指示器 D、例行程序入口地址 4、采用DMA方式傳送數(shù)據(jù)時(shí),每傳送一個(gè)數(shù)據(jù)就要占用一個(gè) ( )的時(shí)間。 A、指令周期 B、機(jī)器周期 C、存儲(chǔ)周期 D、總線周期 A C B B C 2015年3月25日星期三63 (1)將表中各級(jí)中斷處理程序的各中斷屏蔽值如何設(shè)置? 每級(jí)對(duì)應(yīng)一位,該位為0表示允許中斷,為1表示中斷屏蔽 8、設(shè)某機(jī)器有5級(jí)中斷:L0,L1,L2,L3,L4,其中斷響 應(yīng)優(yōu)先次序?yàn)椋篖0最高,L1次之,L4最低,現(xiàn)在要求將中 斷處理次序改為L1L3L0L4L2,試問: 2015年3月25日星期三64 null按優(yōu)先次序先調(diào)用L0,L0屏蔽了 本級(jí)和低級(jí)中斷請(qǐng)求,而L1的中 斷請(qǐng)求未屏蔽,則L1發(fā)生中斷嵌 套響應(yīng); nullL1中斷時(shí),不允許任何中斷,服 務(wù)完畢后,退回到L0的中斷服務(wù) 程序,這時(shí),允許L3的中斷嵌套 響應(yīng); nullL3服務(wù)完畢后,返回L0中斷服務(wù) 程序; nullL0服務(wù)完畢后,按照順序應(yīng)處理 L2,L2開放了更高級(jí)中斷L4,因 此響應(yīng)了L4,L4響應(yīng)完成后再繼 續(xù)執(zhí)行L2級(jí)中斷服務(wù)程序。 (2) 若這5級(jí)中斷同時(shí)發(fā)出中 斷請(qǐng)求,按更改后的次 序畫出進(jìn)入各級(jí)中斷處 理程序的過程示意圖。 ( L1L3L0L4L2) 2015年3月25日星期三65 12、下列陳述中正確的是( ) A、在DMA周期內(nèi),CPU不能執(zhí)行程序 B、中斷發(fā)生時(shí),CPU首先執(zhí)行入棧指令將程序計(jì)數(shù)器內(nèi) 容保護(hù)起來 C、DMA傳送方式中,DMA控制器每傳送一個(gè)數(shù)據(jù)就竊取 一個(gè)指令周期 D、輸入輸出操作的最終目的是要實(shí)現(xiàn)CPU與外設(shè)之間的 數(shù)據(jù)傳輸 14、IEEE1394是( )I/O標(biāo)準(zhǔn)接口,與SCSI( ) I/O標(biāo) 準(zhǔn)接口相比,它具有更高的( ),更強(qiáng)的( ), 體積( ),連接方便。 A、并行 B、串行 C、數(shù)據(jù)傳輸速率 D、數(shù)據(jù)傳輸實(shí)時(shí)性 E、小 D D B C A E 2015年3月25日星期三66 14、Pentium系統(tǒng)有兩類中斷源: 由CPU外部的硬件信號(hào)引發(fā)的稱為_,它分為 _和_; 由指令引發(fā)的稱為_,其中一種是_, 另一種是_。 15、SCSI是系統(tǒng)級(jí)( ),是處于主適配器和智能設(shè)備控制器 之間的( )IO接口。SCSI-3標(biāo)準(zhǔn)允許SCSI總線上連接的 設(shè)備由( )個(gè)提高到( )個(gè),可支持( )位數(shù)據(jù) 傳輸。 A. 并行 B. 接口 C. 16 D. 8 E. 16 B A D C E 外部中斷 可屏蔽中斷 非屏蔽中斷 異常中斷 執(zhí)行異常 指令中斷 2015年3月25日星期三67 null通道方式 null利用通道來管理外設(shè)的工作,可以實(shí)現(xiàn)對(duì)外設(shè)的統(tǒng)一管理 和外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送,減輕了CPU的負(fù)擔(dān),大大 提高了CPU的工作效率。 nullDMA方式 null需要硬件DMAC的控制管理主存與高速外設(shè)之間大批數(shù)據(jù) 交換; null數(shù)據(jù)傳送速度很高,傳送速率僅受到內(nèi)存訪問時(shí)間的限制。 null中斷方式 null一般適用于隨機(jī)出現(xiàn)的慢速外設(shè)的數(shù)據(jù)傳送服務(wù); null一旦提出請(qǐng)求應(yīng)立即進(jìn)行,節(jié)省了CPU的時(shí)間開銷,但硬 件結(jié)構(gòu)稍復(fù)雜一些。 16、比較通道、DMA、中斷三種基本I/O方式的異同點(diǎn)。