第四章 存储体系
概述 现代计算机系统都以存储器为中心 在计算机运行过程中,存储器是各种信息存储和交换的中心 存储系统是整个系统的瓶颈, CPU与主存储器的速度差距越来越大 1955年,第一台大型机IBM704,CPU和主存储器的工作周期均为12微秒,目前,CPU的工作速度提高了4个数量级以上,主存储器的工作速度仅提高2个数量级。
概述(续) 存储系统的关键是如何组织好速度、容量和价格均不相同的存储器 三大因素:速度、容量、价格 使这个存储器的速度接近速度最快的那个存储器 存储容量与容量最大的那个存储器相等 单位容量的价格接近最便宜的那个存储器。 三大因素:速度、容量、价格
Levels in Memory Hierarchy CPU regs C a c h e Memory disk size: speed: $/Mbyte: block size: 200 B 3 ns 8 B Register Cache Disk Memory 32 KB / 4MB 6 ns $100/MB 32 B 128 MB 60 ns $1.50/MB 8 KB 20 GB 8 ms $0.05/MB larger, slower, cheaper 8 KB cache virtual memory
Memory Hierarchy Registers Level 1 cache Level 2 Cache Memory Disk Typical Size 4 - 64 <16K bytes <2 Mbytes <16 Gigabytes > 5 Gigabytes Access Time 1 nsec 3 nsec 15 nsec 150 nsec 5,000,000 nsec Bandwidth (in MB/sec) 10,000 – 50,000 2000 - 5000 500 - 1000 100 Managed By Compiler Hardware OS OS/User
各级存储器的主要性能特性 存储器层次 通用寄存器 缓冲栈 Cache 存储周期 < 10ns < 10ns 10 - 60ns 存储容量 < 512B < 512B 8K-2MB 价格$c/KB 1200 80 3.2 访问方式 直接译码 先进先出 相联访问 材料工艺 ECL ECL SRAM 分配管理 编译器分配 硬件调度 硬件调度 带宽 400-8000 400-1200 200-800 (待续)
各级存储器的主要性能特性(续) 存储器层次 主存储器 磁盘存储器 脱机存储器 存储周期 60-300ns 10 - 30ms 2 - 20 min 存储容量 32M-1GB 1G-1TB 5G-10TB 价格$c/KB 0.36 0.01 0.0001 访问方式 随机访问 块访问 文件组 材料工艺 DRAM 磁表面 磁、光等 分配管理 操作系统 系统/用户 系统/用户 带宽 80-160 10-100 0.2 - 0.6
目 录 存储体系的概念 虚拟存储器 高速缓冲存储器(Cache) Cache-主存-辅存三级层次 主存保护(自学)
§1 存储体系的形成与性能 存储体系及其分支 存储体系的构成依据 存储体系的性能参数
存储系统 在一台计算机中,通常有多种存储器 种类:主存储器、Cache、通用寄存器、先行缓冲存储器、磁盘存储器、磁带存储器、光盘存储器等 材料工艺:ECL、TTL、MOS、磁表面、激光,SRAM,DRAM 访问方式:直接译码、先进先出、随机访问、相联访问、块传送、文件组
存储系统(续) 存储器的主要性能:速度、容量、价格 速度用存储器的访问周期、读出时间、频带宽度等表示 容量用字节B、千字节KB、兆字节MB和千兆字节GB等单位表示 价格用单位容量的价格表示,如$/bit
通用寄存器堆 指令和数据缓冲 Cache (SRAM) 主存储器(DRAM) 联机外部存储器 脱机外部存储器 CPU 内部 每位的价格越来越便宜 存储容量越来越大 访问速度越来越快
存储体系的形成与分支 主、辅存之间不能构成完整的整体,采用程序覆盖技术解决; 采用操作系统自动定位技术,形成一个整体,速度接近于主存,容量是辅存,价格接近辅存; 虚拟存储系统 虚地址:虚存地址、虚拟地址、逻辑地址、程序地址 、虚存容量、程序空间 物理地址、实(存)地址、主存容量、实存容量、实(主)存空间
存储体系的定义 两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来成为一个存储系统。这个系统对应用程序员透明。 从应用程序员看,它是一个存储器。 这个存储器的速度接近速度最快的那个存储器 存储容量与容量最大的那个存储器相等 单位容量的价格接近最便宜的那个存储器。
解决速度 CPU中设置通用寄存器 采用存储器的多体交叉并行存取 采用存储层次 Cache
主存-辅存存储层次(容量) 主存 辅存 辅助软硬设备 从整体上看, 速度是主存的, 容量是辅存的。
Cache-主存存储层次(速度) 高速缓冲 Cache 主存 M 辅助硬件设备 从CPU看, 速度是Cache的, 容量是辅存的。 CPU
“Cache-主存”与“主存-辅存”层次的区别 存储层次 CPU对第二级的 访问方式 比较项目 目 的 存储管理实现 访问速度的比值 (第一级和第二级) 典型的块(页)大小 失效时CPU是否切换 “Cache -主存”层次 “主存-辅存”层次 为了弥补主存速度的不足 为了弥补主存容量的不足 主要由专用硬件实现 几比一 几百比一 几十个字节 几百到几千个字节 可直接访问 均通过第一级 不切换 切换到其他进程 主要由软件实现
多级存储层次 CPU M1 M2 M3 Mn 存储体系(层次)
存储体系的构成依据 要求未被访问信息的地址能预知; 预知的准确性是存储层次设计的好坏的主要标志 时间和空间上的局部性 取决于所用算法和地址映像变换的方式
存储体系的性能参数
存储层次的每位价格 如两级容量差异大,则实现级间地址映像和地址变换困难,效率降低
命中率H CPU产生的逻辑地址能在M1中访问到(命中到)的概率。 H与地址预知算法及M1的容量有关 H----1 好
存储层次的等效访问时间
访问效率
访问效率说明 R-1 越好 R取决于个层次的各级器件和设备特性,命中率,容量及替换算法有关。 E-1 H在r较大时,H要高。 如两级速度差异很大, 提高H。 0.2 0.4 0.6 0.8 1.0 m=16 r=1 r=2 r=10 r=100 命中率
存储器层次结构设计的问题 映像方式:低层存储器的块按什么规则装入高层存储器。 映像机构:映像方式的实现。如何识别和查找高层存储器的信息块。 替换策略:访问失效后,如何淘汰信息块,而换新块。 写策略:写操作时采用何种策略以保持相邻两级存储器中数据的一致性,发生写操作失效时是否将被写的块从低层存储器取入高层存储器。