美文网首页
05|算术逻辑单元

05|算术逻辑单元

作者: 井润 | 来源:发表于2019-11-16 23:58 被阅读0次

这一篇文章我们要讲解的是,算术逻辑单元,本片的内容可能比较枯燥乏味,当然这篇Blog也是为了在以后回顾的时候能够快速的理解算术逻辑单元!

其中对应的内容如下所示:

  • 算术逻辑单元-ALU
  • 简单介绍ALU 英特尔74181
  • ALU有两个单元 一个算术单元和一个逻辑单元

表示和存储是计算机中重要的功能,但是真正的目的是计算,有意义的处理数字!

例如说两个数字相加: 1+2 对应的操作由计算机的算术逻辑单元处理! 大家都简称为 ALU

ALU是计算机的数学大脑,当我们理解了对应的ALU的设计和功能之后,就理解了现代计算机的基石,因此这篇Blog是自我学习和总结算术逻辑单元比较重要的一篇!

当然,像刚刚上文所说的算术逻辑单元的解释可能还不够细致,算术逻辑单元就是 计算机里负责运算的组件 基本其他所有的组件都用到了它!

在当时最早的ALU是英特尔的74181,第一个完整封装在芯片里面的ALU,关于英特尔的74181就不在文中展示了,有兴趣的朋友可以自行百度一下!

其实关于ALU他是有两个单元的,一个是算术单元,另外一个是逻辑单元 听起来算术逻辑单元好像是那么一回事的样子!

01|算术单元

我们先来讲讲算术逻辑单元中的算术单元,负责计算机中所有的数字操作! 最好理解和最平常的就是 加减法的应用!

譬如说 1+1 这种就叫做增量运算,我们可以使用晶体管一个个拼接起来,但是可能会复杂得令人难以理解! 当然,我这么说也是基于之前对晶体管的简单理解才这么说的,但是,我们可以利用抽象思维,使用对应的逻辑门来做,其中逻辑门中,最常用到的就是前几篇文章中所介绍到的,关键词:and,or,not,还有对应的XOR

你看类似于最简单的加法电路,是拿2个bit加在一起! 两个输入:A,B 一个输出:两数之和 对应的三个都是单个bit(0和1)

因此前三种可能如下:

InputA InputB Output
0 1 1
1 0 1
0 0 0

对应的二进制当中,0与false对应,1和true对应! 这组输入输出和XOR门的逻辑完全一样! 因此我们可以把XOR作为1位加法器

但是对应的第四种可能就是这样的了

InputA InputB Output
1 1 2

但是二进制中没有对应的2,因此就需要考虑进位的问题了! 进位之后为 10 因此其实真正的输出一部分为0 我们需要额外的线作为 进位 对应的只有1+1的时候进位才为true 算出来的结果用1bit存不下! 因此我们可以使用逻辑门做这个事情,使用逻辑门组成抽象化的组件半加器!

此时两个输入对应的两个输出,可能你会好奇的是为什么会有两个输出,其中的一个输出为进位,当进位true的时候才能够算总和!

如果说超过了1+1的运算半加器失效了,就需要使用到全加器 这样一来 半加器输出了进位和下面的三个加在一起! 上个结果的进位输入到第二个半价器,最后一个OR门检查进位是不是true,这样就做出了全加器! 这样算8bit其实也是可以的,思路如下所示:

我们从 A 和 B 的第一位开始

叫 A0 和 B0 好了,现在不用处理任何进位,因为是第一次加法,现在不用处理任何进位,因为是第一次加法,所以我们可以用半加器,来加这2个数字,输出叫 sum0,现在加 A1 和 B1,因为 A0 和 B0 的结果有可能进位,所以这次要用全加器,除了 A1 和 B1,还要连上进位,以此类推来计算,注意到每个金卫士怎么连接到下一个全加器的,因此叫做8位行波进位加法器!

但是如果说,第9位有进位的话,那么就会出现 溢出 的问题! 两数之和太大了,超过了用来表示的值!

其实我们玩吃豆人,玩到了256关,就会出问题了,对应的算术逻辑单元就会溢出,这也是厉害玩家的代表

如何解决这个问题,我们需要更多位的全加器,但是对应的问题就是需要更多的逻辑门,每次仅为都需要时间,这样一来效率可能没有那么高了!

当然现在来看的话,现在的移动设备和所谓的处理器的计算效率已经不可同日而语,现在计算机用的加法电路有所不同,叫做 超前进位加法器 更加的迅速,对应的所做的事情是一样的,都是将二进制数相加!

ALU的算术单元可以做的操作不仅仅是加法,当然还有一些,分别为:

  • 加法
  • 带错位的加法
  • 减法
  • 带错位的减法
  • 增量
  • 减量
  • negate建立临时对象赋值给另外的对象,赋值之后并且销毁

其实很明显的就能够看出没有乘法和除法! 没有对应的乘法和除法是因为可以将乘法使用多次加法来实现,虽然说比较慢,但是并非不能实现!

对应的笔记本和手机有更好的处理器,专门做乘法的算术单元,对应的乘法单元比加法复杂,没有什么魔法只是更多的逻辑门 然而便宜的处理器没有!

02|逻辑单元

对应的逻辑单元是ALU的另外一半,比如之前的and,or,not都是属于逻辑操作的,而逻辑单元就是负责逻辑这块的!

检查ALU输出是否为0的电路,使用一推OR门检测是否为1,之后再取反就可以知道了! 这其实是一个高层次的概括!

之前说到的英特尔74181只能处理4位的输入,当时我们之间举的例子是8位的,都是有利于我们理解整体概念的!

74181用了大概70多个逻辑门,但是不能够处理乘除相关的操作! 向小型迈出了一大步,对应的计算机也更加的便宜了! 8位的ALU如果说要做的话可能需要几百个逻辑门,因此工程师们不想用ALU做那些事情,使用的是类似于V的处理模型,用的是计算机的操作代码执行操作 操作代码会告诉ALU做什么操作,对应的还会有标志符的输出!

虽然说这篇文章写的虽然不够直观清晰,这也是我在不断学习过程中总结的,之后我会对本篇文章进行内容的修改和补充,如果你有更好的意见或者意见,请在评论区告诉我!

相关文章

  • 05|算术逻辑单元

    这一篇文章我们要讲解的是,算术逻辑单元,本片的内容可能比较枯燥乏味,当然这篇Blog也是为了在以后回顾的时候能够快...

  • 《深入浅出计算机组成原理》笔记一

    一、计算机组成 1.CPU 包含算术逻辑单元和处理器寄存器的处理器单元,用来完成各种算术和逻辑运算。 包含指令寄存...

  • 命题-第四章-填空

    执行单元EU的核心是( ),我们可以根据它来区分执行单元和总线接口单元。 【解析】 算术逻辑单元ALU

  • 5 | 算术逻辑单元 -ALU

    表示和存储数字是计算机的重要功能。 但真正的目标是计算,有意义的处理数字。 这些操作偶有计算机的 “算术逻辑单元”...

  • 第零章 计算机概论

    电脑的五大单元:输入单元、输出单元、主记忆体、控制单元(CPU)、算术逻辑单元(CPU)。 资料通过输入单元流进主...

  • 命题-第四章-填空

    在区分执行单元EU和总线接口单元BIU时,我们可以根据执行单元具有( )来进行判断。 【解析】 算术逻辑单...

  • 计算机最基础的部分:运算逻辑电路(ALU)

    今天我们来拆解一下运算逻辑电路(ALU),它包括逻辑单元、算术单元两部分 ALU 符号 我们这里只是简述一个简单的...

  • Linux学习笔记 -- 00 计算计概论

    1.计算机五大单元 输入单元输出单元CPU内部的控制单元CPU内部的算术逻辑单元内存 2.计算机上面常用的计算单位...

  • 汇编常见名称英文缩写

    cpu:微处理器cpu基本结构ALU:算术逻辑单元REG:寄存器8088/8086功能结构BIU:总线接口单元EU...

  • P5 算术逻辑单元-How Computers Calculat

    传送门:P5 算术逻辑单元-How Computers Calculate-the ALU 好了,之前讲的运算都是...

网友评论

      本文标题:05|算术逻辑单元

      本文链接:https://www.haomeiwen.com/subject/ddiuictx.html