假定一個(gè)計(jì)算機(jī)系統(tǒng)中有一個(gè)TLB和一個(gè)L1datacache。該系統(tǒng)按字節(jié)編址,虛擬地址16位,物理地址12位;頁(yè)大小為128B,TLB為四路組相聯(lián),共有16個(gè)頁(yè)表項(xiàng);L1datacache采用直接映射方式,塊大小為4B,共16行。在系統(tǒng)運(yùn)行到某一時(shí)刻時(shí),TLB、頁(yè)表和L1datacache中的部分內(nèi)容(用十六進(jìn)制表示)如下:
16位虛擬地址中低7位為頁(yè)內(nèi)偏移量,高9位為虛頁(yè)號(hào);虛頁(yè)號(hào)中高7位為T(mén)LB標(biāo)記,低2位為T(mén)LB組索引。
假定某處理器帶有一個(gè)數(shù)據(jù)區(qū)容量為256B的cache,其塊大小為32B。將如下C語(yǔ)言程序段運(yùn)行在該處理器上,sizeof(int)=4,編譯器將變量i,j,c,s都分配在通用寄存器中,因此,只要考慮數(shù)組元素的訪存情況。若cache采用直接映射方式,則當(dāng)s=64和s=63時(shí),缺失率分別為多少?若cache采用2-路組相聯(lián)映射方式,則當(dāng)s=64和s=63時(shí),缺失率又分別為多少?
inti,j,c,s,a[128];