什么是Cache?解释他的命中率.

这里记录我找到的网上比较写的比较好的文章,以免下次再找

篇一

“Cache”是什么
Cache(即高速缓冲存储器(Cache Memory),是我们最常听到的一个词了。在老鸟们眼中,这个词或许已没有再谈的必要,因为他们对Cache从设计的必要性到工作原理、工作过程等等都已了如指掌了;而对菜鸟朋友们而言,这些未必就很清楚。那么,它们到底是指的什么呢?不用急,下面就请随笔者一起来全面认识Cache。
为什么要设计Cache
我们知道,电脑的内存是以系统总线的时钟频率工作的,这个频率通常也就是CPU的外频(对于雷鸟、毒龙系列的处理器,由于在设计采用了DDR技术,CPU工作的外频为系统总线频率的两倍)。但是,CPU的工作频率(主频)是外频与倍频因子的乘积。这样一来,内存的工作频率就远低于CPU的工作频率了。这样造成的直接结果是:CPU在执行完一条指令后,常常需要“等待”一些时间才能再次访问内存,极大降了CPU工作效率。在这样一种情况下,Cache就应运而生了!
Cache是什么
Cache是一种特殊的存储器,它由Cache 存储部件和Cache控制部件组成。Cache 存储部件一般采用与CPU同类型的半导体存储器件,存取速度比内存快几倍甚至十几倍。而Cache 控制器部件包括主存地址寄存器、Cache 地址寄存器,主存—Cache地址变换部件及替换控制部件等。至于它们各自又是怎样工作的、有何作用等等,我想我们就没有必要做进一步的研究,知道一般Cache分为L1 Cache(其中又分为数据Cache、代码Cache)、L2 Cache就行了。
Cache是怎样工作的
我们知道,CPU运行程序是一条指令一条指令地执行的,而且指令地址往往是连续的,意思就是说CPU在访问内存时,在较短的一段时间内往往集中于某个局部,这时候可能会碰到一些需要反复调用的子程序。电脑在工作时,把这些活跃的子程序存入比内存快得多的Cache 中。CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中”,此时CPU直接从Cache中调用该内容;否则,就称为“不命中”,CPU只好去内存中调用所需的子程序或指令了。CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由于Cache的存取速率相当快,使得CPU的利用率大大提高,进而使整个系统的性能得以提升。

篇二

CACHE中文名称是高速缓冲存储器,是法文一个单词,具体什么意思我忘了,大概是隐蔽的意思吧
它是一个相对于内存来说容量很小,速度贼快,用静态存储器实现的存储系统,解决内存跟不上CPU运算速度的问题。
工作原理是把CPU最近可能用到的少量信息,可能是数据,也可能是指令,从内存复制到CACHE中,是CPU能够更高速的访问这些数据,提高工作效率
评价CACHE性能关键的指标是CACHE的命中率。因为CACHE的容量远远小于内存,它只可能存放内存的一部分数据。CPU自然是先访问CACHE,再访问主存,如果数据在CACHE中为命中,在不在内存中为不命中,这就有个比例问题,这个比例就是命中率
影响命中率的因素有一下几个

  1. CACHE 的容量,大一些好
  2. CACHE 与主存储器每次交换信息的单位量(Cache Line Size)适中
  3. CACHE 不同的组织方式,多路组相联更好
  4. CACHE 的多级组织可提高命中率
  5. CACHE 装满后的换字算法
    再解释一下多级CACHE的问题,简单说一级CACHE是对内存的映像,能够提高CPU速度,那么再加一级CACHE对上一级CACHE映像就能够再次提高效率。目前CPU通常是2级CACHE,就是L1 和L2

原网址:https://zhidao.baidu.com/question/2454347.html

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值