文章目录
第四章 存储器
4.1 概述
存储器分类
- 按存储介质分类
- 按存取方式分类
- 按在计算机中的作用分类
存储器的层次结构
- 存储器三个主要特性的关系
- 缓存 —— 主存层次和主存 —— 辅存层次
4.2 主存储器
概述
-
主存的基本组成
-
主存和CPU的联系
图中的驱动器、译码器、读写电路都制作在内部存储芯片。
而MAR、MDR制作在CPU芯片内,存储芯片和CPU芯片通过总线相连。
-
主存中存储单元地址的分配
大端法、小端法
尤其是小端法要加以区分。
-
主存的技术指标
容量、速度、带宽
半导体存储芯片简介
- 半导体存储芯片的基本结构
注:尤其是掌握片选线的作用
- 半导体存储芯片的译码驱动方式
-
线选法(单重译码)
只适用于芯片容量不大。 -
重合法(双重译码)
-
随机存取存储器 ( RAM )
静态RAM、动态RAM的基本单元电路。
- 动态 RAM 和静态 RAM 的比较
- 动态RAM的刷新
- 为何刷新
电容极板漏抗导致电荷泄漏 - 如何刷新
先将原存信息读出,再由刷新放大器形成原信息,并重新写入。(该过程也叫数据再生),刷新过程是逐行刷新的。 - 刷新周期
在一定的时间内,对动态RAM的全部存储单元必须做一次刷新,否则造成信息丢失。这个最大间隔时间称为刷新周期。 - 刷新的方式☆
集中刷新、分散刷新、异步刷新
- 为何刷新
只读存储器(ROM)
略。
存储器与CPU的连接
存储器容量的拓展
-
位拓展(增加存储字长)
地址线并联
-
字拓展(增加存储字的数量)
分清地址线和片内地址管脚两个概念
-
字、位扩展
思路:
用片选译码器一次性选中多片通过位拓展并联起来的芯片。
也就是说,大方面上是自拓展,片选线一次性选中几片芯片的时候,那几片是位拓展的关系。
注:还要考虑不规整的情况。
连接要点(重点)
- 地址线的连接
1)CPU的地址线往往比存储芯片的地址管脚多;
2)CPU地址线的低位与存储芯片的地址管脚相连;
3)CPU地址线的高位通常用于提供片选信号; - 数据线连接
1)CPU的数据线同样比存储芯片的数据管脚多
2)需把存储芯片的数据管脚分别连接在CPU的数据线上,完成位扩展 - 读/写命令线的连接
CPU的读/写命令线一般可直接与存储芯片的读/写控制端相连。
并联方式。 - 片选线的连接(低电平有效)
1)片选信号与CPU的访存控制信号 MREQ-低电平有效 有关
2)未与存储芯片连接的CPU高位地址需与共同产生存储芯片的片选信号(不能就不用了,否则会出现访问错误的内存的情况) - 芯片的选择
根据存储区域、字、位综合选择芯片类型和数量。
系统程序区:ROM;
用户程序区:RAM
系统程序工作区:RAM
具体步骤
- 根据地址范围(16进制转2进制)计算出芯片容量;
(地址范围可能是16进制、也可能是文字描述) - 再根据存储区域选择芯片;
- 根据要用到的地址线分配地址线;
- 将区分不同芯片的地址线用作片选线;
- 从未用到的地址线和MREQ用作译码器的使能端;
注意:不规整的情况——也就是说有一根线在一方面是一个(或多个)的地址线,另一方面也是另一片(或多个)芯片未用到的线,此时要将它和译码器的输出再通过与(与非)门电路。
其次,存储芯片的地址线、数据线、片选线、读写线、接地线。不能少。
存储器的校验
略
提高访存速度的措施(了解即可)
- 采用高速器件(从硬件本身)
- 采用cache-主存层次(4,2介绍)
调整主存结构
下面主要介绍调整主存结构的方式
- 单体多字系统
一次性从同一地址读出多个字,增加存储器的带宽 - 多体并行
- 高位交叉编址(顺序存放)
- 低位交叉(模M编址,M为模块数,一般取2的方幂,取质数是为了减少存储器冲突)
4.2 高速缓冲存储器(Cache)
概述
-
问题引入
1)在多体并行存储系统中,I/O设备访存优先于CPU,造成 CPU “空等” 现象;
2)CPU 和主存(DRAM)的速度差异。 -
*理论依据
程序(或数据)访问的局部性原理。在一个较短的时间间隔内,CPU对局部范围的存储器空间频繁访问,而对此地址范围之外的存储空间访问很少。
Cache的工作原理
几个基本概念
字节: 8位
字:2-8个字节
字块(页):4-8个字
- 主存和缓存的编址
按块存储,块的大小相同。
毫无疑问,**
**。
块长为一个存取周期内从主存调出的信息长度。
-
命中与未命中
- 命中,即主存块 调入 缓存,主存块与缓存块 建立 了对应关系,用 额外的标记记录与某缓存块建立了对应关系的主存块号。
- 未命中,主存块 未调入 缓存,主存块与缓存块 未建立 对应关系。
-
Cache 的命中率
h = N c / ( N c + N m ) h = N_c/(N_c+N_m) h=Nc/(Nc+Nm)
其中:Nc为访问Cache的总命中次数,Nm为访问主存的总次数。 -
Cache –主存系统的效率
e = 访 问 C a c h e 的 时 间 平 均 访 问 时 间 e = \frac{访问Cache的时间}{平均访问时间} e=平均访问时间访问Cache的时间
设 Cache 命中率 为 h,访问 Cache 的时间为 tc ,
访问 主存 的时间为 tm。e = t c h ∗ t c + ( 1 − h ) ∗ t m ∗ 100 % e = \frac{t_c}{h*t_c+(1-h)*t_m} *100\% e=h∗tc+(1−h)∗tmtc∗100%
Cache的基本结构
Cache的读写操作
- 读操作
- 写操作
- 写直达法
写操作时数据既写入Cache又写入主存,随时保证主存与Cache的数据始终一致,
但增加了访存的次数,降低了CPU的效率 - 写回法
写操作时只把数据写入 Cache 而不写入主存
当 Cache 数据被替换出去时才写回主存 ,读操作 Cache 失效发生数据替换时,
被替换的块需写回主存,增加了 Cache 的复杂性
- 写直达法
Cache 的改进
- 增加 Cache 的级数
片载(片内)L1 Cache,片外 L2 Cache - 统一缓存和分立缓存
指令 I-Cache,数据 D-Cache
Cache-主存的地址映射(重点)
替换算法
4.4 辅助存储器
略