寄存器与缓存的区别

本文深入解析了计算机缓存的基本概念,包括缓存与CPU、寄存器及内存的关系,缓存设置的原因,以及缓存的命中率和不同级别的缓存(如一级缓存和二级缓存)。解释了缓存如何提高数据访问速度并减少对内存的依赖,同时讨论了缓存的经济性和速度考量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里的缓存是指的CPU的缓存。


按与CPU远近来分,离得最近的是寄存器,然后缓存,最后内存。


所以,寄存器是最贴近CPU的,而且CPU只与寄存器中进行存取。


(寄存的意思是,暂时存放数据,不中每次从内存中取,它就是一个临时放数据的空间,火车站寄存处就是这个意思)


而寄存器的数据又来源于内存。于是  CPU<--->寄存器<----->内存   这就是它们之间的信息交换。


那为什么有缓存呢? 


因为如果老是操作内存中的同一址地的数据,就会影响速度。于是就在寄存器与内存之间设置一个缓存。


缓存就把从内存提取的数据暂时保存在里面,如果寄存器要取内存中同一位置的东西,就不用老远巴巴地跑


到内存中去取,直接从缓存中提取。


因为从缓存提取的速度远高于内存。当然缓存的价格肯定远远高于内存,不然的话,机器里就没有内存的存在,


只有缓存的存在了,但如果全是缓存,相信没有几个人买 得起计算机了。


由此可以看出,从远近来看:   CPU〈------〉寄存器〈---->缓存<----->内存


注意一下,寄存器并不每次数据都可以从缓存中取得数据,万一不是同一个内存地址中的数据,那寄存器还必须


直接绕过缓存从内存中取数据。所以并不每次都得到缓存中取数据,这就是缓存的命中率,从缓存中取就命中,不从


缓存中取从内存中取,就没命中。当然关于缓存命中率又是一门学问,哪些留在缓存中,哪些不留在缓存中,都是命中


的算法。


从经济和速度的综合考虑,又有了一级缓存和二级缓存,当然一级缓存价格远高于二级缓存,它们的作用类似,但速度上


一级缓存速度明显高于二级缓存,因为价格的原因就设置了二级缓存,也不知道将来 会不会能三级缓存呢?




评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值