標(biāo)題: cache的兩種方式——Write Through和Write back [打印本頁]

作者: 51黑黑黑    時(shí)間: 2016-3-4 14:25
標(biāo)題: cache的兩種方式——Write Through和Write back
程序的局部性原理:是指程序在執(zhí)行時(shí)呈現(xiàn)出局部性規(guī)律,即在一段時(shí)間內(nèi),整個(gè)程序的執(zhí)行僅限于程序中的某一部分。相應(yīng)地,執(zhí)行所訪問的存儲(chǔ)空間也局限于某個(gè)內(nèi)存區(qū)域。局部性原理又表現(xiàn)為:時(shí)間局部性和空間局部性。時(shí)間局部性是指如果程序中的某條指令一旦執(zhí)行,則不久之后該指令可能再次被執(zhí)行;如果某數(shù)據(jù)被訪問,則不久之后該數(shù)據(jù)可能再次被訪問。空間局部性是指一旦程序訪問了某個(gè)存儲(chǔ)單元,則不久之后。其附近的存儲(chǔ)單元也將被訪問。

為了保證cache和memory的數(shù)據(jù)一致性,通常有三種方法:1〉writethrough:CPU向cache寫入數(shù)據(jù)時(shí),同時(shí)向memory也寫一份,使cache和memory的數(shù)據(jù)保持一致。優(yōu)點(diǎn)是簡(jiǎn)單,缺點(diǎn)是每次都要訪問memory,速度比較慢。
2〉postwrite:CPU更新cache數(shù)據(jù)時(shí),把更新的數(shù)據(jù)寫入到一個(gè)更新緩沖器,在合適的時(shí)候才對(duì)memory進(jìn)行更新。這樣可以提高cache訪問速度,但是,在數(shù)據(jù)連續(xù)被更新兩次以上的時(shí)候,緩沖區(qū)將不夠使用,被迫同時(shí)更新memory。
3〉writeback:CPU更新cache時(shí),只是把更新的cache區(qū)標(biāo)記一下,并不同步更新memory。只是在cache區(qū)要被新進(jìn)入的數(shù)據(jù)取代時(shí),才更新memory。這樣做的原因是考慮到很多時(shí)候cache存入的是中間結(jié)果,沒有必要同步更新memory。優(yōu)點(diǎn)是CPU執(zhí)行的效率提高,缺點(diǎn)是實(shí)現(xiàn)起來技術(shù)比較復(fù)雜。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1