news 2026/9/8 17:03:20

第03篇-计算机系统基础:CPU、存储体系与校验码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第03篇-计算机系统基础:CPU、存储体系与校验码

【软考系统架构设计师全链路通关实战】第 03 篇:计算机系统基础:CPU、存储体系与校验码

本系列定位:以软考系统架构设计师(高级)考试为主线,语言无关的架构方法论视角,覆盖官方教程(第二版)全部 20 章考点,按「综合知识 → 案例分析 → 论文」三科组织,每篇含考点精讲 + 真题规律 + 应试技巧 + Mermaid 图解。


本篇你将学到

  • 计算机系统的组成结构:运算器、控制器、存储器、输入/输出设备与总线体系
  • 多级存储体系的层次逻辑:Cache—主存—辅存的速度/容量/价格三角
  • RAID 各级别的原理、可靠性与性能对比及计算题解法
  • 海明码与循环冗余校验码(CRC)的手工计算方法——综合知识计算题的稳定得分点
  • 性能评价指标(主频、CPI、MIPS、MTBF)的含义与计算

学完本篇,你将拿下综合知识中计算机组成原理部分的全部常规考点的 90% 以上。


考点热力表

考点综合知识案例分析论文
校验码(海明/CRC)计算★★★ 几乎每次必考 1~2 题
Cache 命中率与平均访问时间★★ 高频计算
RAID 级别特性★★ 高频概念题★ 偶现于可靠性计算
指令流水线计算★★ 常考
性能指标(CPI/MIPS)★★ 常考

一、计算机系统组成:冯·诺依曼结构与五大部件

现代计算机的基础是冯·诺依曼体系结构,其核心思想有两条:存储程序(程序和数据都以二进制形式存放在存储器中)和程序控制(控制器按地址顺序取出指令并执行)。

计算机硬件系统由五大部件组成:

CPU

控制信号

控制信号

控制信号

控制信号

数据

输入数据

输出数据

运算器 ALU
算术逻辑运算

控制器 CU
取指令/分析/执行控制

存储器
主存:存放程序和数据

输入设备
键盘/鼠标等

输出设备
显示器/打印机等

真题角度需要重点区分的两个部件:

  • 运算器:完成算术运算和逻辑运算,包含累加寄存器(ACC)、数据缓冲寄存器(DR)、状态条件寄存器(PSW)等。
  • 控制器:指挥中心,包含程序计数器(PC,存放下一条指令地址)、指令寄存器(IR,存放当前正在执行的指令)、指令译码器(ID)、地址寄存器(AR)。

选择题惯用的干扰项手法就是「张冠李戴」——把 PC 说成运算器的部件、把 ACC 说成控制器的部件。记住一句口诀:算逻运算归运算器,寻址取指归控制器;PC 存地址、IR 存指令

指令的执行过程是取指 → 译码 → 执行 → 访存 → 写回,这个串行过程引出了指令流水线技术:把一条指令的执行分成多个阶段,让不同指令的不同阶段在时间上重叠并行。

指令流水线计算公式(必考):

  • 流水线周期 = 各阶段中最长的阶段耗时
  • n 条指令流水线总时间 = (阶段数 + n − 1)× 流水线周期
  • 流水线吞吐率 = n ÷ 总时间;最大吞吐率 = 1 ÷ 流水线周期

例:指令分取指 2ns、译码 1ns、执行 3ns 三阶段,执行 10 条指令。流水线周期 = 3ns,总时间 = (3 + 10 − 1) × 3 = 36ns。若不流水,串行需 10 × 6 = 60ns。

二、多级存储体系:速度、容量与价格的三角权衡

没有任何一种存储器能同时做到速度最快、容量最大、价格最便宜,于是计算机采用层次化存储结构,用「局部性原理」串起两级之间的桥梁:

寄存器
速度最快/容量最小/价格最高
CPU 内部

Cache 高速缓存
KB~MB 级

主存储器 内存
GB 级
断电丢失

辅存储器 磁盘/SSD
TB 级
断电保留

海量大容量存储
磁带库/云存储

金字塔从上到下:速度递减、容量递增、单位价格递减。这个金字塔本身是选择题考点,更深层的是它背后的设计哲学——架构设计本质上是在约束条件下做权衡(trade-off),这个思想会在第 30 篇质量属性、第 33 篇 ATAM 评估中反复出现。存储体系是你在进入架构方法论之前遇到的第一个「权衡」案例。

2.1 Cache:局部性原理的产物

Cache 位于 CPU 与主存之间,利用程序的时间局部性(刚被访问的数据很可能再次被访问)和空间局部性(刚被访问的数据附近的数据很可能被访问),把主存中常用的块调入 Cache。

映射方式有三种(概念题考点):

映射方式主存块对应 Cache 行特点
直接映射只能对应唯一一行硬件简单、冲突率高
全相联映射可对应任意一行冲突率低、硬件成本高
组相联映射可对应某组内任意行折中方案,实际最常用

2.2 Cache 命中率计算(高频计算题)

设命中率为 h,Cache 访问时间 tc,主存访问时间 tm:

  • 平均访问时间 = h × tc + (1 − h) × tm(不考虑 Cache 并行查找的简化式)

例:Cache 访问 10ns,主存访问 100ns,命中率 95%,平均访问时间 = 0.95 × 10 + 0.05 × 100 = 9.5 + 5 = 14.5ns。

陷阱提示:如果题目给出的是「先访问 Cache,未命中再访问主存」的串行模型,则未命中时间 = tc + tm,公式变为 h × tc + (1 − h) × (tc + tm)。审题时看清题目假设的是哪种模型,这是这题最常见的失分点。

2.3 虚拟存储器与磁盘

虚拟存储器让程序使用比物理内存大得多的地址空间,由 MMU 通过页表完成虚拟地址到物理地址的转换,页面缺失时由操作系统从磁盘调入。这一段的重点在第 04 篇操作系统篇展开(页面置换算法)。

磁盘部分近年考频下降,但基本参数要认识:寻道时间、旋转延迟、传输时间,数据传输率 = 每道字节数 × 转速。存取时间 = 寻道时间 + 旋转延迟 + 传输时间。

三、RAID:用冗余换可靠性的经典设计

独立磁盘冗余阵列(RAID)把多个磁盘组合成逻辑上的一个磁盘,是「用冗余换可靠性」思想的教科书案例。考试主要考各级别的原理与特性对比:

级别名称冗余方式最少磁盘数容量利用率可靠性允许故障盘数
RAID 0条带化无冗余2100%低于单盘0
RAID 1镜像完全镜像250%最高1(每组)
RAID 5分布式奇偶校验校验信息分布各盘3(n−1)/n较高1
RAID 6双重分布式校验两个独立校验4(n−2)/n更高2
RAID 10先镜像后条带镜像+条带组合450%每镜像组可坏 1 盘

三个高频考点:

  1. RAID 0 无冗余:只提升性能和容量,任何一块盘损坏全阵列数据丢失。选择题常把它和「RAID 0 可靠性最高」这类错误表述混搭。
  2. RAID 5 的奇偶校验分布在所有盘上:不像 RAID 4 集中在专用校验盘,因此避免了校验盘的写瓶颈。利用率公式 (n−1)/n 是计算题常客。
  3. RAID 10 与 RAID 01 的区别:RAID 10 是先镜像再条带(1+0),RAID 01 是先条带再镜像(0+1),RAID 10 可靠性高于 RAID 01。这个区分在案例分析的可靠性计算中出现过。

RAID 各级别与第 36 篇的冗余技术、第 35 篇的串并联可靠性计算直接呼应,此处建立概念,后面完成计算闭环。

四、校验码:海明码与 CRC 的手工计算

校验码是综合知识「逢考必有」的计算题,原理是通过增加冗余位让系统具备检错(乃至纠错)能力。三个基本概念先行:

  • 码距(海明距离):两个码字之间对应的二进制位不同的个数。检错 d 位需要码距 ≥ d+1;纠错 d 位需要码距 ≥ 2d+1。
  • 奇偶校验:增加 1 位使整个码字中 1 的个数为奇/偶数,只能检 1 位错,不能纠错,码距为 2。
  • 海明不等式:纠 1 位错时,校验位位数 k 与信息位位数 n 满足2^k ≥ n + k + 1

4.1 海明码:定位并纠正单比特错误

海明码的本质是把校验位放在 2 的幂次位置(1、2、4、8……),每个校验位负责校验特定的一组位(按位置的二进制编码分组),出错时由各校验位的校验结果组合直接定位错误位。

计算步骤(考试标准流程):

  1. 信息位 n 位,由 2^k ≥ n+k+1 求校验位 k。如 n=4:2^3=8 ≥ 4+3+1,k=3,码长 7。
  2. 校验位放第 1、2、4 位,信息位按序填入其余位。
  3. 每个校验位校验「位置的二进制表示中含该位的所有位」:P1(位置1)校验位置 1,3,5,7;P2(位置2)校验位置 2,3,6,7;P4(位置4)校验位置 4,5,6,7。
  4. 接收端对每组重新计算校验,错误位位置 = 校验失败的校验位位置之和。

例:信息位 1010 放入 7 位海明码。位置 3,5,6,7 依次是 1,0,1,0。P1 = 位3⊕位5⊕位7 = 1⊕0⊕0 = 1;P2 = 位3⊕位6⊕位7 = 1⊕1⊕0 = 0;P4 = 位5⊕位6⊕位7 = 0⊕1⊕0 = 1。发送码字(按位置 1~7)为 1 0 1 1 0 1 0。若接收端发现 P1、P4 两组校验失败而 P2 正常,错误位置 = 1 + 4 = 5,将第 5 位取反即完成纠错。

整个纠错判定流程可以用一张图固化:

接收7位码字

分组重算 P1 P2 P4

校验结果全通过?

判定无错 ✓

错误位号 =
失败校验位位置之和

该位取反纠错

提取位置3,5,6,7
得到信息位

4.2 CRC 循环冗余校验:模 2 除法

CRC 只检错不纠错,广泛用于数据传输。计算流程:

  1. 信息串后面补 k 个 0(k = 生成多项式最高次数,也就是多项式位数减 1)。
  2. 用补 0 后的串对生成多项式做模 2 除法(异或代替减法,不借位)。
  3. 余数替换掉补的 0,得到 CRC 码字。

例:信息位 10110,生成多项式 10011(x⁴+x+1)。补 4 个 0 得 101100000,模 2 除以 10011:

101100000 ÷ 10011 10110 ← 商(不需要,只求余数) 101100000 10011 ----- 00101 ← 前五位异或后继续 ……(逐位下拉继续异或) 最终余数 = 1010

发送码字 = 10110 1010。接收端用码字再除以同一多项式,余数为 0 则认为无错。

模 2 除法的操作口诀:上商规则看首位(首位 1 商 1,首位 0 商 0),减法就是异或。手工计算最多 5~8 步,考场上务必在草稿区写清楚每一步,一步异或写错就全盘皆输。

4.3 两者的对比收口

维度海明码CRC
检错/纠错检错 + 纠 1 位错只检错(特定多项式可纠错)
校验位位置固定在 2 的幂次位置附加在信息串尾部
计算方法分组异或模 2 除法
典型应用内存 ECC网络传输、存储校验

五、性能评价指标:把计算机算力变成可计算的数字

选择题常给一组参数要求计算,公式集如下:

指标公式说明
主频CPU 时钟频率,周期 = 1/主频
CPI总时钟周期数 ÷ 指令数每条指令平均时钟周期数
执行时间指令数 × CPI × 时钟周期= 指令数 × CPI ÷ 主频
MIPS指令数 ÷ (执行时间 × 10⁶)每秒百万条指令数
MTBF总运行时间 ÷ 故障次数平均无故障时间(第 35 篇展开)

例:某程序编译后含 10⁹ 条指令,主频 2GHz,CPI = 1.5。执行时间 = 10⁹ × 1.5 ÷ (2×10⁹) = 0.75s;MIPS = 10⁹ ÷ (0.75 × 10⁶) ≈ 1333 MIPS。

这类题没有理解难度,失分全在单位换算(GHz→10⁹、ms→10⁻³)和「CPI 是平均值还是分指令类型加权」的审题上。若题目给出多类指令各自的占比和 CPI,总 CPI = Σ(占比 × CPI) 加权计算。

本篇小结

知识点核心内容
五大部件运算器算逻、控制器取指,PC 存地址、IR 存指令
指令流水线总时间 =(阶段数+n−1)× 最长阶段时间
存储体系速度/容量/价格三角,局部性原理支撑层次设计
Cache平均访问时间 = h×tc + (1−h)×tm,注意串并行模型
RAIDRAID 0 无冗余、RAID 1 容量减半、RAID 5 利用率 (n−1)/n
海明码2^k ≥ n+k+1,校验位在 2 的幂次位置,纠 1 位错
CRC补 0 → 模 2 除 → 余数替换,异或代替减法
性能指标执行时间 = 指令数×CPI÷主频,MIPS 换算注意单位

下篇预告

第 04 篇:操作系统核心考点:进程、PV 操作与存储管理
进程三态转换、信号量与 PV 操作经典例题、死锁与银行家算法、页面置换算法与磁盘调度——综合知识中最考验理解力的模块之一。


如果本篇内容对你有帮助,欢迎点赞收藏!有任何疑问,欢迎在评论区交流。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 17:02:29

大型 Docker 开发镜像磁盘排查:containerd、缓存与容量规划

大型 Docker 开发镜像磁盘排查:containerd、缓存与容量规划 摘要:给出大型开发镜像的磁盘排查顺序,区分 containerd 镜像数据、snapshot、BuildKit cache、导出归档和源码构建输出。 文章目录大型 Docker 开发镜像磁盘排查:contai…

作者头像 李华
网站建设 2026/9/8 17:01:54

入行两年,重新聊聊软件测试:核心认知、体系框架与后续学习路线

大家好,这是我的第一篇技术博客。计算机专业毕业两年,深耕软件测试行业一年,从最开始只会点点页面、对照需求测bug的新手,到现在完整参与迭代项目、独立负责模块测试、梳理测试流程与用例体系,踩过很多坑,也…

作者头像 李华
网站建设 2026/9/8 17:01:04

社区团购系统开发哪个好?凡科商城适合哪些商家长期做社区团购

今天给大家带来社区团购系统开发哪个好?凡科商城适合哪些商家长期做社区团购。艾媒咨询2026年中国小程序电商平台用户调查数据显示,用户在电商社区团购小程序上购买商品前三类分别是新鲜蔬菜、粮油米面/调味品、新鲜水果,占比分别为29.56%、2…

作者头像 李华
网站建设 2026/9/8 16:59:33

Atmosphere:Switch 定制固件上手指南

Atmosphere:Switch 定制固件上手指南 【免费下载链接】Atmosphere Atmosphre is a work-in-progress customized firmware for the Nintendo Switch. 项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere Atmosphere 是一个为 Nintendo Switch 提供…

作者头像 李华
网站建设 2026/9/8 16:58:39

从零搭建工业控制系统(二十五):Web API集成与数据上报

Web API集成与数据上报这是「从零搭建工业控制系统」系列第25篇。前面讲了本地数据存储,这篇讲远程上报——怎么把采集的数据推送到Web服务器,怎么处理网络断开。为什么需要数据上报 工业设备产生的数据不只是本地用。远程监控、数据分析、报表生成都需要…

作者头像 李华