自学教程 学编程从这里开始

中央处理器(CPU)

本课目标

掌握CPU内部核心组成部件;理解控制器、运算器、寄存器组各自功能;熟悉指令流水线原理;了解CPU时序与中断基础;建立CPU完整工作流程认知。

5.1 CPU 概述

中央处理器 CPU(Central Processing Unit),是计算机的核心部件,负责读取指令、解析指令、执行指令,协调整机硬件工作。
CPU两大核心模块:运算器 ALU + 控制器 CU,搭配内部寄存器组。

5.2 CPU 内部主要部件

  1. 运算器 ALU

    负责所有算术运算(加减)与逻辑运算(按位运算、比较)。运算结果会附带状态标志:溢出、零标志、正负标志、进位标志,保存在PSW。

  2. 控制器 CU

    CPU的指挥中心。读取指令、解析操作码,根据指令类型向硬件发送各类控制信号,协调ALU、寄存器、总线、存储器协同工作。

  • PC 程序计数器:保存下一条指令的内存地址;顺序执行时自动+1;跳转指令会改写PC值。
  • IR 指令寄存器:存放当前正在译码、执行的指令。
  • 时序单元:产生时钟节拍信号,保证所有硬件动作按时间顺序同步执行。
  1. 寄存器组 Register File

    CPU内部高速临时存储单元,访问速度远快于Cache和内存。
  • 通用寄存器:存放运算的源操作数、结果;
  • PSW程序状态字:保存运算产生的各类状态标志位。

5.3 指令流水线 Instruction Pipeline

流水线思想

串行执行:一条指令完整走完取指→译码→执行→写回,才开始下一条指令,硬件利用率低。
流水线:把指令执行拆分成多个阶段,多条指令可以在不同阶段并行处理,提升CPU吞吐率。
经典五级流水线:

  1. IF 取指 Instruction Fetch
  2. ID 译码 Instruction Decode
  3. EX 执行 Execute
  4. MEM 访存 Memory Access
  5. WB 写回 Write Back

流水线不是缩短单条指令执行时间,而是提高单位时间完成指令数量。

流水线冒险 Hazard

流水线运行时会遇到冲突,造成流水线暂停,分为三类:

  1. 结构冒险 Structural Hazard:硬件资源冲突,多个指令同时争抢同一硬件部件;
  2. 数据冒险 Data Hazard:后面指令需要前面指令还未写回的运算结果;
  3. 控制冒险 Control Hazard:分支、跳转指令,下一条指令地址不确定。

5.4 CPU时序系统

CPU所有操作由时钟信号驱动。

  • 时钟周期 Clock Cycle:CPU最小时间单位;主频=1/时钟周期;
  • 机器周期 Machine Cycle:完成一次基础操作(取指/访存)所需时间,由若干时钟周期组成;
  • 指令周期 Instruction Cycle:完整执行一条指令的全部时间,由1个或多个机器周期构成。

5.5 中断 Interrupt

中断:外部设备主动向CPU发送信号,请求CPU暂停当前程序,转而去处理紧急事件,处理完成后返回原程序继续执行。

  • 中断源:键盘、硬盘、网卡、硬件异常等;
  • 中断响应:CPU结束当前指令后,保存现场,跳转至中断服务程序;
  • 中断返回:中断处理完毕,恢复现场,继续执行原来代码。

中断作用:提高CPU利用率,不需要CPU循环轮询外设状态。

本课小结

CPU由运算器、控制器、寄存器组构成。PC、IR、PSW是控制器关键寄存器。指令流水线将指令拆分为多阶段并行执行,提升CPU性能,但会存在三类流水线冒险。时序系统定义CPU操作节拍;中断机制让CPU可以响应外部设备请求。

思考练习

  1. CPU由哪两大核心部件组成?PC、IR、PSW各自作用是什么?
  2. 简述五级指令流水线的五个阶段。
  3. 流水线有哪三类冒险?简单说明成因。
  4. 什么是中断?中断的执行流程是什么?
标签:

0 条笔记