看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/nbxhowb.jpg
第八題 1.我只知道page很容易達成資料/程式碼共享 但很難理解要怎麼把不同程式中相同的資料地址的virtual address去對到physical memory 中的同一頁? 2.請問題目中的分段,分頁式分段又是怎麼達到共享同一頁資料呢? 另外穿插問一下計組的東西: aliasing跟aliasing problem到底是什麼? aliasing:一些分頁被程式共享時(可能會被不同的虛擬位址存取),就有可能會發生alia sing 《《《《為什麼不同的virtual address會存到同一頁? aliasing problem:一頁的一個字組可能被快取到兩個不同的地方 這又是為什麼QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.50.75 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1570554982.A.996.html
DLHZ: 1. table會讓你能對到同一個page10/09 01:32
DLHZ: 2. 也一樣 我哪邊要共用就靠table來存取同一個部分10/09 01:33
GeniusPuddin: aliasing應該很好理解:記憶體只有一份 程式有很多個10/09 01:36
DLHZ: aliasing指如果有兩個程式a b都使用同一個page, a b可能有兩10/09 01:38
DLHZ: 個資料都在同個位址, a在修改資料也同時修改到b的造成錯誤10/09 01:38
DLHZ: 如果要分享同個部分就會對到同個位址10/09 01:40
感謝兩位 1、2我懂了 想問aliasing,為什麼在使用virtual address這種架構下才會造成這個問題?跟一般virtu al轉physical的關鍵差異是什麼? ※ 編輯: mistel (223.137.50.75 臺灣), 10/09/2019 07:24:08
ok8752665: 重點是virtual address不同 在cache的位置就不同10/09 08:46
ok8752665: 明明對到同一個位置 寫其中一個 另一個沒改的話10/09 08:47
ok8752665: 會造成inconsistent10/09 08:47
ok8752665: http://i.imgur.com/Mv02k3A.jpg10/09 08:50
我懂了,總結一下就是因為program1跟program 2可能要同一頁資料,但因為virtual addre ss不同,所以cache抓上來的同一頁可能在不同的cache block裡,這樣對嗎? ※ 編輯: mistel (223.137.174.132 臺灣), 10/09/2019 18:51:48
ok8752665: 對阿 10/09 19:14