第五章 存储器层次结构设计【荐】.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 存储器层次结构设计 在理想情况下,我们希望存储容量无限大,这样任何一个特定的…字都可以立刻获取…我们…不得不认识到构建存储器层次结构的可能性,它们中的每一层都比其上一层具有更大的容量和更慢的访问速度。 A.W.Burks, H.H.Goldstine,J.von Neumann 电子计算设备逻辑设计预备讨论会(1946) 5.1 简介 计算机的先驱们正确地预见到了编程者希望拥有无限大容量的快速存储器。一个解决这个问题较经济的方法就是采用存储器层次结构,其依据是程序访问的局部性原理和内存技术的性能价格比原则。在第一章中所阐述的局部性原理认为大部分程序并不是均衡的访问所有的代码和数据(参见1.6节)。这个原理以及越小硬件、其速度越快这个指导思想,产生了基于不同速度和容量的存储器层次结构。图5.1显示了一个多级存储器层次结构,其中包括了典型的各层次容量大小和存取速度值。 图5.1 一个通用于嵌入式系统、桌面处理器、服务器的典型多级存储器层次结构。距离CPU越远的层次,存储容量越大,存取速度越慢。注意,不同层次的存取时间的变化系数为10:从微微秒到毫秒之间变化;而容量大小的变化系数为1000:从几字节到几千兆字节之间变化。图5.3将给出桌面处理器、小型服务器的更多参数指标。 由于快速存储器较为昂贵,因此将存储器层次结构可以组织成几个不同层次——每一层都比它更低一层具有更小的容量,更快的速度、当然每字节的价格也更高。这种组织结构的目标是提供一个存储器系统,使之能够具有几乎相当于最便宜层次的存储器的价格,但是访问速度却与最快层次的存储器接近。层次结构中的各层之间通常是子集关系,某一层中的所有数据也总能在其低一层中找到,而低一层中的所有数据也能在更低一层中找到,如此直到层次结构的最底层。 在层次结构中,每一层都要从一个较大的存储器空间中把地址映射到一个较小、但是更快的、位于上一层的存储器中。作为地址映射的一部分,存储器层次结构具有地址检查的功能,因此,用于监察地址的保护机制也是存储器层次结构的一部分。 随着处理器性能增长,存储器层次结构的重要性不断增加。例如,在1980年,微处理器一般是不带Cache的,但是到了2001年,处理器芯片内部通常带有两级Cache。正如在第一章中提到的:1986年以前,微处理器的性能改进是平均每年提高35%1987年以后,微处理器的性能改进则达到了平均每年提高55%5.2描绘了CPU性能伴随着主存访问性能提高的预测增长情况。显然,计算机体系结构设计者必须尽力去缩小处理器—主存之间的性能差距。 图5.2 以1980年性能为基准,存储器和CPU的性能差距随时间的变化曲线。存储器的基准是1980年的64-KB DRAM,三年更新换代、在延迟上每年都有7%5.30)。CPU曲线表示:1986年以前CPU性能每年增长1.35倍,而此后每年增长1.55倍。图中纵轴是用对数坐标来表示CPU-DRAM性能差距。 本章将描述为减少处理器-存储器的性能差距而提出的一些改进方法。为便于理解这些抽象的改进方法,在本章中,我们以四级存储器层次结构、采用Alpha 21264微处理器的计算机系统作为应用实例。在本章的最后,我们利用SPEC95 benchmark程序评价了这些层次结构对系统性能的影响。 21264微处理器是专为桌面处理器和服务器设计的。即使是这两类相关联的计算机系统,它们在存储器层次方面也有着不同的侧重点。桌面处理器在操作系统的控制下,一次只为单个用户运行一个应用程序;而服务器则有可能同时为成百上千个用户执行大量的应用程序。服务器的这些特征导致了更多的上下文切换,显著增加了强制性缺失率。因此,桌面处理器主要关注于存储层次结构带来的平均延迟问题,而服务器除此之外,还需要考虑存储带宽问题。尽管在桌面处理器中阻止程序间数据混淆的保护机制很重要,但是服务器同时还必须兼顾防止一个用户存取其他用户的数据,因而更突出保护升级的重要性。服务器的发展趋向于大型化,拥有更大内存和更多磁盘存储,运行更多更大的应用程序。在2001年,服务器通常都是拥有成千上百个磁盘的多处理器配置,要求存储层次结构拥有很大带宽。 嵌入式计算机与桌面处理器、服务器计算机的存储层次结构有很大不同。首先,嵌入式计算机一般用于实时处理,程序员必须考虑到最坏情况时的性能。这时,尽管采用Cache结构能够提高平均性能,但是会降低最坏情况时的性能,因此是否采用Cache结构还存在争议。对此,我们将在本章中后续章节中讨论一些改进技术。其次,嵌入式应用程序常常关注于电源和电池寿命。节省功耗的最好办法是减少硬件,因此,嵌入式计算机不能象大多数桌面处理器和服务器一样,用扩展硬件优化的方法来获取更好的存储层次性能。第三,典型的嵌入式应用程序采用非常简单的操作

文档评论(0)

wulf + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档