2010年12月26日 星期日

20101226

聖誕節過去了
依舊是個唸書日

下午跟VIC約在豐原碰面
趁他等火車的一個多小時的空檔
在MOS聊了一下
哈哈
之前都沒注意過
原來VIC有娃娃臉= =
怎麼看起來還像一個小朋友
怎麼都沒辦法聯想他已經在郭董旗下賣肝了XD

今天主要還是在念計組的memory部分
雖然有在念書
不過心服氣燥的唸的進度實在有點少
也有一部分是在仔細算書上的題目

但是有一部分我實在覺得很奇怪
當使用multileve cache時
L1的data cache通常都使用direct-mapped
目的在降低hit time來縮短clock cycle

但是同樣是cache概念的TLB(translation lookaside buffer)
TLB是page table的cache
為什麼它通常會使用fully-associative

是因為
1.TLB小,且fully-associative有較小的miss rate
   (有最小的page fault ratio所以是virtual memory之必要的選擇)
2.TLB小,且fully-associative有較低的成本
是這樣嗎@@

張凡下冊P225有兩段說明可是我看不懂= =
1.A page size is much larger than a cache line size, there is likely to very
   less spatial locality amongst the virtual address from a single process
   than between successive memory blocks.
2.Different process have their own virtual address space and hence to
   prevent a lot of conflict misses to ensure TLBs don't become a sourse
  of unfairness as far as a process's memory access is concerned.

* 當TLB發生miss時,需判斷是TLB miss 還是page fault

*討論TLB、virtual memory、cache流程
cpu輸出的是virtual address 會分成virtual page number 和page offset兩部份
virtual page number + page table register(紀錄page table起始位置)
至TLB(data entry)查詢對應的physical address number,if exist ,then
此時physical address number + page offset即為phsical address(virtual和physical的page offset相同)
接著將phsical address分成tag、index、offset三部份
比對phsical address內的tag與cache內的tag是否相同,if yes,hit!


呼呼~流程默寫完畢XD
希望可以把觀念記著到考完試!
這樣在解題的時候也不會感覺都在背= =
就可以順順的寫囉~

沒有留言:

張貼留言