CPU缓存

小知识 2年前 (2021) 125la.com站长
144 0 0
广告也精彩

前言

本文简单的介绍一下CPU缓存相关知识。

本文参考网络文章整理而成。

正文

CPU缓存简介

CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。

缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。

在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。

缓存的工作原理

缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。

正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。

总的来说,CPU读取数据的顺序是先缓存后内存。

缓存是采用SRAM存储器

目前缓存基本上都是采用SRAM存储器(Static RAM)。

SRAM存储器是一种具有静态存取功能的存储器,不需要刷新电路即能保存它内部存储的数据。

不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,这也是目前不能将缓存容量做得太大的重要原因。

特点如下:

  1. 优点是节能、速度快、不必配合内存刷新电路、可提高整体的工作效率。
  2. 缺点是集成度低、相同的容量体积较大、而且价格较高,只能少量用于关键性系统以提高效率。

CPU缓存的分为级

按照数据读取顺序和与CPU结合的紧密程度,CPU缓存可以分为一级缓存二级缓存和三级缓存(部分CPU存在)。

每一级缓存中所储存的全部数据都是下一级缓存的一部分,这三种缓存的技术难度和制造成本是相对递减的,所以其容量也是相对递增的。

当CPU要读取一个数据时,首先从一级缓存中查找,如果没有找到再从二级缓存中查找,如果还是没有就从三级缓存或内存中查找。

一般来说,每级缓存的命中率大概都在80%左右,也就是说全部数据量的80%都可以在一级缓存中找到,只剩下20%的总数据量才需要从二级缓存、三级缓存或内存中读取,由此可见一级缓存是整个CPU缓存架构中最为重要的部分。

一级缓存

一级缓存(Level 1 Cache)简称L1 Cache。

位于CPU内核的旁边,是与CPU结合最为紧密的CPU缓存,也是历史上最早出现的CPU缓存。

由于一级缓存的技术难度和制造成本最高,提高容量所带来的技术难度增加和成本增加非常大,所带来的性能提升却不明显,性价比很低,而且现有的一级缓存的命中率已经很高,所以一级缓存是所有缓存中容量最小的,比二级缓存要小得多。

一般来说,一级缓存可以分为一级数据缓存(Data Cache,D-Cache)和一级指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据以及对执行这些数据的指令进行即时解码,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。

二级缓存

二级缓存是在独立于芯片,位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。

在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。

通常一个二级缓存的大小为1024Kb(1Mb)。

参考文章

  1. L1 Cache(一级缓存)
  2. L2Cache
广告也精彩
版权声明:125la.com站长 发表于 2021年3月16日 下午10:28。
转载请注明:CPU缓存 | 125啦读书导航

相关文章

广告也精彩

暂无评论

暂无评论...