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

下载本文档

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

文档简介

第二章 运算方法和运算器(3) 马 慧 麟 M 中央民族大学 信息工程学院 第二章主要内容 2.1 数据与文字的表示方法 2.2 定点加法、减法运算 2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和浮点运算器 2.5 定点运算器的组成 1、基本的二进制加法/减法器 (1)常用的全加器逻辑电路 (2)n位的行波进位加减器 (3)n位的行波进位加法器的问题 2、多功能算术/逻辑运算单元(74181 ALU) 2.5.1 基本的二进制加法/减法器 一位全加器 加法运算:Ai + Bi + Ci = Fi (Ci+1) 加数进位输入和 进位输出 一位全加器真值表 输入输出 AiBiCiSiCi1 00000 00110 01010 01101 10010 10101 11001 11111 全加器逻辑图及符号 F AC i+1C i F i A iB i 逻辑表达式 FiAiBiCi Ci1AiBiBiCiCiAi 由一位全加器(FA)构成的行波进位加法器 由一位全加器(FA)构成的行波进位加法器 缺点: (1)串行进位,它的运算时间长; (2)只能完成加法和减法两种操作而不能完成逻辑操作。 多功能算术/逻辑运算单元(ALU): (1)具有多种算术运算和逻辑运算的功能; (2)先(并)行进位逻辑。 从而能实现高速运算。 2.5.2 多功能算术/逻辑运算单元 (74181 ALU) (1)74181 ALU 芯片管脚图 (2)74181 ALU 组成及功能概要 (3)74181 ALU算术和逻辑运算功能表 (4)74181基本设计过程 (5)算术/逻辑运算的实现 (6)先(并)行加法器的进位逻辑 (7)先行进位部件(CLA)74182 (8)串/并行进位延迟的比较 一、74181 ALU 芯片管脚图 二、74181 ALU 组成及功能概述 1、可以实现4位二进制的算术/逻辑运算; 2、将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数,然后和 下一位进位数通过全加器进行全加。不同的控制参数可以得到不同 的组合函数,因而能够实现多种(16种)算术运算和逻辑运算。 3、Cn+4是本片(组)的最后进位输出。这是一个先行进位逻辑,即 第0 位的进位输入Cn可以直接传送到最高位上去,因而可以实现高速运算 。 4、G 称为进位发生输出,P 称为进位传送输出。在电路中多加这两个进 位输出的目的是:再外加先行进位部件(74182 CLA)就可以实现 多片(组)ALU之间的先行进位。 5、 控制端,它使用来控制ALU是进行算术运算还是进行逻辑运算的。 0时,进行算术操作。 当1时,进行逻辑操作. 6、74181 ALU 只是一个可以运算的组合逻辑电路,运算过程中输入和 输出还要和寄存器相连。有的芯片如 29C101,AM2901等将寄存器和 ALU集成在一个芯片内。 三、74181 ALU 算术/逻辑运算功能表 一位全加器 逻辑表达式 SiAiBiCi Ci1= AiBiBiCiCiAi 四、74181 ALU设计基本过程 将全加器的功能扩展以完成多种算 术和逻辑运算。 基本解决方法: (1)将Ai和Bi先组合成由控制参数 S0,S1,S2,S3控制的组合函数Xi和 Yi; (2)然后再将Xi,Yi和下一位进位数通 过全加器进行全加。 (3)不同的控制参数可以得到不同 的组合函数,因而能够实现多种算 术运算和逻辑运算。 4位一片 ,i=0,1,2,3 1、逻辑表达式 S0 S1 Yi S2 S3 Xi 0 0 0 1 1 0 1 1 Ai AiBi AiBi 0 0 0 0 1 1 0 1 1 1 AiBi AiBi Ai 参数S0 ,S1 ,S2 ,S3 分别控制输入Ai 和Bi ,产生Y和X的函数。其中: Yi是受S0 ,S1控制的Ai和Bi的组合函数; Xi是受S2 ,S3控制的Ai和Bi组合函数。 XiS2S3S2S3(AiBi )S2S3 (AiBi )S2S3Ai YiS0S1AiS0S1AiBiS0S1AiBi Xi = S3AiBi + S2AiBi Yi = Ai + S0Bi + S1Bi XiS2S3S2S3(AiBi )S2S3 (AiBi )S2S3Ai YiS0S1AiS0S1AiBiS0S1AiBi Cn+i+1= XiYiYiCn+iXiCn+i 代入一位全加器进位的表达式: 进一步化简: 得:Cni1YiXiCni 2、ALU的一位逻辑表达式为: Xi = S3AiBi + S2AiBi Yi = Ai + S0Bi + S1Bi FiYiXiCn+i Cni1YiXiCni 综上所述: 4位之间采用先行进位(并行进位)公式 由关系式 Cni1YiXiCnI可得: 第0位向第1位的进位公式为(i=0): Cn1Y0X0Cn (其中Cn是向第0位(末位)的进位) 第1位向第2位的进位公式为(i=1): Cn2Y1X1Cn1Y1Y0X1X0X1Cn 第2位向第3位的进位公式为(i=2): Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn 第3位的进位输出(即整个4位运算进位输出)公式为(i=3): Cn4 =Y3+X3Cn3 =Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn 3、先行进位关系 Cn1Y0X0Cn Cn2Y1Y0X1X0X1Cn Cn3Y2Y1X1Y0X1X2X0X1X2Cn Cn4 =Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn 逻辑表达式表明, 每一位的进位都可以从最低位的进 位直接得出,各级进位信号同时形成,这种方法称为先 行(并行)进位逻辑,可以实现高速运算。 (Ci1= AiBiBiCiCiAi,串行加法器各位进位信号串 行级连,由迭代关系计算,逐位计算各位进位。) X0 Y0X1 Y1 X2 Y2 X3 Y3 4、上述逻辑关系实现的4位算术/逻辑运算单元 0算术 1逻辑 五.算术/逻辑运算的实现 控制端用来控制ALU进行算术运算还是进行逻辑运算: 0时: 对进位信号没有任何影响。此时Fi 不仅与本位的被操 作数Yi 和操作数Xi 有关, 而且与向本位的进位值Cn+i 有 关, 因此0时, 进行算术操作。 1时: 封锁了各位的进位输出, 即Cn+i 0, 因此各位的运算 结果Fi 仅与Yi 和Xi 有关, 故1时, 进行逻辑操作。 六.并行加法器的进位逻辑 74181ALU为4位并行加法器, 组成16位的并行加法器怎么办? 4片(组)74181连接 怎样连? 组与组之间串行连接(片内并行) 组与组之间并行连接(片内并行) 1、组间串行进位(74181片内并行进位 ) 先行进位部件(CLA)74182 74182是一个并行进位部件,实现组间并行进位 2、全先行进位逻辑级联组成的16位ALU (片内并行,组间并行) G* P* 1个74L182 ,2个4位ALU74L181 全先行进位32位ALU逻辑方框图 2个74L182 ,4个4位ALU74L181 运算器小结: 多位运算器的构成的两种方式:并行进位和串行进位方式。 并行进位运算器:并行进位(先行进位) ,运算速度快;硬件 逻辑复杂。 串行进位运算器:串行进位,运算速度慢;硬件逻辑简单。 多功能算术/逻辑运算单元(74181 ALU): (1)具有多种算术运算和逻辑运算的功能; (2)先(并)行进位逻辑,从而能实现高速运算。 2.5.4 定点运算器的基本结构 74181 ALU 只是一个可以运算的组合逻辑电路,运算过程中 输入和输出还要和寄存器相连。 运算器包括:ALU,阵列乘法器,寄存器,多路开关,三态缓 冲器,数据总线等。 基本结构 1.单总线结构的运算器 电路简单,速度慢 2.双总线结构的运算器 3.三总线结构的运算器 电路复杂,速度快 总线(BUS)的基本概念 总线是构成计算机系统的互连机构,是计算机系统多个功能 部件之间进行数据传送的公共通路。 一个单处理器系统中的总线,大致分为三类: (1)内部总线:CPU内部连接各寄存器及运算部件之 间的总线。 (2)系统总线:CPU同计算机系统的其他高速功能部 件,如存储器、通道等互相连接的总线。 (3)I/O总线:中、低速I/O设备之间互相连接的总线。 总线内部结构例子 总线类型 总线按其功能可分为三类: 地址线(A BUS) 数据线(D BUS) 控制线(C BUS) 按总线的逻辑结构来说,总线可分为两类: 单向总线:信息只能向一个方向传送。 双向总线:信息可以分两个方向传送,既可以发送数据,也可 以接收数据。 2.6 浮点运算方法和浮点运算器 两个浮点数分别为: 2EM y2Ey My 其中E和E分别为数和的阶码, M和M为数和的尾数。 两浮点数进行加法和减法的运算规则是 z =(M2 EE M)2 E,E0时补码的规格化形式为 M补=00.1XXX M0时补码的规格化形式为 M补=00.1XXX M0时补码的规格化形式为 M补=11.0XXX (1)左规 当尾数出现00.0xxx(正数)或11.1xxx(负数,说明最高数位值是0)时 (即符号位与最高数值位同值), 需左规:尾数左移一位,其阶码减1 (2)右规 当尾数出现01.xxx或10.xxx时时,表示尾数溢出,定点加减法不允许,但浮 点数中不算溢出。 需右规:尾数右移一位,其阶码加1 浮点加减运算的操作过程 0 操作数的检查; 比较阶码大小并完成对阶;(使小数点对齐) 尾数进行加或减运算; 结果规格化 舍入处理 溢出处理 (1) 0 操作数检查 浮点加减运算过程比定点运算过程复杂。如果判知两个操作 数或中有一个数为0,即可得知运算结果而没有必要再 进行后续的一系列操作以节省运算时间。0操作数检查步 骤则用来完成这一功能。 (2) 比较阶码大小并完成对阶 两浮点数进行加减,首先要看两数的阶码是否相同,即小数点 位置是否对齐。 若二数阶码相同,表示小数点是对齐的,就可以进行尾数的加 减运算。 反之,若二数阶码不同,表示小数点位置没有对齐,此时必须使 二数阶码相同,这个过程叫作对阶。 要对阶,首先应求出两数阶码E和E之差,即 E EE 对阶方法 在对阶时,总是使小阶向大阶看齐,即小阶的尾数向右移位( 相当于小数点左移)每右移一位,其阶码加1,直到两数的 阶码相等为止,右移的位数等于阶差E。 原因:由于浮点表示的数多是规格化的,尾数左移会引起 最高有效位的丢失,造成很大误差。尾数右移虽引起最低 有效位的丢失,但造成误差较小。 注意: 浮点数运算过程中的右移对阶过程破坏了数据的 规格化,使数据精度降低。 (3) 尾数求和运算 对阶结束后,即可进行尾数的求和运算。不论加法运算还是 减法运算,都按加法进行操作,其方法与定点加减法运算完 全一样。 (4)结果规格化(右规和左规) 当尾数出现01.xxx或10.xxx时时,表示尾数溢出,定点加 减法不允许,但浮点数中不算溢出。 浮点运算时,表明尾数运算结果的绝对值大于1, 此时,需右规:尾数右移一位,其阶码加1 (5) 舍入处理 在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾 数的低位部分会被丢掉,从而造成一定误差,因此要进行舍 入处理。 简单的舍入方法有两种:一种是“0舍1入”法,即如果右 移时被丢掉数位的最高位为0则舍去,为1则将尾数的末位 加“1”。另一种是“恒置1”法,即只要数位被移掉,就在尾数 的末尾恒置“1”。 IEEE754 在IEEE754标准中,舍入处理提供了四种可选方法: 就近舍入 朝0舍入 朝舍入 朝舍入 (6)溢出处理 浮点数的溢出是以其阶码溢出表现出来的。在加减运算过 程中要检查是否产生了溢出:若阶码正常,加(减)运算正 常结束;若阶码溢出,则要进行相应处理。另外对尾数的 溢出也需要处理。 阶码上溢,一般将其认为是和 。 阶码下溢,则数值为0。 例题29 设x = 10ExMx = 1020.3 , y = 10EyMy = 1030.2 , 求 x+y=? x-y=? 解:Ex=2, Ey=3, ExEy, 对阶时小阶向大阶看齐。 x+y = (Mx10Ex-Ey + My)10Ey = (0.3102-3 + 0.2)103 = 0.23 103 = 230 x-y = (Mx10Ex-Ey - My)10Ey = (0.3102-3 - 0.2)103 = -0.17 103 = -170 例题28 设2 0100.11011011,2 100(0.10101100), 求。(非IEEE754标准) 0 操作数的检查; 比较阶码大小并完成对阶;(使小数点对齐) 尾数进行加或减运算; 结果规格化 舍入处理 溢出处理 2.6.2 浮点乘法、除法运算 1、乘法运算 设有两个浮点数和: 2 EM 2 EM 浮点乘法运算的规则是 2 (EE) (MM) 即乘积的尾数是相乘两数的尾数之积,乘积的阶码是相乘两 数的阶码之和, 也有规格化与舍入等步骤。 2、除法运算 设有两个浮点数和: 2 EM 2 EM 浮点除法运算的规则是 2 (EE) (MM) 即商的尾数是相除两数的尾数之商,商的阶码是相除两数的 阶码之差,也有规格化与舍入等步骤。 3、浮点数的乘除运算步骤 1, 0 操作数检查; 2, 阶码加/减操作; 3, 尾数乘/除操作; 4, 结果规格化; 5, 舍入处理。 2.6.3浮点运算流水线 浮点运算器所需硬件: 阶码只有定点整数加减运算 尾数有定点小数的加减和乘除运算 至少需要两个定点运算器 1.流水线原理 把输入的任务分割为一系列的子任务,使各个子任务能在流水

温馨提示

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

最新文档

评论

0/150

提交评论