概述
首先CPU会发出取址的地址,这个地址分为两部分,高位为主存块号,低位为块内地址,接下来要拿主存块号去cache表中查找,以便知道这个主存块号在不在cache中,所以要进行一番判断,要么命中,要么未命中,如果命中就往下走,从cache表中把主存块号对应的cache块号找到,然后把cache块号与刚才主存块内地址拼接起来,拼成一个完整的cache地址,块内地址是可以直接拿过来用的,因为块内各地址的顺序是不会更改的。有了cache地址之后,可以到cache存储体去取cache指令,然后通过数据总线交给CPU。
如果未命中,只好到主存中寻找这条指令,所以在命中判断中走否的分支,是否可以装进,即,cache中有不有空位置,如果cache中有空余位置,就去访问主存,找到主存块,然后把这个块通过直接同路,装入cache存储体中,同时把要访问的数据指令通过数据总线交给CPU,如果cache中没有空余位置,就要启动cache替换机构,用某种cache替换算法从cache中找到一块淘汰掉,接下来继续走刚才的流程,从主存中找到这个块,通过直接通路放进cache存储体,同时把时把要访问的数据指令通过数据总线交给CPU。
最后
以上就是虚幻指甲油为你收集整理的cache工作的详细过程的全部内容,希望文章能够帮你解决cache工作的详细过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复