加法器

✍ dations ◷ 2024-12-22 21:32:23 #加法器
在电子学中,加法器(英语:adder)是一种用于执行加法运算的数字电路部件,是构成电子计算机核心微处理器中算术逻辑单元的基础。在这些电子系统中,加法器主要负责计算地址、索引等数据。除此之外,加法器也是其他一些硬件,例如二进制数的乘法器的重要组成部分。尽管可以为不同计数系统设计专门的加法器,但是由于数字电路通常以二进制为基础,因此二进制加法器在实际应用中最为普遍。在数字电路中,二进制数的减法可以通过加一个负数来间接完成。为了使负数的计算能够直接用加法器来完成,计算中的负数可以使用二补数(补码)来表示,具体的细节可以参考数字电路相关的书籍。:244-248(英语:half adder)的功能是将两个一位二进制数相加。它有两个输出:半加器将两个输入位加和,产生进位与和,是半加器的两个输出。半加器的输入变量叫做被加数或被加位。输出变量为和与进位。半加器的真值表如下:全加器(full adder)将两个一位二进制数相加,并根据接收到的低位进位信号,输出和、进位输出。全加器的三个输入信号为两个加数A、B和低位进位Cin。全加器通常可以通过级联(cascade)的方式,构成多位(如8位、16位、32位)二进制数加法器的基本部分。全加器的输出和半加器类似,包括向高位的进位信号Cout和本位的和信号S,相加结果的总和表达为 s u m = 2 × C o u t + S {displaystyle mathrm {sum} =2times C_{out}+S} 。一位全加器的真值表为:在实际的应用中,全加器可以通过不同的方式制造,例如直接利用晶体管级的电路,或者由其他现成的逻辑门来构成。和、进位信号对应的逻辑函数表达式分别为 S = A ⊕ B ⊕ C i n {displaystyle S=Aoplus Boplus C_{in}} 以及 C o u t = ( A ⋅ B ) + ( B ⋅ C ) + ( A ⋅ C ) {displaystyle C_{out}=(Acdot B)+(Bcdot C)+(Acdot C)} 。另一种全加器电路与之前的方式略有不同,它用一个异或门来代替或门对其中两个输入信号进行求和,其进位信号对应的逻辑函数表达式分别为 C o u t = ( A ⋅ B ) + ( C i n ⋅ ( A ⊕ B ) ) {displaystyle C_{out}=(Acdot B)+(C_{in}cdot (Aoplus B))} 。通过适当的逻辑函数变化,可以证明它与前面的计算方法结果一致。:238, 260在这个实现中,将最后的或门换成异或门不会影响逻辑。如果电路使用的是每个芯片上只有一种闸的简单集成电路芯片,仅使用两种闸会比较方便。全加器可以用两个半加器来构造,将输入端A和B连接到一个半加器上,然后将其和输出信号与进位输入信号分别作为第二个半加器的两个输入,并将两个进位输出信号进行逻辑或运算。全加器的关键路径(critical path,即经历最多逻辑门的路径)经过两个异或门,终止于和位 s {displaystyle s} 。假定异或门耗费3个延迟来完成,一个全加器的关键路径上施加的延迟等于进位模块(carry-block)包括2个逻辑门,因此延迟为全加器还可以使用一个三输入的异或门来求和,再使用一个两级与或结构来实现进位信号对应的积之和(sum of products)式。可以使用多个一位全加器来构成N位加法器,其中对应低位的全加器将其进位输出信号Cout连接到高一位的全加器的进入输入端Cin。这种构成多位加法器的形式被称为“波纹进位加法器”或“脉动进位加法器”(ripple-carry adder),“波纹”形象地描述了进位信号依次向前传递的情形。如果不需要连接其他进位信号,则最低位的全加器可以用半加器替换。波纹进位加法器的电路布局形式较为简单,设计这种电路花费时间较短。然而,波纹进位加法器的进位输出、输入所经过的路径上比其他布局方式具有较多的逻辑门,高位的计算必须等待低位的进位输出信号被计算出来才能开始,因此造成了更大的延迟时间。:49下面简单计算信号在加法器中的延迟。每一个全加器具有三级逻辑函数。在一个32位的波纹进位加法器中,有32个全加器,随之产生的逻辑门延迟则可以根据关键路径的延迟时间来决定,即2倍的最高位全加器输入信号、进位输出延迟,加上31乘以3倍的其他全加器上的延迟,总共等于95倍的逻辑门延迟。一个 n 位波纹进位加法器的最坏情形延迟方程为从位位置0到进位输出的进位有一点不同:输入进位必须经过 n 个进位生成器模块来得到进位输出的效果交替进位极性和优化的与或非门(英语:AND-OR-Invert)的设计可以减少一半的延迟时间。为了减少多位二进制数加减计算所需的时间,工程师设计了一种比脉动进位加法器速度更快的加法器电路,这种加法器被称为“超前进位加法器”(carry-lookahead adder)。下面简述超前进位加法器的主要原理。:255-262我们先来考虑构成多位加法器的单个全加器从其低一位获得的进位信号 c i + 1 = ( x i ⋅ y i ) + ( x i ⋅ c i ) + ( y i ⋅ c i ) {displaystyle c_{i+1}=(x_{i}cdot y_{i})+(x_{i}cdot c_{i})+(y_{i}cdot c_{i})} ,我们可以将它变换为 c i + 1 = ( x i ⋅ y i ) + ( x i + y i ) ⋅ c i {displaystyle c_{i+1}=(x_{i}cdot y_{i})+(x_{i}+y_{i})cdot c_{i}} 。现在为二进制数的每一位构建两个新信号:于是,某位全加器从低一位获得的进位可以表示为 c i + 1 = G i + P i ⋅ c i {displaystyle c_{i+1}=G_{i}+P_{i}cdot c_{i}} ,例如次低位全加器从最低位获得的进位为 c 1 = G 0 + P 0 ⋅ c 0 {displaystyle c_{1}=G_{0}+P_{0}cdot c_{0}} ,而从最低位开始第三位的那个全加器获得的进位信号则为 c 2 = G 1 + P 1 ⋅ c 1 {displaystyle c_{2}=G_{1}+P_{1}cdot c_{1}} 。在多位脉动进位加法器中, c 2 {displaystyle c_{2}} 必须连接到低一位的进位输出信号,如果使用这种方式构成多位全加器,则逻辑门的延迟会发生累加,导致降低电路的计算效率下降。超前进位加法器采取的方式是,将 c 1 {displaystyle c_{1}} 的逻辑函数代入到 c 2 {displaystyle c_{2}} ,即 c 2 = G 1 + P 1 ⋅ ( G 0 + P 0 ⋅ c 0 ) {displaystyle c_{2}=G_{1}+P_{1}cdot (G_{0}+P_{0}cdot c_{0})} ,于是,这一位的进位输出就只取决于 x 1 {displaystyle x_{1}} 、 y 1 {displaystyle y_{1}} 、 x 0 {displaystyle x_{0}} 、 y 0 {displaystyle y_{0}} 、 c 0 {displaystyle c_{0}} 几个信号,而这几个信号都是计算电路外部的已知信号,而非低一位的计算结果。上面考虑的是从最低位开始第三位的情况。采用类似的代入方法,可以用各位的生成信号 G i {displaystyle G_{i}} 、传输信号 P i {displaystyle P_{i}} ,以及最低位从外部获取的进位信号 c 0 {displaystyle c_{0}} 来表示多位全加器的所有进位信号。通过列出多位加法器各位的进位输出,可以发现高位的进位输出表达式(积之和式)涉及的变量更多,对应的逻辑电路连线会变得更复杂,而且在实际应用中会遭遇逻辑门的扇入问题。因此有必要对位数过高的全加器进行逻辑划分,如将六十四位全加器分为四个十六位超前进位加法器来实现(如右图)。多位二进制数加法器的标准芯片通常具有超前进位的组成形式,例如:7400系列的7483、74283芯片。:50

相关

  • 弗里德希氏共济失调弗里德赖希隐性遗传运动失调症(也称为FA)是一种罕见的遗传性疾病,会导致进行性神经系统损伤和运动问题。它是由于在FRDA基因的intron 1有CAA三核甘酸重复序列的过度扩增。它通
  • The New Zealand Herald新西兰先驱报(英语:The New Zealand Herald)是在新西兰奥克兰发行的日报,由New Zealand Media and Entertainment所有,是新西兰发行量最大的报纸,2006年达到20万份以上,到2014年12
  • 模式种模式种(type species (species typica))是生物分类学上的一个名词,是用来代表一个属或属以下分类群的物种,又称典型种。模式种可以指示出该生物分类单元下的生物学特征,它既是一
  • Australian Broadcasting Corporation澳大利亚广播公司(英语:Australian Broadcasting Corporation,ABC)是澳大利亚的国家公共广播机构。它由政府出资,向澳大利亚和全世界提供电台、电视、互联网服务,其中澳大利亚广播
  • 婴儿奶瓶婴儿奶瓶(baby bottle)是上方有奶嘴的瓶子,可以直接饮用里面的液体物。一般是给婴幼儿使用。婴儿奶瓶常用来喂配方奶粉、母乳、口服电解质溶液(英语:pediatric electrolyte solut
  • 超级抗原超级抗原(SAgs)是一类导致非特异性免疫的蛋白质。超级抗原非特异性地激活T细胞,导致T细胞克隆激活和大量细胞激素的释放。超级抗原被微生物抗原(包括支原体,细菌,病毒等等)作为可以
  • 脓疱脓疡(拉丁语:abscessus; 德语:Abszess; 法语:Abcès; 英语:Abscess)又称作脓疮、脓肿。指的是在身体组织中蓄积的脓。接近体表的脓疡会有红、肿、热、痛等症状,触诊病灶时感觉其内
  • 打压对立歧义谬误是由于语言歧义导致无效推理的现象,是一种言词谬误。歧义是一个字词或语句可理解为多种意思的现象。歧义容易造成误解与误会,比如某甲用某语句想表达 A 意思,某乙却理
  • 正十二烷基磺酸钠十二烷基硫酸钠(Sodium dodecyl sulfate,SDS)或月桂基硫酸钠(Sodium lauryl sulfate SLS),NaC12H25SO4,常用的表面活性剂之一,是洗洁精的主要成分。常用于DNA提取过程中,使蛋白质变
  • 北德意志邦联北德意志邦联(Norddeutscher Bund),又称北日耳曼邦联(North German Confederation)、北德意志联盟、北日耳曼联盟,名义虽称邦联,实际上是联邦制组织,于日耳曼邦联解散后,在1867年成立