第3章 运算方法与运算器.ppt

  1. 1、本文档共128页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 运算方法与运算器 本章主要内容 基本的二进制加法器和ALU部件 定点加、减、乘、除运算 浮点加、减、乘、除运算 十进制数的运算与十进制加法器 逻辑运算 3.1 运算器的设计方法 根据机器字长,将N个一位全加器通过加法进位链连接构成N位并行加法器。 利用多路选择逻辑在加法器的输入端实现多种输入组合,将加法器扩展为多功能的算术逻辑运算部件。 根据乘除运算的算法,将加法器与移位器组合,构成定点乘法器与除法器。将计算定点整数的阶码运算器和计算定点小数的尾数运算器组合构成浮点运算器。 在算术逻辑运算部件的基础上,配合各类相关的寄存器构成计算机中的运算器。 1. 基本的二进制加法器 半加器——不考虑来自低位的进位 S0=A0+B0    进位C0 输入——A0、B0 输出——S0、C0 全加器——考虑来自低位的进位 Si=Ai+Bi+Ci-1 进位Ci 输入——Ai、Bi、Ci-1 输出——Si、Ci 2. 并行加法器及快速进位链 1)并行加法器 SnSn-1Sn-2…S1S0 = AnAn-1An-2…A1A0 + BnBn-1Bn-2…B1B0 Ci=AiBi + (Ai⊕Bi )Ci-1 本地进位——AiBi,与低位无关,记为di 传递进位——(Ai⊕Bi )Ci-1,与低位相关 Ci= di + ti Ci-1 2)串行进位链——进位采用串行传递 采用串行进位链的并行加法器,速度受限于进位Ci的传递。 提高速度的途径 采用更高速的器件,减短Ci的传递时延。 改进进位链的结构,减少延迟级数。 3)并行进位链——进位同时产生 以4位并行加法器为例 4位的并行进位链 4)分组并行进位链 理想的并行进位链是n位全加器的n个进位同时产生,但实际实现有困难。 对n位并行进位链的处理方案 组内并行、组间串行 组内并行、组间并行 ① 组内并行、组间串行(单重分组跳跃进位) 将n位并行加法器分成若干组,组内的进位同时产生,组与组之间采用串行进位。 以16位并行加法器为例,分为四组,每组四位 组内并行:组内的进位同时产生,即C0~C3/C4~C7/C8 ~C11/C12~C15同时产生。 组间串行:组间的进位不同时产生。即按产生时间 C12 ~C15 C8~C11 C4~C7 C0~C3。 16位组内并行、组间串行进位 小组内分析(1) 以第一组内最高位进位C3为例 C3 = d3 + t3C2 = d3 + t3d2 + t3t2d1 + t3t2t1d0 + t3t2t1t0C-1 C3 = D0 + T0C-1 小组内分析(2) 16位组内并行、组间串行进位 C3 = D0 + T0C-1 (第一组) C7 = D1 + T1C3 (第二组) C11 = D2 + T2C7 (第三组) C15 = D3 + T3C11 (第四组) ② 组内并行、组间并行(双重分组跳跃进位) n位并行加法器分若干大组,大组中又包含若干小组 每个小组的最高位同时并行产生 每个小组内的其他进位也同时并行产生 大组与大组之间、小组与小组之间采用串行进位 大组实现 小组实现——以第一小组为例 32位组内并行、组间并行进位 32位组内并行、组间并行进位过程 5)不同进位链产生全部进位的对比 假设与或非门延时 1.5ty,与非/非/或门延时ty 3.2 定点补码加减运算 补码加减运算基本关系 加法:[x]补+[y]补= [x+y]补 (mod M) 两数补码之和等于两数和的补码 减法:[x]补-[y]补=[x]补+[-y]补=[x-y]补(mod M) 两数补码之差等于两数差的补码 2. 补码运算的基本规则 参加运算的各个操作数均以补码表示,运算结果仍以补码表示; 按“逢二进一”的运算规则进行运算; 符号位与数值位一样参加运算,结果的符号位由运算得出; 进行加法时,将两补码数直接相加,得到两数之和的补码;进行减法时,则将减数变补(由[y]补求[-y]补),然后与被减数相加,得到两数之差的补码; 补码总是对确定的模而言,若运算结果超过模(符号位上产生了进位),则将模自动丢掉。 补码加减丢模举例 例3.1 x=+0.1001,y=+0.0101 x-y=? [x]补=0.1001 [y]补=0.0101 [-y]补=1.1011 x-y=+0.0100 例3.2 x=-0.0110,y=-0.0011 x+y=? [x]补=1.1010 [y]补=1

文档评论(0)

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

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

1亿VIP精品文档

相关文档