ALU的全称是什么

19 Oct 2024 | 6 分钟阅读

ALU:算术逻辑单元

ALU代表算术逻辑单元 (Arithmetic Logic Unit)。它是一种组合逻辑数字电路,可以对整数二进制数执行算术和位运算。它是计算机中央处理器 (CPU) 的主要组成部分之一,旨在执行算术和逻辑任务。

ALU full form

ALU的结果是一个整数,因为它不仅执行与减法和加法相关的计算,还能计算两个整数的乘法,因为它们被设计用于执行整数计算。因此,结果是一个整数。算术逻辑单元的输入接收来自外部电路的信号,而ALU作为响应,通过其输出向外部电子设备发送信号。

历史

ALU的概念随着时间的推移变得越来越强大。在计算的早期,ALU仅设计用于特定的功能,并且比现代ALU的通用性差得多。多年来,ALU变得更加复杂,能够处理各种操作。

数学家约翰·冯·诺依曼 (John von Neumann) 在1945年提出了算术逻辑单元的概念。这包含在一份关于一台名为EDVAC的新型计算机基础的报告中。直到20世纪70年代初期,微处理器才开始出现。尽管晶体管更小,但通常没有足够的芯片空间来容纳全字宽的ALU。例如,流行的Zilog Z80,它使用一个四位算术逻辑单元执行了八位加法。

信号

算术逻辑单元拥有多种输入和输出引脚。这些引脚或信号就是用于在算术逻辑单元和外部电路之间传输数字信号的(即电导体)。当算术逻辑单元运行时,外部电路会向其发送信号。作为对这些发送信号的响应,算术逻辑单元随后通过其输出生成信号并将其传输到外部电路。

  1. 数据: - 基本的算术逻辑单元由三个并行的数据总线组成,其中包含两个输入操作数和一个结果输出。
  2. 操作码: - 通过此并行总线将关于操作选择代码的消息传达给算术逻辑单元。操作选择代码以枚举值形式指定算术逻辑单元应执行的期望操作(算术或逻辑)。
  3. 地位
    • 输出: 各种单独的信号传达有关算术逻辑单元当前操作结果的补充信息。通用算术逻辑单元通常包含状态信号,例如溢出、零、进位、负数等。当ALU完成每次操作时,外部寄存器会包含状态输出信号。这些信号可供外部寄存器中存储的未来ALU操作使用。
    • 输入: 状态输入允许在ALU运行时向其提供任何附加信息。当ALU运行时,状态输入允许进一步访问信息以成功完成操作。

电路操作

一个简单的四位算术逻辑单元是组合逻辑电路。它是74181集成电路的一部分。作为组合逻辑电路,ALU会响应输入变化而发生异步变化。在正常操作中,ALU输入包含稳定信号。

函数

算术逻辑单元 (ALU) 是 CPU(中央处理器)的关键组成部分,负责执行各种计算和逻辑操作。这些操作可以粗略地分为 3 种主要类型,这些类型通常在简单、最先进的 ALU 中涵盖:

  1. 算术运算
  2. 按位逻辑运算
  3. 位移运算

1. 算术运算

算术运算是ALU可以执行的基本数学计算。这些包括加法、减法、乘法和除法。

  • 加法: ALU可以通过加法将二进制数相加,这是计算机算术中的基本运算。
  • 减法: 减法可以通过加法和补码表示的组合来执行。ALU计算二进制数之间的差值。
  • 乘法: 虽然专用硬件或软件通常处理更复杂的乘法运算,但ALU可以执行基本的乘法,通常通过重复加法来实现。
  • 除法: 与乘法类似,复杂的除法运算通常单独处理;然而,ALU可以执行简单的除法运算,通常通过重复减法或特殊策略来实现。

2. 按位逻辑运算

按位逻辑运算处理二进制数中的各个位,这对于数据操作、掩码和数据提取等任务至关重要。

  • AND(按位与): ALU对二进制数中对应的位执行逻辑AND运算,生成一个新的二进制数,只有当每个输入位都为1时,位才设置为1。
  • OR(按位或): 此运算生成一个新的二进制数,如果至少有一个对应的输入位为1,则将位设置为1。
  • XOR(按位异或): ALU执行逻辑异或运算,当输入位不同时,将输出位设置为1。
  • NOT(按位非或补码): 此运算会反转(翻转)位,将0变为1,将1变为0。

3. 位移运算

位移运算将二进制数的位向左或向右移动,有效地将二进制数乘以或除以2的幂。

  • 左移: 在左移中,位向左移动,有效地将二进制数乘以 2^n,其中 n 是移位的位数。
  • 右移: 在右移中,位向右移动,有效地将二进制数除以 2^n。
  • 算术右移: 与右移类似,但它在移动时保留符号位,确保最高有效位保持不变(正数为0,负数为1)。
  • 逻辑右移: 在逻辑右移中,无论符号位如何,都从左侧填充零。当将二进制数视为无符号整数时,使用此操作。

这三种运算涵盖了 CPU 需要执行的许多任务,使得 ALU 成为现代计算系统中灵活且至关重要的部分。ALU 可以快速准确地执行此类操作,使计算机系统能够处理数据、执行程序,并执行各种任务,从基本的数学计算到复杂的数据操作和决策制定。

应用

ALU 不仅限于通用 CPU。它们还用于各种其他应用,包括:

  • 嵌入式系统: 微控制器和嵌入式系统有时包含 ALU 来处理数据和控制设备。它们被应用于从洗衣机到汽车控制单元的各种设备中。
  • 图形处理单元 (GPU): 现代 GPU 拥有高度并行的 ALU,经过优化,可用于图像渲染和通用计算,使其非常适合 3D 渲染、科学模拟和机器学习等任务。
  • 数字信号处理器 (DSP): DSP 是专为音频处理、图像处理和电信等任务设计的专用微处理器。它们拥有针对信号处理操作优化的 ALU。

ALU的优点

算术逻辑单元具有多种优点,如下所示:

  1. 支持并行架构和高性能应用。
  2. 它可以同时组合整数和浮点变量并获得期望的输出。
  3. 它可以响应大量指令,并且具有更高的准确性范围。
  4. ALU可以在同一代码中组合两个算术运算,例如减法、加法和乘法,或其他两个操作数。例如,A+B*C。
  5. 它们在整个程序中保持统一,并且间隔均匀,不会中断中间部分。
  6. 它通常速度非常快,因此可以很快提供结果。
  7. ALU没有敏感性问题或内存浪费问题。
  8. 它们最大限度地减少了逻辑门要求,并且成本较低。

ALU的缺点

下面讨论算术逻辑单元的缺点:

  1. 浮点变量延迟较大,ALU内部所有内容不容易被设计控制器理解。
  2. 如果内存空间有限,bug就会出现并中断我们的结果输出。
  3. 由于其复杂的电路,业余爱好者难以理解,并且也难以理解流水线概念。
  4. 延迟中的不规则性是ALU的一个公认缺点。
  5. 四舍五入是另一个缺点,因为它会影响准确性。

下一个主题全称