6.1存储系统的基本概念
6.2半导体存储器
6.3高速缓冲存储器( Cache)
6.4微机的外部存储器
第六章 存储器系统
6.1 存储系统的基本概念
一、存储系统的层次结构
微机存储系统有三个基本参数:容量、速度、成本
?容量:以字节数表示
?速度:以访问时间 TA、存储周期 TM或带宽 BM
表示
TA—— 从接收读申请到读出信息到存储器输出端
的时间
TM—— 连续两次启动存储器所需的最小时间间
隔 TM > TA
M
M T
wB ?
一、存储系统的层次结构
w—— 数据总线宽度
?成本:以每位价格表示
存储系统的基本概念
一、存储系统的层次结构
速度
成本

磁带
磁盘
半导体主存储器
Cache
寄存器
存储系统的基本概念
一、存储系统的层次结构
存储系统的基本概念
外存平均访问时间 ms级
硬盘 9~10ms
光盘 80~120ms
内存平均访问时间 ns级
SRAM Cache1~5ns
SDRAM内存 7~15ns
EDO内存 60~80ns
EPROM存储器 100~400ns
一、存储系统的层次结构
存储系统的基本概念
寄存器
Cache
主存储器
辅助存储器 (磁盘 )
大容量存储器 (磁带 )
外存储器
内存储器
二、存储器访问的局部性原理
存储系统的基本概念
存储器访问的局部性指处理器访问存储器时,无论取
指令还是取数据,所访问的存储单元都趋向于聚集在
一个较小的连续单元区域中。
时间上的局部性 —— 最近的将来要用到的信息很可能
就是现在正在使用的信息。主要由循环造成
空间上的局部性 —— 最近的将来要用到的信息很可能
与现在正在使用的信息在空间上是邻近的。主要由顺
序执行和数据的聚集存放造成
二、存储器访问的局部性原理
存储系统的基本概念
存储器的层次结构是依靠存储器访问的局部性实现的
存储器的层次结构的性能由命中率来衡量:
命中率 —— 对层次结构存储系统中的某一级存储器来
说,要访问的数据正好在这一级的概率
二、存储器访问的局部性原理
存储系统的基本概念
例:两级存储系统
M1 访问时间 TA1,命中率 H
M2 访问时间 TA2
则平均访问时间 TA=HTA1+(1-H)TA2
规定:访问时间比
访问效率
1
2
A
A
T
Tr ?
A
A
T
Te 1?

Hrre )1(
1
???
Hrre )1(
1
???
二、存储器访问的局部性原理
存储系统的基本概念
追求 1
0 1.0
1.0 r=1
r=2
r=10
r=100
e
H
6.2 半导体存储器
一、半导体存储器的分类
RAM 静态 RAM( SRAM)动态 RAM( DRAM)
ROM
掩膜型 ROM
可编程 ROM( PROM)
可擦除可编程 ROM( EPROM)
电可擦除可编程 ROM( E2PROM)
半导体存储器
二、半导体存储器的组成
P,157
三、静态 RAM( SRAM)
?SRAM基本存储电路
P,159
半导体存储器
三、静态 RAM( SRAM)
存储矩阵
地址译码器
地址寄存器
地址总线













线
控制电路
OE WE CE
SRAM芯片的结构
半导体存储器
三、静态 RAM( SRAM)
?SRAM的特点
读写速度快
所用管子数目多,单个器件容量小
T1,T2总有一个处于到通状态,功耗较大
SRAM通常用来做 Cache
四、动态 RAM( DRAM)
半导体存储器
行选择信号





数据输入输出线
刷新放大器
单管动态存储电路
四、动态 RAM( DRAM)
半导体存储器
存储矩阵



线
I/O






线
读写控制 /动态刷新电路
RAS#
DRAM芯片的结构





CAS# WE#
四、动态 RAM( DRAM)
半导体存储器
?DRAM的特点
所用管子少,芯片位密度高
功耗小
需要刷新
存取速度慢
DRAM主要用来做内存
四、动态 RAM( DRAM)
半导体存储器
?DRAM的种类
FPM DRAM
存取时间 80~100ns
EDO DRAM
存取时间 50~70ns
SDRAM
存取时间 6~10ns
SIMM—— Single Inline Memory Module
单列直插式内存模块
72线,32位数据,12位行列公用地址,RAS#,CAS#等
在 Pentium微型机中必须成对使用
FPM/EDO
四、动态 RAM( DRAM)
半导体存储器
?DRAM内存条 的种类
DIMM—— Dual Inline Memory Module
双列直插式内存模块
168线,64位数据,14位行列公用地址,RAS#,CAS#等
可单数使用
FPM/EDO/SDRAM
四、动态 RAM( DRAM)
半导体存储器
?DRAM内存条 的种类
五、只读存储器( ROM)
P.166
六、内存的扩展 P,169
位扩展
地址扩展
将多个内存芯片用位扩组装成内存模块(即内存条)
将多个内存条插到内存插槽中 —— 地址扩展
半导体存储器
七、内存的奇偶校验



存储器阵列
DRAM0
DRAM1
DRAM2
DRAM3
DRAM4
DRAM5
DRAM6
DRAM7
DRAMPB
奇偶检查
器 /产生器
PB
8位 9位
PE
PE
半导体存储器
半导体存储器
八、内存地址分析
?译码器 74LS138
半导体存储器
八、内存地址分析
例,2764为 8K?8的 EPROM芯片,要求其地址范围是
FA000H~FBFFFH,设计其连线。
半导体存储器
九,Pentium与内存的
连接
82439TX系统控制器
( MTXC)
半导体存储器
九,Pentium与内存的连接
82439TX系统控制
器( MTXC)
半导体存储器
九,Pentium与内存的连接
6.3 高速缓冲存储器( Cache)
一,Cache的工作原理
?Cache的结构
0
2n-1
主存
1 块 0
块 M-1
M个块
每块 K个字节 Cache
标签 块
0
C-1
C个槽
每个槽 K个字节
高速缓冲存储器( Cache)
一,Cache的工作原理
?地址映象
直接映象
每个主存块只允许放到 Cache的特定的槽中
优点:简单
缺点,Cache命中率低,Cache空间利用率也低
字节号槽号标签
高速缓冲存储器( Cache)
一,Cache的工作原理
?地址映象
全相联映象
每个主存块允许放到 Cache的任何一个槽中
字节号标签
优点:复杂
优点,Cache命中率高,Cache空间利用率也高
高速缓冲存储器( Cache)
一,Cache的工作原理
?地址映象
组相联映象
把 Cache分成若干组,每组若干个槽。
设每组有 J个槽,称为 J路组相联
每个主存块允许放在特定组内的任意一个槽中
字节号组号标签
高速缓冲存储器( Cache)
一,Cache的工作原理
?替换算法
1,最近最少使用( LRU) 需要记录使用情况的历史信息
2,先进先出( FIFO) 用循环移位寄存器
3,用得最少( LFU) 每个槽增加一个计数器
?写入策略
通写
回写
高速缓冲存储器( Cache)
二,Pentium的片内 Cache
?Cache分成独立的 8K代码 Cache和 8K数据 Cache
?采用二路组相联方式
?支持通写和回写两种写入方式
?采用 LRU替换算法
高速缓冲存储器( Cache)
二,Pentium的片内 Cache
高速缓冲存储器( Cache)
二,Pentium的片内 Cache
?每个 Cache有 0路和 1路两个 4KB缓存组成
?Cache中数据操作的基本单元为 32个字节,一个单元称为一个数
据线,每个 4KB缓存区有 128个数据线
?片内 Cache不能只填充部分数据线,这就是缓存式读总线周期要
进行四个四字数据传送的原因
?每个 4KB缓存区有一个与之对应的标记目录,每个标记目录含有
128个标记表项,记录着数据线的使用情况以及数据线中的数据
是否无效了
高速缓冲存储器( Cache)
二,Pentium的片内 Cache
读操作
命中
未命中 —— 进行高速缓存数据线填充读操作,在突发式
读总线周期中读入 256位数据
写操作
回写
通写
WB/WT#信号
高速缓冲存储器( Cache)
二,Pentium的片内 Cache
Cache的清除 —— 两种方法:
通过使 FLUSH#输入低电平
通过指令 INVD,WBINVD
高速缓冲存储器( Cache)
三,Pentium的外部 Cache
外部 Cache称为二级 Cache—— L2 Cache
高速缓冲存储器( Cache)
三,Pentium的外部 Cache
6.4 微机的外部存储器
?磁表面存储器
?光盘存储器