计算机组成原理——存储器系统

目录

1.存储器层次结构(存储金字塔)
2.存储器四大分类方式(层次 / 介质 / 存取 / 读写断电特性)
3.存储器三大性能指标
4.主存基础硬件构成(存储元、存储单元、存储芯片、译码、片选)
5.主存寻址:字节编址、字 / 半 / 双字寻址
6.SRAM 静态 RAM vs DRAM 动态 RAM(核心对比、刷新、地址复用)

一、存储器层次结构(存储金字塔)

1.分层核心规律

越靠近CPU 上层:速度越快、容量越小、单位成本越高

越靠下层(辅存):速度越慢、容量越大、单位成本极低

从 CPU 向外分层顺序:寄存器 → Cache 高速缓存 → 主存 (内存) → 辅存 / 外存

每层详细说明

1)寄存器(CPU 内部)

•速度最快,容量极小(仅几十个)

•CPU 运算时临时存放操作数

2)Cache 高速缓存(CPU 片内 L1/L2/L3)

•速度远高于主存,容量很小(i5 CPU 总 Cache 仅 12MB)

•作用:缓解 CPU 与主存的速度不匹配矛盾

•工作机制:硬件自动把 CPU 频繁访问的数据 / 指令从主存复制到 Cache,CPU 优先读 Cache

•数据交换:硬件自动完成,对所有程序员透明(软件不用管)

3)主存(内存条,DRAM)

•可被 CPU 直接读写

•手机 / 电脑 APP、系统运行时,必须从辅存加载到主存才能被 CPU 处理

例:打开微信黑屏加载 2~3 秒,就是微信程序从机身辅存调入主存的过程

•断电丢失数据(易失性)

4)辅存 / 外存(机械硬盘、SSD、U 盘、光盘、磁带)

•CPU 不能直接访问,数据必须先调入主存

•断电数据保留(非易失)

•细分:

○内置辅存:电脑硬盘、手机机身存储

○移动外存:U 盘、光盘、磁带

考试部分教材统一叫外存,部分区分辅存 / 外存,做题灵活看待

2. 两层核心交换机制

1.主存 ↔ Cache

硬件自动调度,解决 CPU、主存速度差,软件无感知

2.主存 ↔ 辅存

操作系统 + 硬件配合,页面置换算法实现虚拟存储

虚拟存储作用:给程序提供远大于物理主存的逻辑地址空间,解决主存容量不足

3. 各层速度、容量、价格实例对比

1.Cache:读写最高 900GB/s,容量十几 MB,成本极高

2.主存 DDR 内存:约 40GB/s,8GB 售价两百多元

3.机械硬盘:实际读写 100MB/s,1TB 仅 299 元

4.M.2 固态硬盘:最高 4GB/s,500GB 五百元

5.光盘:速度最慢,10 张 45 元,容量大、极廉价

4. 补充:SSD 优势

系统装 SSD 开机远快于机械硬盘,开机本质是把系统文件从辅存读入主存,SSD 读写更快。

二、存储器四大分类维度(四种分类标准)

分类 1:按层次结构(寄存器 / Cache / 主存 / 辅存)

前面分层结构,核心考点:

Cache、主存可直接被 CPU 访问;辅存必须调入主存才能读写。

分类 2:按存储介质(制造材料)

1.半导体存储器:SRAM、DRAM(Cache、内存条),速度快

2.磁介质存储器:机械硬盘、磁带、软盘,磁性保存 0/1

3.光存储器:CD、DVD、蓝光光盘,激光读写

分类 3:按存取方式(访问逻辑,高频选择题)

1)RAM 随机存取存储器(主存、Cache)

每个存储单元都有独立地址;任意地址读写时间相同,和物理位置无关

2)SAM 顺序存取(磁带、复读机磁带)

读写速度由数据位置决定,必须从头滚动磁头才能找到目标,速度慢

3)DAM 直接存取(机械硬盘)

混合特性:磁头快速移动到分区(随机),盘片旋转等待数据划过磁头(顺序),速度介于 RAM/SAM

4)CAM 相联存储器(快表)

按内容检索,不按地址;普通存储器都是给地址找数据,CAM 输入数据直接查存储位置

分类 4:按信息可修改性(读 / 写属性)

1.RAM:可读可写(主存、Cache)

2.ROM 只读存储器:正常只能读,特殊手段擦写

应用:BIOS 主板固件、影音光盘、正版影视碟

分类 5:按断电数据保存(易失 / 非易失)

1.易失存储器:断电数据消失

代表:寄存器、Cache、主存(DRAM/SRAM)

原理:依靠电信号 / 电荷保存,断电丢失

2.非易失存储器:断电数据永久保留

代表:SSD、机械硬盘、U 盘、光盘、磁带

分类 6:按读出破坏性(DRAM/SRAM 核心区分)

1.破坏性读出:读出时会销毁存储数据,读完必须重写再生(DRAM)

2.非破坏性读出:读取不改变原有数据(SRAM、磁盘、光盘)

三、存储器三大性能指标

1.存储容量

公式:总容量 = 存储单元数量 × 存储字长

•MAR 地址寄存器位数 → 决定存储单元个数(2MAR 位)

•MDR 数据寄存器位数 → 存储字长(一次读写多少 bit)

描述格式举例:8K×8 位

前半 8K = 存储单元数量;后半 8 = 每个字 8 比特

2. 单位成本

每 1bit 存储的价格,计算:总价 ÷ 总比特数

3. 存储速度(存储带宽 / 数据传输率)

公式:传输率 = 存储字长 ÷ 存取周期

两个易混概念(必考区分)

1.存取时间 Ta:从发地址到完成单次读写的时间

2.存取周期 Tm:连续两次读写的最小间隔 = 存取时间 + 恢复时间

存储器读写完成后需要稳定恢复,不能立刻进行下一次访问

带宽单位区分

大写 B = 字节 (8bit),小写 b = 比特,做题注意换算

四、主存储器硬件基础(存储芯片底层)

1.最小存储单元:存储元

1 个存储元存 1 位二进制(0/1)

DRAM 存储元 = MOS 开关管 + 电容(电容存电荷代表 1/0)

SR 存储元 = 6 个 MOS 管组成双稳态触发器

DRAM 读写原理

•写 1:MOS 导通,电容充电;写 0:电容无压差不充电

•读 1:MOS 导通,电容放电产生电流;读 0:无电流

•缺点:读出会放掉电荷(破坏性读出,读完必须重写)

2.存储单元(存储字)

一行多个存储元组成存储单元(字),一次同时读写一整个字

例:8 个存储元一行 → 字长 8bit(1 字节)

重点:字节固定 8bit,存储字长由芯片硬件决定

3.存储体(存储矩阵)

大量存储单元二维排列形成矩阵,搭配译码器选中对应字

4. 主存整体三大逻辑部件

1.存储体:存放二进制 0/1

2.MAR 地址寄存器:存放要访问的地址,位数决定单元总数

3.MDR 数据寄存器:存放读出 / 写入的数据,位数 = 字长

配合控制电路协同完成读写

5.译码器工作原理

N 位地址输入译码器,输出 2N根字选通线,一根线对应一个存储字

地址全 0 → 选中 0 号存储字,整行存储元同时读写

6.存储芯片外部引脚

芯片对外金属引脚分为四类,计算引脚总数:

1.地址线:N 位地址对应 N 根引脚

2.数据线:位数 = 存储字长

3.片选线 CS/CE(低电平有效):多片内存时,仅选中目标芯片工作

4.读写控制线:

○方案 1:WE 写、OE 读 两根独立引脚

○方案 2:一根控制线,低电平写、高电平读

额外:供电、接地引脚(题目若无说明可不计算)

7.片选线作用

一块内存条由多块存储芯片组成,访问某块数据时,仅给对应芯片片选有效信号,其余芯片关闭。

8.存储芯片规格计算例题

芯片标注 64K×16 位:

•存储单元:64K=216→ 地址线 16 根

•字长 16bit → 数据线 16 根

五、主存寻址方式(现代计算机默认字节编址)

1.字节编址:每一个字节单独分配地址(主流 PC / 手机)

字长 4 字节时,1 个字占用连续 4 个字节地址

字地址左移 2 位 = 对应起始字节地址

2.支持多种寻址:字节寻址、半字寻址、字寻址、双字寻址

3.地址线位数计算:总字节数 = 2地址位数

例:1K 字节主存 → 地址线 10 根(210=1024)

六、SRAM 静态 RAM vs DRAM 动态 RAM(对比表格 + 核心考点)

1 基础参数对比表

2 DRAM 两大核心难点考点

(1)地址复用技术

DRAM 容量大,地址位数多;行地址、列地址分两次送入同一组地址线,地址引脚数量减半,简化芯片电路。

SRAM 容量小,地址线少,行列地址同步传输,不复用。

(2)DRAM 三种刷新方式(必考计算)

刷新规则:以一整行为单位刷新;刷新电路硬件自动完成,无需 CPU 参与;标准刷新周期 2ms

假设条件:芯片 128 行,单次读写 / 刷新周期 0.5μs

1.集中刷新

2ms 前 3872 个周期正常读写,最后 128 个周期一次性刷新所有行

缺点:末尾 128μs死区,CPU 无法访问内存,实时程序卡顿

2.分散刷新

每个读写周期结束后,额外刷新一行;总周期翻倍(0.5→1μs)

缺点:持续拖慢整机访存速度,无死区但效率低

3.异步刷新(现代 DDR 使用)

均匀分配刷新间隔:2ms ÷ 行数 = 刷新间隔

例:128 行 → 每 15.625μs 刷新一行

优势:死区极短,兼顾速度与数据稳定,工程主流

3 补充知识点

1.现在电脑 DDR 系列(DDR4/DDR5)属于 SDRAM,是改良型 DRAM

2.刷新本质:读出一整行数据,重新给电容充电,弥补漏电

3.SRAM 触发器只要不断电,状态永久不变,不需要补充电荷,无刷新操作

七、本章考前总结

1.存储金字塔规律:离 CPU 越近,速度越快、容量越小、越贵;寄存器 > Cache > 主存 > 辅存
2.Cache 解决 CPU 与主存速度差,硬件自动调度;主存 + 辅存靠 OS 虚拟内存,解决容量不足
3.存储器分类四大维度:层次 / 介质 / 存取方式 / 断电易失性
4.三大性能指标:容量、单位成本、存储带宽(区分存取时间 / 存取周期)
5.存储元→存储单元→存储矩阵构成主存;译码器按地址选中对应字
6.现代计算机默认字节编址,字地址可换算为字节地址
7.SRAM 用于 Cache,触发器、无刷新、速度贵;DRAM 做主存,电容、需刷新、地址复用、成本低
8.DRAM 三种刷新:集中(长死区)、分散(速度减半)、异步(最优)
9.DRAM 读出为破坏性读出,刷新以行为单位,硬件自动执行

相关推荐
Yolanda_20222 小时前
Python学习-第九部分-错误处理与异常处理
开发语言·python·学习
郝学胜-神的一滴2 小时前
Qt 高级编程 037:QSS按钮样式封神指南
开发语言·c++·qt·软件工程·用户界面
DFT计算杂谈2 小时前
SCIENTIFIC REPORTS 非 van der Waals可调二维磁性材料设计平台
开发语言·php
库拉库拉里2 小时前
深入理解 C# 异步编程:同步、Task.Wait () 与 await 的本质区别及实践指南
开发语言·c#
霍霍的袁2 小时前
【C++】string类 从 入门使用 到 底层深浅拷贝模拟实现
开发语言·c++·visual studio
酷在前行2 小时前
【R绘图】Nature Communications 半眼图复刻:分布、区间与多面板排版(保姆级教程)
android·开发语言·r语言
C++、Java和Python的菜鸟3 小时前
第10章 后端Web进阶(Maven高级)
开发语言·python
神罚天下ET3 小时前
.NET 新增功能系列文章——C# 中的新增功能
开发语言·c#·.net
所愿ღ3 小时前
SSM框架-Spring3
java·开发语言·笔记·spring