第二章-运算方法和运算器-精选版.ppt

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章-运算方法和运算器-精选版.ppt

2.5.2 多功能算术/逻辑运算单元ALU 4位ALU ? 问题1:片内是串行进位还是并行进位? 回答:由上图结构中可以看出 ??????????? Cn+1=Y0+X0Cn ??????????? Cn+2=Y1+X1Cn+1??? ??????????? Cn+3=Y2+X2Cn+2 ?????????? Cn+4=Y3+X3Cn+3 ??????????? 显然是一个串行进位,速度慢,为了实现快速ALU,需加以改进。 * * 2.5.2 多功能算术/逻辑运算单元ALU 上述片内进位采用串行,具有延时长的缺点如何改进? 思考:Cn+i与X、Y有关,而每一位中X、Y的产生是 不是同时的? 答:由于每一位中X、Y是同时产生的,则可以由下面方法算出并行进位Cn+4  ??? 第0位向第1位的进位公式为 Cn+1=Y0+X0Cn (1)   其中Cn是向第0位(末位)的进位。 第1位向第2位的进位公式为 Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn ( Cn+1用(1)式代入) 第2位向第3位的进位公式为 Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+X0X1X2Cn 第3位的进位输出(即整个4位运算进位输出)公式为 Cn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn * * 2.5.2 多功能算术/逻辑运算单元ALU 令G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 P=X0X1X2X3 G为进位发生输出 P为进位传送输出 增加P和G的目的在于实现多片(组)ALU之间的先行进位,需要配合电路,称为先行进位发生器(CLA) 器件: 74181ALU * * 2.5.2 多功能算术/逻辑运算单元ALU 具有正逻辑和负逻辑两种 内部逻辑结构图见下页 * * 74181ALU逻辑图(1) * * 74181ALU逻辑图(2) * * 2.2.2 溢出的检测 一、检测方法 1、双符号位法(参与加减运算的数采用变形补码表示) Sf1 SF2 0 0 正确(正数) 0 1 上溢 1 0 下溢 1 1 正确(负数) Sf1 表示正确的符号,逻辑表达式为V=Sf1 ⊕ Sf2,可以用异或门来实现 * * 2.2.2 溢出的检测 二、检验举例: x=+0.1100, y=+0.1000,求x+y x=-0.1100, y=-0.1000,求x+y 结果出现了01或10的情况就为溢出 * * 2.2.2 溢出的检测 2、单符号位法 Cf C0 0 0 正确(正数) 0 1 上溢 1 0 下溢 1 1 正确(负数) V=Cf ⊕ C0 其中Cf为符号位产生的进位,C0为最高有效位产生 * * 2.2.3基本的加法和减法器 基本的加法和减法器 半加器 Hi=Ai⊕ Bi 不考虑进位 全加器 考虑低位进位Ci-1和向高位的进位Ci * * 一位全加器真值表 输入 输出 Ai Bi Ci Si Ci+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 * * FA逻辑方程 因为: * * FA逻辑方程 逻辑方程见下 * * FA逻辑电路和框图 FA(全加器)逻辑电路图 FA框图 * * n位行波进位加法器 图2-3行波进位的补码加法/加法器 * * 2.3 定点乘法运算 2.3.1 定点原码乘法 2.3.2 定点补码乘法 * * 2.3.1 定点原码乘法 乘法实现方法 在现有的加法和减法器的基础上增加适当的移位线路及控制逻辑可以实现 用LSI和VLSI工艺实现专用的乘法器 编制子程序(单片机等低端机器) * * 一、定点原码乘法原理 1、人工算法与机器算法的异同性: [x]原=xf.xn-1…x1x0 [y]原=yf.yn-1…y1y0 [x.y]原=(xf ⊕ yf)+(0. xn-1…x1x0).(0. yn-1…y1y0) 尾数乘法如下: 设x=0.1101,y=0.1011         0.1 1 0 1 (x)  ×    0.1 0 1 1 (y)         1 1 0 1     1 1 0 1 0 0 0 0  +   1 1 0 1           0. 1 0 0 0 1 1 1 1 (z) * * 1、人工算法与机器算法的异同性 n位乘n位积可能为2n位. 乘积的最后是所有部分积之和,有n个数相加,而FA只有两个输入端 所以需要改造

文档评论(0)

liuxiaoyu92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档