什么是数据通路?

2025年2月5日 | 阅读 8 分钟

数据通路,有时也称为数据通路,是一组用于数据处理的功能单元。CPU(中央处理器)由数据通路和管理单元组成。还可以使用多路复用器将多个数据通路组合成一个更大的通路。

目前,数据通路只能建立一次。科学家们正致力于通过将数据通路嵌入到织物中来开发可修改的数据通路。通过这种方法,设备可以在运行时动态调整,从而提高效率并节省能源。

假定 CPU 负责执行所有数据处理操作,例如将数据从内存传输到寄存器、重新定位寄存器内容、在 ALU 中执行两个数字的加法以及处理两个数字的加法。因此,所有数据处理任务都完全在中央处理单元 (CPU) 内执行,并且这些操作所需的信息遵循称为“数据通路”的特定路径。

数据通路由一组功能组件组成,包括寄存器、总线以及算术逻辑单元乘法器,它们协同工作来处理数据。它包括控制单元和中央处理单元 (CPU)。可以使用多路复用器将多个数据通路连接起来,以形成更宽的数据通路。由寄存器和 CPU 内部总线组成的集合,使数据能够在它们之间传输,称为数据通路。在最简单的 CPU 设计中,使用单个公共内部总线,但有效的加法需要一个稍复杂的三总线内部结构。ALU 的两个输入和一个输出与许多基本 CPU 上看到的双读单写寄存器文件相关联。

算术逻辑单元 (ALU)

计算机的数学大脑被称为 ALU。能够执行数学和逻辑功能的数字设备的名称是“算术逻辑单元”,即 ALU。它是构成计算机中央处理单元的核心组件。它是每个 CPU 的一个组成部分,用于执行多种操作,包括除法、乘法、加法和减法。它是系统中使用逻辑来执行给定程序或指令的关键部分。ALU 可以执行广泛的操作,包括除法、X-NOR、减法等等。它接受两个操作数作为输入和一个功能码。

现代 CPU 除了 ALU 之外,还包含一个控制单元和一组寄存器。一个或多个 ALU 通过从输入寄存器加载数据来处理大多数操作。寄存器是 CPU 可以访问的微小、即时可用的存储空间。ALU 从控制单元接收有关要用当前数据执行的操作的指令。ALU 将计算或操作的结果放入输出寄存器。

寄存器

在此上下文中,寄存器充当门,向其他组件发送信号以执行微小任务。寄存器受到调控,控制单元控制寄存器信号。来自输入/输出信号的数据存储在以下五个寄存器中:

  1. 程序计数器:在计算机处理器中,程序计数器 (PC) 是 CPU 寄存器,用于存储要从内存中执行的下一条指令的地址。程序计数器在检索每条指令后将其存储值加一。它是一个数字计数器,对于监控当前执行点和更快地执行操作至关重要。
  2. 指令寄存器:指令寄存器 (IR) 是 CPU 控制单元的一个组件,用于存储当前正在执行或解码的指令。指令寄存器是 CPU 控制单元的一个组件,用于存储当前正在执行或解码的指令。具体来说,指令被放入指令寄存器并发送到指令解码器电路。
  3. 内存地址寄存器:内存地址寄存器 (MAR) 是一个 CPU 寄存器,用于存储从中检索数据或将数据传输并保存到的内存地址。CPU 有一个称为寄存器的临时存储组件。此寄存器在相应指令执行之前,会保留从内存单元接收到的数据的地址。
  4. 内存数据寄存器:内存数据寄存器 (MDR) 是计算机中央处理单元 (CPU) 内的一个寄存器。其目的是存储传输到和来自即时访问存储器的数据。“内存缓冲区寄存器”(MBR) 和“内存数据寄存器”(MDR) 是同义词。
  5. 通用寄存器:微处理器使用称为通用寄存器的多用途寄存器来保留临时数据。消费者和程序员都可以使用它们。

总线

在早期计算机中,总线由连接到并行电线的多个硬件连接组成。因此,总线是一种用于在计算机之间或计算机组件之间传输数据的通信系统。它由软件、通信协议以及硬件、电缆和光纤组成。数据通路是寄存器、ALU 和连接的总线的统称。有以下总线类型:

  • 地址总线:地址通过此总线传输。
  • 数据总线:数据由这些载体传输。
  • 控制总线:如果控制信号由总线传输。
  • 电源总线:电源总线是一种传输电源信号和时钟脉冲的设备。

总线可以有一个或多个应用程序。当存在不同类型的总线时,会出现不同的总线组织,包括:

单总线组织

在单总线组织中,一条总线承担多种职责。一组通用寄存器、程序计数器、指令寄存器、内存地址寄存器 (MAR) 和内存数据寄存器 (MDR) 通过一条总线连接。MAR 和 MDR 可用于内存读/写。

程序通过指向该位置来从内存中获取序列中的下一条指令。指令寄存器将获得当前活动指令的副本。在单总线组织中,一次只能从总线读取一个操作数。如果操作需要读取两个操作数,则必须执行两次读取操作。因此,操作需要花费更长的时间。单总线组织的一个优点是设置最简单、成本最低。但是,只有一个总线是一个缺点。这个“单总线”,所有 MAR、MDR、程序计数器、指令寄存器和通用寄存器都可以访问,确保所有活动都是顺序的。此架构已不再推荐使用。

What is a Data Path

双总线组织

因此,解决了单总线组织的缺点,形成了双总线组织架构。通用寄存器可以读写双总线组织中的两条总线。在这种情况下,由于有两条总线,可以同时接收两个操作数。

对于 ALU,一条总线用于获取操作数,另一条用于寄存器。当两条总线都用于获取操作数时,可以使用临时寄存器来保存输出。请求的输出可以放在可用的总线上。

总线组有两种类型:输入总线和输出总线。数据可以写入输出总线,通用寄存器可以从输入总线读取。在这里,总线受到特别关注。

What is a Data Path

三总线组织

我们的车队由三条总线组成:输出总线 1、输出总线 2 和一条输入总线。输出被发送到输入总线以传输到正确的寄存器,我们可以从输出总线获取操作数,这些操作数可以来自通用寄存器并在 ALU 中进行评估。

这种方法更复杂,但速度更快,因为两个操作数可以同时流入和流出 ALU。它的目的是解决双总线组织的“忙等待”问题。

What is a Data Path

带数据通路有限状态机

一种称为带数据通路有限状态机 (FSMD) 的数学抽象,它将数据通路与处理程序流的有限状态机相结合。可以使用它来构建计算机程序或数字逻辑。

FSMD 只是具有更复杂的时序图的顺序程序,因为语句已被安排到状态中。在这里,程序被转换成一个复杂的状态图,其中变量以及外部输入和输出可以在状态和弧线中发生的算术表达式中使用。寄存器传输级是定义 FSMD 抽象级别的常用术语。

由于 FSM 不使用变量和算术运算/条件,因此 FSMD 比 FSM 功能更强大。在表达能力方面,FSMD 类似于图灵机。

CPU 中的 ALU 起什么作用?

在 CPU 中,算术逻辑单元 (ALU) 负责执行逻辑运算(AND、OR、NOT)和算术运算(减法、加法、乘法和除法)。它对接收到的数据执行这些运算并生成所需的结果。

数据管道如何简化数据在 CPU 中的传输?

构成数据管道的寄存器、多路复用器、解码器和总线使数据能够在 CPU 中传输。临时数据存储在寄存器中,多路复用器选择输入,解码器将数据路由到相关组件,总线用于在寄存器、内存和 ALU 之间移动数据。

数据通路和 ALU 之间有什么关系?

在 CPU 中,数据通路和 ALU 协同工作。数据通路通过提供适当的数据移动和操作架构,支持在寄存器、内存和 ALU 之间传输指令和数据。然后,ALU 对从数据流接收的数据进行计算和逻辑运算。

数据通路和 ALU 对 CPU 性能有何影响?

数据管道和 ALU 对 CPU 性能至关重要。ALU 的快速计算和逻辑运算使得指令能够高效执行。数据通道确保数据流的连续性,降低延迟,并使 CPU 能够更快地处理数据。

是否可以扩展或修改 CPU 的 ALU 和数据通路?

是的,根据 CPU 的具体需求,可以扩展或修改 ALU 和数据管道。不同架构的 ALU 和数据通路在设计和功能上的差异允许根据 CPU 的预期用途进行专门化和优化。

结论

数据管道和 ALU 是计算机 CPU 的关键组成部分。数据通道简化了数据的传输和处理,而 ALU 执行算术和逻辑运算。由于其集成,CPU 能够有效地处理数据并执行指令。