目录
一、 存储器分类
1.1 按存储介质分类
半导体器件: 体积小, 功耗低, 存取时间短。电源消失时, 信息也随机丢失(易失性存储器)。
磁性材料: 在金属或塑料表面涂一层磁性材料作为记录介质, 非易失性存储器。
光盘: 应用激光在记录介质(磁光材料)上进行读/写的存储器, 非易失性存储器。
1.2 按存取方式分类
串行访问存储器: 对存储体进行读/写操作时, 需按其物理位置的先后顺序寻找地址。
随机存储器(Random Access Memory): 存储器的任何一个存储单元的内容都可以随机存取, 分静态RAM(触发器原理)和动态RAM(电容充放电原理), 存取时间与存储单元物理位置无。
只读存储器(Read Only Memory): 存储的内容只能读, 而不能重新写入的存储器, 通常存放固定不变的程序。
1.3 按在计算机中的作用分类
主存储器: 主要特点是可以与CPU直接交换信息, 速度快, 容量小, 价格高。
辅助存储器: 存放当前占时不用的程序和数据, 不能与CPU直接交换信息, 速度慢, 容量大, 价位低 。
缓冲存储器: 用在两个速度不同的部件之间, 如CPU与主存间, 主存与辅助存储器之间。
存储器的层次结构图:
二、主存储器
主存中存储单元地址的分配:
2.1 主存的技术指标
存储容量: 存储单元个数(MAR) x 存储字长(MDR位数) ( 单位: b ) 。
存储器带宽: 单位时间内存储器存取的信息量 。
存储时间: 启动一次存储操作(读/写)到完成该操作所需的全部时间。
存取周期: 存储器进行连续两次独立的存储器操作所需最小间隔时间, 通常存取周期大于存取时间。
2.3 译码驱动方式
线选法:
特点: 一根字选择线直接连接一个存储单元, 只适用容量不大的存储芯片
重合法:
特点: 对比线选法, 可以减少地址线, 如32*32根地址线可以连接1024个存储单元。
2.4 随机存取存储器
2.4.1 静态RAM
基于触发器工作原理存储信息, 电源掉电时, 原存信息丢失, 属易失性存储器。
2.4.2 动态RAM
基于电容存储电荷的原理来寄存信息。若电容上存有足够多的电荷表示 "1''; 电容上无电荷表示存 "0" 属易失性存储器。
电容上的电荷一般只能维持1-2ms, 因此必须在2ms内对所有存储单元恢复一次原状态, 即刷新。
2.4.3 静态RAM与动态RAM的比较
1) 动态RAM具有集成度高, 功耗更低, 价格低, 广泛应用于计算机的主存。
2) 静态RAM速度快, 价格高, 高速缓冲存储器大多用静态RAM实现。
2.4.4 动态RAM刷新
刷新的过程实质上是将原存信息先读出, 再由刷新放大器形成原信息重新写入的过程。一般取2ms为刷新周期或称再生周期。通常有三种方式刷新: 集中刷新, 分散刷新, 异步刷新。
1) 集中刷新
集中刷新是在规定的一个刷新周期内, 对全部存储单元集中一段时间逐行进行刷新, 刷新过程必须停止读/写操作。不能进行读/写操作的这段时间称为访存 "死区"。
集中刷新时间分配示意图:
2) 分散刷新
分散刷新是指对每行存储单元的刷新分散到每个存取周期内完成, 存取周期分读/写周期+刷新周期。这样不存在 "死区" , 但存取周期变长, 系统速度下降。
分散刷新时间分配示意图:
3) 异步刷新
异步刷新是前两种方式的结合, 既可以缩短 "死区" , 又充分利用最大刷新间隔2ms的特点。
异步刷新时间分配示意图:
2.5 只读存储器
2.5.1 掩模ROM
以重合驱动为例, 行, 列交叉处是否有耦合元件MOS管, 便可区分存 "1" 还是存 "0"; 此ROM制成后不可改变行, 列交接处的MOS管是否存在。
1位 x 1K的MOS管掩模ROM图:
2.5.2 PROM
可以实现一次性编程的只读存储器, 依靠熔丝断和未断来区别所存信息是 "0" 或 "1" 。
示意图:
2.5.3 EPROM
一种可擦除可编程只读存储器。依据浮动栅使源S和漏D之间是否的导通来区别 "1" 和 "0" 状态。 可用紫外线照射, 驱散浮动栅。
N型沟道浮动栅MOS电路图:
2.6 存储器与CPU的连接
将若干存储芯片连在一起组成足够容量的存储器, 称为存储容量的扩展, 通常有位扩展和字扩展。
2.6.1 位扩展
增加存储字长。
示意图:
2.6.2 字扩展
增加存储器字的数量。
示意图:
2.6.2 字、位扩展
既增加存储字的数量, 又增加存储字长。
示意图:
2.7 提高访存速度的措施
2.7.1 单体多字系统
根据程序和数据在存储体内是连续存放的, 因此CPU也是连续访存取出信息的。通过增大存储器的带宽, 在一个周期内, 从同一地址取出多条指令, 可以提高系统速度。但遇到转移指令, 或操作数不能连续存放, 则效果不明显。
原理图:
2.7.2 多体并行系统
采用多体模块组成的存储器。每个模块都有相同的容量和存取速度及独立的MAR和MDR寄存器等部件, 能并行工作, 又能交叉工作。高位地址表示体号, 低位地址为体内地址。
1) 并行工作
程序按体内地址顺序存放, 可以使得不同请求源同时访问不同的体(体号), 实现并行工作。
高位交叉, 顺序编址示意图:
2) 交叉工作
程序连续存放在相邻的体内, 可提高存储器的带宽, 同时读取多个体中存储的指令。
低位交叉编址的四体存储器:
三、高速缓冲存储器
基于程序的局部性原理, 提高系统效率。
3.1 Cache的工作原理
Cache - 主存存储空间的基本结构图:
Cache的基本结构原理图:
Cache的读数流程图:
写操作比较复杂, 必须与被映射的内存块内的信息完全一致。主要有以下几种方法:
写直达发: 写操作时数据既写入Cache又写入主存, 但增加了访存次数。
写回发: 即写操作时只把数据写入Cache而不写入主存, 当Cache数据被替换出去时才写回主存。可设置一个标志位, 标志位表示被修改过才需写回主存。多次写操作只需一次写入内存, 但增加了Cache的复杂性。
3.2 Cache - 主存地址映射
3.2.1 直接映射
利用主存地址的 t 位直接判断, 可确定所需字块是否在缓存中。缺点是不够灵活, 每个主存块只能固定某个对应的缓存块, 使缓存的存储空间得不到充分利用。
示意图:
3.2.2 全相联映射
全相联映射允许主存中的每一字块映射到Cache中的任何一块位置上, 方式灵活, 但标记位数增多, 且访问Cache时主存字块标记需要和Cache的全部标记位进行比较。
示意图:
3.2.3 组相联映射
组相联映射是对直接映射和全相联映射的一种折中。
示意图:
四、辅助存储器
在操作系统中赘述, 详情查看I/O设备管理与文件系统 磁盘部分的内容 。