软考中级软件设计师——CPU运算器与控制器

CPU-运算器

CPU的运算器(Arithmetic - Logic Unit,ALU)是计算机中的核心部件(数字电路部件),负责执行算术和逻辑运算。它从内存或寄存器中获取的数据进行处理,然后将结果存储回寄存器或内存中,是计算机进行数据处理的关键组件。运算器的主要功能是执行加减乘除等算术和与、或、非等逻辑运算,同时进行数据的比较和逻辑测试。

运算器主要由以下几个关键组件组成:
①算术逻辑单元(ALU, Arithmetic and Logic Unit)
②累加器(ACC, Accumulator)
③数据缓冲寄存器(DR, Data Buffer Register)
④状态条件寄存器(PSW)
⑤乘商寄存器(MQ,Multiplier-Quotient Register)
⑥通用的操作数寄存器(X)
在这里插入图片描述

算术逻辑运算单元(ALU)

ALU是运算器的重要组成部件,负责处理数据,通过内部复杂电路实现算术运算和逻辑运算。

工作原理
ALU接收来自CPU的操作指令和操作数,执行相应的计算,并返回结果。这些操作数可能来自寄存器,而计算结果则通常存回寄存器或内存中。

累加器(ACC)

ACC通常简称为累加器,它是一个通用寄存器,其功能是当运器的算术逻辑单元执行算术或逻辑运算时,为 ALU 提供一个工作区。存放操作数,或运算结果。

工作原理
首先进行初始化,设定初始值(常为零或预设值),之后接收来自寄存器、内存或外部设备等的数据输入,将输入的数据与当前存储的结果(初始值或之前累加的结果)进行相加运算,不断重复此过程实现连续累加,期间将每次累加得到的结果存储在内部寄存器或存储单元中,最后可根据需求将最终的累加结果输出到其他部件或设备以用于进一步处理或使用。

数据缓冲寄存器(DR)

它用于暂时存放从内存或外部设备读取的数据,或者准备写入内存或外部设备的数据。在数据传输过程中,缓冲寄存器起到了一个缓冲的作用,以匹配不同设备之间的数据传输速度。

工作原理
它是一种用于暂存数据的时序逻辑电路,主要由触发器(如D触发器)构成,能够存储一定位数的二进制数据。在数据传输过程中,数据缓冲寄存器能够平滑不同速度设备之间的数据传输,提高数据传输效率。当数据需要从一个设备传输到另一个设备时,数据首先被写入缓冲寄存器中,然后在适当的时钟信号控制下,数据从缓冲寄存器中输出到目标设备。这种机制有效解决了数据传输过程中的速度不匹配问题,保证了数据的准确性和完整性。此外,数据缓冲寄存器还具有三态输出功能,能够根据需要控制数据的输出,进一步增强了数据传输的灵活性和可靠性。

状态条件寄存器(PSW)

用来保存指令运行标志。通俗点讲,比如我们在玩游戏时,可能因外界干扰中断一会儿,当再次打开时,游戏仍保存着我们刚关闭时的进度,即保存了我们游戏的进度,这个就是状态条件寄存器能实现的一个功能。

工作原理
它通过记录CPU执行指令后的状态信息(如进位、溢出、零结果、负结果等条件码),以及控制信息(如中断允许位),来影响和控制后续指令的执行流程。这些状态信息和控制信息被存储在状态条件寄存器的不同位上,CPU在执行指令时会根据这些位的状态来做出决策,如是否进行条件跳转、是否响应中断等。状态条件寄存器的每一位都有其特定的含义和作用,共同协作以支持计算机程序的复杂逻辑和高效执行。在计算机系统中,状态条件寄存器是CPU与内存、外设等部件之间信息交换和同步的关键环节之一。

乘商寄存器

在乘、除运算时,存放操作数或运算结果。乘商寄存器是计算机中的一个专用寄存器,其设计初衷是为了在算术运算过程中临时存储关键数据。在乘法运算中,乘商寄存器用于存放乘数;而在除法运算中,则用于存放商数。这种设计有助于简化算术运算的流程,提高计算机的处理效率。

工作原理
在计算机的算术运算中,乘商寄存器作为关键部件,在乘法运算时负责寄存乘数,而在除法运算时则负责寄存商数。在乘法运算过程中,乘商寄存器中的乘数保持不变,通过多次部分积的累加得到最终的乘积;而在除法运算中,乘商寄存器则用于逐步构建商数,随着被除数的减少而更新。乘商寄存器的这种工作机制简化了算术运算的流程,提高了计算机的处理效率,是计算机组成原理与体系结构中的重要组成部分。

通用的操作数寄存器(X)

主要用于存放操作数,参与算术逻辑运算,并在运算过程中暂存中间结果。

工作原理
它作为 CPU 内部的一个存储单元,主要用于暂存操作数。在指令执行前,数据可从内存或其他寄存器传输至寄存器 X,为即将进行的运算或操作提供数据来源。X可以减少内存访问次数,提高数据处理速度,简化指令执行流程,优化程序性能。在运算过程中,例如算术或逻辑运算,寄存器 X 中的操作数被取出参与计算,其存储的值根据运算结果可能被更新,以反映最新的中间结果或最终结果,方便后续指令继续使用,从而提高数据处理的效率,在整个计算机运算体系中起着暂存和中转操作数的关键作用。

CPU-控制器

CPU 控制器是 CPU 的核心部件之一,它主要负责指挥和协调计算机系统中各个部件的工作。

CPU控制器的主要组成部分:
①控制单元(CU)
②指令寄存器(IR)
③程序计数器(PC)
④地址寄存器(AR)
⑤指令译码器(ID)
在这里插入图片描述

控制单元(CU)

分析指令,给出控制信号。控制单元(Control Unit)是CPU部件之一,有时也安装于CPU外部。其基本功能是从内存取指令、分析指令和执行指令。控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)三个部件组成,对协调整个电脑有序工作极为重要。

工作原理
控制单元作为CPU的核心组成部分,负责从内存中取出指令,经过译码后识别指令的类型和操作要求,然后生成相应的控制信号,这些控制信号精确地指挥计算机的各个部件按照指令的预定顺序和时序进行工作,包括数据的读取、处理、存储以及输入输出操作等,从而确保计算机能够高效、准确地完成各种任务。

指令寄存器(IR)

存放当前执行的指令。主要功能有存储指令、解码指令、指令执行和指令流控制。当控制器从内存中读取一条指令后,这条指令就被暂存在指令寄存器中。指令寄存器中的指令随后会被译码,以确定要执行的操作类型,如算术运算、逻辑运算、数据传输或控制转移等。它起到了一个临时存储正在执行指令的作用,保证指令在执行期间的完整性和可获取性。

工作原理
指令寄存器的工作原理与CPU的整体工作流程密切相关。当CPU需要执行一条指令时,它会首先通过程序计数器(Program Counter,PC)确定下一条指令在内存中的地址。然后,CPU会从这个地址中取出指令,并将其存储在指令寄存器中。接下来,CPU会对指令寄存器中的指令进行解码和执行操作。执行完成后,程序计数器会自动递增到下一条指令的地址,以便CPU继续执行下一条指令。

程序计数器(PC)

存放下一条指令地址,有自动加1功能。当计算机执行程序时,程序计数器负责跟踪当前正在执行的指令的地址,并根据需要更新其值以指向下一条指令的地址。其主要功能是存储当前正在执行的指令的地址,并在每条指令执行完毕后自动更新为下一条指令的地址,从而控制程序的执行流程,确保指令能够按照预定的顺序依次执行。

工作原理
它作为计算机中的一个关键寄存器,负责存储当前线程正在执行的指令的地址(或下一条指令的地址)。在程序执行过程中,程序计数器按照指令的执行顺序自动更新其值,以指向下一条待执行的指令。当执行到跳转、分支或函数调用等指令时,程序计数器会根据指令的要求更新其值为新的目标地址。这种机制确保了程序能够按照预定的逻辑流程正确地执行。此外,程序计数器还具有线程隔离性,即每个线程都拥有自己独立的程序计数器,从而保证了多线程环境下的线程安全。

地址寄存器(AR)

保存当前CPU所访问的内存单元地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止 。通过地址寄存器,CPU可以快速找到需要访问的数据或设备,从而提高程序的执行效率。

工作原理
地址寄存器是计算机中用于保存当前CPU所访问的内存单元地址的寄存器。在CPU执行程序时,它需要根据指令的要求访问内存中的特定数据或指令。地址寄存器接收来自程序计数器或其他控制单元的指令地址,并将其保存起来。当CPU需要读取或写入内存时,它会将地址寄存器中的地址发送到内存控制器,内存控制器根据这个地址从内存中读取数据或写入数据到内存中。地址寄存器在CPU和内存之间起到了桥梁的作用,确保了CPU能够准确地访问到内存中的目标数据或指令。此外,地址寄存器还具有一定的缓冲和隔离作用,能够减少CPU和内存之间的直接交互次数,提高计算机的整体性能。

指令译码器(ID)

对操作码进行分析。计算机指令通常由操作码和地址码两部分组成:操作码指明了计算机要执行的某种操作的性质和功能,即执行什么操作;地址码则指出了被操作的数据(即操作数)存放在何处,即指明操作数的地址。指令译码器的主要作用就是对指令中的操作码进行译码,以决定操作的性质和方法,并控制计算机其他各部件协同完成指令表达的功能。

工作原理
在计算机执行指令时,指令译码器首先从指令寄存器中取出指令的操作码部分,然后对这个操作码进行译码,即将其从二进制代码转换为计算机能够理解的指令信号。这个译码过程决定了指令的性质和执行方法,随后指令译码器生成相应的控制信号,这些控制信号按照一定的时间顺序被发送到计算机的各个部件,以指导它们协同工作,完成指令所要求的数据处理或操作任务。指令译码器作为控制器中的核心部件,确保了计算机能够准确、高效地执行每一条指令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微睇藐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值