07 中央处理器(The Central Processing Unit)

169 阅读5分钟

7. 中央处理器(CPU)-The Central Processing Unit_哔哩哔哩_bilibili

1. 简介

在第 07 集中,视频主要介绍了中央处理器(Central Processing Unit, CPU)的工作原理。从基本的算术逻辑单元(Arithmetic and Logic Unit, ALU)和寄存器(Registers)开始,逐步构建并解释了完整的 CPU 的组成和操作,包括内存、控制单元和时钟。视频涵盖了 CPU 如何执行程序的指令及其各个阶段。

2. CPU 的基本组成

2.1 算术逻辑单元与寄存器

CPU 内部包含了算术逻辑单元(ALU),负责执行基本的算术和逻辑运算。此外,还有多个寄存器,用于临时存储和操作数据。在视频中,假设 CPU 有四个 8 位寄存器,分别标记为 A、B、C 和 D。

2.2 内存和指令存储

计算机内存分为寄存器和随机存取存储器(RAM),后者可以存储大量数据和程序指令。程序由一系列指令组成,每条指令包含一个操作码(Opcode)和数据地址,用于指示 CPU 执行特定操作。

2.3 指令表

指令表中定义了所有指令及其对应的操作码和地址。例如:

  • 0010 表示 LOAD_A 指令,从 RAM 中加载数据到寄存器 A。
  • 0001 表示 LOAD_B 指令,从 RAM 中加载数据到寄存器 B。
  • 0100 表示 STORE_A 指令,把寄存器 A 的值保存到 RAM。
  • 1000 表示 ADD 指令,把两个寄存器的值加起来,然后把结果保存到第二个寄存器。

指令表

3. CPU 的工作阶段

3.1 取指令阶段(Fetch)

首先,CPU 从指令地址寄存器中读取当前指令的内存地址,然后从 RAM 中获取该地址所对应的指令,并将其存入指令寄存器。

3.2 解码阶段(Decode)

在解码阶段,CPU 解析指令寄存器中的操作码,并确定需要执行的操作。例如,操作码 0010 被解码为 LOAD_A 指令。

3.3 执行阶段(Execute)

根据解码阶段的结果,CPU 执行相应的操作。例如,LOAD_A 指令会从指定 RAM 地址加载数据到寄存器 A。

4. 时钟和控制单元

4.1 时钟

时钟负责为 CPU 提供精确的时间信号,用于同步 CPU 内部各个组件的操作。时钟速度(Clock Speed)以赫兹(Hertz, Hz)为单位,表示每秒执行的周期数。现代 CPU 的时钟速度通常达到几千兆赫兹(GHz)。

4.2 控制单元

控制单元(Control Unit)是 CPU 的核心,负责管理和协调各个组件。它根据指令的操作码,配置 ALU 和寄存器的读写操作,确保指令的正确执行。

5. 完整的 CPU 操作流程

一个简化的程序示例:

  1. 从内存地址 14 加载数据到寄存器 A:

    • CPU 进入取指令阶段,从指令地址寄存器(初始值为 0)指定的内存地址 0 读取指令 00101110​ 并存入指令寄存器。
    • 在解码阶段,指令的前 4 位 0010​ 表示这是一个 LOAD_A​ 指令,后 4 位 1110​ 表示要从内存地址 14 读取数据。
    • 在执行阶段,控制单元配置 RAM 读取地址 14 的值 00000011​(十进制数值为 3),并将其写入寄存器 A。
  2. 从内存地址 15 加载数据到寄存器 B:

    • CPU 进入第二次取指令阶段,从指令地址寄存器(现在为 1)指定的内存地址 1 读取指令 00011111​ 并存入指令寄存器。
    • 在解码阶段,指令的前 4 位 0001​ 表示这是一个 LOAD_B​ 指令,后 4 位 1111​ 表示要从内存地址 15 读取数据。
    • 在执行阶段,控制单元配置 RAM 读取地址 15 的值 00001110​(十进制数值为 14),并将其写入寄存器 B。
  3. 将寄存器 B 的值加到寄存器 A 中:

    • CPU 进入第三次取指令阶段,从指令地址寄存器(现在为 2)指定的内存地址 2 读取指令 10000100​ 并存入指令寄存器。
    • 在解码阶段,指令的前 4 位 1000​ 表示这是一个 ADD​ 指令,接下来的 2 位 01​ 表示寄存器 B,最后的 2 位 00​ 表示寄存器 A。
    • 在执行阶段,控制单元配置 ALU,传递寄存器 B 的值(14)和寄存器 A 的值(3)到 ALU 的输入端,并执行加法运算,将结果 00010001​(十进制数值为 17)存入临时寄存器,并最终写入寄存器 A。
  4. 将寄存器 A 的值存回内存地址 13:

    • CPU 进入第四次取指令阶段,从指令地址寄存器(现在为 3)指定的内存地址 3 读取指令 01001101​ 并存入指令寄存器。
    • 在解码阶段,指令的前 4 位 0100​ 表示这是一个 STORE_A​ 指令,后 4 位 1101​ 表示要将数据存入的内存地址 13。
    • 在执行阶段,控制单元配置 RAM 以写入模式,并将寄存器 A 的值 00010001​(十进制数值为 17)写入内存地址 13。

6. 抽象后的 CPU 芯片

CPU 芯片

7. 总结

  • CPU 由 ALU、寄存器、内存和控制单元等组成。
  • 指令通过取指令、解码和执行三个阶段处理。
  • 时钟信号用于同步 CPU 内各组件的操作。
  • 控制单元负责管理指令的解码和执行。
  • 现代 CPU 的时钟速度以 GHz 为单位,具有动态频率调整功能。