CPU从内存或高速缓存中获取指令,将其放入指令寄存器,并对指令进行解码。它将指令分解为一系列微操作,然后发出各种控制命令来执行微操作序列,从而完成指令的执行。指令是计算机指定要执行的操作的类型和操作数的基本命令。指令由一个或多个字节组成,包括操作码字段、与操作数地址相关的一个或多个字段,以及一些表示机器状态的状态字和特征码。有些指令还直接包含操作数本身

简述cpu工作原理(cpu科普浅谈cpu工作原理)(1)

摘录

第一个阶段是提取,从内存或缓存中检索指令(作为值或一系列值)。存储器的位置由程序计数器指定,该计数器存储用于识别当前程序位置的值。换句话说,程序计数器记录当前程序中CPU的轨迹。提取指令后,程序计数器根据指令长度增加存储单元。指令的提取通常必须从相对较慢的内存中找到,导致CPU等待指令的输入。这个问题主要在现代处理器的缓存和流水线结构中讨论。

解码

CPU根据从内存中提取的指令确定其执行行为。在解码阶段,指令被分解成有意义的片段。数字值根据CPU的指令集体系结构(ISA)定义解释为指令。一些指令值是操作码,指示要执行的操作。其他值通常为指令提供必要的信息,例如加法操作的操作目标。这样的操作目标可以提供恒定值(即立即值)或空间地址值:由地址模式确定的寄存器或存储器地址。在旧的设计中,CPU中的指令解码部分是一个无法更改的硬件设备。

然而,在许多抽象而复杂的CPU和指令集体系结构中,微程序通常用于帮助将指令转换为各种形式的信号。这些微程序通常可以在完成的CPU中重写,以便于更改解码指令。使生效在提取和解码阶段之后,它进入执行阶段。在此阶段,它连接到各种CPU组件,这些组件可以执行所需的操作。

例如,如果需要加法运算,算术逻辑单元(ALU)将连接到一组输入和一组输出。输入提供要添加的值,输出将包含求和的结果。Alu包含一个电路系统,便于输出完成简单的一般运算和逻辑运算(如加法和位运算)。

如果加法运算产生的结果对于CPU处理来说太大,则可以在标志寄存器中设置算术溢出标志。回信在最后一个阶段,写回,简单地以某种格式写回执行阶段的结果。操作结果通常写入CPU内部的寄存器,以便后续指令快速访问。

在其他情况下,结果可能会写入速度较慢、但更大、成本更低的主内存。某些类型的指令在程序计数器上运行,而不直接产生结果。这些通常被称为“跳转”,并将循环行为、条件执行(通过条件跳转)和函数引入程序。

许多指令还更改标志寄存器的状态位。这些标志可用于影响程序行为,因为它们通常显示各种操作结果。例如,使用“比较”指令判断两个值的大小,并根据比较结果在标志寄存器上设置一个值。该标志可通过后续跳转指令确定程序趋势。执行指令并写回结果后,程序计数器的值将增加,并重复整个过程。

下一个指令周期通常会提取下一条顺序指令。如果跳转指令完成,程序计数器将更改为跳转到的指令地址,程序将继续正常执行。许多复杂的CPU可以一次提取多条指令,对它们进行解码,并同时执行它们。这一部分通常涉及“经典RISC流水线”,它实际上在许多使用简单CPU(通常称为微控制器)的电子设备中迅速普及。

简述cpu工作原理(cpu科普浅谈cpu工作原理)(2)

基本结构

CPU包括算术逻辑单元、寄存器单元、控制单元等。

算术逻辑单元

算术逻辑单元可以执行定点或浮点算术运算、移位运算和逻辑运算,以及地址运算和转换。

寄存器单元

寄存器组件,包括通用寄存器、专用寄存器和控制寄存器。通用寄存器可分为定点和浮点数。它们用于在指令中存储寄存器操作数和运算结果。通用寄存器是CPU的重要组成部分。大多数指令必须访问通用寄存器。通用寄存器的宽度决定了计算机内部数据路径的宽度,端口的数量通常会影响内部操作的并行性。特殊寄存器是执行某些特殊操作所需的寄存器。控制寄存器通常用于指示机器的执行状态或维护一些指针,包括处理状态寄存器、地址转换目录的基址寄存器、特权状态寄存器、条件代码寄存器、异常处理寄存器和错误检测寄存器。有时,CPU中有一些缓存来临时存储一些数据指令。缓存越大,CPU的运行速度就越快。目前市场上中高端CPU的二级缓存约为2m,高端CPU的二级缓存约为4m。



,