P5 算术逻辑单元-How Computers Calculate-the ALU

传送门:P5 算术逻辑单元-How Computers Calculate-the ALU

        好了,之前讲的运算都是基于齿轮等物理硬件而实现的,现在开始讲基于逻辑门的算术运算!


算术逻辑单元    ALU

        算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算和逻辑运算的组合逻辑电路,简称ALU。

        英特尔 74181:第一个封装在单个芯片内的完整ALU,只能处理4位输入。


ALU组成    1个算术单元和1个逻辑单元

        算术单元

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

        基于逻辑门的算术单元:我们可以用上一P学习到的用晶体管实现两个数的相加,但是涉及到多个数相加的情况时,必然需要更多的晶体管,此时电路复杂性增加,因此我们最终采用逻辑门来抽象实现加法等算术运算。

        半加器:

不完善的半加器

        对于单个异或门的半加器来说,除了1 + 1 的结果无法体现进位之外,其他情况结果正确,因此我们需要添加额外的输出CARRY作为“进位”。

完善的半加器

        这里的与门只考虑是否进位,也就是当两个输入都为1时,输出1,其他情况为0。

        全加器:如果运算超过1 + 1,即类似1 + 1 + 1(为什么不是10  + 1 或 1 + 10呢?因为每一个输入端都是一个字节,意味每一个输入端只能是1 或者 0,而不可能是10)这种超过两个数的情况时,就需要采用全加器来实现算术运算(注意:全加器只适用3个数相加)

全加器表格
全加器的逻辑电路

        8位行波进位加法器:  

8位行波进位加法器

        可以看到,A0 + B0采用半加器独立组件,而之后的独立组件都采用全加器,这是因为在运算A0 + B0 时没有上一步的进位作为第三输入端,所以采用半加器就足够了。

        溢出:最后全加器的进位carry必须满足恒为0,如果为1则说明运算结果超出8位,发生溢出现象,这会导致错误和不可预期的结果。

8位存储关卡数(最高关卡255)的吃豆人溢出现象

        解决溢出:添加更多的全加器,使得最终结果大于8位即可,但电路的复杂性和进位耗费的时间会因此增加。

        超前进位加法器    现代计算机用的加法器:超前进位加法器(carry look ahead adder)是对普通的全加器进行改良而设计成的并行加法器,主要是针对普通全加器串联时互相进位产生的延迟进行了改良。超前进位加法器是通过增加了一个不是十分复杂的逻辑电路来做到这点的。


        逻辑单元

        负责实现单个或多个数值的逻辑判断,比如:A是否为0,A是否大于B,A是否小于B等。

A是否为0的逻辑电路实现

        行波进位加法器:串行进位,高位的运行要等待低位的进位传到。不同于并行进位如选择进位或超前进位等等。

        8位ALU:

基础的8位ALU

        上面的输入端 INPUT:A和B,皆为8个字节;

        左边的操作代码 OPERATION CODE:指示ALU执行4个字节数值对应的命令代码,比如1000 = ADD,1100 = SUBTRACT;

        下面的输出 OUTPUT:一个输出端,8个字节;

        右边的标志 FLAG:1个字节

        (1)OVERFLOW:溢出标志,通过对两个数执行加法运算,判断最后一个全加器的进位端是否为1,若为1,则表示溢出;

        (2)ZERO:0标志,运用上面提及到的A是否为0的逻辑电路,判断某一个数是否为0;

        (3)NEGATIVE:比较标志,对A与B进行减法运算,通过对结果和0进行比较,输出A与B的大小关系,若为1,则A < B。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容