鲁迅先生的详细资料 快取简介及详细资料

快取简介及详细资料
基本简介
高速快取(英语: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 - Inter临时资料夹──凡是位于速度相差较大的两种硬体之间的、用于协调两者数据传输速度差异的结构,均可称之为Cache。随着套用软体的增多,垃圾也越来越多。智慧型快取的开发与套用,对有意义的快取保留,无用的快取智慧型清理或者进行暂时压缩处理。