Post on 02-Jan-2016
description
第三单元 : 第四章层次存储器系统
第一讲 . 层次存储器系统概述及主存储器第二讲 . 动态存储器和 TEC-2000 计算机的存储器设
计第三讲 . 高速缓冲存储器的组成与运行原理第四讲 . 虚拟存储器的运行原理第五讲 . 磁表面存储设备的存储原理与组成 磁盘阵列与容错技术第六讲 . 光盘的存储原理与组成 本单元内容复习与小结
第三单元 层次存储器系统
第一讲 层次存储器系统概述和静态存储器刘卫东
liuwd@tsinghua.edu.cn
内容提要• 存储器系统概述• 存储器系统设计目标• 需要解决的问题• 解决方案• 主存储器的组成与原理
输入设备
输出设备
入出接口和总线
外存设备
主存储器
高速缓存
控 制 器 运 算 器
计算机硬件系统
存储器作用
• 计算机中用来存放程序和数据的部件,是Von Neumann 结构计算机的重要组成。
• 1937 年,图灵提出存储程序概念,图灵机使计算机走向通用。
• 程序和数据的特点– 源程序、汇编程序、机器语言程序– 各种类型的数据– 共同点:二进制数串
存储器要求• 能够有两个稳定状态来表示二进制中的
“ 0” 和“ 1”
• 容易识别• 两个状态能方便地进行转换• 几种常用的存储介质
– 磁介质、触发器、电容、光盘
WRITEREAD
与其它部件之间的关系 是计算机中存储正处在运行中的程序和数据 ( 或一部分 ) 的部件, 通过地址 数据 控制 三类总线与 CPU 、与其它部件连通;
CPU Main
Memory
AB k 位(给出地址)
DB n 位(传送数据)
READY
存储器分类
寄存器 Register
高速缓存 Cache
主存储器 Main Memory磁盘 Disk
磁带 Tape
光盘 Compact Disc
辅助存储器
主存储器
几种主要存储器比较
Regi st er
Cache
Mai n Memor y
Magnet i c Di sk
Tape Opt i cal Di sk
速度
可靠性
CPU访问频度
容量
/价格 位
存储器系统的设计目标• 尽可能快的存取速度
– 应能基本满足 CPU 对数据的要求• 尽可能大的存储空间
– 可以满足程序对存储空间的要求• 尽可能低的单位成本(价格 / 位)
– 用户能够承受的范围内• 较高的可靠性
CPU 与 DRAM 性能比较处理器性能每年增长60%
动态存储器性能每年增长9%
1
10
100
1000
1980
1981
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
DRAM
CPU19
82
CPU与主存储器的性能差异,每年增长50%
性能
摩尔定律
年份
微电子技术发展趋势
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 倍 / 3 年 2 倍 / 3 年DRAM: 4 倍 / 3 年 2 倍 / 10 年磁盘 : 4 倍 / 3 年 2 倍 / 10 年
1000:1! 2:1!
DRAM 的发展
年代 容量 价格($/ MB)
总访问时间(新行/列)
列访问时间(现访问行)
1980 64 Kbit 1500 250 ns 150 ns1983 256 Kbit 500 185 ns 100 ns1985 1 Mbit 200 135 ns 40 ns1989 4 Mbit 50 110 ns 40 ns1992 16 Mbit 15 90 ns 30 ns1996 64 Mbit 10 60 ns 20 ns
存储器对性能的影响• 假定某台计算机的处理器工作在:
– 主频 = 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” 来弥补处理器和存储
器之间的性能鸿沟
Control
Datapath
Memory
Processor
Mem
ory
Memory
Memory
Mem
oryFastest Slowest
Smallest Biggest
Highest Lowest
Speed:
Size:
Cost:
现代计算机的层次存储器系统• 利用程序的局部性原理 :
– 以最低廉的价格提供尽可能大的存储空间– 以最快速的技术实现高速存储访问
Control
Datapath
SecondaryStorage(Disk)
Processor
Registers
MainMemory(DRAM)
SecondLevelCache
(SRAM)
On
-Ch
ipC
ache
1ns Milliseconds GB
Speed (ns): 10ns 50-100nsMB-GB100sSize (bytes): KB-MB
TertiaryStorage(Disk)
SecondsTerabytes
并行技术• 主存的一体多字
– 一个读写体,每次多个字• 单字多体
– 多个读写体,交叉编址
24
WRITEREAD
主存储器 是计算机中存储正处在运行中的程序和数据 ( 或一部分 ) 的部件, 通过地址 数据 控制 三类总线与 CPU 、与其它部件连通;
CPU Main
Memory
AB k 位(给出地址)
DB n 位(传送数据)
READY
地址总线 AB 的位数决定了可寻址的最大内存空间,数据总线 DB 的位数与工作频率的乘积正比于最高数据入出量,控制总线 CB 指出总线周期的类型和本次入出操作完成的时刻。
例如,
k= 32 位
n= 64 位
地址总线• 地址总线用于选择主存储器的一个存储单
元(字或字节),其位数决定了能够访问的存储单元的最大数目,称为最大可寻址空间。例如,当按字节寻址时, 20 位的地址可以访问 1MB 的存储空间, 32 位的地址可以访问 4GB 的存储空间。
数据总线• 数据总线用于在计算机各功能部件之间传送数据,数据总线的位数(总线的宽度)与总线时钟频率的乘积,与该总线所支持的最高数据吞吐(输入 /输出)能力成正比。
控制总线• 控制总线用于指明总线的工作周期类型和
本次入 / 出完成的时刻,总线的工作周期可以包括主存储器读周期、主存储器写周期、I/O 设备读周期、 I/O 设备写周期,即用不同的总线周期来区分要用哪个部件(主存或 I/O 设备)和操作的性质(读或写);还有直接存储器访问( DMA )总线周期等。
主存储器的读写过程 数据寄存器 读过程 :
给出地址 主存储体 给出片选与读命令 保存读出内容 写过程 :
给出地址 给出片选与数据 地址寄存器 给出写命令
/WE
/CS0
/CS1
静态存储器存储原理6-Transistor SRAM Cell
bit bit
word(row select)
bit bit
word
• 写1. 给位线( bit )要写的信号值,2. 选中字线
• 读1. 选中字线2. 被选中单元的值被送到位线上3. 信号放大器检测到信号,并输出
replaced with pullupto save area
10
0 1
静态存储器读写过程
静态存储器芯片
地址总线 AB
数据总线 DB
片选信号 /CS
读写信号 /WE
SRAM 典型时序
写时序 :
D
读时序 :
WE_L
A
写保持时间写建立时间
A
DOE_L
2 Nwordsx M bitSRAM
N
M
WE_L
写入数据
写入地址
OE_L
High Z
读地址
Junk
读访问时间
读出数据
读访问时间
读出数据
读地址
静态存储器字、位扩展 看教学计算机系统的存储器实际组成的例子。该存储器的容量为 4096 个字,每个字的字长为 16 位。存储器芯片选用 有 2048 个存储单元、每个存储单元由 8 位组成的静态存储器芯片 LS6116 ,为此,必须用两块芯片实现 由 2048 个存储单元扩展容量到 4096 个存储单元(字扩展),再用两块芯片实现 由 8 位长度扩展长度到 16 位字长(位扩展),共用 4 片芯片。 为访问 2048 个存储单元,需要使用 11 位地址,应把地址总线的低 11 位地址送到每个存储器芯片的地址引脚; 对地址总线的高位部分进行译码,产生的译码信号送到相应的存储器芯片的片选信号引脚 /CS ,用于选择让哪一个地址范围内的存储器芯片工作,保证不同存储器芯片在时间上以互斥方式(分时)运行。 还要向存储器芯片提供读写控制信号 /WE ,以区分是读、还是写操作, /WE 信号为高电平是读,为低是写。
静态存储器字、位扩展
地址总线低 11 位高位地址译码给出片选信号
/CS0
/CS1
高八位数据 低八位数据
/WE
2K * 8 bit
2K * 8 bit 2K * 8 bit
2K * 8 bit 译码器