CPU 缓存

下面是 CPU 缓存的一些概念,所用命令均是在 Linux 平台下

  • 可通过命令 getconf -a| grep CACHE | grep size 查看 CPU 的各级缓存大小
  • 也可以通过命令 lscpu | grep ^L 查看
  • CPU 缓存以行(line)单位,主内存以页(page)为单位,磁盘以块(block)为单位
  • CPU 缓存一般分为指令缓存(I-Cache)和数据缓存(D-Cache),且两者一般都是分开的
  • 缓存控制器(cache controller)判断 CPU 要获取的指令和数据是否在 CPU 缓存中,从一级缓存往下找,直到主内存和磁盘,且从找到的那一级开始往上面所有级缓存 , 如下图所示:

  • 评判软件优秀与否的一种标准:对 cpu 缓存的命中率