计算机组成原理期末复习
第四章 存储器
分类
存 储 器 { 主 存 { 随 机 存 储 器 ( R A M ) { 静 态 R A M 动 态 R A M 只 读 存 储 器 ( R O M ) 闪 速 存 储 器 辅 存 { 磁 盘 磁 带 光 盘 缓 存 ( C a c h e ) 存储器\begin{cases}主存\begin{cases}随机存储器(RAM)\begin{cases}静态RAM\\动态RAM\end{cases}\\只读存储器(ROM)\end{cases} \\闪速存储器\\辅存\begin{cases}磁盘\\磁带\\光盘\end{cases} \\缓存(Cache)\end{cases} 存储器⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧主存⎩⎪⎨⎪⎧随机存储器(RAM){静态RAM动态RAM只读存储器(ROM)闪速存储器辅存⎩⎪⎨⎪⎧磁盘磁带光盘缓存(Cache)
层次结构
- Cache-主存
主要对CPU访存起加速作用,使CPU访存速度加快,接近于Cache速度
- 主存-辅存
主要起扩容作用,所使用的存储器其容量和位价接近于辅存
重要性能指标
- 存储速度: 启动一次
存储操作(读写)到完成该操作
所用的时间 - 存储器带宽: 单位时间内存储器的存取信息量
为提高存储器带宽,可采取以下措施
- 缩短存储周期
- 增加存储字长
- 增加存储体
随机存取存储器
1.静态RAM
利用触发器进行存储;读写满足先行后列再选,最后输出,常被用于Cache
2.动态RAM
利用电容进行存储,集成度更高,功耗更低,常被用于主存
- 动态RAM的刷新:由于动态RAM是利用电容存储电荷的原理存储信息,为了避免电容放电,需要对RAM进行刷新,刷新方式有三种:
1). 集中刷新:在一个统一的时间段刷新;
2). 分散刷新:把一个时钟周期分为读写+刷新两个部分;
3). 异步刷新:集中刷新和分散刷新的结合。一个刷新分布在多个读写周期之后,共同组成一个异步刷新周期
动态RAM和静态RAM比较
存储器与CPU的连接
注意点:
1).
M
R
E
Q
‾
\overline{MREQ}
MREQ信号一定要连上;
2).
P
D
‾
\overline{PD}
PD信号一定要连上,表明ROM不可编程;
3).
W
R
‾
\overline{WR}
WR信号一定不能忘,表明RAM可读写;
4). 74LS138芯片运行时必须满足
G
1
,
G
2
A
‾
,
G
2
B
‾
G_1,\overline{G_{2A}},\overline{G_{2B}}
G1,G2A,G2B的输入情况为1,0,0;
提高访存速度的措施
- 采用高速器件,选用存取周期短的芯片,可提高存储器的速度。
- 采用层次结构
- 调整主存结构
- 单体多字系统
- 多体并行系统
- 高位交叉系统 :访存方便,存储体利用率低
- 低位交叉系统 :执行效率高,可流水化;
Cache
重要指标
- 命中率 h
N c N_c Nc为访问Cache的命中次数, N m N_m Nm为访问主存的总次数,则 h = N c N c + N m h=\frac{N_c}{N_c+N_m} h=Nc+NmNc - 访问效率 e
t c t_c tc为命中时访问Cache的访问时间, t m t_m tm为未命中时主存的访问时间,则 e = t c h t c + ( 1 − h ) t m e=\frac{t_c}{ht_c+(1-h)t_m} e=htc+(1−h)tmtc
Cache—主存地址映射
1.直接映射
2.全相联映射
3.组相联映射
作业
- 说明存取周期和存取时间的区别
- 答:存取时间仅为完成一次操作的时间,存取周期=存取时间+恢复时间
- 一个 8K × 8 位的动态 RAM 芯片,其内部结构排列成 256×256 形式,存取周期为 0.1µs 。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少?
- 答:设 DRAM 的刷新最大间隔时间为 2ms ,
则异步刷新的刷新间隔 =2ms/256 =0.0078125ms=7.8125µs
即:每 7.8125µs 刷新一行。
集中刷新时,死时间为 256*0.1us=25.6us 。
分散刷新,刷新间隔 0.2us ,死时间为 0.1us ,读写周期 0.2us
异步刷新,死时间 0.1us ,刷新间隔 7.8125us 。
- 什么是 “ 程序访问的局部性 ” ?存储系统中哪一级采用了程序访问的局部性原理?
- 答:程序运行的局部性原理指: 对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象。
时间: 在一小段时间内,最近被访问过的程序和数据很可能再次被访问;
空间:在空间上,这些被访问的程序和数据往往集中在一小片存储区;
在访问顺序上,指令顺序执行比转移执行的可能性大。
存储系统中Cache— 主存层次
采用了程序访问的局部性原理。
- Cache 做在 CPU 芯片内有什么好处?将指令 Cache 和数据 Cache 分开又有什么好处?
- 答:Cache 做在 CPU 芯片内主要有下面几个好处:
1)可提高外部总线的利用率。因为 Cache 在 CPU 芯片内, CPU 访问 Cache 时不必占用外部总线。
2 ) Cache 不占用外部总线就意味着外部总线可更多地支持 I/O 设备与主存的信息传输,增强了系统的整体效率。
3 )可提高存取速度。因为 Cache 与 CPU 之间的数据通路大大缩短 , 故存取速度得以提高。
将指令 Cache 和数据 Cache 分开有如下好处:
1 )可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。
2 )指令 Cache 可用 ROM 实现,以提高指令存取的可靠性。
3 )数据 Cache 对不同数据类型的支持更为灵活,既可支持整数(例 32 位),也可支持浮点数据(如 64 位)。