第四课:算术逻辑单元

第四课:算术逻辑单元

ID:47072090

大小:36.54 KB

页数:15页

时间:2019-07-16

第四课:算术逻辑单元_第1页
第四课:算术逻辑单元_第2页
第四课:算术逻辑单元_第3页
第四课:算术逻辑单元_第4页
第四课:算术逻辑单元_第5页
资源描述:

《第四课:算术逻辑单元》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档一:算术逻辑单元——(ALU)1)比如二进制的00101010是十进制的42,所以表示储存数字是计算机的重要功能,但真正的目标是计算,有意义的处理数字:比如把“两个数相加”这些操作由计算机的“算术逻辑单元”处理,简称“ALU”2)ALU是计算机的数学大脑,ALU*就是*计算机里负责运算的组件,基本其他所有部件都用到它。3)最著名的ALU——英特尔——74181,1970年,它是第一个封装在单个芯片的完整ALU。4)用布尔逻辑做个简单的ALU电路,功能和74181一样,用它从头做出一台电脑二:ALU有两个单

2、元,1个算术单元和一个逻辑单元1)算术单元:它负责计算机里的所有数字在操作,例:加减法。它还会做很多其他的事情,比如给某个数字加1,“把两个数字相加”这叫增量运算文案大全实用文档1)最简单的加法电路:是拿2个bit加在一起(bit是0或1);有2个输入:A和B,一个输出,就是两个数字的和,需要注意的是:A,B,输出,这3个都是单个(bit)(0或1)2)输入只有4种可能:前三个是0+0=01+0=10+1=1(记住在二进制里面,1与true相同,0与false相同。3)这组输入和输出,和XOR门的逻辑完全一样,A

3、XORB所以我们可以把XOR用作1位加法器(adder)INPUTOUTPUTABSUM文案大全实用文档000101011但第四个输入组合,1+1,是个特例。1+1=2(显然)但二进制里面没有2,二进制里1+1的结果是0,1进到下一位,和是10(二进制)XOR的输出。只对了一部分。1+1输出0,但我们需要一根额外的线代表“进位”只有输出是1和1时,进位才是true因为算出来的结果用一个bit存不下,方便的是,我们刚好有个逻辑门能做这个事,“AND”门,只有当两个输入为“true”的输出才为“true”所以我们把它

4、加到电路中。这个电路叫叫“半加器”文案大全实用文档INPUTOUTPUTABCarrySUM0000100101011110半加器就是两个逻辑门组成的电路ATRUEBTRUEXORFALSE文案大全实用文档ANDTRUE再简化就变成如下图AHALFADDERSUMBCARRY1)把半加器封装成一个单独组件:两个输入A和B都是1位,两个输出“总和”和“进位”2)如果想处理超过1+1的运算,我们需要全加器,半加器输出了进位,意味着我们算下一列的时候,还有之后的每一列,我们的加3个位在一起,并不是2个3)全加器表格文案

5、大全实用文档ABCCARRY进位SUM总和00000001010100110001011101101011111有3个输入:A,B,C都是1个bit所以最大可能是1+1+1“总和1”进位“1”文案大全实用文档所以要两条线输出“总和”和“进位”我们可以用半加器做全加器我们先用半加器将A和B相加,把C输入到第二个半加器,最后用一个OR门检查进位是不是true全加器=半加器+半加器+OR(检查)AAhalfCcarryBBadderDAhalfCORCBadderDSUM再提升一层抽象,全加器,作为独立组件,全加器会把

6、“A”“B”“C”三个输入加起来,输出“总和”和“进位”AFULLCARRY文案大全实用文档BADDERSUMC有了新组件,可以相加两个8位数字,叫两个数字A和B我们从A和B的第一位开始,叫A0和B0,现在不用处理任何进位,因为是第一位加法,我们可以用半加器来加这个数字,输出叫sum0,现在加A1和B1,因为A0和B0的结果有可能进位,所以这次要用全加器,除了A1和B1,还要连上进位,然后,把这个全加器的进位连到下个全加器的输入,处理A2,和B2,以此类推,把8个bit搞定A0sum0B0halfadderSUM

7、1A1FULLADDERB1SUM2A2FULLADDERB2SUM3A3FULLADDERB3SUM4A4FULLADDERB4SUM5文案大全实用文档A5FULLADDERB5SUM6A6FULLADDERB6SUM7A7FULLADDERB7SUM8A8FULLADDERB8CARRY注意每个进位是怎么连接到下一个全加器的,所以这个叫“8位行波进位加法器”,注意最后一个全加器有进位的输出.文案大全实用文档如果第9位有进行,代表着2个数字的和太大了,超过来8位,这叫“溢出”,一般来说,“溢出”的意思是:两个数

8、字的和太大了,超过了用来表示的位数,这会导致错误和不可预期的结果。著名例子:吃豆人用8位在当前关卡数,如果你过了256关(8位bit最大表示255),ALU会溢出,造成一连串错误和乱码,使当前关卡无法进行。这个bug成了厉害吃豆人吃豆人玩家的代表,如果想避免溢出,我们可以加更多全加器,可以操作16或32位数字,让溢出更难发生,但代价是更多逻辑门,另外一个缺点是,每次进位都

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。