瀏覽單個文章
JLurker
Master Member
 

加入日期: Aug 2002
您的住址: 台北跟中壢兩地最常出沒
文章: 1,955
引用:
作者nkaf61
嗯...我發現還是乖乖描述一下吧~XD
我也不太確定你的理解狀況

讀取的策略有可能如下
cpu跟硬碟要1000筆資料
CPU就跑去做其他事情
等到硬碟乖乖把這些全都搬到Buffer去之後
有可能會發中斷告訴CPU 叫CPU來從Buffer拿資料回去用
(或是透過DMA之類的...等)←在此可忽略

上述狀況若發生在cache大致上是
cpu"未來可能"要跟硬碟要資料A
然後cache就很開心的跑去把資料A 搬進cache去
但是cpu可能最後決定不拿資料了
或是 cpu最後決定拿的 是資料B
(明白說就是cache猜錯了)
然後cache就要重新去把正確的資料B搬進cache
之後cpu才從cache拿到資料B
這樣就算是失誤
總之cache就是猜cpu接下來想要什麼 然後偷跑
至於要怎麼偷跑 當然是會有策略性的偷跑
因為失誤 會有處罰~~~(不是SM鞭 !)
而這種策略就是cache的偷跑演算法 XD

由於Buffer不用這樣猜 (它不是偷跑的)
所以當然不用...


nka解釋的都差不多了,補充一下
cache=快取
buffer=緩衝(顧名思義,資料是循序寫入的,一般來說是FIFO,有NCQ功能才會有演算法的問題)
register=暫存器

搞混了自然全都亂了

另外,"因為失誤,會有處罰"
課本應該翻"代價"吧?
舊 2008-02-23, 10:05 PM #29
回應時引用此文章
JLurker離線中