這不是一個家庭作業問題。它今天在我的學期考試中出現了。代碼片段的頁面錯誤
此代碼段計算每個表式柱的平均t[i][j] 0<=i<18 ; 0<=j<1024
for (j = 0; j < 1024; i++) {
temp = 0;
for (i = 0; i < 18; i++) {
temp += temp + t[i][j];
}
cout << temp/18;
}
變量都是32位的浮點值。
變量i
,j
,temp
被存儲在處理器寄存器(因此沒有必要的存儲器參考訪問臨時。主存儲器是字尋址和分頁的含17幀,每幀大小爲1024個字和一個字爲4個字節。頁替換策略是LRU
確定的頁面錯誤數執行給定的程序片段答:?18432
如何計算它
1024 * 18 = 18432 –
@DavidTitarenco,你認爲通過索引對數組的每次訪問都會產生頁面錯誤嗎? – 2012-11-19 15:33:24
@aleguna內部循環遍佈數組的外部索引,意味着每個訪問間隔1024個字。由於每個幀都是1024個字,所以我們有它。 –