作業系統與硬體
在客體與主機都使用4層頁表的巢狀分頁中,發生TLB未命中時,最壞情況下需要幾次記憶體存取?
- A8次
- B16次
- C24次
查看答案與解析
正確答案:C. 24次
客體頁表4層中每一層表的位置,都是以客體實體位址表示,因此在讀取每一層之前,都必須先經過主機的4層表轉換。客體的每一層需要「主機4次+客體表1次」共5次,4層就是20次,再加上最後取得的客體實體位址的資料本身,要經主機4層轉換的4次,共24次。以算式表示為 (4 + 1) × (4 + 1) − 1 = 24。8次是只把4層走訪兩遍的想法,忽略了表位置的轉換。
- A. 8次是忽略客體表位置轉換的值。
- B. 16次是單純以4 × 4相乘的值。
- C. 正確。(4 + 1) × (4 + 1) − 1 = 24次。