外部高速缓存,一种使用
sram 芯片的 ram 高速缓存。由于
sram 芯片的操作速率比
dram 芯片快几倍,因此微处理器从外部高速缓存中检索数据和指令的速率要快于从 ram 中检索。
高速缓存(
英语:Cache),其原始意义是指存取速度比一般
随机存取内存(RAM)来得快的一种RAM,一般而言它不像系统主内存那样使用
DRAM技术,而使用昂贵但较快速的
SRAM技术。
Cache一词来源于1967年的一篇
电子工程期刊论文。其作者将
法语词“cache”赋予“safekeeping storage”的涵义,用于电脑工程领域。
当
CPU处理数据时,它会先到Cache中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从
随机存取内存(Main memory)中读取数据——由于CPU的运行速度一般比主内存的读取速度快,
主存储器周期(访问主存储器所需要的时间)为数个
时钟周期。因此若要存取主内存的话,就必须等待数个CPU周期从而造成浪费。
提供“高速缓存”的目的是为了让数据存取的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的代码集中于一部分。为了充分发挥高速缓存的作用,不仅依靠“暂存刚刚访问过的数据”,还要使用
硬件实现的指令预测与数据预取技术——尽可能把将要使用的数据预先从内存中取到高速缓存里。
CPU的高速缓存曾经是用在超级计算机上的一种高级技术,不过现今电脑上使用的的
AMD或
Intel微处理器都在芯片内部集成了大小不等的数据高速缓存和指令高速缓存,通称为L1高速缓存(L1 Cache 即 Level 1 On-die Cache,第一级片上
高速缓冲存储器);而比L1更大容量的
L2高速缓存曾经被放在CPU外部(
主板或者CPU接口卡上),但是现在已经成为CPU内部的标准组件;更昂贵的顶级家用和
工作站CPU甚至会配备比L2高速缓存还要大的L3高速缓存(level 3 On-die Cache 第三级高速缓冲存储器)。
由于
主存容量远大于高速缓存的容量,因此两者之间就必须按一定的规则对应起来。高速缓存的地址映象就是指按某种规则把
主存块装入高速缓存中。地址变换是指当按某种映象方式把
主存块装入高速缓存后,每次访问高速缓存时,如何把主存的物理地址(Physical address)或
虚拟地址(Virtual address)变换成高速缓存的地址,从而访问高速缓存中的数据。
现在高速缓存的概念已被扩充,不仅在CPU和主内存之间有Cache而且在内存和
硬盘之间也有Cache(
磁盘高速缓存),乃至在硬盘与
网络之间也有某种意义上的Cache - Internet
临时文件夹──凡是位于速度相差较大的两种
硬件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache。