[計組] 成大 記憶體

看板Grad-ProbAsk作者 (ambri)時間12年前 (2014/02/05 00:17), 編輯推噓1(1020)
留言21則, 2人參與, 最新討論串1/1
是非題 1.( )A TLB miss can result in a TLB exception. 請問TLB miss 和 TLB exception 不一樣嗎? 2.( )For a fixed size cache memory, the larger the line size is the smaller the tag memory the cache uses. 我推出來tag的bit數會變多.........請問我的推導有錯嗎? http://ppt.cc/BzhT 3.( )Virtual memory technique treats part of the main memory as a fully-set associative write-back cache for program execution. 他把MEM當成是Hard Ware的cache,而且是用fully的方式降低miss rate、用write-back, 避免寫入HD太花時間 4.( )Using virtual memory technique can improve process protection. Virtual MEM 可以改善保護程式的執行? 不是 Virtual Machine才能保護程式嗎? 我在課本上有查到類似的字眼,不知道是不是這個意思 http://ppt.cc/fXg5 5.( )If the valid bit for a virtual address is off, a page fault occurs. 請問virtual address 有valid bit嗎? 不是 page table 才有嗎? .... 還是他的意思就是拿virtual address 存取 page table? 6.( )For a two-way set associative cache, two cache blocks are indexed at the same time. 她這邊的indexed是指「索引」當動詞的意思嗎? 以上答案都是O(YES!) 求解答 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.80.48.206

02/05 08:00, , 1F
2.關鍵是得不償失,可能一開始tag 10 bit,然後block有10
02/05 08:00, 1F

02/05 08:00, , 2F
個,總共100bit,兩倍之後block剩下5個,雖然tag變成11,
02/05 08:00, 2F

02/05 08:00, , 3F
總共卻只有55。
02/05 08:00, 3F
原來是這樣!!! 好神喔 那會造成這樣的結果是不是因為「變動量」不成比例呀? 當block變大2倍 總tag數 = (tag bit數[只+1]) x (cache block數[卻÷2])

02/05 08:01, , 4F
4.proess protect表示不能存取其他process的mem。
02/05 08:01, 4F
因為各自process 有各自的virtual space嗎

02/05 08:02, , 5F
6.兩個block同時"被索引"到,true。
02/05 08:02, 5F
"被" .... beV+p.p. 被動,嗯...哈哈 XD

02/05 08:03, , 6F
5.就是page table中那個虛擬記憶體的valid bit。
02/05 08:03, 6F
謝謝A大這麼熱心的幫忙 >///<

02/05 23:27, , 7F
4. page table 只會記錄分配給自己的阿。
02/05 23:27, 7F
啊!對齁,突然混掉了... ※ 編輯: ambri 來自: 175.96.244.66 (02/05 23:35)

02/06 11:02, , 8F
第二題應該是 block size 變大 但每個block tag 數不變
02/06 11:02, 8F

02/06 11:03, , 9F
可是block數目變少 所以總共的tag bits數目變少
02/06 11:03, 9F

02/06 11:09, , 10F
我是用 size都是"2的次方數" 去推的
02/06 11:09, 10F
啊對齁!你說對了!! tag   index    offset ----│-----------------│------------ [原來] tag  index (-1)  offset(+1) ----│--------------│--------------- [block變兩倍] 一來一往剛好抵銷,單個entry tag bit數不變

02/06 11:40, , 11F
3.因為每個process有自己的page table 去存取MEM
02/06 11:40, 11F

02/06 11:41, , 12F
一般來說 不會去存取到別人的MEM區段
02/06 11:41, 12F

02/06 11:42, , 13F
而page table 是由OS負責分配管理 來確保這件事情
02/06 11:42, 13F

02/06 11:43, , 14F
打錯 上面說的是 4.
02/06 11:43, 14F

02/06 11:46, , 15F
5. 你講的沒錯 就是page table 裡面對應到此虛擬位址的
02/06 11:46, 15F

02/06 11:49, , 16F
那個欄位的valid bit 如果off 表示該page還沒被帶進MEM
02/06 11:49, 16F
YA

02/06 11:52, , 17F
6. set associative的定位方式是先找到(index)所在的set
02/06 11:52, 17F

02/06 11:53, , 18F
再經由比較set裡面每個block的tag 來決要定存取的block
02/06 11:53, 18F

02/06 11:57, , 19F
1. 當TLB是由軟體實作時, TLB miss會產生"TLB exception"
02/06 11:57, 19F

02/06 12:00, , 20F
給OS, 然後OS會去處理之後的pgae table access
02/06 12:00, 20F

02/06 12:09, , 21F
更正,應該說TLB由軟體"管理"時。TLB本身是一種cache。
02/06 12:09, 21F
原來TLB exception是這個意思,總算有點頭緒了 你好會解釋喔 >//< 看完你的說明 等於又把觀念釐清一次 真是感激不盡 ※ 編輯: ambri 來自: 175.96.246.205 (02/06 23:18)
文章代碼(AID): #1IyHALoN (Grad-ProbAsk)