缓存(cache)的至关重要性

你有没有思考过计算机中为什么要有缓存的概念?缓存解决了什么样的问题?

常识:根据机械原理,较大的储存设备要比较小的储存设备运行的慢(例如:磁盘的运行速度要比内存的运行速度慢),而快速设备的造价要高于同类的的低速设备。比如说:计算系系统的磁盘可能比内存大1000倍,但是对于处理器(就是我们常说的CPU来说),从磁盘读取一个字的开销时间可能要比在内存的开销时间高1000万倍。类似一个典型的寄存器文件只储存几百字节的信息,而内存中可能储存几十亿字节的信息,但是从寄存器中读取数据要比在内存中读取数据几乎快100倍。随着近些年来半导体技术日新月异的发展,这种读取速度的的差距还在不断地增大,但是加快处理器的运行速度要比加快内存的运行速度要容易并且花的代价小,价钱便宜。

为了减小处理器与内存之间的差距:系统设计者采用了更快更小的储存设备,称为高速缓存储存器,简称缓存或者高速缓存,这也就是缓存出现的解决的问题。缓存作为数据的暂时集结区,存储近期可能需要的数据,俗称的数据复用问题。

下图展示了典型的高速缓存存储器。位于芯片上的L1高速缓存的容量可以达到数万字节,访问的速度几乎和寄存器的访问速度一样。一个容量可以达到数十万甚至数百万字节的L2高速缓存储存器则通过一条特殊的总线连接到处理器上。进程虽然访问L2的时间要比访问L1的时间长5倍,但是任然比访问内存要快5-10倍。L1和L2高速缓存是用一种静态随机访问存储器(SRAM)的硬件技术实现的。

在处理器和一个较大较慢的设备(如内存)之间插入一个更快更小的存储设备(如缓存)的想法已经形成了一个普遍的观念。实际上,每个计算机系统都被组织成一个存储器层次结构,在层次结构中,从上到下,设备的访问速度越来越慢,容量越来越大,并且每个字节的造价也越来越便宜。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章