存储器概述
👩💻 层次结构
高速缓存(Cache)
主存储器(主存、内存)
ps:高速缓存和主存储器可直接被CPU读写
辅助存储器(赋存、外存)
主存—辅存:实现虚拟存储系统,解决了主存容量不够的问题
Cache—主存:解决了主存与CPU速度不匹配的问题
分类
按层次结构
按存储介质
半导体存储器
磁表面存储器
光存储器
按存取方式
随机存取存储器(RAM):内存
顺序存取存储器(SAM):磁带
直接存取存储器(DAM):磁盘
相联存储器(可按内容直接访问的存储器CAM):快表
按信息可更改性
读/写存储器,只读存储器(ROM)
断电后信息是否消失
易失性存储器:内存,Cache
非易失性存储器:磁盘、光盘
信息读出后,原信息是否被破坏
破坏性读出:DRAM芯片
非破坏性读出:SRAM芯片、磁盘
存储器性能指标
- 存储容量 = 存储字长 * 字长
- 单位成本(每位价格)= 总成本/总容量
- 数据传输率(主存宽带) = 数据的宽度/存储周期
- 存储周期 = 存取时间 + 恢复时间
主存储器
主存储器的基本组成
基本原件
MOS管,作为通电“开关”
电容,存储电荷(即存储二进制0/1)
存储芯片的结构
- 译码驱动电路:译码器将地址信号转化为自选通线的高低电平
- 存储矩阵(存储体):由多个存储单元构成,每个存储单元又由多个存储元构成
- 读写电路:每次读/写一个存储子
- 👩💻 地址线、数据线、片选线、读写控制线(可能分开两根,也可能只有一根)
寻址
- 现代计算机通常按字节编址(每个字节),即每个字节对应一个地址
- 按字节寻址、按字寻址、按半字寻址、按双字寻址
SRAM芯片和DRAM芯片
类型特点 | SRAM(静态RAM) | DRAM(动态RAM) |
---|---|---|
存储信息 | 触发器 | 电容 |
破坏性读出 | 非 | 是 |
读出后需要重写?(再生) | 不用 | 需要 |
运行速度 | 快 | 慢 |
集成度 | 低 | 高 |
发热量 | 大 | 小 |
存储成本 | 高 | 低 |
易失/非易失性存储器? | 易失(断电后信息消失) | 易失(断电后信息消失) |
需要“刷新”? | 不需要 | 需要(分散、集中、异步) |
送行列地址 | 同时送 | 分两次送(地址线复用技术) |
主要用途 | Cache | 主存 |
ps: 分两次送(地址线复用技术):导致地址线、地址引脚减半
ps:需要(分散、集中、异步):“刷新”由存储器独立完成,不需要CPU控制
只读存储器
- 掩膜式只读存储器(MROM)
- 存储内容由半导体制造厂按用户提出的需要在芯片的生产过程中直接写入,无法血钙
- 一次可编程只读存储器(PROM)
- 存储内容由用户用专门的设备(编程器)一次性写入,之后无法修改
- 可擦除可编程只读存储器(EPROM)
- 紫外线擦除(UVEPROM)
- 电擦除(EEPROM)
- 修改次数有限,写入时间很长
- 闪速存储器(Flash Memory)
- 如U盘,写入速度较快
- 固态硬盘(Solid State Drives)
- 控制单元 + FLASH芯片
- 很多ROM芯片虽然名字是“Read-Only”,但很多ROM也可以“写”
- 闪存的写速度一般比读速度更慢,因为写之前要擦除
- RAM芯片是易失性的,ROM芯片是非易失性的。很多ROM也具有“随机存取”的特性
多模块存储器
👩💻 存取周期T = 存取时间r + 回复时间
单体多字存储器
- 每次并行读出m个连续的字
- 总线宽度也要拓展为m个字
多体并行存储器
高位交叉编址
理论上多个存储体可以被并行访问,但是由于通常会连续访问,因此实际效果相当于单纯的扩容
👩💻 低位交叉编址
- 当存储模块数目m≥T/r时,可使流水线不间断
- 每个存储周期内读写地址连续的m个字
- 微观上,m个模块被串行访问;宏观上,每个存取周期内所有模块被并行访问