这篇 CPU Cache,估计也没人看
无论你写什么样的代码都会交给 CPU 来执行,所以,如果你想写出性能比较高的代码,这篇文章中提到的技术还是值得认真学习的。另外,千万别觉得这些东西没用,这些东西非常有用,十多年前就是这些知识在性能调优上帮了我的很多大忙,从而跟很多人拉开了差距……
基础知识
首先,我们都知道现在的 CPU 多核技术,都会有几级缓存,老的 CPU 会有两级内存(L1 和 L2),新的CPU会有三级内存(L1,L2,L3 ),如下图所示:
其中:
L1 缓存分成两种,一种是指令缓存,一种是数据缓存。L2 缓存和 L3 缓存不分指令和数据。 L1 和 L2 缓存在每一个 CPU 核中,L3 则是所有 CPU 核心共享的内存。 L1、L2、L3 的越离CPU近就越小,速度也越快,越离 CPU 远,速度也越慢。
再往后面就是内存,内存的后面就是硬盘。我们来看一些他们的速度:
L1 的存取速度:4 个CPU时钟周期 L2 的存取速度:11 个CPU时钟周期 L3 的存取速度:39 个CPU时钟周期 RAM内存的存取速度 :107 个C
共有 0 条评论