看板 Grad-ProbAsk 關於我們 聯絡資訊
: 三個小題看起來差不多, 容許我只做第一小題 : 題目說有一個process負責處理矩陣的運算, 座落在mem[0-199], 也就是占用一個frame : 那就剩下三個frame : 假設, 題目是row-major, 而一個int 占用4個bytes, : 那麼每50次存取會產生一次page fault, 而第一小題要對矩陣作5000次存取, 所以會產生 : 100次的page fault, 如果再加上把process load進來的那次就是101次page fault : 這是我的想法, 有錯請大家指正 當我昨天在做這題時,就有個問題: 它給的記憶體的單位和int大小為多少? 關於這問題,因為我們不知道記憶體單位是byte還是 word,而且int的大小 以C99規定,它僅規範了int至少要有多少 byte。所以很明顯的是,我們必須 明確地在答案中給予假設!! 我的假設: 記憶體單位: word(4byte) int 4byte 再來的是一開始 frame0 為code,這沒什麼問題 讀的順序 a[0][0~99] -> frame1 a[1][0~99] -> frame2 a[2][0~99] -> frame3 接下來 呢??? 要讀a[3][0]時,如果按照他說的FIFO,是必須 代替掉frame0(code),讀完後,又要載入code 所以code->frame1 a[4][0] ->frame2 a[5][0] ->frame3 a[6][0] ->frame0 a[7][0] ->frame1 code ->frame2 a[8][0] ->frame3 換言之,次數為: 50/3=16... 16*4-1=63 63+3=66 ans:66 -- c版友的感覺上,是不是忽略了code替代的部份? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.195.21
mqazz1:有一題是洪逸解的類似題 不過並沒有太多的解釋 06/17 14:26
mqazz1:我之前有問過 在17987篇 06/17 14:26
privatewind:那題因為是LRU的關係,所以code所在的page一直不會被 06/17 14:40
privatewind:移出。這題是因為FIFO,所以要加入code移出的考量 06/17 14:41
christianSK:我當初在想的時候市直接省略code的部分 06/17 20:38
christianSK:不過我想把code考慮進來是對的 06/17 20:39
mqazz1:謝謝!! 不過這樣2,3題比較有變化的該怎麼解呢.. 06/17 23:23
qwer820404:先考慮進入次數 然後有沒有*量有沒有符合在大小範圍內 06/19 15:40
bjk:看好幾次終於看懂了~ 06/20 17:42