核心 1:计算机的五大基本组件 (冯·诺依曼结构)
【重点】 想象一台计算机就是一套自动化处理信息的系统,它由五个不可或缺的部分组成,(如图 2 所示):
运算器 (Arithmetic Logic Unit - ALU)
- 作用:计算机的“大脑计算核心”,负责执行所有的算术运算(加、减、乘、除)和逻辑运算(与、或、非、比较)。
- 位置:通常和控制器一起被集成在 CPU 内部。
控制器 (Control Unit - CU)
- 作用:计算机的“总指挥官”或“神经中枢”。它负责读取指令(从内存中),解码指令(搞明白这条指令是让干啥),然后向其他所有部件发出控制信号,指挥它们协同工作。
- 位置:集成在 CPU 内部。
存储器 (Memory)
- 作用:存放指令和数据的地方。这是程序能够运行的基础。
- 层次结构:存储器不是单一的,而是一个金字塔结构,速度和成本差异巨大:
- CPU 寄存器 (Registers):最快,容量最小(几十到几百字节),直接在 CPU 核心里,是 ALU 的“手”。
- 高速缓存 (Cache):很快,容量较小(几 MB),是 CPU 和内存之间的缓冲。
- 主存储器/内存 (Main Memory/RAM):速度较快,容量较大(几 GB 到几十 GB),是程序运行的主要工作区。
- 辅助存储器/外存 (Secondary Storage):最慢,容量最大(TB 级别),如硬盘、SSD,用于永久存储程序和数据。
输入设备 (Input Devices)
- 作用:向计算机输入信息。
- 例子:键盘、鼠标、麦克风、摄像头。
输出设备 (Output Devices)
- 作用:从计算机获取处理结果。
- 例子:显示器、打印机、音响。
计组核心思想 💡
在运行前,指令和数据都必须先从外存(硬盘)加载到内存(RAM)中,然后控制器才能一条一条地去内存中取出指令并执行。
![[Pic/Pasted image 20250918121027.png]] [图 2:计算机的五大组成部分示意图]
核心 2:CPU 的内部解剖
【核心考点】 CPU (中央处理器) 是运算器和控制器的集合体。为了完成“取指-解码-执行”的循环,它的内部至少有以下几个关键部件,(如图 23 所示):
程序计数器 (Program Counter - PC)
- 功能:一个特殊的寄存器,永远指向内存中下一条待执行指令的地址。它是 CPU 执行流程的“导航仪”。
指令寄存器 (Instruction Register - IR)
- 功能:存放当前正在被执行的这条指令本身。控制器会分析 IR 里的内容来解码。
通用寄存器组 (General-Purpose Registers)
- 功能:CPU 的“高速草稿纸”,用于临时存放操作数、中间结果。我们之前讨论过的
eax
,ebx
等就是它们。
- 功能:CPU 的“高速草稿纸”,用于临时存放操作数、中间结果。我们之前讨论过的
算术逻辑单元 (ALU)
- 功能:执行具体的数学和逻辑计算。它从通用寄存器中获取操作数,并将结果写回通用寄存器。
堆栈指针 (Stack Pointer - SP)
- 功能:一个特殊的寄存器,永远指向内存中“栈”这个区域的栈顶地址。它对函数调用和返回至关重要。
程序状态字 (Program Status Word - PSW)
- 功能:一个包含多个状态标志位的寄存器。我们之前讨论的内核模式/用户模式的切换,就是通过修改 PSW 中的一个特定“模式位”来实现的。它还包含了上一次运算结果是零、是负、是否溢出等信息(即 Flags)。
程序执行的微观循环 (Fetch-Decode-Execute Cycle) ⚙️
- 取指 (Fetch):控制器根据 PC 的地址,去内存中把指令取出来,放入 IR。
- 解码 (Decode):控制器分析 IR 中的指令,搞清楚是什么操作,需要哪些操作数。
- 执行 (Execute):指挥 ALU 和通用寄存器等部件完成指令要求的工作。
- PC 更新:PC 的值自动增加,指向下一条指令,然后重复第一步。
核心 3:总线 (Bus)——信息的高速公路
【重点】 计算机的各个部件(CPU, 内存, I/O 设备)之间并不是随意连接的,而是通过一组共享的电子线路来通信,这组线路就是总线。
(如图 24 所示) 这张图展示了一个更真实的计算机结构,里面有两种主要的总线:
内存总线 (Memory Bus) / 系统总线
- 特点:速度极快。
- 连接对象:专门用于连接高速设备,主要是 CPU 和 内存 (RAM)。
- 作用:CPU 和内存之间需要进行海量、高速的数据交换,必须走这条“高速专线”。
I/O 总线 (I/O Bus)
- 特点:速度相对较慢。
- 连接对象:连接各种慢速的外围设备,如硬盘控制器、USB 控制器(连接键盘鼠标)、网络控制器等。
- 作用:为众多速度各异的设备提供一个统一的接入通道。
桥 (Bridge):
- 作用:内存总线和 I/O 总线之间的“立交桥”或“转换器”。它负责协调两种不同速度的总线之间的通信。
为什么这对操作系统很重要? 🤔
这个结构解释了为什么 I/O 操作那么“昂贵”(耗时)。当 CPU 需要从硬盘读数据时,请求信号需要从高速的内存总线,通过“桥”,进入慢速的 I/O 总线,到达硬盘控制器,硬盘进行机械寻道和读取,数据再原路返回。这个过程比 CPU 直接从内存读数据要慢上成千上万倍。因此,操作系统必须设计复杂的 I/O 调度算法和中断机制,以在等待 I/O 的漫长时间里让 CPU 去做别的事情,从而提高系统效率。 ![[Pic/Pasted image 20250918121653.png]] [图 24:展示内存总线和 I/O 总线分离的计算机结构图]
总结
对于理解操作系统,你最需要从计组中带走的知识是:
- 分层存储:CPU 只能直接和高速的寄存器、缓存、内存打交道。硬盘上的程序必须先加载到内存。
- CPU 核心:CPU 内部有 PC、IR、通用寄存器等部件,它们是程序状态的物理载体。
- 执行循环:CPU 的工作本质就是“取指-解码-执行”的死循环。
- 硬件支持:操作系统的许多高级功能(如内存保护、特权模式)都依赖于 PSW 等特殊寄存器提供的硬件支持。
- 速度差异:内存访问和 I/O 访问之间存在巨大的速度鸿沟,这是操作系统需要解决的核心性能问题之一。