- 1、本文档共294页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 3 章 运算方法与运算器 本章学习内容 基本算术逻辑运算电路 定点加、减、乘、除运算 浮点加、减、乘、除运算 十进制数的运算 3.1 运算器的设计方法 运算器所具有的只是简单的算术、逻辑运算以及移位、计数等功能。 计算机中对数据信息的加工的基本思想: 将各种复杂的运算处理分解为最基本的算术运算和逻辑运算。 例如在算术运算中,可以通过补码运算将减法化为加法;利用加减运算与移位功能的配合实现乘除运算;通过阶码与尾数的运算组合实现浮点运算。 运算器逻辑组织结构设计的层次 ⑴ 根据机器的字长,将N个一位全加器通过加法进位链连接构成N位并行加法器。 ⑵ 利用多路选择逻辑在加法器的输入端实现多种输入组合,将加法器扩展为多功能的算术/逻辑运算部件。 ⑶ 根据乘除运算的算法,将加法器与移位器组合,构成定点乘法器与除法器。将计算定点整数的阶码运算器和计算定点小数的尾数运算器组合构成浮点运算器。 ⑷ 在算术/逻辑运算部件的基础上,配合各类相关的寄存器,构成计算机中的运算器。 3.2 定点补码加减运算 原码加减运算规则: 首先判断参加运算的两个操作数的符号,再根据操作的要求决定进行相加还是相减操作。运算时,符号位不参加运算,只有两数的绝对值参加运算。最后根据两个操作数绝对值的大小决定结果的符号。 ∵大多数计算机中只设置加法器 ∴做原码减法运算时用|x|+[|y|]变补代替|x|-|y| 原码加减运算步骤 ⑴ 判断参加运算的两个操作数的符号,决定进行相加还是相减操作。 ⑵ 取参加运算的操作数的绝对值。 ⑶ 若做加法,则两数直接相加;若做减法,则将减数先变一次补,再进行加法运算。 ⑷ 运算结果的处理: ① 加法运算: 无进位,即得到正确结果。 有进位,结果溢出。 ② 减法运算: 有进位,结果为正,即得到正确结果。 无进位,结果为负,需将结果再变一次补, 得到正确结果。 ⑸ 取绝对值大的操作数的符号作为结果的符号,给结果加上符号位。 3.2.1 补码运算的基础 由于原码加减算法复杂,而补码表示可以把加法、减法均转换为加法,大大简化了加减运算算法,所以在计算机中均采用补码加减运算。 补码运算:参加运算的操作数均用补码表示并且运算结果也以补码表示。 1. 补码加法 补码加法的基本关系: [x]补+[y]补=[x+y]补 (mod M) (3-1) 即两数补码之和等于两数之和的补码。 式(3-1)中: 若x,y是定点小数,则Mod=2; 若x,y是定点整数,则Mod=2n+1,n为定点整数数值部分的位数。 以定点小数为例证明式(3-1)的正确性。 证明: 设x,y的取值范围分别为-1≤x<1,-1≤y<1;两数之和x+y的值在正常范围之内,即:-1≤x+y<1。 (1) 设x≥0,y≥0,则x+y≥0 由补码定义: [x]补=x,[y]补=y, 得:[x]补+[y]补=x+y=[x+y]补 (2) 设x≥0,y<0 且 |x|≥|y| 由补码定义 [x]补=x,[y]补=2+y (mod2) 得:[x]补+[y]补=2+x+y ∵|x|≥|y|, ∴x+y≥0,[x+y]补=x+y ∵2+x+y≥2 ∴[x]补+[y]补=x+y (mod2) 即证得 [x]补+[y]补=[x+y]补 (3) 设x≥0,y<0 且|x|<|y| 由补码定义 [x]补=x,[y]补=2+y (mod2) 得:[x]补+[y]补=2+x+y ∵|x|<|y| ∴ x+y <0 [x+y]补=2+x+y=[x]补+[y]补 (mod2) (4)设x<0,y<0 由补码定义: [x]补=2+x,[y]补=2+y (mod2) 得:[x]补+[y]补=2+x+2+y =2+2+x+y 舍去模2,得 [x]补+[y]补=2+x+y ∵x<0,y<0 , x+y <0 ∴[x+y]补=2+x+y=[x]补+[y]补 当x<0,y≥0时,证明方法与(2)、(3)相同。 到此得证:[x]补+[y]补=[x+y]补 2. 补码减法 补码减法的基本关系: [x]补-[y]补=[x]补+[-y]补=[x-y]补 (3-2) 即两数补码之差等于两数之差的补码。 式(3-2)中, 如果x,y是定点小数,则Mod=2; 如果x,y是定点整数,则Mod=2n+1,n为定点整数数值部分的位数。 以定点小数为例证明式(3-2)的正确性。 根据式(3-1),可知: [x]补+[-y]补=[x+(-y)]补=[x-y]补 ∵[x+y]补=[x]补+[y]补 ∴[x]补+[-y]补=[x-y]补, [x]补-[y]补=[x]补+[-y]补=[x-y]补 证明: ∵[x+y]补=[x]补+[y]补
文档评论(0)