计算机组织中的 ALU 和数据通路17 Mar 2025 | 6 分钟阅读 早期,表示和存储数字是计算机的基本操作。但当计算机出现计算时,诸如加法、乘法之类的数字运算,这些运算由计算机的ALU或算术逻辑单元处理。 中央处理单元 (CPU) 可分为两个部分
数据通路假设 CPU 中需要执行任何数据处理操作,例如将寄存器的内容从一个地方转移到另一个地方,从一个寄存器转移到另一个寄存器,在 ALU 中执行两个数字的加法,将某内容复制到内存并复制到寄存器。所以,CPU 中发生的任何数据处理操作,然后对于该数据操作,数据会遵循一条特定路径,称为“数据通路”。 ![]() 数据通路是执行数据处理操作的功能单元(如算术逻辑单元或乘法器)、寄存器和总线的集合。它与控制单元一起组成中央处理单元 (CPU)。通过使用多路复用器连接多个数据通路,可以构建一个更大的数据通路。 数据通路是ALU、一组寄存器以及允许数据在它们之间流动的 CPU 内部总线。 CPU 最简单的设计使用一个通用的内部总线,而高效的加法需要一个稍微复杂的三总线内部结构。许多相对简单的 CPU 都有一个 2 读、1 写寄存器文件连接到 ALU 的 2 个输入和 1 个输出。 1. 算术逻辑单元 (ALU)ALU 是计算机的数学大脑。ALU 是一个提供算术和逻辑运算的数字电路。它是计算机中央处理单元的基本构建块。它存在于每个 CPU 中,用于执行加法、减法、除法、乘法以及更多操作。 它是系统执行特定指令或程序逻辑的主要组成部分。ALU 接收两个操作数作为输入和一个功能码,ALU 可以执行多种功能,如减法、X-NOR、除法等。 ![]() 除了 ALU,现代 CPU 还包含一个控制单元和一组寄存器。大多数操作由一个或多个 ALU 执行,它们从输入寄存器加载数据。寄存器是 CPU 可用的少量存储空间,并且可以非常快速地访问这些寄存器。控制单元告诉 ALU 对可用数据执行什么操作。在计算或处理之后,ALU 将输出存储在输出寄存器中。 2. 寄存器寄存器就像一个门,信号通过这些门进一步发送到组件执行微操作。寄存器受控制,寄存器的信号由控制单元导向。这里有五个寄存器用于存储输入-输出信号数据
3. 总线在早期计算机中,总线是带有多个硬件连接的并行电线。因此,总线是一种在计算机内部或计算机之间传输数据的通信系统。它包括导线、光纤等硬件组件,以及包括通信协议在内的软件。 寄存器、ALU 和互连总线统称为数据通路。总线有以下几种类型:
总线可用于单一目的或多个目的。当有不同类型的总线时,会发生不同类型的总线组织,例如: 单总线组织在单总线组织中,使用单个总线实现多种功能。一组通用寄存器、程序计数器、指令寄存器、内存地址寄存器 (MAR) 和内存数据寄存器 (MDR) 连接到单个总线。内存的读/写可以通过 MAR 和 MDR 完成。 ![]() 程序计数器指向将要从中获取下一条指令的内存位置。指令寄存器将保存当前指令的副本。在单总线组织中,一次只能从总线读取一个操作数。 如果需要读取两个操作数进行运算,则需要读取两次。这就是为什么这个过程有点冗长。单总线组织的一个优点是它是最简单的,而且实现成本非常低。 同时,它有一个缺点,就是只有一个总线。这个“一个总线”被所有通用寄存器、程序计数器、指令寄存器、MAR 和 MDR 访问,使得所有操作都是顺序的。如今没有人推荐这种架构。 双总线组织这克服了单总线组织的缺点,并开发了另一种称为双总线组织的架构。在双总线组织中,有两个总线,通用寄存器可以从两个总线读取/写入。在这种情况下,由于有两个总线,可以同时获取两个操作数。 一个总线用于为 ALU 获取操作数,另一个总线用于为寄存器获取。当两个总线都在忙于获取操作数时,会发生这种情况,输出可以存储在临时寄存器中。当总线空闲时,就可以将特定输出发送到总线上。 ![]() 双总线组织有两种版本,即内总线和外总线。通过内总线,通用寄存器可以读取数据,并通过外总线,通用寄存器可以写入数据。这里总线是专用的。 三总线组织在三总线组织中,我们有三个总线:OUT bus1、OUT bus2 和 IN bus。通过输出总线,可以获取来自通用寄存器的操作数并在 ALU 中进行评估,输出被发送到输入总线以发送到相应的寄存器。 ![]() 这种实现很复杂但速度更快,因为两个操作数可以并行流入 ALU 并流出 ALU。它是为了克服双总线组织的“忙等待”问题而开发的。 在这种结构中,执行完成后,由于多了一个总线,输出可以立即发送到总线而无需等待。与单总线相比,多总线组织的主要优点是:
下一个话题计算机组成的外部存储器 |
我们请求您订阅我们的新闻通讯以获取最新更新。