3.1 存储器概述
3.1.1 存储器分类
按照在计算机中的作用(层次)分类
- 主存储器。简称主存、内存。用来存放计算机运行期间所需的程序和数据。CPU可以直接随机对其进行访问,也可以和高速缓冲存储器(Cache)及辅助存储器交换数据。容量小,存取速度快,每位价格高。
- 辅助存储器。简称辅存,外存。存放当前暂时不用的程序和数据,以及需要永久保存的信息。辅存的内容需要调入主存才能被CPU访问。容量大,存取速度慢,单位成本低
- 高速缓冲存储器。简称Cache,位于主存和CPU之间,存放当前CPU经常使用的指令和数据,以便CPU快速访问。现代计算机通常集成在CPU中
按照存储介质分类
可分为:磁表面存储器(磁盘、磁带)、磁芯存储器、半导体存储器(MOS、双极型)、光存储器(光盘)
按照存取方式分类
- 随机存储器(RAM):存储器的任何一个单元都可以随机存取。常用作主存和高速缓存。又分SRAM和DRAM
- 只读存储器(ROM):只能随机读出而不能写入,即使断电,也不会丢失信息
- 串行访问存储器:读写时需要按照物理地址先后进行,包括顺序存取存储器(SAM)(例如磁带)和直接存取存储器(DAM)(例如磁盘、光盘(CD-ROM))
- 磁盘属于 直接存取存储器(DAM)
- 相联存储器是按照 内容指定方式和地址指定方式相结合 进行寻址的存储器
- CD-ROM,即光盘,不属于只读存储器ROM
按照信息的可保存性分类
-
易失性存储器:断电后失去存储信息,例如RAM
-
非易失性存储器:断电后不会失去存储信息,例如ROM、磁表面存储器、光盘
-
破坏性读出:读出信息时,原信息丢失,必须再生
-
非破坏性读出:读出信息时原信息不丢失
3.1.2 存储器性能指标
- 存储容量 = 存储字长*字数(例如1M*8位)。存储字数表示存储器的地址空间大小,字长表示一次存取操作的数据量
- 单位成本
- 存储速度:数据传输率(主存带宽)=数据宽度/存储周期。存储周期包括存取时间和恢复时间。对于破坏性读出的存储器,存取周期往往比存取时间大的多,可以达到2倍
3.1.3 多级层次的存储系统
CPU-寄存器-Cache-主存-磁盘-磁带、光盘。从左向右,速度越来越慢,容量越来越大,价格越来越低。
存储系统层次结构主要体现在Cache-主存层(解决CPU和主存速度不匹配的问题)和主存-辅存层(解决存储系统容量问题)
主要思想:上一层存储器作为低一层存储器的高速缓存。
从CPU角度看,Cache-主存层速度接近Cache,容量和价格却接近主存;从主存-辅存层分析,其速度接近主存,价格和容量却接近辅存。这就解决了速度、容量和成本之间的矛盾
主存和Cache之间的数据调用是硬件自动完成的,对所有程序员都是透明的。主存和辅存的数据调用由硬件和操作系统完成,对于应用程序员是透明的
虚拟存储系统:编程的地址范围与虚拟存储器的地址空间相对应
3.2 主存储器
主存储器由DRAM实现,Cache由SRAM实现,都属于易失性存储器,断电丢失信息。
ROM属于非易失性存储器
逻辑上主存由ROM和RAM组成,且二者常统一编址
3.2.1 SRAM芯片和DRAM芯片
存储元:存放一个二进制位的物理器件。是存储器最基本的构建
存储单元:地址码相同的多个存储元组成一个存储单元。若干存储单元的集合构成存储体
SRAM的工作原理
静态随机存储器SRAM采用双稳态触发器来存储信息,属于是非破坏性读出
SRAM存取速度快,集成度低,功耗大,价格高,一般用作Cache
DRAM的工作原理
动态随机存储器DRAM采用栅极电容电荷来存储信息,属于是破坏性读出
DRAM存取速度慢,一般用作主存
DRAM刷新
DRAM电容上的电荷一般只能维持1-2ms,即使不断电也会丢失信息,为此必须隔一段时间刷新,通常取2ms。
常见的刷新方式有以下三种
- 集中刷新:利用一段固定的时间,依次对存储器的所有行进行逐一再生。此时停止对存储器的读写操作,称为死时间,又称访存死区
- 分散刷新:对每行的刷新分散到各个工作周期中。一个存储器的系统工作周期分为两部分,前一半用来正常读写,后一半用来刷新。分散刷新增加了系统的存取周期,但没有死区
- 异步刷新:利用最大刷新间隔为2ms的特性。刷新周期除以行数,得到两次刷新操作之间的最大间隔
t
,每t
秒进行一次刷新
DRAM的刷新需要注意:
- 刷新对于CPU是透明的,不依赖外部访问
- DRAM刷新以行为单位,芯片内部自己生成行地址
- 刷新类似读操作,占一个读写周期,但有所不同。刷新不需要选片,即存储器中所有芯片同时被刷新
- DRAM采用分散刷新时,不存在死区时间
DRAM的读写周期(待补
SRAM和DRAM的比较
核心在于存储介质的不同
SRAM | DRAM | |
---|---|---|
存储信息 | 触发器 | 电容 |
读出是否破坏 | 非破坏性读出 | 破坏性读出 |
是否需要刷新 | 不需要刷新 | 需要刷新 |
送行列地址 | 同时送 | 分两次(地址线复用) |
运行速度 | 快 | 慢 |
集成度 | 低 | 高 |
存储成本 | 高 | 低 |
主要用途 | Cache | 主存 |
补充DRAM地址线复用技术
- SDRAM表示同步动态随机存储器,属于DRAM
存储器芯片的内部结构(待补充
3.2.2 只读存储器ROM
ROM的特点
ROM和RAM都支持随机存取,而RAM易丢失存储信息,ROM一旦有信息,就难以改变,掉电也不会丢失。
- 结构简单,位密度比RAM的高
- 具有非易失性,可靠性高
ROM的类型
根据制造工艺的不同,ROM可以分为:掩模式只读存储器(MROM)、一次可编程只读存储器(PROM)、可擦除可编程存储器(EPROM)、Flash存储器以及固态硬盘(SSD)
- 掩模式只读存储器(MROM):生产时写入,之后无法更改
- 一次可编程只读存储器(PROM):允许用户一次写入,之后就无法再修改
- EPROM:可紫外线擦除(UVEPROM),电擦除( E 2 E^2 E2PROM)
- Flash:U盘、SD卡。断电后可保存信息,可多次重写。由于闪存需要先擦除再写入,因此写操作比读操作慢。存储元位密度比RAM高
- SSD:固态硬盘
重要ROM
主板上的BIOS芯片(ROM)存储“自举装入程序”,负责引导装入操作系统(开机)
3.2.3 主存储器的基本组成
考点:
- 芯片的大小描述,引脚数(注意读写控制线是否集成一条
- 某一DRAM芯片,采用地址复用技术,容量为1024*8位,除了电源和接地线,该芯片引脚数最少为(读写为2条):1(片选)+1(行/列选择)+10/2(地址线)+8(数据线)+2(读写控制线)=17
- (14统考)某容量256MB的存储器由若干4M*8位的DRAM芯片组成,该DRAM芯片的地址引脚数为:22/2=11位(注意DRAM地址复用)、数据引脚数为:8位
3.2.4 多模块存储器
多体并行存储器
单体多字存储器
- 存储器中只有一个存储体,每个存储单元存储
m
个字,总线宽度也为m
个字,一次并行读出m
个字,地址必须顺序排列处于同一个单元 - 缺点是:指令和数据在主存内必须顺序存放,遇到转移指令或者操作数不能连续存