第五篇存储层次.pptVIP

  • 12
  • 0
  • 约2.58万字
  • 约 121页
  • 2018-06-23 发布于湖北
  • 举报
第五章 存储层次 5.1 存储层次结构 存储系统设计是计算机体系结构设计的关键问题之一 价格,容量,速度的权衡 用户对存储器的“容量,价格和速度”要求是相互矛盾的 速度越快,每位价格就高 容量越大,每位价格就低 容量越大,速度就越慢 目前主存一般由DRAM构成 Microprocessor与Memory之间的性能差异越来越大 CPU性能提高大约60%/year DRAM 性能提高大约 9%/year 技术发展趋势 Capacity Speed (latency) Logic: 2x in 3 years 2x in 3 years DRAM: 4x in 3 years 2x in 10 years Disk: 4x in 3 years 2x in 10 years 微处理器与DRAM 的性能差异 Microprocessor-DRAM性能差异 利用caches来缓解微处理器与存储器性能上的差异 Microprocessor-DRAM 性能差异 time of a full cache miss in instructions executed 1st Alpha : 340 ns/5.0 ns = ?68 clks x 2 or 136 instructions 2nd Alpha : 266 ns/3.3 ns = ?80 clks x 4 or 320 instructions 3rd Alpha : 180 ns/1.7 ns =108 clks x 6 or 648 instructions 存储系统的设计目标 基本解决方法:多级层次结构 多级分层结构 现代计算机系统的多级存储层次 应用程序局部性原理: 给用户 一个采用低成本技术达到的存储容量. (容量大,价格低) 一个采用高速存储技术达到的访问速度.(速度快) 存储层次工作原理: Locality! Temporal Locality (时间局部性): =保持最近访问的数据项最接近微处理器 Spatial Locality (空间局部性): 以由地址连续的若干个字构成的块为单位,从低层复制到上一层 存储层次结构涉及的基本概念 Block Block : 不同层次的Block大小可能不同 命中和命中率 失效和失效率 镜像和一致性问题 高层存储器是较低层存储器的一个镜像 高层存储器内容的修改必须反映到低层存储器中 数据一致性问题 寻址:不管如何组织,我们必须知道如何访问数据 要求:我们希望不同层次上块大小是不同的 在L0 cache 可能以Double, Words, Halfwords, 或bytes 在L1cache仅以cache line 或 slot为单位访问 在更低层….. 因此总是存在地址映射问题 物理地址格式 Block Frame Address + Block Offset 存储层次的性能参数(1/2) 假设采用二级存储:M1和M2 M1和M2的容量、价格、访问时间分别为: S1 、 C1、TA1 S2、C2、TA2 存储层次的性能参数 (2/2) 存储层次的平均每位价格C C=(C1*S1+C2*S2)/(S1+S2) 命中(Hit): 访问的块在存储系统的较高层次上 若一组程序对存储器的访问,其中N1次在M1中找到所需数据,N2次在M2中找到数据 则 Hit Rate(命中率): 存储器访问在较高层命中的比例 H= N1/(N1+N2) Hit Time(命中时间):访问较高层的时间,TA1 失效(Miss):访问的块不在存储系统的较高层次上 Miss Rate (失效)= 1 - (Hit Rate) = 1 – H = N2/(N1+N2) 当在M1中没有命中时:一般必须从M2中将所访问的数据所在块搬到M1中,然后CPU才能在M1中访问。 设传送一个块的时间为TB,即不命中时的访问时间为:TA2+TB+TA1 = TA1+TM TM 通常称为失效开销 平均访存时间: 平均访存时间 TA = HTA1+(1-H)(TA1+TM) = TA1+(1-H)TM 常见的存储层次的组织 Registers - Memory 由编译器完成调度 cache - memory 由硬件完成调度 memory - disks 由硬件和操作系统(虚拟管理) 由程序员完成调度 存储层次研究的四个问题 Q1: Where can a block be placed in the upper level? (Block placement) Q2: How is a block found if it is in the

文档评论(0)

1亿VIP精品文档

相关文档