当处理器需要调用数据的时候,它会先到缓存中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从随机存取存储器中读取数据——由于处理器的运行速度一般比主内存的读取速度快,主存储器周期(访问主存储器所需要的时间)为数个时钟周期。因此若要访问主内存的话,就必须等待数个处理器周期从而造成浪费。
提供“缓存”的目的是为了让数据访问的速度适应处理器的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的代码集中于一部分。为了充分发挥缓存的作用,不仅依靠“暂存刚刚访问过的数据”,还要使用硬件实现的指令预测与数据预取技术——尽可能把将要使用的数据预先从内存中取到缓存里。
为了进一步提高性能,缓存被分成指令和数据分区两个部分,而且还会分级,即我们常常讲到的处理器一、二、三级缓存。尤其是多核心时代,一级缓存几乎是各个处理器核心的专用缓存,二次级缓存则是多核心共享的结构,用以进一步提高性能。
时钟频率
时钟频率,英文Clock rate,意即同步电路中时钟的基础频率,它以“每秒时钟周期”(Clock cycles per second)来度量,量度单位采用Hz。