程序运行局部性:存储器层次结构优化策略

需积分: 15 0 下载量 83 浏览量 更新于2024-08-22 收藏 886KB PPT 举报
程序运行时的局部性原理是计算机存储系统设计中的关键原则,它指出在一段时间内,程序和数据的访问具有重复性和邻近性。这意味着近期被访问过的数据和指令在未来可能会再次被调用,这在空间上表现为数据和代码倾向于集中在存储器的一小片区域,即所谓的局部性。在时间上,指令的顺序执行远超过转移执行的概率,这一比例约为5:1。 在给出的示例中,通过微电子技术的发展趋势对比,我们可以看到处理器(CPU)和动态随机访问内存(DRAM)的性能增长速率不同。CPU的性能每年增长约60%,而DRAM的增长率为9%,这反映了“摩尔定律”的影响,即芯片上的晶体管数量每两年翻一番,带来性能提升。这种差距导致了早期CPU与主存储器之间性能的显著差异,每年增长约50%。 为了提高计算机系统的效率,存储器系统采用多体结构,即多个独立的存储体,可以并行读写,以利用程序的局部性。静态存储器和动态存储器都可以受益于这种结构,通过低位地址交叉编址或一体多字的方式进行组织。这样可以优化存储器的访问速度,同时保持存储容量的灵活性。 层次存储器系统是一种解决方案,它包括高速缓存(CACHE)、主存储器(通常为DRAM)、虚拟存储器、相联存储器和存储保护等功能。这个系统按照存储介质的速度、容量和成本进行分级,比如使用速度更快但容量较小的SRAM(静态随机存储器)作为CACHE,而容量更大但速度适中的DRAM作为主存储器(MAIN)。通过这样的多级结构,可以满足对速度、容量和成本之间的权衡,实现最优的性能价格比,满足不同程序和数据的使用需求。 层次存储器系统的核心目标是提供快速的访问速度、大量的存储空间,并控制成本。通过将程序和数据分配到不同级别的存储器中,系统能够动态地根据其使用频率和紧迫性进行调度,从而最大化整体性能。这种设计策略体现了计算机硬件系统中存储器管理的复杂性和优化艺术。