1 / 14

计算机组成原理第三章

计算机组成原理第三章. 知识点二:定点数乘法运算. 主讲教师:秦磊华. 问题引入. 乘法运算是计算机中最基本的运算类型之一,如何实现乘法?如何提高乘法运算的速度?. 学习建议.  系统观: 与数据表示的知识关联,选择合适的数据表示方法 , 便于乘法运算方法和运算器设计的简化 ; 在理解乘法过程的基础上,思考如何优化包含乘法运算的程序。 构造观: 乘法器的设计与实现方法。. 1. 机器数的移位操作. 移位是乘 / 除法运算的基本操作,分为逻辑移位与算术移位,每种移位操作又可分为左移和右移. 2. 原码一位乘法. 1) 二进制手工乘法过程.

huong
Download Presentation

计算机组成原理第三章

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. 计算机组成原理第三章 知识点二:定点数乘法运算 主讲教师:秦磊华

  2. 问题引入 乘法运算是计算机中最基本的运算类型之一,如何实现乘法?如何提高乘法运算的速度? 学习建议 系统观:与数据表示的知识关联,选择合适的数据表示方法,便于乘法运算方法和运算器设计的简化; 在理解乘法过程的基础上,思考如何优化包含乘法运算的程序。 构造观:乘法器的设计与实现方法。

  3. 1.机器数的移位操作 移位是乘/除法运算的基本操作,分为逻辑移位与算术移位,每种移位操作又可分为左移和右移.

  4. 2.原码一位乘法 1)二进制手工乘法过程 a. 说明乘法可由加法实现 b. 存在的问题: •需要长度为2n的积寄存器; •每步运算中被乘数左移次数不同,不便于控制; •需要多输入端的FA。

  5. 循环累加代替手工算法中的一次集中加,可利用FA实现乘法;循环累加代替手工算法中的一次集中加,可利用FA实现乘法; 每次右移部分积,克服手工算法中需要多次左移被乘数的问题。

  6. 例1: 已知 X = 0.110 Y= - 0.101 计算[X]原 · [Y]原 解: [X]原= 0.110 [Y]原= 1.101 , 仅取数值部分参加运算 部分积 乘数 / 判断位 说明 00.000 Y0.101Y3=1 部分积 + |X| + 00.110 00.110 每次运算结果右移1位  00.011 0 Y0.10 Y3 =0 部分积 + 0 + 00.000 00.011  00.001 10Y0.1 Y3=1 部分积 + |X| + 00.110 00.111 [X]原·[Y]原 = X0Y0.011110 =1.011110 00.011 110 Y0

  7. R0存放部分积,初值为0,R2存放X的绝对值; R1开始存放Y,运算中还保存部分积; yn位作为部分积累加数据的判断条件;

  8. 3.补码一位乘法 设[X]补=X0X1X2…Xn,[Y]补=Y0Y1Y2…Yn,补码一位乘法的运算规则如下: (1)被乘数一般取双符号位、乘数取单符号位参加运算; (2)乘数末位增设附加位y n十1,且初值为0; (3)利用y n十1 yn的值决定对部分积的下次操作控制:

  9. R1末端增设附加yn+1且其初值为0, R2存放[X]补; y n+1-yn的值决定每步累加的值是0、[X]补还是[-X]补; R2与ALU的通路上取反电路实现求[-x]补的功能。

  10. 4.阵列乘法器 设A= 0.a3a2a1a0, B=0.b3b2b1b0 0.a3 a2 a1 a0 0.b3 b2 b1 b0 a3b0 a2b0 a1b0 a0b0 A3b1 a2b1 a1b1 a0b1 A3b2 a2b2 a1b2 a0b2 A3b3 a2b3 a1b3 a0b3

  11. 思考与讨论 设计A为 整数,如何才能快速实现2×A ?

  12. 知识点二 回顾 算术移位与逻辑移位操作; 原码乘法运算方法与乘法电路; 补码乘法运算方法与乘法电路; 阵列乘法器— 通过加法阵列提高乘法速度。

More Related