1 / 32

运算器与运算方法

运算器与运算方法. My Email: liuxd@buaa.edu.cn or xudliu@263.net. 本讲内容. 加减法运算及其实现 乘法运算及其实现(重点) 除法运算 浮点数运算 十进制数运算. 加减法运算及其实现 乘法运算及其实现(重点) 除法运算 浮点数运算 十进制数运算. 若. 则. 1.1 加减法运算机器实现. 原则(以定点整数为例说明). [ X] 补 与[- X] 补. S i. C i+1. . C i. A i. B i. 1.1 加减法运算机器实现. 加法单元(全加器). 1.1 加减法运算机器实现.

selima
Télécharger la présentation

运算器与运算方法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 运算器与运算方法 My Email:liuxd@buaa.edu.cn or xudliu@263.net

  2. 本讲内容 • 加减法运算及其实现 • 乘法运算及其实现(重点) • 除法运算 • 浮点数运算 • 十进制数运算

  3. 加减法运算及其实现 • 乘法运算及其实现(重点) • 除法运算 • 浮点数运算 • 十进制数运算

  4. 则 1.1 加减法运算机器实现 • 原则(以定点整数为例说明) • [X]补与[-X]补

  5. Si Ci+1  Ci Ai Bi 1.1 加减法运算机器实现 • 加法单元(全加器)

  6. 1.1 加减法运算机器实现 • 并行加法器--串行进位 • 串行进位的特点: • 进位串行传递 • 进位延时较长

  7. 1.1 加减法运算机器实现 • 并行加法器--并行进位(或先行进位) • 并行进位的特点 • 同时产生进位 • 加法延时缩短 • 实现相对复杂

  8. 1.1 加减法运算机器实现 • 并行进位链

  9. 1.1 加减法运算机器实现 • 并行进位加法器

  10. 1.1 加减法运算机器实现 • 分组并行进位加法器(组内并行,组间传递)

  11. 1.1 加减法运算机器实现 • 分组并行进位加法器(组内并行,组间并行)

  12. 加减法运算及其实现 • 乘法运算及其实现(重点) • 除法运算 • 浮点数运算 • 十进制数运算

  13. 2.1 无符号数乘法及其实现 • 笔算分析 • 1101 × 1011 • 机器算法改进 • 通过多次加法实现乘法 • 每次加法均在上一次加法的结果(部分积)的基础上进行 • 每完成一次加法,结果右移一位 • 举例

  14. 2.1 无符号数乘法及其实现 • 算法推导(以定点整数为例)

  15. 2.1 无符号数乘法及其实现 变成分步算式:

  16. 2.1 无符号数乘法及其实现 • 逻辑实现 • 逻辑部件 • 加法器Adder • 被乘数寄存器M • 乘数寄存器Q(乘积低位部分) • 累加器A(部分积,乘积高位部分) • 控制逻辑 • 数据通路 • Adder  M • Adder  A • A  Adder • A  Shr A, Q  Shr Q, Qn-1  A0

  17. 2.1 无符号数乘法及其实现 • 逻辑实现结构图

  18. 2.2 补码乘法及其实现 • 补码乘法规则 • 乘积的补码=被乘数的补码 ×乘数的真值 • 问题与约束 • 参加运算的操作数本身是补码形式 • 机器中不能直接表示真值 • 必须寻求一种直接利用操作数补码进行运算来实现补码乘法的算法 • 结果要求直接是补码形式

  19. 2.2 补码乘法及其实现(一位比较法,又称一位Booth法) • 补码表示与真值的关系 • 比较法算法推导(以定点整数为例)

  20. 2.2 补码乘法及其实现(一位比较法,又称一位Booth法) 变成分步算式:

  21. 2.2 补码乘法及其实现(一位比较法,又称一位Booth法) • 算法规则 • 比较乘数相邻的两位:Qi 和 Qi-1 • Qi Qi-1=00 或 11,上一次部分积直接右移一位形成新的部分积 • Qi Qi-1=01,上一次部分积加上被乘数补码后右移一位形成新的部分积 • Qi Qi-1=10,上一次部分积减去被乘数补码后右移一位形成新的部分积 • 重复 n 次。 • 对于 n 位数的一位比较法,需要执行 n 次加法运算和 n 次移位运算。 • 举例

  22. 2.2 补码乘法及其实现(一位比较法,又称一位Booth法) • 流程图

  23. 2.2 补码乘法及其实现(一位比较法,又称一位Booth法) • 逻辑实现 • 采用两位符号位(为什么?) • 加法器ADDER(n+1位) • 累加器A(n+1位),保存部分积,最后保存乘积高位部分 • 被乘数寄存器M • 乘数寄存器Q,最后保存结果低位部分 • 计数器Counter,对运算次数计算 • 触发器,控制逻辑等

  24. 2.2 补码乘法及其实现(一位比较法,又称一位Booth法) • 数据通路及微操作控制信号 • P0:Shr A, Shr Q, Qn-1  A0 • P1:ADD  A • P2:ADD  M • P3:ADD  NOT M • P4:Counter  Counter - 1 • P5:A  ADD

  25. 2.2 补码乘法及其实现(一位比较法,又称一位Booth法) • 实现结构图

  26. 1位比较法 2位比较法 2.2 补码乘法及其实现(二位比较法) • 二位比较法 • 在一位比较法的基础上,对算法进行改进,每次比较乘数相邻的 3 位,根据不同的组合,对部分积进行不同的加减运算,然后对结果右移 2 位,形成新的部分积。 • 算法推导如下:

  27. 2.2 补码乘法及其实现(二位比较法) • 算法规则 • 比较乘数相邻的3 位:Qi+1、Qi 和 Qi-1 • Qi+1 Qi Qi-1=000 或 111,A  1/4 A • Qi+1 Qi Qi-1=010 或 100,A  1/4 (A + M) • Qi+1 Qi Qi-1=011 或 101,A  1/4 (A - M) • Qi+1 Qi Qi-1=110,A  1/4 (A + 2M) • Qi+1 Qi Qi-1=001,A  1/4 (A - 2M) • 重复 n/2 次(n为偶数)或(n+1)/2次(n为奇数)。 • n为奇数时,最后一次采用1位比较法算法. • 采用3位符号位 (Why?)

  28. 2.3 阵列乘法器 • 基本思路 • 利用若干全加器,完全由硬件直接计算乘法结果 • 以 4 位无符号数为例

  29. 2.3 阵列乘法器 • 实现电路

  30. 2.3 阵列乘法器 • 总结: • 对于n位的阵列乘法,需全加器n(n-1)个 • 最长路径2(n-1)个全加器延时 • 最后的串性进位可采用先行进位加法器

  31. 加减法运算及其实现 • 乘法运算及其实现(重点) • 除法运算 • 浮点数运算 • 十进制数运算

  32. 数的机器编码及其表示 • 字符的表示 • 指令系统 • 指令系统举例 • 指令系统的设计

More Related