存储器层次结构与主存储器
掌握存储器的分类、性能指标与层次结构,SRAM、DRAM、Flash 的特点与 DRAM 刷新和地址复用,多模块存储器的高位交叉与低位交叉,主存与 CPU 连接的位扩展、字扩展与地址分配,以及磁盘的访问时间和固态硬盘的特性。
本节导读
存储器层次结构是组成原理里内容很多的一章,本课分三节:这一节讲存储器的分类、层次化结构、半导体存储器、主存储器和外部存储器;第 15 节讲 Cache;第 16 节讲虚拟存储器。
这一节的计算有:芯片扩展需要多少片、地址怎么分配,交叉存储器连续访问的时间,磁盘读一块数据的时间。学完你应该能画出用若干芯片组成主存的连接方式,并写出每组芯片的地址范围。
存储器的分类与层次结构
| 分类依据 | 类别 |
|---|---|
| 作用 | 主存(内存)、辅存(外存)、高速缓存 Cache |
| 存储介质 | 半导体存储器、磁表面存储器(磁盘、磁带)、光存储器 |
| 存取方式 | 随机存取(RAM)、只读(ROM)、串行访问(顺序存取的磁带、直接存取的磁盘) |
| 信息可保存性 | 易失性(断电丢失,如 RAM)与非易失性(如 ROM、Flash、磁盘);破坏性读出与非破坏性读出 |
主要性能指标:存储容量、单位成本(每位价格)、存储速度。存取时间是从启动一次操作到完成的时间;存取周期是连续两次独立访问之间的最小间隔,一般大于存取时间;主存带宽是单位时间内存取的信息量。
层次结构的目标是:速度接近最快的一层,容量和成本接近最大最便宜的一层。Cache—主存层次解决速度问题,全部由硬件管理,对程序员透明;主存—辅存层次解决容量问题,由硬件和操作系统共同管理(虚拟存储器)。它们能起作用,靠的是程序访问的局部性:时间局部性(刚访问过的很快会再访问)和空间局部性(访问了一个地址,附近的地址很快也会被访问)。
半导体随机存取存储器
| 比较项 | SRAM | DRAM |
|---|---|---|
| 存储元 | 双稳态触发器(六管) | 电容(单管) |
| 读出 | 非破坏性 | 破坏性,读后要再生 |
| 刷新 | 不需要 | 需要,电容上的电荷会泄漏 |
| 速度、集成度、成本 | 快、低、高 | 慢、高、低 |
| 用途 | Cache | 主存 |
DRAM 的刷新按行进行,在规定的刷新周期(常见 2 ms)内把每一行都刷新一遍,方式有集中刷新(有一段「死时间」)、分散刷新(每个存取周期加一次刷新,周期变长)和异步刷新(把各行的刷新均匀分布在刷新周期里)。DRAM 芯片容量大,地址常分行、列两次送入(地址复用),引脚数减半。
只读存储器也能随机读:掩模 ROM、一次可编程的 PROM、可擦除的 EPROM,以及电可擦除、可多次改写的 Flash 存储器。Flash 非易失、读快写慢,U 盘和固态硬盘都用它。
主存储器
内存条由多个 DRAM 芯片组成。为提高主存带宽,可以用多模块存储器:
- 单体多字:一个存储体一次读出多个字,要求数据和指令在主存中连续存放。
- 高位交叉:模块号在地址高位,同一模块内地址连续。顺序访问时总是落在同一个模块,不能提高连续访问的速度,主要用于扩充容量。
- 低位交叉:模块号在地址低位(地址 mod 模块数),连续地址轮流分在各个模块。设存取周期为 T、总线传送周期为 r,模块数 m≥rT 时可以流水式工作,连续存取 m 个字的时间是 T+(m−1)r。
主存与 CPU 的连接:存储芯片的容量往往不够,要扩展。
| 扩展方式 | 做法 | 连接要点 |
|---|---|---|
| 位扩展 | 字数不变,增加字长,几片同时工作 | 地址线、片选、读写线并联,数据线分别接 |
| 字扩展 | 字长不变,增加字数 | 高位地址经译码器产生各片(组)的片选信号 |
| 字位同时扩展 | 先位扩展成组,再字扩展 | 组内同时选中,组间靠片选区分 |
需要的芯片数 = 目标容量 ÷ 芯片容量。片内地址线由芯片的字数决定,其余高位地址用于片选。
本节后面还有约 1450 字:报名学员看全文
每门课前 10 节免费看全文;从第 11 节起,完整教程要报名后由顾问在后台为你的账号开通才能看。
题库账号可以直接登录,但第 11 节起的完整教程要报名后由后台开通才能看。
学完练一练
按本节考点从本课的课后练习里抽题(每次 10 道以内),做完看解析、错题自动进错题本。第 11 节起的课后练习报名学员才能练。
本节内容由 AI 辅助编写,配图由 AI 生成,仅供备考参考;考试要求以《全国各类成人高等学校招生考试大纲(2024 年版)》及浙江省教育考试院当年公布为准。