CPU性能提升:Cache机制
Cache机制是什么:
Cache是CPU的缓存机制,用于提高CPU的运行效率
为什么需要Cache机制:
CPU在自己的工作上是很快的,可以到达GHz频率上;
但需要从储存器读取数据时,效率就被RAM(我们说的RAM通常指DRAM,俗称内存)给数据的速度限制住了;
因为RAM一般只有几百MHz的工作频率,这就是CPU和RAM之间的带宽问题。
为了解决这个问题,引入了一种运行速度介于CPU和RAM之间的储存器(也是一种RAM,叫SRAM),并且将它定义为Cache缓存;
有了Cache后,如果CPU想要的东西刚好Cache中有,那就不用再去访问慢吞吞的RAM了,从而CPU的运行效率就得到提高。
Cache机制的工作原理:
–读机制–
- CPU需要读取时,先访问Cache,如果Cache中有,称为Hit命中,读走即可;
- 若CPU需要读取的内容在Cache中没有,CPU还是要去读取RAM,读走后,Cache也将该片的内容缓存起来;
–写机制–
- 当CPU需要写内存时,先写在Cache里,并且修改一个叫DietyBit的标志位,但暂时不更新在RAM中
- 只有当Cache需要缓存新内容时,而Cache空间又满了,需要覆盖这一块区域,才会去检查DietyBit标志位,如果查到有写记录,则把这些修改更新到RAM中再去写入新缓存
二级Cache:
在cpu只有一级Cache时,如果可以命中,那的确可以提高CPU效率;
但如果没命中,不仅要去访问RAM,还要检查DietyBit标志位,把写修改更新到RAM中,这样CPU效率反而会被拖慢;
因此引入二级Cache,在一级Cache和RAM中做一次过渡;二级Cache比一级工作频率要低,但电路成本也会降低
注意:
-
并不是所有的处理器都有Cache,Cache不是越大越好,越多越好
-
Cache会增加芯片面积和发热量,也会增加功耗和成本,所以低功耗、低成本的芯片,以及RAM速度完全跟得上CPU工作频率的芯片,是不需要Cache的
-
使用Cache无法保证实时性,因为未命中后去读取RAM的时间是不确定的