出于對(duì)簡(jiǎn)化設(shè)計(jì)的考慮,也為了提高系統(tǒng)的性能,采用了指令Cache(以下簡(jiǎn)稱為ICache)和數(shù)據(jù)Cache (以下簡(jiǎn)稱為DCache)分開(kāi)的方式。在ICache中存儲(chǔ)有微處理器需要的指令,在微處理器的取指階段,通過(guò)程序計(jì)數(shù)器PC提供給ICache的地址,微處理器可以獲取需要的指令。而DCache則是作為一個(gè)數(shù)據(jù)的存儲(chǔ),并提供對(duì)于Load/Store指令所要操作地址的數(shù)據(jù),它地址則來(lái)自于ALU運(yùn)算的結(jié)果。
ICache和微處理器的接口以及ICache和L2 ICache的接口都是單向的。DCache和微處理器的接口以及DCache和L2 Cache的接口是雙向的。這樣處理的原因在于ICache存儲(chǔ)的是指令,不需要更改所存儲(chǔ)的數(shù)據(jù)的值。而DCache中存儲(chǔ)的是數(shù)據(jù),其值會(huì)根據(jù)指令操作的不同而改變。比如:在運(yùn)行Store指令的時(shí)候會(huì)對(duì)DCache中相應(yīng)地址進(jìn)行寫(xiě)入數(shù)據(jù)的操作。
聯(lián)系客服