算术逻辑单元 (ALU) 被定义为嵌入计算机中央处理器 (CPU) 中的电路板,它使用由晶体管制成的网关执行数学和逻辑运算,这些网关可以传输 0 和 1 的信号。

本文解释了它的含义、ALU 的各个组件及其功能。

什么是算术逻辑单元 (ALU)?

算术逻辑单元 (ALU) 是嵌入在计算机中央处理器 (CPU) 中的电路板,它使用由晶体管制成的网关执行数学和逻辑运算,这些网关可以传输 0 和 1 的信号。

ALU 的核心是一个数字组合电路,可对整数二进制变量执行算术和按位函数。相反,浮点单元 (FPU) 处理浮点值(即,对实值的概率引导再现的数值运算)。

如果CPU是计算机的大脑,那么ALU就是它的计算器。它是对存储在寄存器中的信息执行算术计算的电路发生的地方。它还包含用于比较值的电路,例如确定寄存器中的值是否相同。

一切最终都由 CU(控制单元)协调,它根据需要使用 ALU、内存单元、寄存器和其他 CPU 组件来获取和解码指令、从存储中读取数据、执行命令,并可能将寄存器写回。

虽然这个总体功能保持不变,但算术逻辑单元 (ALU) 可以是以下类型:

基于整数:整数 ALU 旨在对非十进制整数的整数执行逻辑和算术函数。通常,此 ALU 用于执行计算机中经常使用的基本数学运算,例如加法、减法、乘法和除法。

具有位片结构的 ALU :位片 ALU 由许多较小的 ALU 组成,每个 ALU 负责对不同的位集合执行操作。这允许 ALU 通过将较大的值分解为较小的位来对它们进行运算。

混合算术逻辑单元:混合 ALU 是多种 ALU 的混合,旨在执行各种逻辑和算术功能。这种 ALU 经常出现在更高级和更强大的计算机处理器中。

ALU 是如何开发的?

1945 年,数学家约翰·冯·诺依曼在对 EDVAC 计算机基础的研究中提出了 ALU 的想法。

在整个信息时代的早期阶段,电子电路相当昂贵、庞大且耗能。因此,大多数早期的计算机,例如 PDP-8,都有一个基本的 ALU,它可以同时处理单个数据位,同时为程序员提供更大的字长(CPU 一次可以计算的最大位数)。

1948 年的 Whirlwind I 是早期具有多个 ALU 电路并能够处理 16 位字的计算机之一。

Fairchild 于 1967 年使用 Fairchild 3800 创建了第一个构造为集成电路的 ALU,它由一个只有一个累加器的 8 位 ALU 组成。其他集成 ALU 紧随其后。通常,这些设备具有“位片”功能,这意味着它们可以使用许多链接的 ALU 芯片来构建具有更大字长的 ALU。

ALU 发展的下一个阶段是 70 年代微处理器开始出现的时候。尽管晶体管的尺寸经常减小,但没有足够的空间容纳全字宽完整的 ALU。因此,一些早期的微处理器具有有限的 ALU,每条指令需要许多周期。

遵循摩尔定律,晶体管的几何尺寸随着时间的推移进一步缩小,使得在微处理器上构建更大的 ALU 成为可能。

现代集成电路 (IC) 电路比早期的微处理器薄得多,因此可以在 IC 上容纳非常复杂的 ALU。当今的许多 ALU 都具有宽字宽和桶形移位器或二进制乘法器等功能。这使它们能够(仅在一个时钟周期内)执行在先前 ALU 上需要多个时钟周期的操作。

ALU 可以实现为机械、机电或完全电子电路,但它们的核心操作和概念保持不变。

推荐内容