寄存器与缓存的区别
来源:互联网 发布:nodejs请求php接口 编辑:程序博客网 时间:2024/05/16 14:05
这里的缓存是指的CPU的缓存。
按与CPU远近来分,离得最近的是寄存器,然后缓存,最后内存。
所以,寄存器是最贴近CPU的,而且CPU只与寄存器中进行存取。
(寄存的意思是,暂时存放数据,不中每次从内存中取,它就是一个临时放数据的空间,火车站寄存处就是这个意思)
而寄存器的数据又来源于内存。于是 CPU<--->寄存器<----->内存 这就是它们之间的信息交换。
那为什么有缓存呢?
因为如果老是操作内存中的同一址地的数据,就会影响速度。于是就在寄存器与内存之间设置一个缓存。
缓存就把从内存提取的数据暂时保存在里面,如果寄存器要取内存中同一位置的东西,就不用老远巴巴地跑
到内存中去取,直接从缓存中提取。
因为从缓存提取的速度远高于内存。当然缓存的价格肯定远远高于内存,不然的话,机器里就没有内存的存在,
只有缓存的存在了,但如果全是缓存,相信没有几个人买 得起计算机了。
由此可以看出,从远近来看: CPU〈------〉寄存器〈---->缓存<----->内存
注意一下,寄存器并不每次数据都可以从缓存中取得数据,万一不是同一个内存地址中的数据,那寄存器还必须
直接绕过缓存从内存中取数据。所以并不每次都得到缓存中取数据,这就是缓存的命中率,从缓存中取就命中,不从
缓存中取从内存中取,就没命中。当然关于缓存命中率又是一门学问,哪些留在缓存中,哪些不留在缓存中,都是命中
的算法。
从经济和速度的综合考虑,又有了一级缓存和二级缓存,当然一级缓存价格远高于二级缓存,它们的作用类似,但速度上
一级缓存速度明显高于二级缓存,因为价格的原因就设置了二级缓存,也不知道将来 会不会能三级缓存呢?
- 寄存器与缓存的区别
- 寄存器与缓存的区别
- 寄存器与缓存的区别
- 寄存器与缓存的区别
- 锁存器与寄存器的区别
- 寄存器与存储器的区别
- 寄存器与存储器的区别
- 寄存器与存储器的区别
- 寄存器与锁存器的区别
- 寄存器与内存的区别
- 锁存器与寄存器的区别
- 寄存器与存储器的区别
- 寄存器与缓存
- IA32寄存器与x86-64寄存器的区别
- CPU、处理器、内存、外存、寄存器、缓存的区别
- 寄存器带[]与不带[]的区别
- 386段寄存器与8086的区别
- 基于栈与基于寄存器的区别
- 学会每天问自己十个问题
- ZOJ_1292_Integer Inquiry
- Android单元测试
- 小机器人5岁了!细数Android甜点史
- SQLExpress 无法启动解决方法
- 寄存器与缓存的区别
- [全文检索]用PHP调用Lucene包来实现全文检索
- ExtJs的Reader
- C陷阱与缺陷笔记
- struts 配置
- 列保存多个数据时一列变多行
- VC 全屏截图 局部截图
- 关于项目中的图片上传、并显示问题
- 数据结构笔记-二叉排序树