CPU 知识点解析 + 软考真题解析(附计算步骤)

四季读书网 1 0
CPU 知识点解析 + 软考真题解析(附计算步骤)
本文总结 CPU 核心知识,同时结合真实软考题进行解析。
题目来源:软考达人

一、CPU 的基本组成

CPU 主要由三大核心部分组成:
组成部分
作用
运算器(ALU)
负责数据运算
控制器(CU)
控制指令执行
寄存器(Register)
高速存储数据
完整结构如下:
CPU
├── 运算器(ALU)
│    ├── 加减乘除
│    ├── 逻辑运算
├── 控制器(CU)
│    ├── 指令译码
│    ├── 指令控制
└── 寄存器
├── PC 程序计数器
├── IR 指令寄存器
├── ACC 累加器
├── 通用寄存器
其中几个核心寄存器非常重要:

1 程序计数器 PC

PC(Program Counter)存储:
下一条要执行指令的地址
每执行一条指令,PC 自动更新。

2 指令寄存器 IR

IR(Instruction Register)用于:
保存当前正在执行的指令
控制器会对 IR 中的指令进行译码

3 累加器 ACC

ACC 主要用于:
保存运算的中间结果
例如:
ACC = ACC + M

二、CPU 的执行逻辑(指令周期)

CPU 执行程序,本质上就是不断执行指令周期
完整过程:
取指 → 译码 → 执行
详细过程如下:

1 取指(Fetch)

CPU 根据 PC 地址:
从内存读取指令
过程:
PC → 地址总线
内存 → 指令 → IR

2 译码(Decode)

控制器解析指令:
ADD R1,R2
识别出:
操作类型:ADD
操作数:R1 R2

3 执行(Execute)

ALU 执行运算:
R1 = R1 + R2
执行完成后:
PC = PC + 1
进入下一条指令。

三、CPI 与 CPU 运算速度计算

CPU性能常用两个指标:
CPI
MIPS

1 CPI(Cycles Per Instruction)

定义:
执行一条指令平均需要的时钟周期
公式:
CPI = 总时钟周期 / 指令数
例如:
执行 100 条指令
共消耗 200 个时钟周期
则:
CPI = 200 / 100 = 2
说明:
平均一条指令需要 2 个时钟周期

2 CPU 执行时间

公式:
CPU时间 = 指令数 × CPI × 时钟周期
CPU时间 = 指令数 × CPI / 时钟频率
例如:
指令数 = 10^9
CPI = 2
主频 = 2GHz
计算:
CPU时间 = 10^9 × 2 / (2×10^9)
= 1 秒

3 MIPS(Million Instructions Per Second)

表示:
CPU 每秒执行多少百万条指令
公式:
MIPS = 时钟频率 / (CPI × 10^6)
例如:
主频 = 1GHz
CPI = 2
则:
MIPS = 1000 / 2 = 500
即:
500 MIPS

四、CPU 中断机制

CPU 在执行程序过程中,如果出现紧急事件,需要暂停当前程序处理。
这就是中断(Interrupt)
例如:
键盘输入
磁盘完成
网络数据到达
硬件错误

中断处理流程

完整流程:
1 保存现场
2 响应中断
3 执行中断服务程序
4 恢复现场
5 返回原程序
流程图:
程序执行
发生中断
保存寄存器
执行中断服务程序
恢复寄存器
继续执行原程序

五、CPU 访问存储器速度分析

CPU 速度远远高于内存速度,因此需要缓存(Cache)
典型层次结构:
CPU
L1 Cache
L2 Cache
L3 Cache
主存
磁盘
访问速度关系:
寄存器 > Cache > 内存 > 磁盘
典型延迟:
存储层级
访问时间
寄存器
1 cycle
L1 Cache
2~4 cycle
L2 Cache
10 cycle
内存
100 cycle
SSD
100000 cycle

六、CPU 可以执行的操作

CPU 指令主要分为 5 类:
指令类型
示例
数据传送
MOV
算术运算
ADD SUB MUL
逻辑运算
AND OR NOT
控制转移
JMP CALL
输入输出
IN OUT
例如:
MOV R1,100
ADD R1,R2
JMP LOOP
CPU 就是不断执行这些指令。

七、总结

CPU 是计算机系统的核心,其工作可以总结为:

1 CPU组成

CPU = 运算器 + 控制器 + 寄存器

2 指令执行流程

取指 → 译码 → 执行

3 性能计算

核心公式:
CPI = 总时钟周期 / 指令数
CPU时间 = 指令数 × CPI / 主频
MIPS = 主频 / (CPI × 10^6)

4 中断机制

保存现场 → 执行中断程序 → 恢复现场

5 存储访问

寄存器 > Cache > 内存 > 磁盘

如果把计算机系统比作一个工厂:
CPU = 工厂大脑
内存 = 仓库
磁盘 = 原料库
CPU 不断执行指令,从而完成各种计算任务。

六、真题1:平均 CPI 与 MIPS 计算

题目:
某计算机系统的 CPU 主频为 2.8GHz。某应用程序包括3类指令,各类指令的 CPI 及指令比例如下表:
指令
A
B
C
比例
35%
45%
20%
CPI
4
2
6
问题:
执行该应用程序的平均 CPI 为多少?
运算速度用 MIPS 表示约为多少?

解析步骤

1️⃣ 平均 CPI

平均 CPI 的公式:
[CPI_{avg} = \sum (比例 × CPI)]
代入数据:
[CPI_{avg} = 0.35×4 + 0.45×2 + 0.20×6]
逐步计算:
(0.35 × 4 = 1.4)
(0.45 × 2 = 0.9)
(0.20 × 6 = 1.2)
相加:
[CPI_{avg} = 1.4 + 0.9 + 1.2 = 3.5]
✅ 平均 CPI =3.5

2️⃣ 运算速度(MIPS)

MIPS(Million Instructions Per Second)公式:
[MIPS = \frac{CPU频率(MHz)}{CPI_{avg}}]
CPU 主频 = 2.8 GHz = 2800 MHz
[MIPS = \frac{2800}{3.5} ≈ 800]
✅ 运算速度 ≈800 MIPS

二、真题2:CPU 中断响应时间

题目:
计算机中 CPU 的中断响应时间指的是( )。
选项:
A:从发出中断请求到中断处理结束
B:从中断处理开始到中断处理结束
C:CPU 分析判断中断请求
D:从发出中断请求到开始进入中断处理程序

解析

中断响应时间定义:

从 CPU 接收到中断请求到开始进入中断服务程序所需要的时间

所以答案是:
D:从发出中断请求到开始进入中断处理程序

三、真题3:CPU 对访问速度最快的存储器

题目:
计算机中 CPU 对其访问速度最快的是( )
选项:
A 内存
B Cache
C 通用寄存器
D 硬盘

解析

CPU 访问速度对比:
寄存器 > Cache > 内存 > 磁盘
通用寄存器是 CPU 内部寄存器,速度最快
Cache 是高速缓存
内存比 Cache 慢
硬盘最慢
✅ 答案:C 通用寄存器

四、真题4:浮点数平方根优化加速比比较

题目:
求浮点数平方根(FPSQR)的操作在某机器上占总执行时间 20%,FP 运算指令占 50%。
优化方法:
增加专门的 FPSQR 硬件,将 FPSQR 加速 10 倍
提高所有 FP 运算指令速度到 1.6 倍
问:哪种方法加速效果更好?

解析步骤(Amdahl 定律)

Amdahl 定律公式:
Speedup=1/((1−P)+P/S)
P = 可优化部分比例
S = 加速倍数

方法1:专用 FPSQR 硬件

P = 0.20(FPSQR 占总时间)
S = 10
Speedup₁ = 1 / ((1 - 0.2) + 0.2 / 10)= 1 / (0.8 + 0.02)= 1 / 0.82≈ 1.22

方法2:所有 FP 运算加速

P = 0.50(FP 运算占总时间)
S = 1.6
[Speedup_2 = \frac{1}{(1-0.5) + 0.5/1.6} = \frac{1}{0.5 + 0.3125} = \frac{1}{0.8125} ≈ 1.23]

结论

方法2加速效果略好,因为优化比例更大。
✅ 最优方案:方法2

七、知识点总结

平均 CPI= 各类指令比例 × 各自 CPI
MIPS= CPU 主频 / 平均 CPI
中断响应时间= 从发出中断请求到 CPU 开始执行中断程序
访问速度最快= CPU 内部寄存器 > Cache > 内存 > 磁盘
加速比计算= 使用 Amdahl 定律 (\text{Speedup} = 1 / [(1-P) + P/S])

抱歉,评论功能暂时关闭!