第4章存储层次结构设计 ·41存储层次结构 ·42 Cache基本知识 ·43基本的 Cache优化方法 44高级的 Cache优化方法 ·45存储器技术与优化 46虚拟存储器一基本原理 2021/2/4 计算机体系结构
第4章 存储层次结构设计 • 4.1 存储层次结构 • 4.2 Cache基本知识 • 4.3 基本的Cache优化方法 • 4.4 高级的Cache优化方法 • 4.5 存储器技术与优化 • 4.6 虚拟存储器-基本原理 2021/2/4 计算机体系结构 2
41存储层次结构 ·存储系统设计是计算机体系结构设计的关键问题之 价格,容量,速度的权衡 用户对存储器的“容量,价格和速度”要求是相互矛 盾的 速度越快,每位价格就高 容量越大,每位价格就低 容量越大,速度就越慢 ·目前主存一般由DRAM构成 Microprocessor与 Memory之间的性能差异越来越大 CPU性能提高大约60%/year DRAM性能提高大约9%/year 2021/2/4 计算机体系结构
4.1 存储层次结构 • 存储系统设计是计算机体系结构设计的关键问题之一 • 价格,容量,速度的权衡 • 用户对存储器的“容量,价格和速度”要求是相互矛 盾的 • 速度越快,每位价格就高 • 容量越大,每位价格就低 • 容量越大,速度就越慢 • 目前主存一般由DRAM构成 • Microprocessor与Memory之间的性能差异越来越大 • CPU性能提高大约60%/year • DRAM 性能提高大约 9%/year 2021/2/4 计算机体系结构 3
技术发展趋势 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 Year DRAMSize Cycle Time 1980 64 Kb 250ns 1983 256Kb 220ns 1986 1Mb 190ns 1989 4 Mb 165ns 1992 16 Mb 145ns 1995 64 Mb 120ns 2098192(8Gb) 2021/2/4 计算机体系结构
技术发展趋势 Capacity Speed (latency) Logic: 2x in 3 years 2x in 3 years DRAM: 4x in 3 years2x in 10 years Disk: 4x in 3 years2x in 10 years 2021/2/4 计算机体系结构 4 Year DRAMSize Cycle Time 1980 64 Kb 250 ns 1983 256 Kb 220 ns 1986 1 Mb 190 ns 1989 4 Mb 165 ns 1992 16 Mb 145 ns 1995 64 Mb 120 ns 1000:1! 2:1! 2009 8192 (8 Gbi)
微处理器与DRAM的性能差异 Processor-DRAM Memory Gap(latency) 100000 10.000 EoEo 1.000 Processor-Memory Processor Performance Gap 100 Growing 10 nOOOOOOnnnnnnnnnnnnnnnnOOILD Memory 1980198519901995200020052010 Year 2021/2/4 计算机体系结构 5
Processor-DRAM Memory Gap (latency) 微处理器与DRAM 的性能差异 1 1 0 100 1,000 10,000 100,000 1980 1985 1990 1995 2000 2005 2010 Year Performance Memory Processor 2021/2/4 计算机体系结构 5 Processor-Memory Performance Gap Growing
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 266ns/3.3 ns=80 clks x 4 or 320 instructions 3rd alpha 180 ns/1.7 ns =108 clks x 6 or 648 instructions 2021/2/4 计算机体系结构
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 2021/2/4 计算机体系结构 6
存储系统的设计目标 Workload or Benchmark programs Processor reference strean <op, addr, <op, addr, <op, addr <op, addr, op: i-fetch, read, write M emo 通过优化存備系统的组织来使得针对典型应 用平均访存时间最短 MEM 2021/2/4 计算机体系结构
Processor $ MEM Memory reference stream , ,,, . . . op: i-fetch, read, write 通过优化存储系统的组织来使得针对典型应 用平均访存时间最短 Workload or Benchmark programs 存储系统的设计目标 2021/2/4 计算机体系结构 7
基本解决方法:多级层次结构 ·多级分层结构 M2 CPU M1速度最快,容量最小,每位价格最高 Mn速度最慢,容量最大,每位价格最低 并行 ·存储系统接近M1的速度,容量和价格接近Mn 2021/2/4 计算机体系结构 8
基本解决方法:多级层次结构 • 多级分层结构 − M1 速度最快,容量最小,每位价格最高 − Mn速度最慢,容量最大,每位价格最低 • 并行 • 存储系统接近M1的速度,容量和价格接近Mn 2021/2/4 计算机体系结构 8 CPU M1 M2 Mn ………
现代计算机系统的多级存储层次 CPU Register」 CACHE CACHE 3CACHE MEMORY yo device 300ps 1ns3-10ns10-20ns50-100ns5-10ms 1000B64KB256K2-4MB4-16GB4-16TB CPU Register LCAcHE CACHE MEMORY yo device 500ps 2ns10-20ns50-100ns 25-50us 500B 64KB256K256-512GB4-8GB 2021/2/4 计算机体系结构
现代计算机系统的多级存储层次 2021/2/4 计算机体系结构 9 CPU Register MEMORY I/O device L1 C A C H E L2 C A C H E L3 C A C H E 300ps 1ns 3-10ns 10-20ns 50-100ns 5-10ms 1000B 64KB 256K 2-4MB 4-16GB 4-16TB CPU Register MEMORY I/O device L1 C A C H E L2 C A C H E 500ps 2ns 10-20ns 50-100ns 25-50μs 500B 64KB 256K 256-512GB 4-8GB
存储层次工作原理: Locality!! 应用程序局部性原理:给用户 一个采用低成本技术达到的存储容量.(容量大,价格低) 个采用高速存储技术达到的访问速度.(速度快) Temporal Locality(时间局部性) >保持最近访问的数据项最接近微处理器 Spatial Locality(空间局部性) →以由地址连续的若干个字构成的块为单位,从低层 复制到上一层 Lower leve To Processor pper level Memory Memory BlkⅩ From processor Blk Y 2021/2/4 计算机体系结构 10
存储层次工作原理:Locality! • Temporal Locality (时间局部性): =>保持最近访问的数据项最接近微处理器 • Spatial Locality (空间局部性): 以由地址连续的若干个字构成的块为单位,从低层 复制到上一层 2021/2/4 计算机体系结构 10 Lower Level Upper Level Memory Memory To Processor From Processor Blk X Blk Y • 应用程序局部性原理: 给用户 − 一个采用低成本技术达到的存储容量. (容量大,价格低) − 一个采用高速存储技术达到的访问速度.(速度快)
存储层次结构涉及的基本概念 Block Block:不同层次的Bock大小可能不同 命中和命中率 失效和失效率 ·镜像和一致性问题 高层存储器是较低层存储器的一个镜像 高层存储器内容的修改必须反映到低层存储器中 数据一致性问题 ·寻址:不管如何组织,我们必须知道如何访问数据 要求:不同层次上块大小可以不同 在L0 cache可能以 Double, Words,Ha| words,或 bytes 在 Icache仅以 cache line或s!ot为单位访问 在更低层 因此总是存在地址映射问题 ·物理地址格式 Block frame address+ Block offset 2021/2/4 计算机体系结构 11
存储层次结构涉及的基本概念 • Block • Block : 不同层次的Block大小可能不同 • 命中和命中率 • 失效和失效率 • 镜像和一致性问题 • 高层存储器是较低层存储器的一个镜像 • 高层存储器内容的修改必须反映到低层存储器中 • 数据一致性问题 • 寻址:不管如何组织,我们必须知道如何访问数据 • 要求:不同层次上块大小可以不同 • 在L0 cache 可能以Double, Words, Halfwords, 或bytes • 在L1cache仅以cache line 或 slot为单位访问 • 在更低层….. • 因此总是存在地址映射问题 • 物理地址格式 Block Frame Address + Block Offset 2021/2/4 计算机体系结构 11