推 A4P8T6X9:2.關鍵是得不償失,可能一開始tag 10 bit,然後block有10 02/05 08:00
→ A4P8T6X9:個,總共100bit,兩倍之後block剩下5個,雖然tag變成11, 02/05 08:00
→ A4P8T6X9:總共卻只有55。 02/05 08:00
原來是這樣!!! 好神喔
那會造成這樣的結果是不是因為「變動量」不成比例呀?
當block變大2倍
總tag數 = (tag bit數[只+1]) x (cache block數[卻÷2])
→ A4P8T6X9:4.proess protect表示不能存取其他process的mem。 02/05 08:01
因為各自process 有各自的virtual space嗎
→ A4P8T6X9:6.兩個block同時"被索引"到,true。 02/05 08:02
"被" .... beV+p.p. 被動,嗯...哈哈 XD
→ A4P8T6X9:5.就是page table中那個虛擬記憶體的valid bit。 02/05 08:03
謝謝A大這麼熱心的幫忙 >///<
→ A4P8T6X9:4. page table 只會記錄分配給自己的阿。 02/05 23:27
啊!對齁,突然混掉了...
※ 編輯: ambri 來自: 175.96.244.66 (02/05 23:35)
→ leosnake:第二題應該是 block size 變大 但每個block tag 數不變 02/06 11:02
→ leosnake:可是block數目變少 所以總共的tag bits數目變少 02/06 11:03
→ leosnake:我是用 size都是"2的次方數" 去推的 02/06 11:09
啊對齁!你說對了!!
tag index offset
----│-----------------│------------ [原來]
tag index (-1) offset(+1)
----│--------------│--------------- [block變兩倍]
一來一往剛好抵銷,單個entry tag bit數不變
→ leosnake:3.因為每個process有自己的page table 去存取MEM 02/06 11:40
→ leosnake:一般來說 不會去存取到別人的MEM區段 02/06 11:41
→ leosnake:而page table 是由OS負責分配管理 來確保這件事情 02/06 11:42
→ leosnake:打錯 上面說的是 4. 02/06 11:43
→ leosnake:5. 你講的沒錯 就是page table 裡面對應到此虛擬位址的 02/06 11:46
→ leosnake:那個欄位的valid bit 如果off 表示該page還沒被帶進MEM 02/06 11:49
YA
→ leosnake:6. set associative的定位方式是先找到(index)所在的set 02/06 11:52
→ leosnake:再經由比較set裡面每個block的tag 來決要定存取的block 02/06 11:53
→ leosnake:1. 當TLB是由軟體實作時, TLB miss會產生"TLB exception" 02/06 11:57
→ leosnake:給OS, 然後OS會去處理之後的pgae table access 02/06 12:00
→ leosnake:更正,應該說TLB由軟體"管理"時。TLB本身是一種cache。 02/06 12:09
原來TLB exception是這個意思,總算有點頭緒了
你好會解釋喔 >//< 看完你的說明 等於又把觀念釐清一次 真是感激不盡
※ 編輯: ambri 來自: 175.96.246.205 (02/06 23:18)