计算机的心脏:控制器与运算器的结构和功能

在计算机中,控制器和运算器就像人体的心脏和大脑,负责接收、解析指令,并将结果反馈回系统。如果你是一名软件开发人员,了解这两个硬件的基本结构和功能,将有助于你更好地理解软件和硬件的交互过程。

先看这张示意图,暂时看不懂也没关系,下面会有详细介绍。

控制器

首先,我们来看看控制器。控制器主要包含两个电路:

  • PC寄存器的计数器电路;

  • 解码与寻址的译码器电路。

PC寄存器,全称为程序计数器,就像一个指挥官,记录着下一条指令在主存中的地址。译码器电路则负责将取得的指令解析成计算机可以理解的操作信号和操作数。

控制器的主要工作流程包括三步:取指令、指令译码和传输。

  1. 取指令阶段,控制器会根据PC寄存器中的地址,从主存中读取指令。

  2. 在指令译码阶段,译码器电路将这些指令解析为操作信号和操作数。

  3. 最后,在传输阶段,控制器会通过电路将指令和数据传输到运算器。

运算器

接下来,我们看看运算器。运算器包含两个电路:

  • 运算的组合逻辑电路;
  • 存储数据的锁存器与D触发器电路。

组合逻辑电路,如加法器、减法器等,负责执行各种算术和逻辑运算。锁存器和D触发器是一种存储元件,可以在一定的条件下保持其输入状态。锁存器主要用来暂存一些不会频繁改变的数据,D触发器则非常适合用于需要同步更新状态的场景。

运算器的主要工作流程也是三步:接收指令、运算和输出。

  1. 首先,运算器接收来自控制器的指令和数据。

  2. 然后,根据输入的操作信号和数据,运算器进行相应的运算。

  3. 最后,将锁存器和D触发器中的运算结果输出到数据总线,以便写入主存。

整体处理流程

当我们在计算机上运行一个程序时,控制器首先从主存中取出程序的指令,然后通过译码器电路解析出操作信号和操作数。接着,这些指令和数据会被发送到运算器。运算器根据接收到的操作信号,使用组合逻辑电路进行运算,并将运算结果存储在锁存器和D触发器中。最后,控制器将这些结果会被写回到主存中,供程序的下一步使用。


欢迎关注微/信/公/众/号:萤火架构,及时获取更多架构经验分享。

通过以上的解析,我们可以看到,控制器和运算器在计算机中扮演着至关重要的角色。控制器像指挥官,解析并传递指令;运算器则像执行者,进行实际的计算并返回结果。只有理解了这些硬件的工作原理,我们才能更好地理解软件是如何在计算机中运行的。

相关推荐
christine-rr2 天前
CPU架构的演进:从冯·诺依曼到未来计算
架构·arm·cpu
切糕师学AI3 天前
现代CPU设计哲学——加载/存储(Load-Store)架构
硬件架构·cpu·处理器
伟大的大威6 天前
K8s基于节点软亲和的高 CPU Pod 扩容与优先调度方案
k8s·cpu
zwhSunday7 天前
计组(2)CPU与指令
cpu·计算机组成原理
mu_guang_9 天前
计算机算术8-浮点加法
算法·cpu·计算机体系结构
小Lu的开源日常9 天前
为什么计算机用“补码”存储整数?
设计模式·面试·计算机组成原理
triticale9 天前
【计算机组成原理】LRU计数器问题
cache·计算机组成原理·lru
杰克逊的日记10 天前
gpu与cpu各厂商的优劣
运维·cpu·gpu
大模型铲屎官11 天前
【数据结构与算法-Day 20】从零到一掌握二叉树:定义、性质、特殊形态与存储结构全解析
人工智能·python·深度学习·二叉树·大模型·计算机组成原理·数据结构与算法
伊织code16 天前
PyTorch API 2
pytorch·api·cpu·cuda·微分·autograd