分析 Cache的运行机制和设计理念 随着双核时代的到来,CPU 的 Cache 越来越受到 DIYer 的重视
本文吸收了其它高手发表的文章观点,浅谈一下 Cache 的运行和设计原理
CPU Cache 简介 Cache 其是就是 CPU 和内存之间的一个中转站
由于目前 CPU 的频率(速度)已经大大超过内存,往往 CPU 会为了读取或存储数据白白浪费几十个时钟周期
这造成了巨大的资源浪费
于是 Cache 的设计思想被提上日程,几经实验修改后,逐渐形成了我们现在所能够看到的 Cache 架构
在现代 CPU 设计中,设计师们要解决的最主要问题,就是找到一个在 CPU 和内存之间平衡的均点
Cache 作为 CPU--->内存的中转站,在其中发挥了巨大的作用
CPU 在请求数据或指令时,除了常规的在内存中进行查找外,还会在 Cache 中进行查找
一旦命中,就可以直接从Cache 中读取,节约大量时间
正因为如此,Cache 在现代 CPU 中显得越来越重要
Cache 的实现原理 众所周知,Cache 属于 SRAM(Satic Random Access Memory ),它利用晶体管的逻辑开关状态来存取数据
也正因为如此,SRAM 内部的电路构造比起常见的DRAM(Dy namic Random Memory )要复杂得多,导致了成本的巨增
这也是 SRAM 不能普及的一个重要原因
Cache 在计算机存储系统中没有编配固定的地址,这样程序员在写程序时就不用考虑指令是运行在内存中还是 Cache 中,Cache 对于计算机上层来说是完全透明的
CPU 在读取数据时,会首先向内存和 Cache 都发送一个查找指令
如果所需要的数据在 Cache 中(命中),则直接从Cache 读取数据,以节约时间和资源
CPU 对Cache 的搜索叫做Tag