简单讨论CPU的组成和其工作的流程
概述
本文我们将简要探讨CPU的构成及其工作流程,旨在提供清晰基础的描述
CPU组成
我总结了一下,很多资料对此处的分类不尽相同,但基本遵守 控制单元、运算单元和存储单元三大部分的分类
控制单元 CU
它不是一个单独的硬件,而是达成一个目标的组件的总称
控制单元解码并执行指令,它从内存中获取指令、解码指令,协同其他部件
- 协调和控制CPU各部件工作
- 控制指令的获取和解码
- 产生控制信号指挥其他部件工作
一般认为控制单元的重要组成部件是
- 程序计数器 PC:用来存放下一条要执行的指令的地址
- 指令寄存器 IR:用来存放正在执行的指令
- 操作码译码器
- 控制信号产生器
- 时序信号产生器
算数逻辑单元 ALU
负责执行所有算数和逻辑运算
- 执行算术运算 (加减乘除)
- 执行逻辑运算 (与、或、非)
- 进行数据比较和移位操作
寄存器
寄存器是存储在CPU内部的小型高速存储单元,用于临时保存数据、指令和地址。有用于控制的,也有用于运算的
运算器有:累加器、运算结果状态寄存器
控制器有:指令寄存器、程序计数器、状态寄存器
- 程序计数器 PC:存储下一条指令的地址
- 指令寄存器 IR:存储当前执行的指令
- 状态寄存器:存储CPU的状态信息
相关概念:
通用寄存器组(编程可访问):是一组可以通过编程访问的、具有多种功能的寄存器
用于暂时村饭操作运算结果,例如累加寄存器AC,CPU中的累加寄存器不止一个,多达几十个甚至更多。或用作基址寄存器或用作变址寄存器,用作计数器等。因此被称为通用寄存器
通用寄存器可以在指令中访问
暂存器:用户不可直接访问的寄存器,用来暂存数据。
暂存器在指令中不可访问,对用户来说是透明的
缓存
是一种临时数据存储器,可以加速数据的读取并减少访问主内存的次数。
- L1:最贵最靠近CPU核心,速度最快,容量最小
- L2:稍远,速度次之,容量大一些
- L3:最远,多核共享,容量最大
时钟:
时钟信号协同控制CPU的工作节奏,时钟频率(GHz)指示了CPU每秒可以执行的最大周期数。
CPU工作过程
取值
CPU从内存中取出下一条要执行的指令,地址由程序计数器指向。取值操作将指令加载到指令寄存器中,然后程序计数器递增指向下一条指令。
解码
控制单元读取指令寄存器中的指令,将其解码为控制型号,以便理解这条指令需要进行什么操作。
执行
根据解码结果,CPU执行对应的计算
写回
执行结果被写入到合适的寄存器中,有时也会写回内存。
存储(如果需要)
在真正的程序进行时,计算机进行运算执行的时候,还有各种硬件配合运行,比如总线(信号传输)等,本文只是简单梳理CPU相关组件和CPU工作流程