理论教育 微机原理与接口技术复习指导:Cache技术和虚拟存储技术解析

微机原理与接口技术复习指导:Cache技术和虚拟存储技术解析

时间:2023-11-04 理论教育 版权反馈
【摘要】:Cache技术和虚拟存储技术都是为了提高访存速度以及提高计算机的性能,但两者的实现方法和目标是不同的。Cache主要是提高内存的速度,即减少CPU和内存的速度差;而虚拟存储技术主要是扩大存储容量,降低存储器的价格。Cache技术就是一种用较低成本缩小这种速度差的技术。

微机原理与接口技术复习指导:Cache技术和虚拟存储技术解析

Cache技术和虚拟存储技术都是为了提高访存速度以及提高计算机的性能,但两者的实现方法和目标是不同的。

·目标不同。Cache主要是提高内存的速度,即减少CPU和内存的速度差;而虚拟存储技术主要是扩大存储容量,降低存储器的价格。

·实现方法不同。Cache主要用硬件实现,Cache的存在与否程序员可以完全不知道;而虚拟存储技术主要用软件实现,系统程序员必须了解所采用的虚拟存储技术及其映射和调度算法

·不命中时的损失不同。Cache不命中,则可直接访问主存储器,损失较小;而内存储器不命中,则要改为访问外存储器,这是程序的切换,时间较长,损失较大。

1.Cache技术

Cache技术的目标是通过提高存储速度来提高计算机的性能。而CPU与主存储器的速度差随着CPU速度的迅速提高而越来越大。Cache技术就是一种用较低成本缩小这种速度差的技术。

(1)命中率

对于多级存储系统,需要厘清命中率、访问效率和等效存取时间的关系。

考虑如图5.3所示的两级存储系统。某一段时间内的访问次数分别为N1、N2,存取时间分别为T1、T2,则存储器1的命中率H为

访问的平均时间T为

若命中率H接近1,平均访问时间T就接近于存储器1的访问时间T1。若定义存储器的访问效率为

则有(www.daowen.com)

可见,这种两级存储系统的访问效率e和命中率H及两者的速度比T2/T1有关。

通常存取速度比T2/T1是5倍左右。若要使e大于0.9,则命中率H应大于97.2%。程序执行的局部性特点保证只要存储器1具有适当容量,就可以提高命中率,从而达到提高存取速度,使存储系统的平均存取速度接近于存储器1的最快存取速度的目的。

图5.3 两级存储系统图

Cache和主存储器之间的速度关系一般是4~10倍,若速度差太大,应采用多级Cache。

(2)Mapping技术与地址变换

Cache映射到主存储器的方法有很多,主要有全相联映射、直接映射和组相联映射。其中最常用的是组相联映射。

(3)Cache的替换算法

要提高Cache的命中率,要求运行的程序和数据都在Cache内,若访问的内容不在Cache内,就要用Cache内容进行替换。常用的算法有随机替换算法、先进先出(FIFO)算法、最近最少使用(LRU)算法和最久没有使用(LFU)算法。其中使用堆栈算法进行LRU算法,是非常成熟的广泛应用的技术。

(4)更新算法——Cache和主存储器一致性的问题

访问内存储器主要是访问Cache,为了保证主存储器和Cache的一致性,必须通过更新算法来解决。

2.虚拟存储技术

内存储器和外存储器构成了一个两级系统。该系统和由Cache与主存储器构成的系统从原理上看没有什么差别,但因为实现方法、目标、命中率的损失不同而具有它的特殊性。在主存储器一辅存层次的概念上增加附加的软硬件,构成了一种新的存储系统——虚拟存储器(virtual memory),它是一种存储管理的概念,而非一种物理存在的存储器。虚拟存储技术的基础是系统有联机工作(即随时可以读写)的海量存储器,该海量存储器和内存储器构成虚拟存储器,它的容量是海量存储器的容量,而速度接近于内存储器的速度。虚拟存储器主要用软件实现。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈