cache工作的详细过程
首先CPU會(huì)發(fā)出取址的地址,這個(gè)地址分為兩部分,高位為主存塊號(hào),低位為塊內(nèi)地址,接下來要拿主存塊號(hào)去cache表中查找,以便知道這個(gè)主存塊號(hào)在不在cache中,所以要進(jìn)行一番判斷,要么命中,要么未命中,如果命中就往下走,從cache表中把主存塊號(hào)對(duì)應(yīng)的cache塊號(hào)找到,然后把cache塊號(hào)與剛才主存塊內(nèi)地址拼接起來,拼成一個(gè)完整的cache地址,塊內(nèi)地址是可以直接拿過來用的,因?yàn)閴K內(nèi)各地址的順序是不會(huì)更改的。有了cache地址之后,可以到cache存儲(chǔ)體去取cache指令,然后通過數(shù)據(jù)總線交給CPU。
如果未命中,只好到主存中尋找這條指令,所以在命中判斷中走否的分支,是否可以裝進(jìn),即,cache中有不有空位置,如果cache中有空余位置,就去訪問主存,找到主存塊,然后把這個(gè)塊通過直接同路,裝入cache存儲(chǔ)體中,同時(shí)把要訪問的數(shù)據(jù)指令通過數(shù)據(jù)總線交給CPU,如果cache中沒有空余位置,就要啟動(dòng)cache替換機(jī)構(gòu),用某種cache替換算法從cache中找到一塊淘汰掉,接下來繼續(xù)走剛才的流程,從主存中找到這個(gè)塊,通過直接通路放進(jìn)cache存儲(chǔ)體,同時(shí)把時(shí)把要訪問的數(shù)據(jù)指令通過數(shù)據(jù)總線交給CPU。
總結(jié)
以上是生活随笔為你收集整理的cache工作的详细过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ArrayList、LinkedList
- 下一篇: 简要说说一个完整机器学习项目的流程