首先CPU会发出取址的地址,这个地址分为两部分,高位为主存块号,低位为块内地址,接下来要拿主存块号去cache表中查找,以便知道这个主存块号在不在cache中,所以要进行一番判断,要么命中,要么未命中,如果命中就往下走,从cache表中把主存块号对应的cache块号找到,然后把cache块号与刚才主存块内地址拼接起来,拼成一个完整的cache地址,块内地址是可以直接拿过来用的,因为块内各地址的顺序是不会更改的。有了cache地址之后,可以到cache存储体去取cache指令,然后通过数据总线交给CPU。 如果未命中,只好到主存中寻找这条指令,所以在命中判断中走否的分支,是否可以装进,即,cache中有不有空位置,如果cache中有空余位置,就去访问主存,找到主存块,然后把这个块通过直接同路,装入cache存储体中,同时把要访问的数据指令通过数据总线交给CPU,如果cache中没有空余位置,就要启动cache替换机构,用某种cache替换算法从cache中找到一块淘汰掉,接下来继续走刚才的流程,从主存中找到这个块,通过直接通路放进cache存储体,同时把时把要访问的数据指令通过数据总线交给CPU。
cache工作的详细过程
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。