存储层次结构涉及的基本概念 · Block Bock:不同层次的Bock大小可能不同 命中和命中率 失效和失效率 镜像和一致性问题 高层存储器是较低层存储器的一个镜像 高层存储器內容的修改必须反映到低层存储器中 数据致性问题 寻址:不管如何组织,我们必须知道如何访问数据 ·要求:不同层次上块大小可以不同 在 LO cache可能以 Double, Words, Halfword,或 bytes 在L1 cache仅以 cache line或Sot为单位访问 在更低层 因此总是存在地址映射问题 物理地址格式 Block frame Address+ Block offset 2021/2/11 计算机体系结构
存储层次结构涉及的基本概念 • Block – Block : 不同层次的Block大小可能不同 – 命中和命中率 – 失效和失效率 • 镜像和一致性问题 – 高层存储器是较低层存储器的一个镜像 – 高层存储器内容的修改必须反映到低层存储器中 • 数据一致性问题 • 寻址:不管如何组织,我们必须知道如何访问数据 • 要求:不同层次上块大小可以不同 – 在L0 cache 可能以Double, Words, Halfwords, 或bytes – 在L1cache仅以cache line 或 slot为单位访问 – 在更低层….. – 因此总是存在地址映射问题 – 物理地址格式 Block Frame Address + Block Offset 2021/2/11 计算机体系结构 12
存储层次的性能参数(1/2) 假设采用二级存储:M1和M2 M1和M2的容量、价格、访问时间分别为 S1、C1、TA1 S2、C2、TA2 Lower Level To Processor Upper Level Memory Memory BIk X From processor 2021/2/11 计算机体系结构
存储层次的性能参数(1/2) • 假设采用二级存储:M1和M2 – M1和M2的容量、价格、访问时间分别为: – S1 、C1、TA1 S2、C2、TA2 2021/2/11 计算机体系结构 13 Lower Level Upper Level Memory Memory To Processor From Processor Blk X Blk Y
存储层次的性能参数(2/2) 存储层次的平均每位价格C C=(c1*S1+C2*s2)(S1+S2 命中(Hit):访问的块在存储系统的较高层次上 若一组程序对存储器的访问,其中N次在M中找到所需数据,N2次在 M2中找到数据则 Hit Rate(命中率):存储器访问在较高层命中的比例H=N1/(N1+N2) Hit Time(命中时间):访问较高层的时间,TA1 失效(Miss):访问的块不在存储系统的较高层次上 Miss Rate(失效)=1-( Hit Rate)=1-H=N2/(N1+N2) 当在M中没有命中时:般必须从M2中将所访问的数据所在块搬到M1 中,然后CPU才能在M1中访问 设传送一个块的时间为TB,即不命中时的访问时间为:TA2+TB+TA1 TA+TM TM通常称为失效开销 平均访存时间: 平均访存时间TA=HTA1+(1H(TA1+TM)=TA1+(1H)TM 2021/2/11 计算机体系结构
存储层次的性能参数 (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 2021/2/11 计算机体系结构 14
常见的存储层次的组织 Registers <- Memory 由编译器完成调度 cache <- memory 由硬件完成调度 memory <- disks 由硬件和操作系统(虚拟管理) 由程序员完成调度 2021/2/11 计算机体系结构
常见的存储层次的组织 • Registers <-> Memory – 由编译器完成调度 • cache <-> memory – 由硬件完成调度 • memory <-> disks – 由硬件和操作系统(虚拟管理) – 由程序员完成调度 2021/2/11 计算机体系结构 15
Cache Memory 小而快(SRAM)的存储技术 存储正在访问的部分指令和数据 用于减少平均访存时间 一通过保持最近访问的数据在处理器附近来挖掘 时间局部性 通过以块为单位在不同层次移动数据来挖掘空 间局部性 主要目标 提高访存速度 降低存储系统成本 2021/2/11 计算机体系结构 16
Cache Memory ? • 小而快(SRAM)的存储技术 – 存储正在访问的部分指令和数据 • 用于减少平均访存时间 – 通过保持最近访问的数据在处理器附近来挖掘 时间局部性 – 通过以块为单位在不同层次移动数据来挖掘空 间局部性 • 主要目标: – 提高访存速度 – 降低存储系统成本 2021/2/11 计算机体系结构 16