2007年4月10日 星期二

有關Cache的read/write through/back/allocate的意義

所謂的read/write cache的hit/miss,指的是CPU要read/write某一位址的資料,若此時cache裡的資料剛好是該位址的資料,則稱為cache hit,若此時cache裡的資料不是該位址的資料,則稱為cache miss。
.當cache hit時,若CPU要讀取某一位址的資料時,會直接從cache中讀取資料。
.當cache miss時,若CPU要讀取某一位址的資料時,又可分為二種方式:一種是read through,這種方式會直接將資料從主記憶體端讀進CPU;另一種是no read through,這種方式會先將資料從主記憶體端讀進cache,然後再從cache讀進CPU。
.當cache hit時,若CPU要寫入資料到某一位址時,可分為二種方式:一種是write through,此種方式資料會立刻寫到cache及主記憶體中;另一種是write back,此種方式會先將資料寫入cache中,然後再將同一位址的資料整批一起寫入主記憶體中(非立即寫入)。
.當cache miss時,若CPU要寫入資料到某一位址時,可分為二種方式:一種是no write allocate,此種方式會直接將資料寫到主記憶體中,不會再從記憶體中載入到cache,另一種方式是write allocate,此種方式會先將資料從主記憶體中載入到cache,然後再依cache hit的規則,將資料寫出。

1 則留言:

方瀚萩 提到...

謝謝分享 簡單易懂!