在学习计算机组成原理,我们经常会接触到一堆术语,比如:
这些“字长”听起来相似,实际指的是系统中不同维度的宽度。简单来说:
想象你在搬砖:
概念 | 类比 |
---|---|
存储字长 | 每次能搬多少块砖(数据) |
数据字长 | 一次能处理多少块砖的重量 |
机器字长 | 背包容量大小(处理单元大小) |
操作系统位数 | 使用的搬砖工具匹配背包大小 |
✅ 总结:操作系统的位数必须与机器字长兼容;机器字长通常决定了数据字长与存储字长。
这些是衡量 CPU 性能的核心指标,尤其是处理速度与吞吐能力。
名称 | 含义 |
---|---|
主频 | 每秒钟 CPU 的“心跳”次数,单位 Hz,例如 2GHz = 20亿次/秒 |
时钟周期 | 每个主频跳动的时间,= 1 / 主频 |
CPI | 每条指令平均执行所需的时钟周期数 |
IPC | 每个周期可执行多少条指令,= 1 / CPI |
MIPS | 每秒可执行的百万条指令数,衡量吞吐率 |
执行时间 = (指令条数 × CPI) / 主频
MIPS = 主频 / (CPI × 10⁶)
IPC = 1 / CPI
注意:MIPS 是吞吐指标,不表示真实运行效率。
单片机(MCU)和 CPU 经常被混淆,它们的区别在于集成程度和应用场景。
单片机 = CPU + 内存 + IO + 定时器 + 串口 + 中断控制器……打包在一颗芯片中,可独立运行。
项目 | CPU | 单片机(MCU) |
---|---|---|
是否能独立运行 | ❌ 需要外设支持 | ✅ 自带资源,能独立运行 |
功能组成 | 运算/控制核心 | 运算 + 存储 + IO 全部集成 |
应用场景 | 电脑、服务器、手机等高性能 | 家电、智能车、嵌入式、Arduino |
CPU 是否包含? | 是本体 | 是单片机的一个组成部分 |
单片机内置了一个 CPU,但 CPU 并不是单片机本身!
程序计数器(Program Counter,简称 PC)是 CPU 中的一个关键寄存器,它始终指向下一条即将执行的指令的内存地址。
在 C、Python、Java 等高级语言中,用户只关注“做什么”,而不关心“下一条指令在哪”。编译器会把逻辑转换为机器码,并由 CPU 自动更新 PC。
在多任务环境中,程序切换、中断、系统调用等都会自动保存和恢复 PC。操作系统帮你管理执行流程,无需手动干预。
在现代 CPU 架构下,用户程序运行在非特权模式下,无权限访问 PC 寄存器。即使是汇编语言,也只能间接影响 PC(如跳转 jmp
指令),无法读取其值。
✅ 因此:程序计数器是 CPU 自己维护的控制器,对用户完全透明,不需、也不能手动操作。