330 likes | 440 Views
第三单元 : 第四章. 层次存储器系统 第一讲 . 层次存储器系统概述及主存储器 第二讲 . 动态存储器和 TEC-2000 计算机的存储器设计 第三讲 . 高速缓冲存储器的组成与运行 原理 第四讲 . 虚拟存储器的运行原理 第五讲 . 磁表面存储设备的存储原理与组成 磁盘阵列与容错技术 第六讲 . 光盘的存储原理与组成 本单元内容复习与小结. 第三单元 层次存储器系统. 第一讲 层次存储器系统概述和静态存储器 刘卫东 liuwd@tsinghua.edu.cn.
E N D
第三单元 : 第四章 层次存储器系统 第一讲. 层次存储器系统概述及主存储器 第二讲. 动态存储器和TEC-2000计算机的存储器设计 第三讲. 高速缓冲存储器的组成与运行原理 第四讲. 虚拟存储器的运行原理 第五讲. 磁表面存储设备的存储原理与组成 磁盘阵列与容错技术 第六讲. 光盘的存储原理与组成 本单元内容复习与小结
第三单元 层次存储器系统 第一讲 层次存储器系统概述和静态存储器 刘卫东 liuwd@tsinghua.edu.cn
内容提要 • 存储器系统概述 • 存储器系统设计目标 • 需要解决的问题 • 解决方案 • 主存储器的组成与原理
计算机硬件系统 控 制 器 运 算 器 入出接口和总线 高速缓存 输入设备 主存储器 输出设备 外存设备
存储器作用 • 计算机中用来存放程序和数据的部件,是Von Neumann结构计算机的重要组成。 • 1937年,图灵提出存储程序概念,图灵机使计算机走向通用。 • 程序和数据的特点 • 源程序、汇编程序、机器语言程序 • 各种类型的数据 • 共同点:二进制数串
存储器要求 • 能够有两个稳定状态来表示二进制中的“0”和“1” • 容易识别 • 两个状态能方便地进行转换 • 几种常用的存储介质 • 磁介质、触发器、电容、光盘
与其它部件之间的关系 是计算机中存储正处在运行中的程序和数据(或一部分) 的部件, 通过地址 数据 控制 三类总线与 CPU、与其它部件连通; AB k 位(给出地址) CPU Main Memory DB n 位(传送数据) READ WRITE READY
存储器分类 寄存器 Register 主存储器 高速缓存Cache 主存储器 Main Memory 磁盘Disk 辅助存储器 磁带 Tape 光盘 Compact Disc
存储器系统的设计目标 • 尽可能快的存取速度 • 应能基本满足CPU对数据的要求 • 尽可能大的存储空间 • 可以满足程序对存储空间的要求 • 尽可能低的单位成本(价格/位) • 用户能够承受的范围内 • 较高的可靠性
微电子技术发展趋势 容量 速度 逻辑电路: 2倍/ 3 年 2倍/ 3 年 DRAM: 4倍/ 3 年 2倍/ 10 年 磁盘: 4倍/ 3 年 2倍/ 10 年 DRAM Year Size 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 2:1! 1000:1!
存储器对性能的影响 • 假定某台计算机的处理器工作在: • 主频 = 1GHz (机器周期为1 ns) • CPI = 1.1 • 50% 算逻指令, 30% 存取指令, 20% 控制指令 • 再假定其中10% 的存取指令会缺失,需要50个周期的延迟。(当前主存的典型值) • CPI = 理想 CPI + 每条指令的平均延迟 = 1.1 + (0.30 x 0.10 x 50) = 1.1 cycle + 1.5 cycle = 2. 6 CPI! • 也就是说,处理器58 %的时间花在等待存储器给出数据上面! • 每 1% 的指令缺失将给CPI附加 0.5个周期!
目标:大容量、高速度、低价格的存储器 • 目前现实: 大容量存储器速度慢, 快速存储器容量小 • 如何实现我们的目标呢? • 层次存储器系统 • 采用并行技术
层次存储器系统 选用生产与运行成本不同的、存储容量不同的、读写速度不同的多种存储介质,组成一个统一的存储器系统,使每种介质都处于不同的地位,发挥不同的作用,充分发挥各自在速度容量成本方面的优势,从而达到最优性能价格比,以满足使用要求。 例如,用容量更小但速度最快的 SRAM芯片组成 CACHE,容量较大速度适中的 DRAM芯片组成 MAIN MEMORY,用容量特大但速度极慢的磁盘设备构成 VIRTUAL MEMORY。
程序运行的局部性原理 程序运行时的局部性原理表现在: 在一小段时间内,最近被访问过的程序和 数据很可能再次被访问 在空间上 这些被访问的程序和数据 往往集中在一小片存储区 在访问顺序上, 指令顺序执行比转移执行 的可能性大 (大约 5:1 ) 合理地把程序和数据分配在不同存储介质中
程序的局部性原理 访问概率 地址空间 • 程序在一定的时间段内通常只访问较小的地址空间 • 两种局部性: • 时间局部性 • 空间局部性
层次之间应满足的原则 (1). 一致性原则:处在不同层次存储器中的 同一个信息应保持相同的值。 (2). 包含性原则: 处在内层的信息一定被包含 在其外层的存储器中,反之则不成立, 即内层存储器中的全部信息, 是其相邻外层存储器中一部分信息的 复制品 。
扩展存储器系统 • 当前主要使用“cache”来弥补处理器和存储器之间的性能鸿沟 Processor Control Memory Memory Memory Memory Memory Datapath Slowest Speed: Fastest Biggest Size: Smallest Lowest Cost: Highest
现代计算机的层次存储器系统 • 利用程序的局部性原理: • 以最低廉的价格提供尽可能大的存储空间 • 以最快速的技术实现高速存储访问 Processor Control Tertiary Storage (Disk) Secondary Storage (Disk) Second Level Cache (SRAM) Main Memory (DRAM) On-Chip Cache Datapath Registers 10ns 50-100ns MB-GB Seconds Terabytes Speed (ns): 1ns Milliseconds GB KB-MB Size (bytes): 100s
并行技术 • 主存的一体多字 • 一个读写体,每次多个字 • 单字多体 • 多个读写体,交叉编址
主存储器 是计算机中存储正处在运行中的程序和数据(或一部分) 的部件, 通过地址 数据 控制 三类总线与 CPU、与其它部件连通; 例如, k= 32 位 n= 64 位 AB k 位(给出地址) CPU Main Memory DB n 位(传送数据) READ WRITE READY 地址总线 AB的位数决定了可寻址的最大内存空间, 数据总线 DB的位数与工作频率的乘积正比于最高数据入出量, 控制总线 CB 指出总线周期的类型和本次入出操作完成的时刻。
地址总线 • 地址总线用于选择主存储器的一个存储单元(字或字节),其位数决定了能够访问的存储单元的最大数目,称为最大可寻址空间。例如,当按字节寻址时,20位的地址可以访问1MB的存储空间,32位的地址可以访问4GB的存储空间。
数据总线 • 数据总线用于在计算机各功能部件之间传送数据,数据总线的位数(总线的宽度)与总线时钟频率的乘积,与该总线所支持的最高数据吞吐(输入/输出)能力成正比。
控制总线 • 控制总线用于指明总线的工作周期类型和本次入/出完成的时刻,总线的工作周期可以包括主存储器读周期、主存储器写周期、I/O设备读周期、I/O设备写周期,即用不同的总线周期来区分要用哪个部件(主存或I/O设备)和操作的性质(读或写);还有直接存储器访问(DMA)总线周期等。
主存储器的读写过程 数据寄存器 读过程: 给出地址 主存储体 给出片选与读命令 保存读出内容 写过程: 给出地址 给出片选与数据 地址寄存器 给出写命令 /CS0 /CS1 /WE
静态存储器存储原理 6-Transistor SRAM Cell word word (row select) 0 1 • 写 1.给位线(bit)要写的信号值, 2. 选中字线 • 读 1. 选中字线 2. 被选中单元的值被送到位线上 3. 信号放大器检测到信号,并输出 0 1 bit bit bit bit replaced with pullup to save area
静态存储器读写过程 数据总线DB 静态存储器芯片 读写信号/WE 片选信号/CS 地址总线AB
A N 2 words N x M bit SRAM WE_L OE_L D M SRAM典型时序 写时序: 读时序: High Z D 写入数据 读出数据 读出数据 Junk A 写入地址 读地址 读地址 OE_L WE_L 读访问时间 读访问时间 写保持时间 写建立时间
静态存储器字、位扩展 看教学计算机系统的存储器实际组成的例子。该存储器的容量为 4096 个字,每个字的字长为 16 位。存储器芯片选用 有 2048 个存储单元、每个存储单元由 8 位组成的静态存储器芯片LS6116,为此,必须用两块芯片实现 由 2048 个存储单元扩展容量到 4096个存储单元(字扩展),再用两块芯片实现 由 8 位长度扩展长度到 16 位字长(位扩展),共用 4 片芯片。 为访问 2048 个存储单元,需要使用 11 位地址,应把地址总线的低 11 位地址送到每个存储器芯片的地址引脚; 对地址总线的高位部分进行译码,产生的译码信号送到相应的存储器芯片的片选信号引脚 /CS,用于选择让哪一个地址范围内的存储器芯片工作,保证不同存储器芯片在时间上以互斥方式(分时)运行。 还要向存储器芯片提供读写控制信号 /WE,以区分是读、还是写操作,/WE信号为高电平是读,为低是写。
静态存储器字、位扩展 低八位数据 高八位数据 2K * 8 bit 2K * 8 bit /CS0 /WE 2K * 8 bit 2K * 8 bit 译码器 /CS1 地址总线低11 位 高位地址译码给出片选信号