简单讨论CPU的组成和其工作的流程

概述

本文我们将简要探讨CPU的构成及其工作流程,旨在提供清晰基础的描述

CPU组成

我总结了一下,很多资料对此处的分类不尽相同,但基本遵守 控制单元运算单元存储单元三大部分的分类

  • 控制单元 CU

    它不是一个单独的硬件,而是达成一个目标的组件的总称

    控制单元解码并执行指令,它从内存中获取指令、解码指令,协同其他部件

    • 协调和控制CPU各部件工作
    • 控制指令的获取和解码
    • 产生控制信号指挥其他部件工作

    一般认为控制单元的重要组成部件是

    1. 程序计数器 PC:用来存放下一条要执行的指令的地址
    2. 指令寄存器 IR:用来存放正在执行的指令
    3. 操作码译码器
    4. 控制信号产生器
    5. 时序信号产生器
  • 算数逻辑单元 ALU

    负责执行所有算数和逻辑运算

    • 执行算术运算 (加减乘除)
    • 执行逻辑运算 (与、或、非)
    • 进行数据比较和移位操作
  • 寄存器

    寄存器是存储在CPU内部的小型高速存储单元,用于临时保存数据、指令和地址。有用于控制的,也有用于运算

    运算器有:累加器、运算结果状态寄存器

    控制器有:指令寄存器、程序计数器、状态寄存器

    • 程序计数器 PC:存储下一条指令的地址
    • 指令寄存器 IR:存储当前执行的指令
    • 状态寄存器:存储CPU的状态信息

    相关概念:

    • 通用寄存器组(编程可访问):是一组可以通过编程访问的、具有多种功能的寄存器

      用于暂时村饭操作运算结果,例如累加寄存器AC,CPU中的累加寄存器不止一个,多达几十个甚至更多。或用作基址寄存器或用作变址寄存器,用作计数器等。因此被称为通用寄存器

      通用寄存器可以在指令中访问

    • 暂存器:用户不可直接访问的寄存器,用来暂存数据。

      暂存器在指令中不可访问,对用户来说是透明的

  • 缓存

    是一种临时数据存储器,可以加速数据的读取并减少访问主内存的次数。

    • L1:最贵最靠近CPU核心,速度最快,容量最小
    • L2:稍远,速度次之,容量大一些
    • L3:最远,多核共享,容量最大
  • 时钟

    时钟信号协同控制CPU的工作节奏,时钟频率(GHz)指示了CPU每秒可以执行的最大周期数。

CPU工作过程

  1. 取值

    CPU从内存中取出下一条要执行的指令,地址由程序计数器指向。取值操作将指令加载到指令寄存器中,然后程序计数器递增指向下一条指令。

  2. 解码

    控制单元读取指令寄存器中的指令,将其解码为控制型号,以便理解这条指令需要进行什么操作。

  3. 执行

    根据解码结果,CPU执行对应的计算

  4. 写回

    执行结果被写入到合适的寄存器中,有时也会写回内存。

  5. 存储(如果需要)

在真正的程序进行时,计算机进行运算执行的时候,还有各种硬件配合运行,比如总线(信号传输)等,本文只是简单梳理CPU相关组件和CPU工作流程