Re: [理工][OS]台大97 Cache

看板Grad-ProbAsk作者 (charliejack)時間15年前 (2011/02/15 12:03), 編輯推噓7(7023)
留言30則, 4人參與, 最新討論串3/4 (看更多)
: 2) 恐龍本裡有提到, 這樣在 process switch 時, cache 都要 flush 掉, : 因為不同的 processes 可能用到相同的 virtual address, : 但實際上要對到的是不同個 physical addresses; 解決方法是加上 pid。 : 3) 就是 aliasing, OS 跟 user program 可能用了兩個不同的 virtual addresses, : 不過卻是對到同一筆 physical address 的資料, : 因此 virtual cache 裡可能會有兩個 copy, 假設 OS 去修改這筆實體資料, : user program 就會讀到錯誤的資料; 解決方法就是用 physical cache。 請問 (2) (3)點 我知道兩個Virtual Memory 有可能指向 同一個Phisical Address 這應用在Share Memory上 不過第二點我比較不明白~ 我記得當Process 進去 Virtual Memory管理時 應該都要屬於不同的Virtual Memory才是 不論他是不是使用Share Memory 我這樣觀念有錯嗎?@@ 請指點一下 我想到第二點的一個可能是 當Memory 使用Inverted Page的時候 的確可能要在Cache 要在加個Pid -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.71.224 ※ 編輯: charliejack 來自: 61.231.71.224 (02/15 12:06)

02/15 12:37, , 1F
你提到的管理是MMU嗎? 就是作address space translation
02/15 12:37, 1F

02/15 12:38, , 2F
但如 (1) 它在cache沒有這個機制了; 而且同個 virtual
02/15 12:38, 2F

02/15 12:38, , 3F
address, 只要經過不同的translation就會對到不同
02/15 12:38, 3F

02/15 12:39, , 4F
physical address了; 每個process都有自己的方法作對應
02/15 12:39, 4F

02/15 12:41, , 5F
比如說2個不同processes virtual addr. 都是1000,
02/15 12:41, 5F

02/15 12:42, , 6F
一個base register是200一個是2000, 真正位置就是1200跟
02/15 12:42, 6F

02/15 12:43, , 7F
3000, 放在cache位址都是1000; 沒有其他資訊的話就... XD
02/15 12:43, 7F

02/15 12:50, , 8F
或許可以想成 virtual to physical 本身是 1對多的關係,
02/15 12:50, 8F

02/15 12:50, , 9F
不知道這樣想是否正確?
02/15 12:50, 9F

02/15 12:53, , 10F
如有 virtual to physical 多對1的, 才是一起share的~
02/15 12:53, 10F

02/15 13:19, , 11F
所以請問98交大有一題用virtual add. 那會發生TLB hit
02/15 13:19, 11F

02/15 13:21, , 12F
page table hit嗎
02/15 13:21, 12F

02/15 13:24, , 13F
看它的意思應該是整個都virtual, 包含tag也是, 作答時我
02/15 13:24, 13F

02/15 13:25, , 14F
會說路徑沒有經過TLB, hit 或 miss 無法定義; 不過若是
02/15 13:25, 14F

02/15 13:25, , 15F
physical tagged, 那就有可能發生。
02/15 13:25, 15F

02/15 13:28, , 16F
謝謝,那我了解了
02/15 13:28, 16F

02/15 15:36, , 17F
我剛發現98交大跟樓上講的不一樣, 樓上說是TLB hit,
02/15 15:36, 17F

02/15 15:38, , 18F
但98交大是說 TLB miss, miss時沒辦法取得 physical tag,
02/15 15:38, 18F

02/15 15:39, , 19F
應該沒辦法確定cache是否hit喔 @@
02/15 15:39, 19F

02/15 15:53, , 20F
喔 我講錯了,所以這題答案是yes嗎 如果沒physical tag 是?
02/15 15:53, 20F

02/15 15:55, , 21F
就要走TLB miss exception把 physical tag 抓進來
02/15 15:55, 21F

02/15 15:56, , 22F
只有TLB hit, cache才可能hit 我的解讀是這樣...
02/15 15:56, 22F

02/15 15:58, , 23F
答案還是no
02/15 15:58, 23F

02/16 00:25, , 24F
請問一下 上面說的交大98那題virtual address cache used的
02/16 00:25, 24F

02/16 00:27, , 25F
他是指說virtual to virtual 還是 指上面說的 virtual but
02/16 00:27, 25F

02/16 00:28, , 26F
physical ? B大說的好詳細 感激
02/16 00:28, 26F

02/16 00:39, , 27F
我覺得題目像是指全virtual, 總之問答題情況寫清楚再作答
02/16 00:39, 27F

02/16 00:40, , 28F
這樣也比較不會被扣分吧 QQ
02/16 00:40, 28F

02/16 00:47, , 29F
!!!嗯嗯感謝
02/16 00:47, 29F

09/11 14:16, , 30F
就要走TLB miss https://daxiv.com
09/11 14:16, 30F
文章代碼(AID): #1DMVhxRO (Grad-ProbAsk)
文章代碼(AID): #1DMVhxRO (Grad-ProbAsk)