




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页共43页 第3章运算方法和运算部件 内容提要算术逻辑运算基础算术逻辑运算单元 ALU 定点数乘法运算定点除法运算浮点数运算 第2页共43页 3 1算术逻辑运算基础 内容提要定点数的加减法运算溢出及其判别方法移位十进制数的运算逻辑运算 第3页共43页 3 1 1定点数的加减法运算 补码加法运算补码减法运算 第4页共43页 1 补码加法运算 两个参与相加的数无论是正数还是负数 在进行相加运算时 只要将两个数表示成对应的补码形式 再将这两个补码直接按二进制运算规则相加 所得的结果就是和的补码形式 即两个数补码的和等于两个数和的补码 可用如下关系式描述 X 补 Y 补 X Y 补 第5页共43页 补码加法运算举例1 例1 X 0 1011Y 0 1010求 X 补 Y 补 解 X 补 0 1011 Y 补 1 0110 第6页共43页 补码加法运算举例2 例2 X 0 1010Y 0 0101求 X 补 Y 补 解 X 补 1 0110 Y 补 1 1011 第7页共43页 2 补码减法运算 两个异号数的相加是利用它们的补码将减法变成了加法来做 减法运算当然也可以转化成加法来完成 之所以使用这种方法而不用直接减法 是因为这样可以和常规的加法运算使用同一加法器电路 从而简化了计算机硬件电路的设计 根据上式可得 X Y 补 X Y 补 X 补 Y 补 X 补 Y 补 第8页共43页 补码减法 运算公式为 X 补 Y 补 X Y 补通过 Y 补求得 Y 补可以将减法运算转化为补码的加法运算 已知 Y 补求 Y 补的法则是 对 Y 补各位 包括符号位 取反 末位加1 就可以得到 Y 补例 Y 补 1 1011则 Y 补 0 0101 Y 补 0 1011则 Y 补 1 0101 第9页共43页 补码减法运算举例1 例1 X 0 1100Y 0 0110求 X 补 Y 补 解 X 补 0 1100 Y 补 0 0110 Y 补 1 1010 X 补 Y 补 X 补 Y 补 第10页共43页 补码减法运算举例2 例2 X 0 1100Y 0 0110求 X 补 Y 补 解 X 补 1 0100 Y 补 1 1010 Y 补 0 0110 则 X 补 Y 补 X 补 Y 补 第11页共43页 补码加减法小结 由此得到 补码加减法运算法则如下 1 参加运算操作的数都用补码表示 2 数据的符号与数据一样参加运算 3 求差时将负减数求补 用求和代替求差 将减法运算转化为补码的加法运算 4 运算结果为补码 如果符号位为0 表明运算结果为正 如果符号位为1 则表明结果为负 5 符号位的进位为模值 应该去掉 第12页共43页 3 1 2溢出及其判别方法 由于CPU的字长是一定的 在确定了运算字长和数据的表示方法后 所能表示的数的范围也就相应确定了 当运算结果超出了机器数所能表示的范围 就会产生溢出 两个异号数相加或两个同号数相减其运算结果是不会产生溢出的 只有两个同号数相加或两个异号数相减才可能发生溢出 运算结果为正且大于所能表示的最大正数 称为 正溢 运算结果为负且小于所能表示的最小负数 称为 负溢 下面我们可以通过以下几个例子来推导出发生溢出的条件 设字长为8位 用补码表示 则表示数的范围为 128 127 如果运算结果超出此范围则发生了溢出 第13页共43页 3 1 2溢出及其判别方法 第14页共43页 3 1 2溢出及其判别方法 第15页共43页 1 根据符号位判断 从上述例子 b d 可以看出 两个正数相加 结果却为负数 则表明发生了溢出 两个负数相加 结果却为正数 则也表明发生了溢出 分别用Xn Yn Sn表示两个操作数的符号和运算结果的符号 则发生溢出的条件为 溢出 XnYnSn XnYnSn 第16页共43页 2 根据进位位判断 设数值位向符号位发生的进位为Cn 1 而符号位向更高位发生的进位为Cn 则发生溢出的条件为 第17页共43页 3 根据双符号位判断 由于用一位二进制数来表示符号只能表示出正负两种情况 当产生溢出时 会使符号位的含义产生混乱 因此可将符号位扩充为两位 这样既能表示出符号的正负 又能反映出是否发生溢出和所发生溢出的类型 双符号位的编码含义如下 00结果为正 没有溢出01结果溢出 为正溢出10结果溢出 为负溢出11结果为负 没有溢出 第18页共43页 3 1 3移位 逻辑移位循环移位算术移位 第19页共43页 3 1 4十进制数的运算 计算机内采用二进制数表示信息和运算虽然具有许多优点 但是人们习惯于十进制 因此在某些场合 希望机器也能直接运算十进制数 为此 经常采取借用二进制方式来表示一个十进制数 由于十进制数须10个状态 所以借用4位二进制数的16个状态组合的其中10个状态来表示十进制数的0 9 这就是二 十进制码的基本方法 用英文字母表示为BCD码 BinaryCodedDecimal 第20页共43页 3 1 5逻辑运算 1 逻辑 与 运算逻辑 与 运算通常也称为 逻辑乘法 用符号 或 表示 可用逻辑 与 门电路实现 2 逻辑 或 运算逻辑 或 运算通常也称为 逻辑加法 用符号 或 表示 可用逻辑 或 门实现 3 逻辑 非 运算逻辑 非 运算通常也称为 求反运算 在逻辑变量上加一短线表示该变量的 非 求反操作可用反向器 非门 实现 4 逻辑 异或 运算逻辑 异或 运算就是通常所说的 不带进位的加法 运算 即 半加 用符 表示 可用 异或门 电路实现 第21页共43页 3 2算术逻辑运算单元 ALU 加法单元电路串行加法器和并行加法器并行加法器的进位链ALU举例 第22页共43页 3 2 1加法单元电路 在ALU中 一位加法单元电路通常都采用全加器 全加器的框图和功能表如图所示 第23页共43页 3 2 1加法单元电路 第24页共43页 3 2 1加法单元电路 根据功能表可写出全加器的和Fi及进位Ci 1的逻辑表达式 第25页共43页 3 2 2串行加法器和并行加法器 串行加法器并行加法器 第26页共43页 1 串行加法器 第27页共43页 2 并行加法器 在并行加法器中 加法单元电路的位数与操作数的位数相同 可以同时对操作数的各位进行相加 并行加法器中的操作数各位也是同时提供的 但由于进位是逐位形成的 从而使各位的和也不能同时得到 第28页共43页 3 2 3并行加法器的进位链 进位函数串行进位采用串行进位的并行加法器的结构如图示 第29页共43页 3 2 3并行加法器的进位链 并行进位4位并行加法器逻辑电路图 如图所示 4位并行加法器 第30页共43页 3 2 3并行加法器的进位链 组内并行 组间串行的进位链 组内并行 组间串行的16位加法器 第31页共43页 3 2 3并行加法器的进位链 组内并行 组间并行的进位链 组内并行 组间并行的16位加法器 第32页共43页 3 2 4ALU举例 SN74181的外部结构 SN74181外部结构图 第33页共43页 3 2 4ALU举例 SN74181内部结构 一位ALU内部结构 第34页共43页 3 2 4ALU举例 由负逻辑操作数表示的74181ALU逻辑电路图 SN74181ALU逻辑电路图 第35页共43页 3 2 4ALU举例 SN74181的功能表 第36页共43页 3 2 4ALU举例 用SN74181构成多位的ALU 16位并行进位ALU结构 第37页共43页 3 3定点数乘法运算 无符号数一位乘法带符号数一位乘法 第38页共43页 3 3 1无符号数一位乘法 若要在计算机内实现上述二进制数乘法的运算 应解决以下几个问题 因为加法单元电路只有两个输入端 因此在机器内多个数据一般不能同时相加 一次加法操作只能求出两数之和 因此每求得一个相加数 就应与上次部分积相加 人工计算时 相加数逐次向左偏移一位 由于最后的乘积位数是乘数 或被乘数 的两倍 如按此法在机器中运算 加法器的位数也需增到两倍 观察计算过程很容易发现 在求本次部分积时 前一次部分积的最低位就不再参与运算了 因此可将其右移一位 相加数可直送而不必偏移 于是用N位加法器就可实现两个N位数相乘 部分积右移时 乘数寄存器的内容也同时右移一位 这样可以用乘数寄存器的最低位来控制相加数 取被乘数或零 同时乘数寄存器的最高位可接收部分积右移出来的一位 因此 完成乘法运算后 寄存器中保存乘积的高位部分 乘数寄存器中保存乘积的低位部分 第39页共43页 3 3 2带符号数一位乘法 定点原码一位乘法定点补码一位乘法 第40页共43页 1 定点原码一位乘法 两个用原码表示的数相乘 其乘积的符号为相乘两数的异或值 而数值则为两数绝对值之积 第41页共43页 2 定点补码一位乘法 补码与真值的关系补码的右移补码一位乘法 校正法 补码一位乘法 比较法 第42页共43页 3 4定点除法运算 无符号数一位除法带符号数一位除法 第43页共43页 3 4 1无符号数一位除法 恢复余数法不够减的情况 加上补码后 结果的符号位为11 负 则表明不够减 商0 恢复 加除数 左移 再重复操作 够减的情况 加上补码后 结果为符号位为00 正 则表明够减 商1 再重复以上的 步骤 加减交替法 不恢复余数法 第44页共43页 3 4 2带符号数一位除法 在被除数的绝对值小于除数的绝对值 即商不溢出 的情况下 补码一位除法的运算规则如下 如果被除数与除数同号 用被除数减去除数 若两数异号 用被除数加上除数 如果所得余数与除数同号上商l 若余数与除数异号 上商0 该商即为结果的符号位 求商的数值部分 如果上次上商l 将余数左移一位后减去除数 如果上次上商0 将余数左移一位后加上除数 然后判断本次操作后的余数 如果余数与除数同号上商l 若余数与除数异号上商0 如此重复执行n 1次 设数值部分有n位 商的最后一位一般采用恒置l的办法 并省略了最低位 l的操作 此时最大误差为 2 n 如果对商的精度要求较高 则可按规则 2 再进行一次操作 以求得商的第n位 当除不尽时 若商为负 要在商的最低一位加l 使商从反码值转变成补码值 若商为正 最低位不需要加l 第45页共43页 3 5浮点数运算 浮点数的表示形式 以2为底 N M 2E浮点数的加减法运算浮点数的乘除法运算浮点数运算器 第46页共43页 3 5 1浮点数的加减法运算 对阶 操作尾数的加 减运算规格化操作舍入处理检查阶码是否溢出 第47页共43页 浮点数的表示 机器中任何一个浮点数可写成 x为浮点数的尾数 一般为绝对值小于1的规格化数 补码表示时允许为 1 机器中可用原码或补码表示 jx为浮点数的阶码 一般为整数 机器中大多用补码或移码表示 r为浮点数的基数 常用2 4 8或16表示 以下以基数为2进行讨论 第48页共43页 浮点加减运算 设两个浮点数尾数的加减运算规则与定点数完全相同 当两浮点数阶码不等时 因两尾数小数点的实际位置不一样 尾数部分无法直接进行加减运算 第49页共43页 浮点加减运算的步骤 对阶 使两数的小数点位置对齐 尾数求和 将对阶后的两尾数按定点加减运算规则求和 差 规格化 为增加有效数字的位数 提高运算精度 必须将求和 差 后的尾数规格化 舍入 为提高精度 要考虑尾数右移时丢失的数值位 判断结果 即判断结果是否溢出 第50页共43页 1 对阶 这一步操作是将两个加数的小数点对齐 小阶向大阶看齐 阶码较小的数 其尾数向右移 每右移一位 阶码加 1 直到两数阶码相同为止 尾数右移时可能会发生数码丢失 影响精度 第51页共43页 例 两浮点数x 0 1101 201 y 0 1010 211 求x y 1 首先写出x y在计算机中的补码表示 x 补 00 01 00 1101 y 补 00 11 11 0110 2 在进行加法前 必须先对阶 故先求阶差 j 补 ix 补 jy 补 00 01 11 01 11 10即 j 2 表示x的阶码比y的阶码小 再按小阶向大阶看齐的原则 将x的尾数右移两位 其阶码加2 得 x 补 00 11 00 0011此时 j 0 表示对阶完毕 第52页共43页 2 尾数求和 将对阶后的两个尾数按定点加 减 运算规则进行运算 注意 并不考虑溢出 溢出由阶码决定接上例 两数对阶后得 x 补 00 11 00 0011 y 补 00 11 11 0110则 Sx Sy 补 00 0011 11 0110 11 1001即 x y 补 00 11 11 1001 第53页共43页 3 规格化 尾数S的规格化是指尾数满足条件 如果采用双符号位的补码 则当S 0时 其补码规格化形式为 S 补 00 1 当S 0时 其补码规格化形式为 S 补 11 0 但对S 0时 有两种情况需特殊处理 S 1 2 则 S 补 11 100 0 对于补码而言 它不满足于上面的规格化表示式 为了便于硬件判断 特规定 1 2是规格化的数 对补码而言 S 1 则 S 补 11 000 0 因小数补码允许表示 1 故 1视为规格化的数 第54页共43页 规格化又分左规和右规两种 左规 当尾数出现00 0 或11 1 时 需左规 左规时尾数左移一位 阶码减1 直到符合补码规格化表示式为止 右规 当尾数出现01 或10 时 表示尾数溢出 这在定点加减运算中是不允许的 但在浮点运算中这不算溢出 可通过右规处理 右规时尾数右移一位 阶码加1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版私营企业股权部分转让与品牌合作合同
- 老旧小区景观与文化环境设计方案
- 二零二五年度荒山荒坡林业资源承包开发合同
- 二零二五年场监督管理局信息化项目管理咨询合同
- 二零二五年度二手房买卖合同:交房标准及装修要求范本
- 房产创意知识培训课件
- 取消大学毕业论文
- 本科毕业论文 怎么写
- 2025孕育知识考试题及答案
- 仓库管理系统 毕业论文
- 2025年北交所开通测试题及答案
- 2025年国家安全知识竞赛题库试题(附答案)
- 2025年法人试题及答案
- 水稻全程机械化栽培技术
- 2025年患者转运与护理知识试题附答案
- 浙江省2025年中考语文真题试卷及答案
- 物流跟踪管理办法
- BIM建模(活页式) 课件 61.项目桥梁轴网创建 -70.视觉样式
- 巡察整改培训课件
- 学校竣工活动方案
- 浙江省台州市2024-2025学年高一下学期期末质量评估历史试题(含答案)
评论
0/150
提交评论