計算機組成原理——主存儲器考研題

(2009)算法

14.某計算機的Cache共有16塊,採用2路組相聯映射方式(即每組2塊)。每一個主存塊大小爲32字節,按字節編制。主存129號單元所在主存塊應裝入到的Cache組號是
   A.0    B. 2    C. 4    D.6spa

答案:C
考點:Cache組相聯映射方式blog

主存按字節變址,第129號單元表明第129個字節。主存129單元,所在的塊號爲129/32=4(從0開始編號);
因爲Cache共有16塊,採用2路組相聯,所以共有8組,0,1,2,…,7。
主存的某一字塊按模8映像到Cache某組的任一字塊中,即主存的第0,8,16…字塊能夠映像到Cache第0組2個字塊的任一字塊中,而129號單元是位於第4塊主存塊中,所以將映射到Cache第4組2個字塊的任一字塊中。資源

 

21.假設某計算機的存儲系統由 Cache 和主存組成,某程序執行過程當中訪存 1000 次,其中訪問 Cache 缺失(未命中)50 次,則 Cache 的命中率是
A  5%                   B.9.5%
C. 50%                 D.95%程序

 

答案:D
考點:Cache命中率的計算im

  
(2010)
 

17.下列命令組合狀況,一次訪存過程當中,不可能發生的是( )
A.TLB未命中,Cache未命中,Page未命中
B.TLB未命中,Cache命中,Page命中
C.TLB命中,Cache未命中,Page命中
D.TLB命中,Cache命中,Page未命中數據

 

答案:D
考點:TLB,Cache,Page的含義。
TLB即爲快表,快表只是慢表(Page)的小小副本,所以TLB命中,必然Page也命中,而當Page命中,TLB則未必命中,故D不可能發生;而Cache的命中與否與TLB、Page的命中與否並沒有必然聯繫。
img

 

(2012)計算機

 

17.假設某計算機按字編址,Cache 有 4 個行,Cache 和主存之間交換的塊爲 1 個字。若 Cache 的內容初始爲空,採用 2 路組相聯映射方式和 LRU 替換算法。當訪問的主存地址依次爲 0,4,8,2,0,6,8,6,4,8 時,命中 Cache 的次數是
A. 1     B. 2         C. 3         D. 4

時間

答案:C

4行表示有4個組,每塊有一個字,每組有兩塊。

 在組相聯映像中,組間是直接映像,組內字塊爲全相聯映像

命中後的字塊就是被使用了的字塊了

 

(2013)

 

16.某主存地址空間大小爲 256  MB,按字節編址。虛擬地址空間大小爲 4 GB,採用頁式管理,頁面大小爲 4KB,TLB(快表)採用全相聯映射,有 4 個頁表項,內容以下表所示。則對虛擬地址 03FF F180H 進行虛實地址變換的結果是
A.  015 3180H     B. 003 5180H       C. TLB 缺失      D. 缺頁

 

 

答案:A

虛地址有32位(4GB=2^32B),頁面大小爲 4KB(2^12B),那麼虛頁號有20位。頁內地址有32-20=12位。

實地址有28位(256MB=2^28B),實地址由頁框號和頁內地址組成,其頁內地址與虛地址的頁內地址相同都爲12位不變,則頁框號有16位。

虛擬地址爲03FF F180H,其中頁號爲03FFFH,頁內地址爲180H,根據題目中給出的頁表項可知頁標記爲03FFFH所對應的頁框號爲0153H,頁框號與頁內地址之和即爲物理地址015 3180 H。

如有效位爲0,那麼應該去選C. TLB 缺失。

 

(2014)

 

16. 採用指令Cache與數據Cache分離的主要目的是
A  減低Cache的缺失損失                       
B  提升Cache的命中率
C  減低CPU平均訪問時間                     
D  減小指令流水線資源衝突

答案:D
解析:Cache分爲一級L1和二級L2。L1集成在CPU中,稱爲片內Cache。在L1中還分數據Cache和指令Cache。分別用來存放數據和執行這些數據的指令,兩個Cache能夠同時被CPU訪問,減小了爭用Cache所形成的衝突,提升了處理器效能。

(2011)

44.某存儲器按字節編址,虛擬(邏輯)地址空間大小爲16MB,主存(物理)地址空間大小爲1MB,頁面大小爲4KB;Cache採用直接映射方式,共8行;主存與Cache之間交換的塊大小爲 32B。

(1)虛擬地址共有幾位,哪幾位表示頁號?物理地址共有幾位,哪幾位表示頁框號(物理頁號)?

答:
頁面大小爲4KB=2^12B,故頁內地址12位
虛擬地址空間大小爲16MB=2^24B,故虛地址共24位,低12位爲頁內地址,高24-12=12位爲虛頁號。
主存地址空間大小爲1MB=2^20B,故實地址共20位,低12位爲頁內地址,高20-12=8位爲頁框號(物理頁號)

(2)使用物理地址訪問Cache時,物理地址應劃分紅哪幾個字段?要求說明每一個字段的位數及在物理地址中的位置。

答:
主存與  Cache之間交換的塊大小爲32B=2^5B,故cache塊內地址5位
Cache共8行=2^3行,故Cache塊數佔3位。
主存地址空間大小爲1MB=220B,故主存地址共20位,
標記位數=20-5-3=12位
故物理地址分三個字段:高12位爲標記tag,中間3位爲Cache行號,最低5位爲塊內地址。

(3)虛擬地址001C60H所在的頁面是否在主存中?若在主存中,則該虛擬地址對應的物理地址是什麼?訪問該地址時是否  Cache  命中?要求說明理由。

答:虛地址001C60H的低12位C60H爲頁內地址,高12位001H爲虛頁號。查頁表可知,虛頁001H對應的有效位爲1,故該頁已調入主存,主存頁號爲04H,故主存地址爲04C60H。
主存地址04C60H=000001001100  011  00000b的低5位00000b爲行內地址,中間3位011b爲Cache行號,高12位04CH爲標記。查Cache標記可知,第3行的有效位爲1,但標記爲105H,故該地址Cache不命中。若爲04CH則命中。


     

 

 (4)假定爲該機配一個4路組相聯的TLB,該TLB共可存放8個頁表項,若內容如圖所示,則此時虛擬地址024BACH所在的頁面是否在主存中?要求說明理由。

 

 

答:

4路組相聯的TLB,共可存放8個頁表項,故TLB共2組,每組可存放4個頁表項。
虛地址高12位爲虛頁號,故慢表的表項數爲2^12=4096,慢表地址12位。
TLB共2組,故慢表12位地址中的最低1位選擇TLB的組,也即慢表的4096個表項中,偶地址表項可映射到TLB的第0組中的四個表項中的任意一個,奇地址表項可映射到TLB的第1組中的四個表項中的任意一個。
慢表12位地址中的高11位爲訪問TLB的標記。
虛擬地址024BACH的高12位024H=000000100100b爲虛頁號,其中最低1位0選擇TLB第0組,高11位00000010010b=012H。查TLB表可知,第0組最後一項標記爲012H,其有效 位爲1,說明該虛頁已調入主存,其頁框號爲1FH,故其實地址爲1FBACH

相關文章
相關標籤/搜索