【计算机组成原理Note】2.4.2 加法器
创始人
2024-02-19 16:03:38
0

文章目录

  • 加法器
    • 1. 一位全加器
    • 2. 串行加法器
    • 3. 串行进位加法器加法器
    • 4. 先行进位加法器

加法器

1. 一位全加器

image-20221127092948405
一位全加器,当前位输出:Si=Ai⨁Bi⨁Ci也就是输入中有奇数个1时输出为1(异或)向高位的进位:Ci=AiBi+(Ai⨁Bi)Ci−1若本位均为1,或本位中一个为1并且来自低位的进位为1,那么向高位的进位就为1进位逻辑表达式也可以写成:Ci=AiBi+(Ai+Bi)Ci−1一位全加器,当前位输出: S_i=A_i\bigoplus B_i\bigoplus C_i\\ 也就是输入中有奇数个1时输出为1(异或)\\ 向高位的进位:C_i=A_iB_i+(A_i\bigoplus B_i)C_{i-1}\\ 若本位均为1,或本位中一个为1并且来自低位的进位为1,那么向高位的进位就为1\\ 进位逻辑表达式也可以写成:C_i=A_iB_i+(A_i+ B_i)C_{i-1} 一位全加器,当前位输出:Si​=Ai​⨁Bi​⨁Ci​也就是输入中有奇数个1时输出为1(异或)向高位的进位:Ci​=Ai​Bi​+(Ai​⨁Bi​)Ci−1​若本位均为1,或本位中一个为1并且来自低位的进位为1,那么向高位的进位就为1进位逻辑表达式也可以写成:Ci​=Ai​Bi​+(Ai​+Bi​)Ci−1​

其实一位全加器,逻辑表达式可以用与门或门表示,如进位的逻辑表达式不唯一,可以是A、B、C两两与,再或运算(也就是有两个1就进位),但这里用会用异或门和与门来表示,本质上这些逻辑表达式都是一样的。区别就是推到加法器先行进位时P的表示不一样

2. 串行加法器

image-20221127094140226

只有一个全加器,数据逐位串行送入加法器中进行运算。进位触发器用来寄存进位信号,以便参与下一次运算。

如果操作数长n位,加法就要分n次进行,每次产生一位和,并且串行逐位地送回寄存器。

3. 串行进位加法器加法器

image-20221127094536367

把n个全加器串接起来,就可进行两个n位数的相加。

串行进位又称为行波进位,每一级进位直接依赖于前一级的进位,即进位信号是逐级形成的。每一个加法器的计算都取决于来自低位的进位,所以串行进位加法器运算速度取决于每一个加法器求向高位进位的速度

4. 先行进位加法器

先行进位加法器:各级进位信号同时形成,又称为先行进位、同时进位

先来回顾串行进位加法器:

image-20221127094536367

串行进位加法器受到进位信号延迟的影响,计算速度迟缓。所以我们可以先将向高位的进位全部一次性算出来,这样每一位加法器就不需要等待来自低位的进位了:

image-20221127095558250

我们再次简化:

image-20221127100001390

可以发现一个规律:在计算进位时,Pi和Gi不会向低位传,但一定会向高位传。也就是说高位的进位计算依赖于所有低位的Pi和Gi。相应的产生进位的该逻辑部件,我们称为CLU先行进位部件。

这总先行进位加法器随着位数不断增多,套娃越来越严重,逻辑表达式越来越复杂,也就是电路越来越复杂。所以我们一般做到4位先行进位加法器,针对更多位的加法,我们可以对4位先行进位加法器CLA进行组间串行,如下:

image-20221127103012927

但组间串行类似串行进位加法器一样,是有延迟的。每一个4位CLA都在等待来自低位的CLA进位,卫门我们是否可以参考先行进位加法器,将组间进位再次先算出来呢?

image-20221127142545099

可以发现组内进位信号计算和组件进位信号的计算逻辑很相似,组内进位输入每一个位p和g即可输出进位,组间进位输入每一个4位CLA的P和G,就能产生组间进位信号了。所以说,组内进位和组件进位使用的是同一套CLU(先行进位部件,专门用于产生进位的部件CLU+全加器就可以组成CLA)。

优化过的先行进位加法器如下:(CLA电路就相当于CLU,用于产生进位的部件)

image-20221127143717930

串行加法器→串行进位的并行加法器→组内并行、组间串行进位的加法器(单级先行进位方式)→组内并行、组间并行进位的加法器(多级先行进位加法器优化)

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...