算术逻辑单元ALU

ALU:arithmetic and logic unit。是能实现多组算术运算和逻辑运算的组合逻辑电路。

1.简介

  • 算术逻辑单元简称“ALU”,ALU是计算机的数学大脑,也是现代计算机的基石。
  • ALU就是*计算机里负责运算的组件,基本其他所有部件都用到了它。
    第一个封装在单个芯片内的完整ALU:英特尔74181,在1970年发布。

2.组成

ALU有2个单元,1个算术单元和1个逻辑单元。

2.1 算术单元

算术单元负责计算机里的所有数字操作。

2.1.1 半加器 half adder

半加器电路是指对两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。 是实现两个一位二进制数的加法运算电路。

算术逻辑单元ALU_第1张图片
算术逻辑单元ALU_第2张图片
算术逻辑单元ALU_第3张图片

2.1.2 全加器

全加器是用门电路实现两个二进制数相加并求出和的组合线路。
用两个半加器实现
算术逻辑单元ALU_第4张图片

算术逻辑单元ALU_第5张图片
算术逻辑单元ALU_第6张图片

我们更关注逻辑功能,而不关心底层实现原理,所以我们把全加器作为独立组件,全加器会把A,B,C三个输入加起来输出"总和"和"进位"。现在有了新组件,我们可以相加两个8位数字,叫两个数字叫A和B,我们从A和B的第一位开始,叫A0和B0。因为是第一次加法,不用处理任何进位 ,所以我们可以用半加器,来加这2个数字,输出叫sum0,然后,加A1和B1,因为A0和B0的结果有可能进位,所以这次要用全加器,除了A1和B1,还要连上进位。输出叫sum1,然后,把这个全加器的进位连到下个全加器的输入,处理A2和B2,以此类推,把8个bit都搞定。

2.2 逻辑单元

逻辑单元执行逻辑操作,AND,OR和NOT操作,它也能做简单的数值测试,比如一个数字是不是负数。
这是检查ALU输出是否为0的电路,它用一堆OR门检查其中一位是否为1,哪怕只有一个Bit(位)是1,我们就知道那个数字肯定不是0,然后用一个NOT门取反。所以只有输入的数字是0,输出才为1,以上就是ALU的一个高层次概括,我们甚至从零做了几个主要组件,比如行波进位加法器,它们只是一大堆逻辑门巧妙的连在一起而已。
算术逻辑单元ALU_第7张图片

3.总结

算术逻辑单元ALU_第8张图片

你可能感兴趣的:(fpga开发)