2009-2015年計算機組成原理考研大題_第1頁
2009-2015年計算機組成原理考研大題_第2頁
2009-2015年計算機組成原理考研大題_第3頁
免費預(yù)覽已結(jié)束,剩余27頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

438分)某計算機的U主頻為500MHI為(即執(zhí)行每條指令平均需5個時鐘周期。假定某外設(shè)的數(shù)據(jù)傳輸率為0.5MB/s以32位為傳輸單位,對應(yīng)的中斷服務(wù)程序包含18條指令,中斷服務(wù)的其他開銷相當(dāng)于2條指令的執(zhí)行時間。請回答下列問題,要求給出計算過程。U用于該外設(shè)I/O的時間占整個U時間的百分比是多少?當(dāng)該外設(shè)的數(shù)據(jù)傳輸率達(dá)到5MB/s時,改用DMA方式傳送數(shù)據(jù)。假定每次DMA傳送塊大小為DMA預(yù)處理和后處理的總開銷為500個時鐘周期,則CPU用于該外設(shè)I/O的時間占整個CPU時間的百分比是多少?(假設(shè)DMA與CPU之間沒有訪存沖突)解答:,中斷時每次傳送用于數(shù)據(jù)傳送的時鐘周期為5×18+5×2=100。為達(dá)到外設(shè)0.5MB/s的數(shù)據(jù)傳輸率,外設(shè)每秒申請的中斷次數(shù)為0.5MB/4B=1250001s內(nèi)用于中斷的開銷為100×125000=12500000=12.5M個時鐘周期。CPU用于外設(shè)I/O的時間占整個CPU時間的百分比為12.5M/500M=2.5%。當(dāng)外設(shè)數(shù)據(jù)傳輸率提高到5MB/sDMADMA傳送5000B,1s內(nèi)需產(chǎn)生的DMA次數(shù)為5MB/5000B=1000。CPU用于DMA處理的總開銷為1000×500=500000=0.5M個時鐘周期。CPU用于外設(shè)I/O的時間占整個CPU時間的百分比為0.5M/500M=0.1%。【評分說明】如果考生只給出正確的計算結(jié)果,未給出計算過程,每個給2分。44(13分某計算機字長為1616如圖A-2所示,圖中所有控制信號為1時表示有效、為0MDRinE為1表示允許數(shù)據(jù)從DB打入為1表示允許數(shù)據(jù)從內(nèi)總線打入MDR。假設(shè)MAR的輸出一直處于使能狀態(tài)。加法指令“ADD(R1),R0”的功能為(R0)+((R1))→(R1),即將R0中的數(shù)據(jù)與R1的內(nèi)容所指主存單元的數(shù)據(jù)相加,并將結(jié)果送入R1的內(nèi)容所指主存單元中保存。圖 A-2表A-1給出了上述指令取指和譯碼階段每個節(jié)拍(時鐘周期)的功能和有效控制信號,請按表中描述方式用表格列出指令執(zhí)行階段每個節(jié)拍的功能和有效控制信號。. ...表 A-1時鐘時鐘功能有效控制信號C1PCout,MARinMAR←(PC)MDR←M(MDR)C2MemR,MDRinE,PC+1PC←(PC)+1C3MDRout,IRinIR←(MDR)C4指令譯碼無解答:題干已給出取值和譯碼階段每個節(jié)拍的功能和有效控制信號思路中,包括劃分執(zhí)行步驟、確定完成的功能、需要的控制信號。先分析題干中提供的示例(本部分解題時不做要求:取指令的功能是根據(jù)PC的內(nèi)容所指主存地址,取出指令代碼,經(jīng)過MDR,最終送至IR。這部分和后面的指令執(zhí)行階段的取操作數(shù)、存運算結(jié)果的方法是相通的。C1:(PC)→MAR在讀寫存儲器前,必須先將地址(這里為(PC))送至MAR。C2:M(MAR)→MDR,(PC)+1→PC讀寫的數(shù)據(jù)必須經(jīng)過MDR,指令取出后PC自增1。C3:(MDR)→IR然后將讀到MDR中指令代碼送至IR進行后續(xù)操作。指令“ADD(R1),R0”的操作數(shù)一個在主存中,一個在寄存器中,運算結(jié)果在主存中。根據(jù)指令功能,要讀出R1的內(nèi)容所指的主存單元,必須先將R1的內(nèi)容送至MAR,即(R1)→MAR。而讀出的數(shù)據(jù)必須經(jīng)過MDR,即M(MAR)→MDR。因此,將R1的內(nèi)容所指主存單元的數(shù)據(jù)讀出到MDR的節(jié)拍安排如下:C5:(R1)→MARC6:M(MAR)→MDRALU一端是寄存器A,MDR或R0中必須有一個先寫入A中,如。C7:(MDR)→A然后執(zhí)行加法操作,并將結(jié)果送入寄存器AC。C8:(A)+(R0)→AC之后將加法結(jié)果寫回到R1的內(nèi)容所指主存單元,注意MAR中的內(nèi)容沒有改變。C9:(AC)→MDRC10:(MDR)→M(MAR)X就是流出寄存器X就是。還需注意其他特殊控制信號,如PC+1、Add等。于是得到參考答案如下:時鐘時鐘功能有效控制信號C5R1out,MARinMAR←(R1)C6MemR,MDRinEMDR←M(MAR)C7A←(MDR)MDRout,AinC8R0out,Add,ACinAC←(A)+(R0)C9ACout,MDRinMDR←(AC)C10MDRoutE,MemWM(MAR)←(MDR)本題答案不唯一,如果在C6執(zhí)行M(MAR)→MDR(R0)→A(即選擇將(R0)寫入A,并不會發(fā)生總線沖突,這種方案可節(jié)省1個節(jié)拍,見下表。時鐘時鐘功能有效控制信號C5R1out,MARinMAR←(R1)C6MDR←M(MAR),A←(R0)MemR,MDRinE,R0out,AinC7C7MDRout,Add,ACinAC←(MDR)+(A)C8ACout,MDRinMDR←(AC)C9MDRoutE,MemWM(MAR)←(MDR)43(11分)某計算機字長為16位,主存地址空間大小為128K字長指令格式,指令各字段定義如圖B-4所示。轉(zhuǎn)移指令采用相對尋址方式,相對偏移量用補碼表示,尋址方式定義見表B-1。OPMsOPMsRsMdRd源操作數(shù)

目的操作數(shù) 圖 B-4表B-1Ms/Md 尋址方式助記符含義000B 寄存器直接Rn操作數(shù)=(Rn)001B 寄存器間接(Rn)操作數(shù)=((Rn))010B 寄存器間接、自增(Rn)+操作數(shù)=((Rn)),(Rn)+1→Rn011B 相對()表示存儲器地址X或寄存器X的內(nèi)容。D(Rn)轉(zhuǎn)移目標(biāo)地址=(PC)+(Rn)請回答下列問題:器地址寄存器和存儲器數(shù)據(jù)寄存器至少各需要多少位?轉(zhuǎn)移指令的目標(biāo)地址范圍是多少?若操作碼0010B(助記符為4和5的編號分別為100B和的內(nèi)容為的內(nèi)容為1234H中的內(nèi)容為5678H,地址5678H中的內(nèi)容為1234H,則匯編語言為“add(R4),(R5)+”(逗號前為源操作數(shù),逗號后為目的操作數(shù))對應(yīng)的機器碼是什么(用十六進制表示)?該指令執(zhí)行后,哪些寄存器和存儲單元中的內(nèi)容會改變?改變后的內(nèi)容是什么?解答:操作碼占424=166方式占3位,于是寄存器編號占 3位,則該機最多有23=8個通用寄存器;主存容量為128KB,按字編址,計算機字長為16位,劃分為128KB/2B=216個存儲單元,故MDR和MAR至少各需16位。PC和Rn可表示的地址范圍均為0~216-1,而主存地址空間為216指令的目標(biāo)地址范圍為0000~0~161。(3) (R4),,對應(yīng)的機器碼為001000110001。R5和存儲單元5678H的內(nèi)容從5678H變成5679H5678H中的內(nèi)容變成該加法指令計算的結(jié)果5678H+1234H=68ACH。44(12分)某計算機的主存地址空間大小為256M,按字節(jié)編址。指令e和數(shù)據(jù)Cache分離,均有8個Cache行,每個Cache行大小為,數(shù)據(jù)Cache采用直接映射方式?,F(xiàn)有兩個功能相同的程序A和B,其偽代碼如下:程序A程序A:inta[256][256]intsum_array1(){ int for(i=0;i<256;i++)for(j=0;j<256;j++)sum+=a[i][j]; returnsum;程序B:inta[256][256]intsum_array2(){ int for(j=0;j<256;j++)for(i=0;i<256;i++)sum+=a[i][j]; returnsum;假定int類型數(shù)據(jù)用32位補碼表示,程序編譯時jsum均分配在寄存器中,數(shù)組a按行優(yōu)先方式存放,其首地址為十進制數(shù)或給出計算過程。若不考慮用于CacheCache的總?cè)萘繛槎嗌???shù)組元素a[0][31]和a[1][1]各自所在的主存塊對應(yīng)的Cache行號分別是多少(Cache行號從0開始程序A和B的數(shù)據(jù)訪問命中率各是多少?哪個程序的執(zhí)行時間更短?解答:每個Cache行對應(yīng)一個標(biāo)記項,如下圖所示。不考慮用于Cache一致性維護和替換算法的控制位。地址總長度為28位(28,塊內(nèi)地址6位24e塊號3位3,故g的位數(shù)為28-6-3=19位,還需使用一個有效位,故題中數(shù)據(jù)Cache行的結(jié)構(gòu)如下圖所示。數(shù)據(jù)Cache共有8行,因此數(shù)據(jù)Cache的總?cè)萘繛?×(64+20/8)B=532B。數(shù)組a在主存的存放位置及其與Cache之間的映射關(guān)系如下圖所示。數(shù)組按行優(yōu)先方式存放,首地址為320,數(shù)組元素占4a[0][31]所在的主存塊對應(yīng)的Cache行號為(320+31×4)/64=6a[1][1所在的主存塊對應(yīng)的Cache行號為(320+256×4+1×4)/64%8=5?!玖斫狻?由(1)可知主存和Cache的地址格式如下圖所示。標(biāo)記塊號 塊內(nèi)地址27 8 6標(biāo)記塊號 塊內(nèi)地址主存地址8 65 0塊號 塊內(nèi)地址Cache地址塊號 塊內(nèi)地址320+31×4=1

數(shù)組按行優(yōu)先方式存放,首地址320,數(shù)組元素占4個字節(jié)。a[0][31]的地址為10111100e行號為110B=的地址為320+256×4+1×4=1348=10101000100B,故其對應(yīng)的Cache行號為101B=5。(3)數(shù)組a的大小為256×256×4B=218B,占用218/64=212個主存塊,按行優(yōu)先存放,程序A逐行訪問數(shù)組a,共需訪問的次數(shù)為216次,未命中次數(shù)為212次(一個數(shù)未命中,因此程序A(16-1)/16?!玖斫狻繑?shù)組a按行存放,程序A按行存取。每個字塊中存放16個int型數(shù)據(jù),除訪問的第一個不命中,隨后的15個全都命中,訪問全部字塊都符合這一規(guī)律,且數(shù)組大小為字塊大小的整數(shù)倍,故程序A的命中率為15/16=93.75%。程序B逐列訪問數(shù)組a,Cache總?cè)萘繛?4B×8=512B,數(shù)組a一行的大小為1KB,正好是Cache容量的2倍,可知不同行的同一列數(shù)組元素使用的是同一個Cache單元,故逐列訪問每個數(shù)據(jù)時,都會將之前的字塊置換出,也即每次訪問都不會命中,命中率為0。由于從Cache讀數(shù)據(jù)比從主存讀數(shù)據(jù)快很多,所以程序A的執(zhí)行比程序B43(11分)假定在一個8位字長的計算機中運行如下C段:unsignedintx=134;unsignedinty=246;intm=x;intn=y;unsignedintz1=x-y;unsignedintz2=x+y;intk1=m-n;intk2=m+n;若編譯器編譯時將8個8位寄存器R1~R8分別分配給變量x、、m、n、z1、z2、k1和k2(提示:帶符號整數(shù)用補碼表示)執(zhí)行上述程序段后,寄存器R1R5和R6的內(nèi)容分別是什么(用十六進制表示)?執(zhí)行上述程序段后,變量m和k1的值分別是多少(用十進制表示)?//加法器輔助電路實現(xiàn)?簡述理由。/哪些帶符號整數(shù)運算語句的執(zhí)行結(jié)果會發(fā)生溢出?解答:x的機器數(shù)為1000R1的內(nèi)容為246=255-9=1111,所以y的機器數(shù)為1111。x-y:10000110+00001010=(0)10010000,括弧中為加法器的進位,故R5的內(nèi)容為90H。x+10000110+11110110=(1)011111括弧中為加法器的進位6的內(nèi)容為7C。的機器數(shù)與x86H=1000補碼表示)-111。的機器數(shù)與x-y90H=1001,解釋為帶符號整數(shù)用補碼表示)時,其值為-1110000B=-112。補n位加法器實現(xiàn)的是模2na和bb可用a加bb=a+-b](d,補所以n位無符號整數(shù)加/減運算都可在n位加法器中實現(xiàn)。由于帶符號整數(shù)用補碼表示,補碼加/減運算公式為:[a+b]

=[a]

+[b]

(d[b]補 補 補補補 ]b](d,所以n減運算都可在n補 /(加法的符號相同,且不同于輸出端(和)的符號,則結(jié)果溢出,或加法器完成加法操作時,若次高位的進位和最高位的進位不同,則結(jié)果溢出。最后一條語句執(zhí)行時會發(fā)生溢出。因為10000110+11110110=(1)01111100,括弧中為加法器的進位,根據(jù)上述溢出判斷規(guī)則,可知結(jié)果溢出。44(12分)某計算機存儲器按字節(jié)編址,虛擬(邏輯)地址空間大小為16M,主(物理地址空間大小為頁面大小為采用直接映射方式共8行;主存與Cache之間交換的塊大小為 32B。系統(tǒng)運行到某一時刻時,頁表的部分內(nèi)容和Cache的部分內(nèi)容分別如題44-a圖題44-b圖所示圖中頁框號及標(biāo)記字段的內(nèi)容為六進制形式。虛頁號01234567

頁框號

行號 有效位 標(biāo)記 102010200—101D11051064114D0—127A1061041151020—12B0—1321234567題44-a圖 頁表的部分內(nèi)容 題44-b圖 Cache的部分內(nèi)容請回答下列問題。(理頁號)?使用物理地址訪問Cache的位數(shù)及在物理地址中的位置。虛擬地址001C60H物理地址是什么?訪問該地址時是否Cache命中?要求說明理由。假定為該機配置一個 4路組相聯(lián)的TLB共可存放8個頁表項,若其當(dāng)前內(nèi)容(十六進制如題44-c024BACH中?要求說明理由。解答:虛擬地址為24位,其中高12位為虛頁號。物理地址為20位,其中高8理頁號。(2)20位物理地址中,最低5位為塊內(nèi)地址,中間3位為Cache行號,高12標(biāo)志。()在主存中。虛擬地址001C60H=000000000001110001100000,故虛頁號為000000000001B,查看000000000001B=001H處的頁表項,由于對應(yīng)的有效位為故虛擬地址001C60H所在的頁面在主存中。頁表001H(物理頁號為04H=0000,與頁內(nèi)偏移110001100000B拼接成物理地址:00000100110001100000B=04C60H。對于物理地址00000100110001100000B,所在主存塊只能映射到Cache的第3行(即第011B行(值為105(物理地址高12位,故訪問該地址時Cache不命中。()虛擬地址024BACH=000000100100101110101100,故虛頁號為00000100B;由于TLB只有8/4=2個組,故虛頁號中高11位為TLB標(biāo)記,最低1位為TLB組號,它們的值分別為00000010010B(即012H)和0B,因此,該虛擬地址所對應(yīng)物理頁面只可能映射到TLB的第0組。由于組 0中存在有效位=1、標(biāo)記=012H的項,所以訪問 TLB命中,即虛擬地址024BACH所在的頁面在主存中。假定某計算機的CPU主頻為80MHz,CPI為4,平均每條指令訪存1.5次,主存與Cache之間交換的塊大小為的命中率為,存儲器總線寬帶為32位。請回答下列問題。該計算機的MIPS數(shù)是多少?平均每秒 Cache缺失的次數(shù)是多少?在不慮DMA傳送的情況下,主存帶寬至少達(dá)到多少才能滿足CPU的訪存要求?假定在Cache0.0005%CPU平均每秒產(chǎn)生多少次缺頁異常?若頁面大小為4KB盤時DMA傳送采用周期挪用方式,磁盤I/O接口的數(shù)據(jù)緩沖寄存器為32盤I/O接口平均每秒發(fā)出的DMA請求次數(shù)至少是多少?CPU和DMA控制器同時要求使用存儲器總線時,哪個優(yōu)先級更高?為什么?為了提高性能,主存采用4體低位交叉存儲模式,工作時每1/4啟動一個體。若每個體的存儲周期為50ns,則該主存能提供的最大帶寬是多少?解答:平均每秒U80M/4=20S數(shù)為21分)平均每條指令訪存1.5平均每秒e1分)當(dāng)CacheCache寬為16B×300k/sDMA4.8MB/s才能滿足CPU(2分)題中假定在Cache300000×0.0005%=1.5次因為存儲器總線寬度為32位,所以每傳送32位數(shù)據(jù),磁盤控制器發(fā)出一次 DMA請求,故平均每秒磁盤 DMA請求的次數(shù)至少為1.5×4KB/4B=1.5K=153(2分(U和AA(1分)因為DMA傳輸數(shù)據(jù)可能會丟失(1分)(4)4模式能提供的最大帶寬為4×4B/50ns=320MB/s(2分)某16位計算機中,帶符號整數(shù)用補碼表示,數(shù)據(jù)Cache和指令Cache分離。題44表給出了指令系統(tǒng)中部分指令格式,其中Rs和Rd表示寄存器,mem表示存儲單元地址,表示寄存器x或存儲單元x的內(nèi)容。表 指令系統(tǒng)中部分指令格式名稱名稱指令的匯編格式指令功能加法指令A(yù)DD Rs,Rd(Rs)+(Rd)->Rd算術(shù)/邏輯左移SHL Rd2*(Rd)->Rd算術(shù)右移SHR Rd(Rd)/2->Rd取數(shù)指令LOAD Rd,mem(mem)->Rd存數(shù)指令STORE Rs,mem(Rs)->mem該計算機采用5段流水方式執(zhí)行指令,各流水段分別是取指I、譯碼讀寄存器(I、計算有效地址、訪問存儲器)和結(jié)果寫回寄存器按序”不能在同一個時鐘周期內(nèi)進行。請回答下列問題:若int型變量x-513,存放在寄存器R1“SHL的內(nèi)容是多少?(用十六進制表示)若某個時間段中,有連續(xù)的4阻塞,則執(zhí)行這4條指令所需的時鐘周期數(shù)為多少?若高級語言程序中某賦值語句為a和b均為int[x]、[a]和[b]。該語句對應(yīng)的指令序列及其在指令流水線中的執(zhí)行過程如下圖所示。I1 LOAD I2 LOAD I3 ADD I4 STORE 圖指令序列及其執(zhí)行過程示意圖則這4條指令執(zhí)行過程中,I3的ID段和I4的IF段被阻塞的原因各是什么?若高級語言程序中某賦值語句為和a均為unsignedint的存儲單元地址分別表示為[x]、[a],則執(zhí)行這條語句至少需要多少個時鐘周期?要求模仿題44圖畫出這條語句對應(yīng)的指令序列及其在流水線中的執(zhí)行過程示意圖。44.解答:(1)x的機器碼為[x]=11111101,即指令執(zhí)行前(R1)=FDFFH,右移1位后為111111101111(R1)=FEFFH(2分)【評分說明】僅正確寫出指令執(zhí)行前的(R1)可給1分。至少需要4+(5-1)=8(2分)的ID段被阻塞的原因:因為與和都存在數(shù)據(jù)相關(guān),需等到和才能讀寄存器內(nèi)容,所以的ID(1分)的IF段被阻塞的原因:因為的前一條指令在ID段被阻塞,所以的IF段(1分)因2*x操作有左移和加法兩種實現(xiàn)方法,故x=x*2+a對應(yīng)的指令序列為I1LOADR1,[x]I2LOADR2,[a]I3SHLR1 //或者 ADD R1,R1I4ADDR1,R2I5STORER2,[x]【評分說明】指令正確給2分;其他正確答案同樣給分;部分正確,酌情給分。這5條指令在流水線中執(zhí)行過程如下圖所示(3分)時間單元時間單元指令12345678910 11 121314 15 1617I1IFIDEXMWBI2IFIDEXMWBI3IFIDEXMWBI4IFIDEXMWBI5IFID EX M WB故執(zhí)行x=x*2+a語句最少需要17(1分)44.(12分某程序中有如下循環(huán)代碼段p::”for(inti=0;i<N;i++)。假設(shè)編譯時變量sum和i分別分配在寄存器R1和R2中。常量N在寄存器R6中,數(shù)組編號地址機器代碼匯編代碼注釋108048100H00022080Hloop:sllR4,R2,2(R2)<<2R4208048104H00083020H編號地址機器代碼匯編代碼注釋108048100H00022080Hloop:sllR4,R2,2(R2)<<2R4208048104H00083020HaddR4,R4,R3(R4)+(R3)R4308048108H8C850000HloadR5,0(R4)((R4)+0)R540804810CH00250820HaddR1,R1,R5(R1)+(R5)R1508048110H20420001HaddR2,R2,1(R2)+1R2608048114H1446FFFAHbneR2,R6,loopif(R2)!=(R6)gotoloop執(zhí)行上述代碼的計算機M采用32位定長指令字,其中分支指令bne采用如下格式:OPRsOPRsRdOFFSETOP為操作碼;;Rs和Rd為寄存器編號;OFFSET為偏移量,用補碼表示。請回答下列問題,并說明理由。1)M的存儲器編址單位是什么?已知sll指令實現(xiàn)左移功能,數(shù)組A中每個元素占多少位?題44表中bne指令的OFFSET字段的值是多少?已知bne指令采用相對尋址方式,當(dāng)前PC內(nèi)容為bne指令地址,通過分析題44表中指令地址和bne指令內(nèi)容,推斷出bne指令的轉(zhuǎn)移目標(biāo)地址計算公式。若M采用如下“按序發(fā)射、按序完成”的5取值、ID(譯碼及取數(shù)(執(zhí)行(訪存(寫回寄存器,且硬件不采取任何轉(zhuǎn)發(fā)措施,分支指令的執(zhí)行均引起3個時鐘周期的阻塞,則P中哪些指令的執(zhí)行會由于數(shù)據(jù)相關(guān)發(fā)生流水線阻塞?哪條指令的執(zhí)行會發(fā)生控制冒險?為什么指令 1的執(zhí)行不會因為與指令5的數(shù)據(jù)相關(guān)而發(fā)生阻塞?解答:CPU分內(nèi)容,考生因注意各章節(jié)內(nèi)容之間的聯(lián)系,才能更好的把握當(dāng)前考試的趨勢。已知計算機M采用32知,每條指令的地址差為4個地址單位,即4個地址單位代表4B,一個地址單位就代表了1B(2分)4址單位,而計算機按字節(jié)編址,所以數(shù)組A中每個元素占4B。(2分)指令的機器代碼為2B內(nèi)容為OFFSET字段,所以該指令的OFFSET字段為。(1分)當(dāng)系統(tǒng)執(zhí)行到bne自動加的內(nèi)容就為是08048100H,兩者相差了18H,即24個單位的地址間隔,所以偏移址的一位即是真實跳轉(zhuǎn)地址的-24/-6=4位。(1分)可知bne指令的轉(zhuǎn)移目標(biāo)地址計算公式為(PC)+4+OFFSET*4。(1分)由于數(shù)據(jù)相關(guān)而發(fā)生阻塞的指令為第6條,因為第6條指令都(3分)第6(1分)6有3(1分)【評分說明】對于第11和22和33和45和6發(fā)生數(shù)據(jù)相關(guān),因而發(fā)生阻塞的指令為第2346條,同樣給3分。答對3個以上給3正確酌情給分。假設(shè)對于44題中的計算機M和程序PM采用頁式虛擬存儲管理;PCacheA理由。1)P的內(nèi)容是多少?的指令Cache和數(shù)據(jù)Cache分離。若指令Cache共有16和主存交換的塊大小為32字節(jié),則其數(shù)據(jù)區(qū)的容量是多少?若僅考慮程序段P的執(zhí)行,則指令Cache的命中率為多少?3)P在執(zhí)行過程中,哪條指令的執(zhí)行可能發(fā)生溢出異常?哪條指令的執(zhí)行可能產(chǎn)生缺頁異常?對于數(shù)組A的訪問,需要讀磁盤和TLB至少各多少次?解答:該題繼承了上題中的相關(guān)信息,統(tǒng)考中首次引入此種設(shè)置,具體考察到程序的運行結(jié)果、Cache的大小和命中率的計算以及磁盤和TLB的相關(guān)計算,是一題比較綜合的題型。R2里裝的是i的值,循環(huán)條件是i<N(1000),即當(dāng)i自增到不滿足這個條件時跳出循環(huán),程序結(jié)束,所以此時i的值為1000。(1分)Cache共有16行,每塊32字節(jié),所以Cache數(shù)據(jù)區(qū)的容量為16*32B=512B。(1分)P共有624,其起始地址為0804CacheP所在的主存塊調(diào)入Cache令Cache10001Cache的命中率為:(1000×6-1)/(1000×6)=99.98%。(2分)1錯誤,但解題思路正確,可酌情給分。指令4為加法指令,即對應(yīng)sum+=A[i],當(dāng)數(shù)組A中元素的值過大時,則會導(dǎo)致條加法指令發(fā)生溢出異常;而指令5雖然都是加法指令,但他們分別為數(shù)組地址的計算指令和存儲變量ii最大到達(dá)異常。(2分)只有訪存指令可能產(chǎn)生缺頁異常,即指令3可能產(chǎn)生缺頁異常。(1分)因為數(shù)組A在磁盤的一頁上,而一開始數(shù)組并不在主存中,第一次訪問數(shù)組時會導(dǎo)致訪盤,把AA(2分)每訪問一次內(nèi)存數(shù)據(jù)就會查TLB1000TLB1000A[0]第一次訪問A[0]會先查一次,所以訪問TLB的次數(shù)一共是1001次。(2分)【評分說明】①對于第1問,若答案中除指令4(即指令1、2、5),則給1分,其他情況,則給0分。②對于第2指令”,即可得分。③對于第3問,若答案中給出的讀TLB的次數(shù)為1002的TLB3TLB及磁盤訪問次數(shù)不正確,但解題思路正確,可酌情給分。43(13分某161616位定長指令字格式;CPUR0~R3TR(((righ)3R的輸出由信號tU可實現(xiàn)直送(、A加Bd、A減BA與(d、請A或Bo、非AnoA加()7種操作,控制信號為。請回答下列問題。圖中哪些寄

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論