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缓存的命中率