计算机系统基础知识(二):硬件篇之存储器详解

chengsenw 项目开发评论1阅读模式

计算机系统基础知识(二):硬件篇之存储器详解

📝 前言

在计算机硬件系统中,存储器是仅次于处理器的核心部件,负责存储程序指令和数据。存储器系统是一个多层次的复杂结构,从CPU内部的寄存器到外部的磁盘,构成了一个金字塔式的存储体系。

对于架构师考试而言,存储器部分是必考且分值占比较高的内容,通常涉及基本概念辨析、性能计算、Cache映射、主存扩展等多个维度。本文将系统梳理存储器的核心知识点,结合历年考点和真题,帮助你在复习中构建清晰的知识体系。

一、存储器概述

1.1 存储器的分类

存储器可以从多个维度进行分类:

分类维度
类型
典型代表
特点
存取方式
随机存取存储器(RAM)
内存
读写时间与位置无关,可随机访问
只读存储器(ROM)
BIOS芯片
工作时只能读,不能写
顺序存取存储器(SAM)
磁带
按顺序存取,速度慢
直接存取存储器(DAM)
磁盘
先直接定位再顺序存取
相联存储器(CAM)
快表TLB
根据内容查找存储位置
存储介质
半导体存储器
内存、Cache
速度快,易失性
磁表面存储器
硬盘
容量大,非易失性
光盘存储器
CD/DVD
适合分发和备份
断电后信息
易失性存储器
RAM、Cache
断电后信息丢失
非易失性存储器
ROM、磁盘、SSD
断电后信息保留
读出特性
破坏性读出
DRAM
读出后需重写(再生)
非破坏性读出
SRAM、ROM
读出后信息不变

1.2 存储器的层次结构

为了解决速度、容量、成本三者之间的矛盾,现代计算机采用层次化存储结构:

寄存器(最快,容量最小,成本最高)     ↓ 高速缓存(Cache:L1/L2/L3)     ↓ 主存储器(内存:DRAM)     ↓ 辅助存储器(硬盘、SSD、光盘——容量最大,速度最慢,成本最低)

这个层次结构包含两个关键层次:

  • Cache—主存层次:解决CPU与主存速度不匹配的问题,由硬件自动完成,对用户透明

  • 主存—辅存层次:解决主存容量不足的问题,实现虚拟存储系统,由硬件和操作系统共同管理

1.3 程序访问的局部性原理

局部性原理是Cache和虚拟存储器设计的理论基础:

  • 时间局部性:某个存储单元被访问后,不久可能再次被访问(如循环代码)

  • 空间局部性:某个存储单元被访问后,其邻近单元不久也可能被访问(如数组元素、顺序指令)


二、主存储器技术详解

2.1 半导体存储器:SRAM vs DRAM

SRAM和DRAM是构成主存和Cache的核心器件,也是考试中的高频考点:

对比维度
SRAM(静态RAM)
DRAM(动态RAM)
存储原理
双稳态触发器(6个MOS管)
栅极电容(1个晶体管+1个电容)
破坏性读出
非破坏性读出,无需重写
破坏性读出,读出后需重写(再生)
是否需要刷新
不需要(不断电信息保持)
需要

(电容电荷只能维持2ms)
运行速度
集成度
功耗
成本
地址线送法
同时送行列地址
分两次送

(地址线复用技术)
主要用途 Cache 主存

(内存条)

考点提示:2018年系统架构师考试真题——计算机系统的主存主要是由( )构成的?正确答案是DRAM。SRAM虽然速度更快,但因成本高、集成度低,主要用于Cache而非主存。

2.2 DRAM的刷新机制

DRAM依靠电容存储电荷,电荷只能维持约2ms,因此必须定期刷新:

  • 刷新实质:读出原信息,再由刷新放大器形成原信息并重写(再生过程)

  • 刷新单位:以行为单位,每次刷新一行

  • 刷新不由CPU控制:由存储器独立完成

三种刷新方式

刷新方式
工作原理
优点
缺点
集中刷新
在2ms内集中一段时间逐行刷新所有行
控制简单
存在死时间(死区),无法读写
分散刷新
分散到每个存取周期内完成刷新
无死时间
存取周期延长,降低系统速度
异步刷新
2ms内每行刷新一次,安排在CPU空闲时
死时间短,效率高
控制较复杂

2.3 只读存储器(ROM)

ROM虽然名为"只读存储器",但现代ROM大多支持写入,只是写入条件特殊:

类型
全称
特点
MROM
掩模式ROM
厂家生产时写入,之后不可更改,适合批量定制
PROM
可编程ROM
用户可一次性写入,写入后不可更改
EPROM
可擦除可编程ROM
可多次写入,擦除方式:紫外线照射(UVEPROM)或电擦除(EEPROM)
Flash Memory
闪速存储器
U盘、SD卡,电可擦除,写前需先擦除,读快写慢
SSD
固态硬盘
基于Flash芯片,速度快、功耗低、抗震性好

注意:逻辑上,主存由RAM + ROM组成,两者统一编址。BIOS芯片就是典型的ROM,存储自举装入程序,负责引导操作系统。

2.4 主存的技术指标

  • 存储容量 = 存储单元个数 × 存储字长(如 8K × 8位)

  • 存取时间:执行一次读或写操作所需时间

  • 存取周期:连续两次独立读写操作的最小时间间隔(存取周期 ≥ 存取时间)

  • 存储器带宽:单位时间内存储器存取的信息量(字/秒或字节/秒)


三、Cache技术详解

Cache是解决CPU与主存速度差异的关键技术,也是考试中计算题和综合题的重点

3.1 Cache的基本原理

  • 位置:位于CPU和主存之间,通常集成在CPU内部

  • 实现材料:SRAM(速度快,成本高)

  • 数据交换单位:以"块"为单位(主存的块又叫"页/页框",Cache的块又叫"行")

  • 命中率:h = 命中次数 / (命中次数 + 访问主存次数)

3.2 Cache与主存的地址映射

Cache很小,主存很大,需要建立映射关系。有三种基本映射方式:

映射方式
原理
特点
标记位长度
直接映射
每个主存块只能放到固定的Cache块中(i = j mod C)
实现简单,硬件成本低,但冲突率高,Cache利用率低
较短
全相联映射
主存块可放到任意Cache块中
灵活,冲突率低,但比较电路复杂,成本高
较长
组相联映射
Cache分组,主存块固定组内任意放
折中方案,兼顾性能和成本
中等

直接映射地址结构

主存地址 = 主存字块标记 | Cache字块地址 | 块内地址

3.3 Cache替换算法

当Cache满时,需要选择替换哪个块:

算法
原理
特点
FIFO
先进先出
实现简单,但可能把常用的块替换掉
LRU
近期最少使用
利用局部性原理,性能较好,但需记录使用历史
随机法
随机选择替换
实现最简单,但性能不稳定

3.4 Cache写策略

CPU修改了Cache中的数据副本,如何保证主存数据一致?

策略
原理
优点
缺点
写直达法
每次写Cache时同时写入主存
主存始终最新,实现简单
速度慢,频繁写主存
写回法
只写Cache,被替换时才写回主存
速度快,减少主存访问
主存可能不是最新的

四、主存储器与CPU的连接

4.1 存储芯片的基本引脚

  • 地址线:单向输入,位数决定寻址范围(n条地址线可寻址2^n个存储单元)

  • 数据线:双向,位数决定每次读写的数据量

  • 控制线:读写控制线(WE/WR)、片选线(CS/CE)

容量计算:存储芯片容量 = 2^(地址线数) × 数据线位数 例:地址线13根,数据线8根 → 2^13 × 8位 = 8K × 8位

4.2 存储器扩展技术

当单块芯片不能满足系统需求时,需要进行扩展:

扩展方式
应用场景
方法
示例
位扩展
增加存储字长
多片芯片的地址线、片选线并联,数据线分别接不同位
用8片8K×1位芯片组成8K×8位
字扩展
增加存储单元数量
多片芯片的地址线、数据线并联,片选线分别控制
用2片8K×8位芯片组成16K×8位
字位扩展
同时增加字长和单元数
先位扩展再字扩展,或反之
用8片16K×4位组成64K×8位

4.3 片选信号生成方式

  • 线选法:用CPU高位地址线直接作为片选信号(n条线 → n个片选信号)

    • 优点:电路简单

    • 缺点:地址空间不连续,存在地址重叠

  • 译码片选法:通过译码器(如74LS138)生成片选信号(n条线 → 2^n个片选信号)

    • 优点:地址空间连续,利用率高

    • 缺点:电路略复杂


五、多模块存储器

为提高访存速度,采用多模块技术:

5.1 多体并行存储器

  • 高位交叉编址:用高位地址选择存储体,连续地址在同一体内

    • 连续取n个字耗时:n × 存取周期

  • 低位交叉编址:用低位地址选择存储体,连续地址分布在各个体内

    • 连续取n个字耗时:存取周期 + (n-1) × 存取时间

    • 采用流水线方式,宏观并行,微观串行

模块数设计:设存取周期为T,存取时间为r,为使流水线不间断,需满足 m ≥ T/r

5.2 双端口RAM

  • 作用:优化多核CPU访问同一内存条的速度

  • 特点:有两组独立的数据线、地址线、控制线

  • 访问冲突处理

    • 不同地址:可同时访问

    • 同一地址读:可同时访问

    • 同一地址写或一写一读:冲突,由判断逻辑关闭一个端口


六、虚拟存储器

6.1 基本概念

  • 目的:解决主存容量不足的问题,让程序员在更大的虚拟地址空间中编程

  • 实现:由硬件(MMU)和操作系统共同管理

  • 特点:速度接近于主存,容量接近于辅存

6.2 实现方式

方式
原理
特点
分页式
程序按等长页划分,主存按等长页框划分
实现简单,无外碎片,但有内碎片
分段式
程序按逻辑段划分
便于共享和保护,有外碎片
段页式
先分段,段内再分页
兼具两者优点,实现复杂

6.3 地址转换与TLB

  • 地址转换:逻辑地址(虚页号+页内地址)→ 查页表 → 物理地址(页框号+页内地址)

  • TLB(快表):页表的Cache,存放常用页表项,加速地址转换

  • 缺页处理:当访问的页不在主存时,发生缺页中断,由操作系统从磁盘调入


七、辅助存储器

7.1 磁盘存储器

磁盘结构

  • 记录面(盘面) → 磁道 → 扇区(最小读写单位)

  • 柱面:不同盘面相同编号的磁道构成圆柱面

磁盘地址:驱动器号 + 柱面号 + 盘面号 + 扇区号

性能指标

指标
定义
存取时间
寻道时间(磁头移动到目的磁道) + 旋转延迟(磁头定位到扇区) + 传输时间
数据传输率
Dr = r × N(r为转速转/秒,N为每磁道容量)
格式化容量
按特定记录格式能存储的信息总量

7.2 固态硬盘(SSD)

  • 原理:基于Flash芯片(EEPROM)

  • 特点

    • 以页(page)为单位读写,以块(block)为单位擦除

    • 读快写慢(写前需擦除)

    • 支持随机访问,无寻道时间和旋转延迟

    • 安静、抗震、功耗低、价格较高

  • 磨损均衡技术:将擦除平均分布在各块上,延长使用寿命

    • 动态磨损均衡:写入时优先选擦除次数少的块

    • 静态磨损均衡:自动迁移数据,让老块承担读任务


八、考点归纳与真题解析

题型一:基本概念辨析

例题1(2017下半年):在程序的执行过程中,Cache与主存的地址映射是由( )完成的。 A. 操作系统 B. 程序员调度 C. 硬件自动 D. 用户软件

解析:Cache与主存的地址映射完全由硬件自动完成,对程序员和操作系统透明。正确答案是 C


例题2(2016年):在嵌入式系统的存储部件中,存取速度最快的是( )。 A. 内存 B. 寄存器组 C. Flash D. Cache

解析:存储器层次结构中,寄存器最接近CPU,速度最快。正确答案是 B


例题3:计算机系统的主存主要是由( )构成的。 A. DRAM B. SRAM C. Cache D. EEPROM

解析:主存使用DRAM,成本低、集成度高;SRAM用于Cache;EEPROM是ROM的一种。正确答案是 A


题型二:SRAM与DRAM对比

例题4:以下关于DRAM和SRAM的描述,错误的是( )。 A. DRAM需要定期刷新,SRAM不需要 B. DRAM是破坏性读出,SRAM是非破坏性读出 C. DRAM集成度高,SRAM集成度低 D. DRAM速度比SRAM快

解析:DRAM速度比SRAM,D选项错误。正确答案是 D


题型三:Cache映射与计算

例题5:某计算机主存容量为64KB,Cache容量为2KB,块大小为16B,采用直接映射方式。请计算: (1)Cache有多少块? (2)主存地址格式如何划分? (3)主存地址为1000H(十六进制)映射到Cache的哪一块?

解析

  1. Cache块数 = Cache容量 / 块大小 = 2KB / 16B = 2×1024 / 16 = 128块

  2. 块内地址:16B → 4位(2^4=16)  Cache字块地址:128块 → 7位(2^7=128)  主存字块标记 = 主存总地址位数 - 7 - 4 = 16 - 11 = 5位

    主存地址格式:| 主存字块标记(5位) | Cache字块地址(7位) | 块内地址(4位) |

  3. 1000H = 0001 0000 0000 0000B  块内地址(低4位):0000 → 0  Cache字块地址(中间7位):1000000B = 64  映射到Cache的第64块


题型四:磁盘性能计算

例题6:某硬盘有8个记录面,每面有1024个磁道,每道64个扇区,每扇区512字节,转速为5400转/分。求: (1)磁盘容量 (2)平均旋转延迟 (3)数据传输率

解析

  1. 磁盘容量 = 8 × 1024 × 64 × 512 = 8 × 1024 × 32768 = 8 × 33,554,432 = 268,435,456字节 = 256MB

  2. 转速5400转/分 = 90转/秒  平均旋转延迟 = 1/2 × (1/90)秒 = 1/180秒 ≈ 5.56ms

  3. 每磁道容量 = 64 × 512 = 32KB  数据传输率 = 90转/秒 × 32KB = 2880KB/秒 ≈ 2.81MB/秒


题型五:主存芯片连接(综合题)

例题7:用4片8K×8位的RAM芯片和2片8K×8位的ROM芯片,组成一个32K×8位的存储器系统,其中RAM地址范围为0000H~7FFFH,ROM地址范围为8000H~9FFFH。请设计片选逻辑(用74LS138译码器)。

解析思路

  1. 总容量32K×8位,需要15根地址线(A0~A14)

  2. 每片芯片8K,需要13根地址线(A0~A12)进行片内寻址

  3. 用A13、A14作为译码器输入

  4. RAM占4片,地址连续,可用两个译码输出分别选通两片RAM(每两片一组进行位扩展)

  5. ROM占2片,用另一个译码输出选通


九、复习建议与口诀记忆

9.1 知识体系梳理

text

存储器复习主线: 分类与层次 → SRAM/DRAM对比 → ROM类型 → Cache(映射/替换/写策略)     ↓ 主存连接(位扩展/字扩展) → 多模块(低位交叉/高位交叉)     ↓ 虚拟存储器(页式/段式/TLB) → 辅存(磁盘/SSD)

9.2 记忆口诀

SRAM vs DRAM口诀

text

SRAM:触发(触发器)快(速度快)但贵(成本高),缓存(Cache)用它就对了 DRAM:电容(电容)慢(速度慢)便宜(成本低),内存(主存)全靠它

Cache映射方式口诀

text

直接映射一对一(一个主存块只对应一个Cache块) 全相联映射多对多(任意映射) 组相联是中间派(固定组内任意放)

ROM类型口诀

text

MROM厂里定(厂家生产时写入) PROM写一次(用户写一次) EPROM可重写(紫外线擦除) EEPROM电擦除(电信号擦除) Flash闪存最常见(U盘SSD都用它)

9.3 高频考点提醒

根据近年考试统计,存储器部分高频考点:

题型
考点
分值占比
概念辨析
SRAM vs DRAM、RAM vs ROM
20%
计算题
Cache映射、磁盘存取时间、数据传输率
35%
综合题
主存芯片连接、虚拟地址转换
30%
设计题
Cache替换算法、写策略选择
15%

结语

存储器是计算机硬件系统中内容最丰富、考点最密集的部分之一。从基础的SRAM/DRAM对比,到Cache映射计算,再到主存芯片连接和虚拟存储器,每一个知识点都可能成为考试的重点。

希望这篇复习笔记能帮助你系统梳理存储器知识,理清各概念之间的关系,掌握核心计算方法和解题思路。复习过程中,建议结合真题多练习,特别是Cache映射和磁盘性能计算类题目,做到熟练运用公式和原理。

如有疑问或需要深入探讨某个知识点,欢迎随时交流!

 
chengsenw
  • 本文由 chengsenw 发表于 2026年4月16日 12:41:07
  • 转载请务必保留本文链接:https://www.gewo168.com/52935.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: