运算方法和运算器2.ppt_第1页
运算方法和运算器2.ppt_第2页
运算方法和运算器2.ppt_第3页
运算方法和运算器2.ppt_第4页
运算方法和运算器2.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章第二章 运算方法和运算器运算方法和运算器(2)(2) 23 定点加法、减法运算 231 补码加法 q 补码加法公式:X补+Y补=X+Y补 (mod 2) 2第二章 运算方法和运算器(2) q 补码加法的特点: v 符号位要作为数的一部分一起参加运算。 v 要在模2的意义下相加,即超过2的进位要丢掉。 222 补码减法 q 数用补码表示时,减法运算的公式为: v XY补 = X补-Y补 X补+-Y补 (mod 2) v 从Y补求-Y补的法则:对Y补包括符号位“求反且最末位加1”。 3第二章 运算方法和运算器(2) 4第二章 运算方法和运算器(2) 233 溢出概念与检测方法 q 在定点小数机器中,数的表示范围为|x|1。在运算过程中如出现大于 1的现象,称为“溢出”。 q 在定点机中,正常情况下溢出是不允许的。 v 两个正数相加,结果大于机器所能表示的最大正数,称为上溢。 如+0.1011和+0.1001相加得:1.0100 v 两个负数相加,结果小于机器所能表示的最小负数,称为下溢。 如-0.1101和-0.1011相加得:0.1000 q 判断“溢出”是否发生,可采用两种检测方法。 v 双符号位法 又称为“变形补码”或“模4补码”。 可使模2补码所能表示的数的范围扩大一倍。 数的变形补码定义为: 5第二章 运算方法和运算器(2) 或用同余式表示为 x补4+x (mod 4) 下式也同样成立: x补+y补x+y补 (mod 4) 为了得到两数变形补码之和等于两数和的变形补码,同样必须: (1)两个符号位都看做数码一样参加运算。 (2)两数进行以4为模的加法,即最高符号位上产生的进位要丢掉。 6第二章 运算方法和运算器(2) 采用变形补码后: 任何小于 1的正数,两个符号位都是“0”,即00.x1x2xn 任何大于-1的负数,两个符号位都是“1”,即11.x1x2xn 如果两个数相加后,其结果的符号位出现“01”或“10”两种组合时,表示 发生溢出。 这是因为两个绝对值小于1的数相加,其结果不会大于或等于2,所 以最高符号位永远表示结果的正确符号。 7第二章 运算方法和运算器(2) 8第二章 运算方法和运算器(2) 由此,我们可以得出如下结论: (1)当以模4补码运算,运算结果的二符号位相异时,表示溢出;相同时 ,表示未溢出。 故溢出逻辑表达式为:VSf1Sf2,其中Sf1和Sf2分别为最高符 号位和第二符号位。 此逻辑表达式可用异或门实现。 (2)模4补码相加的结果,不论溢出与否,最高符号位始终指示正确的符 号。 v 单符号位法。 由于溢出逻辑表达式为VCf C0,其中Cf为符号位产生的进位,C0为 最高有效位产生的进位。 此逻辑表达式也可用异或门实现。 在定点机中,当运算结果发生溢出时,机器通过逻辑辑电路自动检查出 这种溢出,并进行中断处理。 9第二章 运算方法和运算器(2) 234 基本的二进制加法减法器 q 图 (a)示出了补码运算的二进制加法减法器逻辑结构图。 v 由图看到,n个1位的全加器(FA)可级联成一个n位的行波进位加减器。 10第二章 运算方法和运算器(2) v M为方式控制输入线: 当M0时,做加法(A+B)运算; 当M1时,做减法(A-B)运算 在M1时,做减法(A-B)运算情况下,A-B运算转化成A补+-B补运算, 求补过程由B+1来实现。 因此,图中最右边的全加器的起始进位输入端被连接到功能方式线 M上,做减法时M1,相当于在加法器的最低位上加1。 另外,图中左边还表示出单符号位法的溢出检测逻辑:当Cn=Cn-1时,运 算无溢出;而当CnCn-1时,运算有溢出,经异或门产生溢出信号。 11第二章 运算方法和运算器(2) v 两个二进制数字Ai,Bi和一个进位输入Ci相加,产生一个和输出Si,以及一个 进位输出Ci+1。下表中列出一位全加器进行加法运算的输入输出真值表。 v 根据表中所示的真值表,三个输入端和两个输出端可按如下逻辑方程进行联 系: SiAi Bi Ci Ci+1AiBi+BiCi+CiAi 12第二章 运算方法和运算器(2) v 按此表达式组成的一位全加器示于图 (b)。 Si的时间延迟为6T(每级异或门延迟3T) , Ci+1的时间延迟为5T,其中T被定义为 相应于单级逻辑电路的单位门延迟。 T通常采用一个“与非”门或一个“ 或非”门的时间延迟来作为度量单 位。在多级开关电路的时间延迟 可以用“与非”门的级数或者T的数 目来度量。 13第二章 运算方法和运算器(2) v 例如计算一个n位的行波进位加法器的时间延迟。 假如采用图 (b)所示的一位全加器并考虑溢出检测,那么n位行波进位加 法器的延迟时间ta为: tan2T+9T(2n+9)T 其中: 9T为最低位上的两级“异或”门再加上溢出“异或”门的总时间 2T为每级进位链的延迟时间。 当不考虑溢出检测时,有: ta(n-1)2T+9T ta意味着加法器的输入端输入加数和被加数后,在最坏情况下加法器 输出端得到稳定的求和输出所需的最长时间。显然这个时间越小越 好。 q 注意:加数、被加数、进位与和数都是用电平来表示的,因此,所谓 稳定的求和输出,就是指稳定的电平输出。 14第二章 运算方法和运算器(2) 235 十进制加法器 q 十进制加法器可由BCD码(二十进制码)来设计,它可以在二进制加 法器的基础上加上适当的“校正”逻辑来实现,该校正逻辑可将二进制 的“和”改变成所要求的十进制格式。 q n位BCD码行波式进位加法器的一般结构如图 (a)所示。 v 它由n级组成,每一级将一对4位的BCD数字相加,并通过一位进位线与其相 邻级连接。 15第二章 运算方法和运算器(2) v 而每一位十进制数字的BCD加法器单元的逻辑结构示于图(b)。 16第二章 运算方法和运算器(2) q 在十进制运算时,当相加二数之和大于9时,便产生进位。可是用 BCD码完成十进制数运算时,当和数大于9时,必须对和数进行加6修 正。这是因为,采用BCD码后,在二数相加的和数小于等于9时,十 进制运算的结果是正确的;而当相加的和数大于9时,结果不正确, 必须加6修正后才能得出正确的结果。 17第二章 运算方法和运算器(2) 24 定点乘法运算 241 原码并行乘法 1人工算法与机器算法的同异性 q 在定点计算机中,两个原码表示的数相乘的运算规则是: v 乘积的符号位由两数的符号位按异或运算得到 v 乘积的数值部分则是两个正数相乘之积。 q 设n位被乘数和乘数用定点小数表示(定点整数也同样适用) 被乘数 x原xfxn-1x1x0 乘数 y原yfyn-1y1y0 乘积 z原(xf Yf)+(0.xn-1x1x0)(0.yn-1y1y0) v 式中,xf为被乘数符号,yf为乘数符号。 18第二章 运算方法和运算器(2) q 其中: v 乘积符号的运算法则是: 同号相乘为正,异号相乘为负。 由于被乘数和乘数和符号组合只有四种情况(xfyf=00,01,10,11), 因此积的符号可按“异或”(按位加)运算得到。 v 数值部分的运算方法与普通的十进制小数乘法相类似,不过对于用二进制表 达的数来说,其乘法规则更为简单一些。 例:设x0.1101,y0.1011,求其乘积,其过程如下: 19第二章 运算方法和运算器(2) q 但是 v 机器通常只有n位长,两个n位数相乘,乘积可能为2n位。 v 串行乘法方法太慢,不能满足科学技术对高速乘法所提出的要求。 v 乘法运算大约占全部算术运算的13,必须采用高速乘法部件,提高速度和 效率。 q 我们只介绍并行乘法器。 20第二章 运算方法和运算器(2) 2不带符号的阵列乘法器 21第二章 运算方法和运算器(2) q 设计高速并行乘法器的基本问题,就在于缩短被加数矩阵中每列所包 含的1的加法时间。 q 现以5位乘5位不带符号的阵列乘法器(mn5)为例来说明并行阵列 乘法器的基本原理。 22第二章 运算方法和运算器(2) v 图中示出了5位 5位阵列乘法器的逻辑 电路图,其中: FA是一位全加器 FA的斜线方向为进位输出 FA的竖线方向为和输出 所有被加数项的排列和前述AB P乘法过程中的被加数矩阵相同。 图中用虚线围住的阵列中最后一行 构成了一个行波进位加法器,其时 间延迟为(n-1)2T。 为了缩短加法时间,最下一行 的行波进位加法器也可以用先 行进位加法器来代替。 23第二章 运算方法和运算器(2) q 这种乘法器要实现n位n位时,需要n(n-1)个全加器和n2个“与”门。 该乘法器的总的乘法时间可以估算如下: v 令Ta为“与门”的传输延迟时间,Tf为全加器(FA)的进位传输延迟时间,假定 用2级“与非”逻辑来实现FA的进位链功能,我们就有: TaTf2T v 从上图可见,最坏情况下的延迟途径,即是沿着矩阵最右边的对角线和最下 面的一行。因而得到n位n位不带符号的阵列乘法器总的乘法时间为: tmTa+(n-1)+(n-1)Tf=2T+(2n-2)2T =(4n-2)T 24第二章 运算方法和运算器(2) 25第二章 运算方法和运算器(2) 3带符号的阵列乘法器 q 对带符号的阵列乘法器的结构来说,按其所用的数的表示方 法而有所不同。 1、算术运算部件设计中经常用到的求补电路。如下图所示,其 逻辑表达式如下: 26第二章 运算方法和运算器(2) q 对2求补时,采用按位扫描技术来执行所需要的求补操作。 v 令A=ana1a0是给定的(n+1)位带符号的数,要求确定它的补码形式。 进行求补的方法就是从数的最右端a0开始,由右向左,直到找出第一个 “1” 。 ai以右的每一个输入位,包括ai自己,都保持不变; ai以左的每一个输入位都求反,即1变0,0变1。 横向链式线路中的第i扫描级的输出Ci为1的条件是: 第i级的输入位口ai=1,或者第i级链式输入(来自右起前i-1级的链式 输出)Ci-1=1。 最右端的起始链式输入C-1必须永远置成“0”。 控制信号线E: 当控制信号线E为“1”时,启动对2求补的操作; 当控制信号线E为“0”时,输出将和输入相等。 可以利用符号位来作为控制信号。 27第二章 运算方法和运算器(2) v 例如,在一个4位的对2求补器中,如果输入数为1010,那么输出数 应是0110,其中从右算起的第2位,就是所遇到的第一个“1”的位置 。 28第二章 运算方法和运算器(2) q 用这种对2求补器来转换一 个(n+1)位带符号的数,所 需的总时间延迟为: tTCn2T+5T(2n+5)T v 其中: 每个扫描级需2T延迟, 5T是由“与”门和“异或” 门引起的。 2、符号的阵列乘法器(右图 所示) 29第二章 运算方法和运算器(2) v 通常,把包含这些求补级 的乘法器又称为符号求补 的阵列乘法器。 q 在这种逻辑结构中,共使 用了三个求补器。其中: v 两个算前求补器的作用是 :将两个操作数A和B在被 不带符号的乘法阵列(核心 部件)相乘以前,先变成正 整数。 v 算后求补器的作用则是: 当两个输入操作数的符号 不一致时,把运算结果变 换成带符号的数。 30第二章 运算方法和运算器(2) q 设Aanan-1a1a0和Bbnbn-1b1b0均为用定点表示的(n+1)位带符号 整数。 v 由图中看到,在必要的求补操作以后,A和B的码值输送给n位n位不带符号 的阵列乘法器,并由此产生2n位乘积: ABPP2n-1P1P0 P2nan bn v 其中p2n为符号位。 q 图中所示的带求补级的阵列乘法器既适用于原码乘法,也适用于间接 的补码乘法。 v 不过在原码乘法中,算前求补和算后求补都不需要,因为输入数据都是立即 可用的。 v 间接的补码阵列乘法却需要使用三个求补器。 为了完成所必需的求补与乘法操作,时间大约比原码阵列乘法增加1倍。 31第二章 运算方法和运算器(2) 32第二章 运算方法和运算器(2) 33第二章 运算方法和运算器(2) 34第二章 运算方法和运算器(2) 242 直接补码并行乘法 1、补码与真值的转换公式 q 补码乘法因符号位参与运算,可以完成补码数的“直接”乘法,而不需 要求补级。大大加速了乘法过程。 q 与直接的补码乘法相联系的数学特征。 v 对于计算补码数的数值来说,一种较好的表示方法是使补码的位置数有一个 带负权的符号和带正权的系数。 v 今考虑一个定点补码整数N补an-1an-2a1a0,这里an-1是符号位。 根据N补的符号,补码数N补和真值N的关系可以表示成: 35第二章 运算方法和运算器(2) 或 36第二章 运算方法和运算器(2) 2、一般化的全加器形式 q 常规的一位全加器可假定它的3个输入和2个输出都是正权。 v 这种加法器通过把正权或负权加到输入输出端,可以归纳出四类加法单元 。如表列出了这四类一般化的全加器的名称和逻辑符号。 每一类全加器都是用它所包含的负权输入的个数来命名的。 其中: 0类全加器没有负权输入 1类全加器有1个负权输入和2个正权输入 依次类推 37第二章 运算方法和运算器(2) 38第二章 运算方法和运算器(2) q 注意: v0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论