计算机组成原理——外存、SSD、Cache
前言
本节核心三大模块:机械磁盘(磁表面存储器)、固态硬盘 SSD、高速缓存 Cache。
计组侧重硬件结构、性能计算;操作系统侧重磁盘调度、页面管理,两科知识点可互通但考察重点不同。
磁盘、RAID、SSD、Cache 均为选择、计算题高频考点,Cache 是本章重中之重。
一、磁表面存储器(机械硬盘 / 磁带)
1.底层读写原理
写入原理
- 盘 / 磁带表面涂磁性磁粉,读写头是电磁铁;
- 线圈通入不同方向电流,铁芯磁极改变,磁化磁粉形成两种磁化状态;
- 规定:左南右北 = 0,左北右南 = 1,以此存储二进制。
读取原理
切割磁感线:磁介质划过磁头,磁场变化在线圈产生不同方向电流,电路解析出 0/1。
核心硬件特性
- 读写最小单位:1bit,串行读写;主机并行 8bit 字节需串并转换电路;
- 读写不能同时进行;
磁表面存储器优缺点
✅ 优点
- 存储容量大,单位成本低;
- 介质可反复擦写;
- 断电数据长期保存,支持脱机移动存储;
- 非破坏性读出:读取不改变磁化状态,无需刷新再生。
❌ 缺点
- 存取速度慢(依赖机械运动);
- 机械结构复杂,故障率更高;
- 易受强磁场干扰,数据丢失。
补充:磁盘同时属于输入、输出设备。
2. 机械磁盘硬件结构
整体分为磁盘驱动器(机械部分) + 磁盘控制器(电路板 IO 接口)
驱动器机械组成
- 马达主轴:带动所有盘片匀速旋转;
- 多层盘片:正反两面涂磁介质,单面 / 双面均可存储;
- 磁头臂:可径向内外移动,每个记录面对应独立读写磁头;
- 读写磁头:完成 1bit 串行读写。
磁盘存储分区专业名词
- 磁道:单个盘面一圈环形磁介质,同心圆;
- 柱面:所有盘片同一半径位置的全部磁道垂直组成一个柱面;柱面号 = 磁道径向位置;
- 扇区:单条磁道切分扇形小块,主机读写最小单位是扇区;
- 磁头:一个盘面对应一个磁头,盘面号用来选择激活对应磁头。
磁盘控制器
IO 接口芯片,实现磁盘与主机的数据交互,常见标准:IDE (ATA)、SATA(串行 ATA,主流)。
3. 磁盘核心性能指标(计算题重点)
1)容量:格式化 / 非格式化容量
•非格式化:磁盘物理理论最大比特容量;
•格式化:划分扇区后,预留备用坏扇区、控制标识,格式化容量 < 非格式化容量。
2)记录密度(3 类)
- 道密度:磁盘半径方向,单位长度磁道数量;
- 位密度:单条磁道单位长度可存储比特;
外圈磁道长、位密度低;内圈磁道短、位密度高,磁盘容量由内圈位密度上限决定;
所有扇区存储比特数统一; - 面密度= 道密度 × 位密度。
3)平均存取时间(必考计算)
完整读写一扇区分为三阶段:
- 寻道时间 Ts:磁头臂移动到目标柱面(机械动作,耗时最长),题目直接给平均值;
- 旋转延迟 Tr:盘片旋转,等待目标扇区转到磁头下方;
平均延迟 = 磁盘旋转半圈时间;由转速计算。 - 传输时间 Tt:扇区完整划过磁头,完成数据读写;
可选附加:控制器延迟 Tc(控制电路收发指令耗时)
总平均存取时间 = 平均寻道时间 + 平均旋转延迟 + 单扇区传输时间 + 控制器延迟
4)数据传输率
单位时间磁盘向主机传输数据量;
公式:每秒转速 × 每条磁道总字节数。
4. 磁盘地址编码(定位扇区)
完整地址 4 段,依次:驱动器号 → 柱面号 → 盘面号 → 扇区号
- 驱动器号:区分电脑内多块硬盘;
- 柱面号:控制磁头臂径向移动到对应磁道;
- 盘面号:选择激活对应盘面的读写磁头;
- 扇区号:盘片旋转时定位目标扇区。
计算题考法:给出各部分数量,计算每段地址所需二进制位数。
5. RAID 廉价冗余磁盘阵列
作用:多块磁盘组合,提升读写速度 + 数据容错备份
RAID 0(条带化)
•逻辑连续数据拆分条带,分散存储在多块磁盘,并行读写,速度大幅提升;
•无冗余、无校验;任意磁盘损坏,全部数据丢失;
•优点:速度最快,磁盘利用率 100%;缺点:无容错。
RAID 1(镜像)
•两块磁盘存完全相同副本;
•读可并行加速;一块盘损坏,另一块完整备份;
•缺点:磁盘利用率仅 50%,存储成本翻倍。
RAID 2
•按比特拆分数据,搭配海明校验磁盘;
•可自动纠正单比特错误、检测双比特错;
•冗余开销比 RAID1 低,商用极少使用。
RAID3/4/5(拓展了解)
编号越大,校验冗余占用存储空间越少,容错能力更强,企业云存储常用。
考点总结:RAID0 无容错;RAID1 镜像容错;高编号 RAID 平衡成本与可靠性。
二、固态硬盘 SSD(闪存盘)
1.底层基础
存储介质:闪存 Flash(电可擦除 ROM EEPROM),U 盘、SSD 同原理;
整体两大模块:闪存翻译层 + 闪存芯片阵列。
2. 闪存内部层级结构
芯片 → 块 (block) → 页 (page)
- 读写单位:页(等价机械盘扇区);
- 擦除单位:块(整页有数据不能单独覆写,必须整块擦除);
规则:一页擦除后可多次读、仅能写入一次;重复写必须擦除整块。
覆写流程: - 将块内其他有效页复制到空闲新块;
- 擦除原整块;
- 写入更新数据;
- 闪存翻译层修改逻辑→物理地址映射。
3. 闪存翻译层核心功能
- 接收主机逻辑块号;
- 逻辑地址映射到闪存物理页;
- 维护地址映射表,数据迁移后自动更新映射;
- 实现磨损均衡。
4. SSD vs 机械硬盘 对比
✅ SSD 优势
- 无机械结构,随机访问速度极快,无寻道、旋转延迟;
- 无噪音、抗震耐摔;
- 功耗更低。
❌ SSD 劣势
- 单位存储价格更高;
- 闪存块擦写次数存在寿命上限,反复擦写会损坏块;
机械硬盘无擦写寿命限制。
5. 磨损均衡技术(必考)
目的:均匀分散擦写操作,避免同一块频繁擦写快速老化,延长 SSD 寿命
- 动态磨损均衡:每次写入优先选择擦除次数少的空闲块;
- 静态磨损均衡:后台自动迁移冷数据(只读、极少写入)到老旧块,高频写入数据分配给新块。
三、高速缓存 Cache(本章重中之重,选择 + 计算题高频)
1.引入 Cache 的根本原因
CPU 运算速度远快于主存 DRAM,二者速度差距大;
解决方案:在 CPU 内部集成高速 SRAM 作为 Cache,缓存近期使用指令 / 数据,减少访问慢速主存。
•Cache:SRAM,速度极快、成本高、容量小;
•主存:DRAM,速度慢、廉价、容量大。
2. 理论基础:程序局部性原理(Cache 能生效的核心)
1)时间局部
近期访问的指令 / 数据,短期内会再次重复访问(循环、变量反复读写)。
2)空间局部
当前访问地址周边相邻地址,短期内大概率被访问(数组顺序存储、指令连续存放)。
反例:按列遍历二维数组,跳跃访问,空间局部性差,Cache 命中率低,程序运行慢。
3. Cache 工作流程
- CPU 访问数据,优先查询 Cache;
- 命中:数据存在 Cache,直接高速读取;
- 不命中(缺失):访问慢速主存,同时将该数据所在整块调入 Cache(利用空间局部)。
核心指标
- 命中率 H:CPU 访问时数据在 Cache 的概率;缺失率 = 1-H;
- 平均访问时间计算(两种出题模型)
模型 1:先查 Cache,不命中再访问主存
T 平均 = H×Tc + (1-H)×(Tc + Tm)
Tc:Cache 访问时间,Tm:主存访问时间
模型 2:Cache、主存同时并行访问
T 平均 = H×Tc + (1-H)×Tm
并行模型平均耗时更低,做题必须区分题干描述。 - 主存与 Cache 分块规则
1.主存、Cache 划分为大小完全相等的块;
2.数据交换最小单位:块;
3.主存地址拆分:主存块号 + 块内地址;
4.术语区分:
主存块 = 页面;Cache 块 = Cache 行;
5. Cache 三大核心待解决问题(后续课时)
- 映射方式:主存块如何对应存放至 Cache 块(直接 / 全相联 / 组相联);
- 替换算法:Cache 存满,新主存块调入时淘汰哪一块;
- 写一致性策略:Cache 副本与主存原始数据同步更新(写直达、写回)。
整体复习思维导图速记
1.外存
磁表面磁盘:读写原理→硬件结构→性能指标→RAID 阵列
SSD 闪存:块 / 页结构、磨损均衡、机械盘对比
2.Cache
局部性原理→命中 / 缺失→平均访问时间计算→分块机制
