存储器的扩展技术

4.4存储器的扩展技术

4.4.1高速缓冲存储器

在计算机系统体系设计的过程中,提出采用高速缓冲存储器(Cache)的设计思想是1967年由GIBSON首次提出,并在IBM-360/85型的大型机中采用和实现。现在这种设计思想,不仅在大、中型机中使用,而且在高档的微型计算机中也普遍采用,如为了加速读写速度而采用磁盘Cache,以缓解速度不匹配的问题。

1.Cache的结构

在计算机的发展过程中,主存器件速度的提高一直跟不上逻辑电路的发展速度。在整个计算机系统中,CPU执行指令的速度比主存读写的速度要快得多。而且CPU每执行一条指令至少要访问主存一次,有的指令还需要访问主存一次或多次来读/写相应数据结果。在这种情况下就使得CPU和主存速度不匹配的问题显得更加突出,成了提高计算机处理速度和性能的瓶颈。

为了解决主存储器和CPU处理速度不匹配的问题,在两者之间增加了一级高速缓冲存储器。Cache存储器一般用与制作CPU相同的半导体工艺做成,其存取速度可同CPU相匹配,属于同一个量级。但是从制造成本上考虑,它的容量不可能很大,一般为1K一256K字不等。随着今后工艺的改进与技术的提高,Cache的容量会有所增加。高速缓冲存储器的设计,实质上,利用的是程序访问的局部性原理。如磁盘Cache,它在主存中开辟了一小块空间来存放经常访问的磁盘中的数据块。由于Cache的容量很小,Cache中只能存放主存中的很少一部分数据块的副本。在Cache与CPU之间信息的传递是以字为单位的,但在Cache同主存之间的信息传送则是以数据块为单位进行的。在目前的微型计算机中,如PENTIUM-Ⅲ,PENTIUM-IV等PC机中,一般采用“三级存储,两级Cache”的设计思想,如图4.20所示。

Cache的整个操作过程都是由硬件实现的,所以Cache-一主存层次,对于应用程序人员和系统程序人员来说都是透明的,而Cache一外存储器层次是可以通过软件来实现的,一般由操作系统来完成。

如图4.21所示是在具有高速缓冲存储器的计算机中(Cache-一主存层次),cPU读数据字的过程。当CPU从存储器中读取一个数据字时,它首先在Cache中查找是否存在,若有,则立即从硬件Cache中读出,并经数据总线传送到CPU内部寄存器中,以便进一步处理;若没有,则用一个主存周期的时间,从主存中读出该数据字到CPU中; 与此同时,把包含这个数据字的整个数据块从主存读到Cache中。由于存储器访问的局部性特点,在这次操作之后,将要读取的数据在刚刚读入Cache中的可能性会很大。如果系统调度得当,有效数据在Cache中的命中率可达到很高。这样对于CPU而言,就好像直接从容量很大的内存中取数据一样(实际上是从高速缓存中取得的),而且速度非常地快。

豫ICP备19006514号 网站地图 免责声明:如果侵犯了你的权益,请发邮件至:419017772@qq.com,我们会及时删除侵权内容,谢谢合作!