




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统总线 存储器 运算器 控制器 接口与通信 输入 输出设备 林楠办公室 211办公电话 0371 63888959电子邮件 linnan 计算机组成原理 第六章计算机的运算方法 运算器的基本结构 P281 283 ALU 移位门 寄存器组 输入选择门和数据总线组成 问题1 ALU电路没有记忆功能 参与运算的数 运算的结果放那里 A B C D 答 存放在寄存器组 多个寄存器 中 问题2 ALU两个参加运算数与一个运算结果 一次只有两个数参加运算 究竟让哪个寄存器参加工作呢 答 要进行选择 选择门电路 移位门 ALU 选择门A 选择门B 通用寄存器组 数据总线 数据总线 运算器基本结构框图 参加运算的数X Y参加运算的数 运算结果 Review 第六章计算机的运算方法 1 数据的表示方式1 1 符号的处理 正数 负数 1 2 数值的处理 数制转换 1 3 小数点的处理 定点 浮点 1 4 原码的表示方法1 5 反码的表示方法1 6 补码的表示方法 重点研究 1 7 移码的表示方法1 8 字符 汉字的表示方法 ASCII码 内码 1 9 校验码 奇偶校验 海明威校验 CRC校验 机器数的表示方法 实际数的表示方法 研究在机器中怎样用二进制表示十进制数 研究哪种机器数的表示方法更利简化运算 Review 第六章计算机的运算方法 2 定点加 减法运算与实现2 1 补码定点加 减运算 减法通过加法来实现 2 2 溢出概念与检测方法 数值超出了表示范围 2 3 补码定点加法器 注释 前面我们讨论了数的补码表示方法 采用补码表示 减法可用加法来实现 对设计硬件来讲 只要设计一个加法器就可以实现加 减运算了 不需要再配一个减法器了 Review 第六章计算机的运算方法 CPA 2 3 补码定点加法器 A B B 实现加法运算的逻辑示例 A BAA BA Q Q 延迟时间与非1T或非1T与门2T或门2T异或3T异或非3T 关于设计电路的延迟时间 扩充 提高电路运算效率 一位全加器 对一位全加器来说 和Fn的时间延迟为3T 3T 6T 设计电路时 电路总的延迟时间应该越小越好 扩充 提高电路运算效率 Review 加法器 超前进位加法器 当前计算机中使用的 从加快进位信号的传送速度考虑 可以实现多位的并行进位 即各位之间几乎同时产生送到高位的进位输出信号 采用 超前进位产生电路 来同时形成各位进位 从而实现快速加法 只要同时输入X1 X4 Y1 Y4和C0 几乎同时输出C1 4和F1 F4 用四片4位ALU电路可组成16位ALU 1110110101010001 片内进位是并行快速的 但片间进位是串行慢速的 计算时间长 Review 算术逻辑单元 把16位ALU中的每四位作为一组 用类似四位超前进位加法器 位间快速进位 的方法来实现16位ALU的 组间快速进位 16位快速ALU 第六章计算机的运算方法 3 定点乘法运算3 1 原码一位乘法3 2 补码一位乘法3 3 补码两位乘法3 4 阵列乘法器 注释 前面讲的内容帮助同学们打开思路 怎么设计运算器 机器数采用什么表示 原 反 补 对运算最有利 硬件设计时 还要考虑提高硬件运算速度 所以 讲乘除法要逐渐从提高计算机的运算速度来考虑 乘法运算可以通过硬件实现 也可以通过软件来实现 硬件实现乘法是以加法器为基础逐步累加而成 1 软件方法 通过乘法子程序 把乘法编程为累次加法运算 从而在加法器中实现 该方法经济 但运算速度慢 2 硬件方法 A 在加法器中增加一些移位和控制部件来实现 这种方法在早期的计算机采用 B 随着大规模集成电路的发展 现在设计了阵列乘法器 设置专门的多位乘法部件 3 定点乘法运算 根据数的表示方法 乘法器又有 原码乘法器 补码乘法器 原码乘法器实现乘法运算方法简单 补码乘法器实现加 减运算比较简单 在以加 减运算为主的机器中多采用补码乘法器 下面分别介绍原码 补码乘法 3 定点乘法运算 第六章计算机的运算方法 3 定点乘法运算3 1 原码一位乘法3 2 补码一位乘法3 3 补码两位乘法3 4 阵列乘法器 注释 书上讲的原码两位乘法在计算机中不是那么实现的 所以该算法不做推广 不讲了 原码一位乘法基本上是从手算演变过来 符号位单独处理 两个原码表示的数相乘 它的运算规则是 乘积的符号位 两数的符号相异或乘积 两数的绝对值相乘设n位被乘数X和乘数Y用定点小数表示 定点整数同样 被乘数 X 原 Xf Xn 1 X1X0乘数 Y 原 Yf Yn 1 Y1Y0乘积符号 Xf Yf乘积 X Y Z 原 Xf Yf 0 Xn 1 X1X0 0 Yn 1 Y1Y0 于是原码与原码相乘就变成如何进行两个正数相乘的问题了 3 1 原码一位乘法 设X 0 1101 Y 0 1011 让我们先用习惯的笔算方法求其乘积 其过程如下 0 1101乘数X 4位 0 1011被乘数Y 4位 0 11010 11010 0000 0 11010 10001111乘积Z 8位 3 1 原码一位乘法 注意 原码的符号位单独处理 XY 原 1 10001111 手算方法存在的问题 1 小数点是移动的 2 常规加法器中 一次只能进行两个数相加 无法解决n个数一次性相加 3 n位数相乘用2n 1位加法器 所以需要解决的问题 1 小数点固定 2 一次只进行两个数相加 3 由n位加法器完成 3 1 原码一位乘法 3 1 原码一位乘法 算法改造 XY X 0 1011 X 0 1 0 00 0 001 0 0001 0 1 X 0 00 X 0 001 X 0 0001 X 0 1 X 0 0 X 0 01 X 0 001 X 0 1 X 0 1 0 0 1 X 0 01 X 0 1 X 0 1 0 0 1 X 0 1 X 0 0 1 2 1对应操作 右移一位 XY 2 1 X 2 1 0 2 1 X 2 1 X 0 0 00000 0 1101 X0 1101X 00 011012 1 X 0 0 1101 X1 00111X 2 1 X 0 0 1001112 1 X 2 1 X 0 0 0000 00 1001110 2 1 X 2 1 X 0 0 01001112 1 0 2 1 X 2 1 X 0 0 1101 X1 0001111X 2 1 0 2 1 X 2 1 X 0 0 100011112 1 X 2 1 0 2 1 X 2 1 X 0 设 X 0 1101 Y 0 1011 XY 2 1 X 2 1 0 2 1 X 2 1 X 0 步骤如下 3 1 原码一位乘法 1 1 0 1 Y XY 原 1 10001111 改造算法以后分析 1 小数点固定了 2 一次只进行两个数相加 3 由于相加在高n位进行 所以只设n位加法器就可以了 上述三个问题得到了解决 但是只能说这个算法可行 如果引入计算机执行 还要与计算机的具体实现电路相结合 考虑电路执行效率 用的电路器件越少越好 3 1 原码一位乘法 实施方案 1 运算法则 若Yi 1则 X 若Yi 0则 0 说明Yi起到判断运算的作用 运算后 Y的值无需保留 这样 可以将Yi判断操作固定在最低位 即要求乘数Y每完成一步操作 右移一位 2 由于相加在高n位进行 乘积右移出的低位部分 可存入乘数Y的寄存器高位空出部分 3 为了在机器中实现乘法运算 运算器必须设置三个寄存器A B C 寄存器A存放部分积XY 初始为0 最后存放乘积的高位部分 寄存器B存放被乘数X 运算过程中不变 寄存器C存放乘数Y 判断后不再保留 最后存放乘积的低位部分 3 1 原码一位乘法 1 1 0 1 Y 0 00000 0 1101 X0 1101X 00 011012 1 X 0 0 1101 X1 00111X 2 1 X 0 0 1001112 1 X 2 1 X 0 0 0000 00 1001110 2 1 X 2 1 X 0 0 01001112 1 0 2 1 X 2 1 X 0 0 1101 X1 0001111X 2 1 0 2 1 X 2 1 X 0 0 100011112 1 X 2 1 0 2 1 X 2 1 X 0 设 X 0 1101 Y 0 1011 3 1 原码一位乘法 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 Y Y最初是乘数 最后是积的低位部分 XY 原 1 10001111 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 3 1 原码一位乘法 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 1 部分乘A积初始 0 设 X 0 1101 Y 1 1011 绝对值相乘 符号位 0 1 1 ALU 0 0 0 寄存器A 1 1 0 1 寄存器C Y 1 0 1 1 寄存器B X Cn 1 X Cn 1 X Cn 0 0 Cn 1 X 0 当堂做题 实现原码一位乘法的逻辑电路框图 X 1101 Y 1011X Y低位 1111 X 0 1101被乘数Y 0 1011乘数X Y 0 10001111 X Y初始 0000X Y高位 1000 Yn判断位 Yn判断位 X 0 1101被乘数 Y 0 1011乘数 X Y 1 100011111 A寄存器被清零 作为初始部分积XY 被乘数X放在B寄存器中 乘数Y放在C寄存器中 2 给出控制命令A ALU和B ALU 在ALU完成部分积XY 被乘数X 3 ALU的输出经过移位电路向右移一位送入A寄存器中 4 C寄存器是用移位寄存器实现的 最低位为B ALU的控制命令 相乘之积最低一位的值右移时将移入C寄存器的最高数值位 使相乘之积的低位部分保存进C寄存器中 原乘数Y逐位丢失 3 1 原码一位乘法 第六章计算机的运算方法 3 定点乘法运算3 1 原码一位乘法3 2 补码一位乘法 重点 布斯乘法 3 3 补码两位乘法3 4 阵列乘法器 方法 充当计算机 严格按照运算法则去做 不加思考 态度认真 保证结果正确 1 校正法采用补码后 正数的补码与原码相同 算法可以相同 负数的补码与原码不同 所以不能套用原码一位乘法法则 是否可以将补码按照原码一位法则运算 然后对乘的结果进行校正 得到正确的 XY 补 X 补 X0 X1X2 Xn Y 补 Y0 Y1Y2 Yn X0Y0为符号位 X Y 补 X 补 0 Y1Y2 Yn X 补 Y0X符号任意 Y 0 X Y 补 X 补 Y 补 算法与原码相同 X符号任意 Y 0 X Y 补 X 补 0 Y1Y2 Yn X 补 3 2 补码一位乘法 00 0000设部分乘积A 0 00 1101Yn 1 X 补00 110100 01101A C同时右移一位 00 0000Yn 0 000 011000 001101A C同时右移一位 00 1101Yn 1 X 补01 000000 1000001A C同时右移一位 00 0000Yn 0 00 100000 01000001A C同时右移一位 X 补11 0011 XY 补 11 01110001 设 X 原 0 1101 Y 原 1 1011 XY 原 1 10001111 X 补 0 1101 Y 补 1 0101 XY 补 1 01110001 X Y X 补 3 2 补码一位乘法 补码运算的符号位不用单独处理 因为现在的计算机都是补码运算 所以不用校正法 用比较法 但是讲校正法要在比较法的基础上才好理解 所以先讲校正法 2 比较法 难点 重点 比较法是由布斯 Booth 夫妇提出的 故有称为Booth乘法 校正法由公式 X 补 Y 补 X 补 0 Y1Y2 Yn X 补 Y0进一步推倒变换 按机器执行顺序求出每一步的部分积如下 3 2 补码一位乘法 Z0 补 0 Z1 补 2 1 Z0 补 Yn 1 Yn X 补 设 Yn 1 0 Z2 补 2 1 Z1 补 Yn Yn 1 X 补 Zn 补 2 1 Zn 1 补 Y2 Y1 X 补 所以 X Y 补 Zn 1 补 Zn 补 Y1 Y0 X 补 根据以上公式 在机器中具体实现时要做适当修正 比较乘数Y相邻两位Yn 1和Yn 于是补码一位乘法法则为 判断位YiYi 1操作内容00部分积 0 右移1位11部分积 0 右移1位10部分积 X 补 右移1位 01部分积 X 补 右移1位 1 被乘数X与部分积P取双符号位 符号位一并参加运算 2 乘数Y末增设Yn 1 0 根据Yn Yn 1判断位 进行n 1步加法 最后一步不移位 3 设部分积初值 0 3 2 补码一位乘法 补码右移前面补符号位 X 补 00 11011 X 补 11 00101 Y 补 1 101110部分积初始 0乘数Y设Yn 1 0判断YnYn 100 0000011011100 00 0000000 000 0000000 0000001101110 11 0010110 X 补11 0010111 1001010110111 00 0000011 011 1001011 1100101011011 00 0000011 011 1100111 1110010101101 00 1101101 X 补00 1011100 0101111010110 11 0010110 X 补11 1000011 110000110101111 0 A C YnYn 1 LDR0 LDR1 B 原码 反码 Yn Yn 1 Yn Yn 1 1 多路开关 被乘数X 乘数Y积的低位部分 部分积X Y积的高位部分 01 10 步数计数器 3 2 补码一位乘法 ALU 第六章计算机的运算方法 3 定点乘法运算3 1 原码一位乘法3 2 补码一位乘法3 3 补码两位乘法3 4 阵列乘法器 方法 充当计算机 严格按照运算法则去做 不加思考 态度认真 保证结果正确 将补码一位乘法 比较法 合成两步进而得补码两位乘法法则为 3 3 补码两位乘法 1 初始设置 设部分积为0 Yn 1 02 符号参加运算 设置部分积与被乘数三个符号位 乘数Y数值位数n为偶数设两个符号位 为奇数设一个符号位 3 运算步骤 根据Yn 1 Yn Yn 1判断操作 4 最后一步 乘数Y数值位数n为偶数最后一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于新型分析技术的彗星大气成分研究-洞察及研究
- 油墨厂辛苯存储规章
- 英国留学方案流程咨询
- 橡胶厂销售费用管理实施办法
- 国际情报员营销方案策划
- 跨界文献融合-洞察及研究
- 学生消防安全培训报到课件
- 学生步行安全培训记录课件
- 手入室自我防护课件
- 出差旅游证明书出国旅行许可(5篇)
- GB/T 31155-2014太阳能资源等级总辐射
- 工程施工停工令模板
- 2023年蒸汽管路设计
- 耳部解剖及急慢性中耳炎课件
- 工程项目投资与融资讲义 课件
- 食品质量安全抽检数据分析模型优质资料
- 承插型盘扣式钢管进场验收记录表
- 军事训练教学法模板课件
- 物流设施与设备ppt课件(完整版)
- 交通运输安全管理整套教学课件
- 安检员X射线机培训-共86页课件
评论
0/150
提交评论