zoukankan      html  css  js  c++  java
  • 寄存器与缓存的区别

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

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

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

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

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

    那为什么有缓存呢? 

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

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

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

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

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

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

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

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

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

    算法

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

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

  • 相关阅读:
    垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
    自考感悟,话谈备忘录模式
    [每日一题] OCP1z0-047 :2013-07-26 alter table set unused之后各种情况处理
    Java实现 蓝桥杯 算法提高 p1001
    Java实现 蓝桥杯 算法提高 拿糖果
    Java实现 蓝桥杯 算法提高 拿糖果
    Java实现 蓝桥杯 算法提高 求arccos值
    Java实现 蓝桥杯 算法提高 求arccos值
    Java实现 蓝桥杯 算法提高 因式分解
    Java实现 蓝桥杯 算法提高 因式分解
  • 原文地址:https://www.cnblogs.com/zsq1993/p/5991018.html
Copyright © 2011-2022 走看看