3CPU-1运算部件_第1页
3CPU-1运算部件_第2页
3CPU-1运算部件_第3页
3CPU-1运算部件_第4页
3CPU-1运算部件_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第三章第三章 CPUCPU子系统子系统运算部件运算部件 寄存器寄存器 寄存器寄存器控制部件控制部件运算器运算器控制器控制器本章主要讨论:本章主要讨论:运算器运算器 控制器控制器数据通路结构数据通路结构与外部的连接与外部的连接指令的执行过程指令的执行过程CPUCPU组成组成CPUCPU工作原理工作原理 CPUCPU组成原理组成原理 CPUCPU工作机制(设计模型机)工作机制(设计模型机) CPUCPU子系统子系统运算器组运算器组成和运算成和运算方法方法控制器控制器原理原理定定点点乘乘法法定定点点除除法法浮浮点点运运算算组合逻辑组合逻辑控制方式控制方式微程序控微程序控制方式制方式基基本本思思想想

2、控控制制器器组组成成工工作作过过程程主机和外设主机和外设的信息交换的信息交换连接连接方式方式传送控传送控制方式制方式查查询询中中断断D DM MA A微指令微指令编码和编码和微地址微地址形成形成基基本本思思想想控控制制器器组组成成工工作作过过程程时序时序控制控制本章知识架构:本章知识架构:1. 运算部件运算部件运算器运算器 移位器移位器 ALUALU输入选择器输入选择器 ALUALU部件部件 寄存器寄存器 并行加法器并行加法器 加法器输入选择器加法器输入选择器 全加器全加器 进位链进位链 串行串行并行并行分组分组选择操作数来源选择操作数来源选择操作数组合选择操作数组合3.1.1 CPU的基本组

3、成的基本组成(1)输入逻辑输入逻辑3.1.1 CPU的基本组成的基本组成 R0R3 R0R3 输入输入 输出输出 输入输入 ALUR2 R0 R1 MI/OCB内总线内总线 C R3 DMARMDR IR PC SPPSWABDB控制控制逻辑逻辑 两输入一输出两输入一输出(2)ALU3.1.1 CPU的基本组成的基本组成 R0R3 R0R3 输入输入 输出输出 输入输入 ALUR2 R0 R1 MI/OCB内总线内总线 C R3 DMARMDR IR PC SPPSWABDB控制控制逻辑逻辑 加法器加法器具有移位功能具有移位功能(3)输出逻辑输出逻辑3.1.1 CPU的基本组成的基本组成 R0

4、R3 R0R3 输入输入 输出输出 输入输入 ALUR2 R0 R1 MI/OCB内总线内总线 C R3 DMARMDR IR PC SPPSWABDB控制控制逻辑逻辑 加法、逻辑运加法、逻辑运算、进位逻辑算、进位逻辑2.2.寄存组寄存组3.1.1 CPU的基本组成的基本组成 R0R3 R0R3 输入输入 输出输出 输入输入 ALUR2 R0 R1 MI/OCB内总线内总线 C R3 DMARMDR IR PC SPPSWABDB控制控制逻辑逻辑 (1)通用寄存器)通用寄存器组组(2)暂存器)暂存器(3)指令寄存器)指令寄存器(4)程序计数器)程序计数器(5)程序状态字)程序状态字(6)地址寄

5、存器)地址寄存器(7)数据寄存器)数据寄存器 P N Z V CP N Z V C3.3.微命令产生部件微命令产生部件3.1.1 CPU的基本组成的基本组成 微地址微地址形成电路形成电路 IR PSW PC微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR4.4.时序系统时序系统晶振输出晶振输出工作周期工作周期1 1工作周期工作周期2 2工作周期工作周期3 3时钟时钟T1T1工作脉冲工作脉冲P P时钟时钟T2T2指令周期指令周期控制不同阶段操作时间控制不同阶段操作时间控制分步操作时间控制分步操作时间对微操作定时

6、对微操作定时取指取指执行执行取数取数取出指令取出指令修改修改PC打入打入IR打入打入PC5.5.数据通路数据通路3.1.1 CPU的基本组成的基本组成移位器移位器ALU多路选择器多路选择器多路选择器多路选择器R0RnR0. . . Rn R0. . . Rn 内部总线(单向)内部总线(单向)特点:特点:R R各自独立;各自独立;可同时向可同时向ALUALU提供两个操作数;提供两个操作数;采用单向内总线。采用单向内总线。(1 1)单组内总线、分立寄存器)单组内总线、分立寄存器(2 2)单组内总线、集成寄存器)单组内总线、集成寄存器特点:特点:单口单口RAMRAM不能同时向不能同时向ALUALU提

7、提供两个操作数;供两个操作数;用锁存器暂存操作数;用锁存器暂存操作数;采用双向内总线。采用双向内总线。移位器移位器ALU暂存器暂存器暂存器暂存器内部总线(双向)内部总线(双向)R0Rn通用寄存器组(小型存储器)通用寄存器组(小型存储器)(3 3)多组内总线结构)多组内总线结构各部件输入各部件输入/ /输出引脚输出引脚连接到不同总线上。连接到不同总线上。双总线通路的双总线通路的CPUCPU结构结构ALUALU操作信号形操作信号形成电路成电路IDID时序系统时序系统总线逻辑总线逻辑中断机构中断机构MARMARMDRMDRPCPCIRIRR R0 0暂存器暂存器RnRn3.1.2 时序控制方式时序控

8、制方式1 1、同步控制、同步控制各项操作受统一时序控制。各项操作受统一时序控制。定义:定义:特点:特点: 有明显时序时间划分,有明显时序时间划分,优缺点:优缺点: 时序关系简单,时序划分规整,时序关系简单,时序划分规整,控制不复杂;控制不复杂;时间安排不合理。时间安排不合理。应用场合:应用场合: 用于用于CPUCPU内部、设备内部、系内部、设备内部、系统总线操作统总线操作 控制逻辑易于集中,便于管理。控制逻辑易于集中,便于管理。 ( (各挂接部件速度相近,传送时间确各挂接部件速度相近,传送时间确定,传送距离较近定,传送距离较近) )。 时钟周期时时钟周期时间固定,间固定, 各步操作的衔接、各部

9、件之间的数各步操作的衔接、各部件之间的数据传送受严格同步定时控制。据传送受严格同步定时控制。各项操作受各项操作受统一时序统一时序控制。控制。由由CPUCPU或或其他设备其他设备提供提供2 2、异步控制、异步控制 各项操作按不同需要安排时间,不各项操作按不同需要安排时间,不受统一时序控制。受统一时序控制。定义:定义:特点:特点: 无统一时钟周期划分,无统一时钟周期划分,例例. .异步传送操作异步传送操作 主设备:主设备:申请并掌握总线权的设备。申请并掌握总线权的设备。 各操作间的各操作间的衔接和各部件之间的信息交换采用异步应答衔接和各部件之间的信息交换采用异步应答方式。方式。总线总线主主从从 从

10、设备:从设备:响应主设备请求的设备。响应主设备请求的设备。发发/接接接接/发发主设备获得总线控制权主设备获得总线控制权 操作流程:操作流程: 主设备询问从设备主设备询问从设备主设备发送主设备发送/ /接收数据接收数据主设备释放总线控制权主设备释放总线控制权 从设备准备好?从设备准备好?YN主设备输出端与总线连接主设备输出端与总线连接主设备输出端与总线断开主设备输出端与总线断开时间安排紧凑、合理;时间安排紧凑、合理;控制复杂。控制复杂。优缺点:优缺点:应用场合:应用场合: 用于异步总线操作用于异步总线操作( (各挂接部各挂接部件速度差异大,传送时间不确定,传送距离件速度差异大,传送时间不确定,传

11、送距离较远较远) )。3 3、同步方式的变化、同步方式的变化指令周期长度可变,时钟周期长度不变。指令周期长度可变,时钟周期长度不变。不同指令安排不同时钟周期数不同指令安排不同时钟周期数总线周期中插入延长周期总线周期中插入延长周期经总线传送一次数据所用的时间经总线传送一次数据所用的时间( (送地址、读送地址、读/ /写写) )总线周期长度可变,时钟周期长度不变。总线周期长度可变,时钟周期长度不变。总线周期总线周期( (4T) )例例. .一个总线周期包含一个总线周期包含4 4个时钟周期个时钟周期时钟时钟T1T3T2T4送地址送地址读读/写数据写数据 结束结束同步方式同步方式时钟时钟T1T3T2T

12、4T4T4Tw送地址送地址读读/写数据写数据 结束结束总线周期总线周期( (5T) )扩展同步方式扩展同步方式同步方式引入异步应答同步方式引入异步应答以固定时钟周期作为时序基础,引入应答思以固定时钟周期作为时序基础,引入应答思想。想。例例.8088.8088最大模式,用一根最大模式,用一根总线请求总线请求/ /应答应答线线实现总线权的转移。实现总线权的转移。设备请求设备请求总线权总线权RQ/GTRQ/GTCPUCPU使用使用总线总线CPUCPU使用使用总线总线CPUCPU使用使用总线总线设备使用设备使用总线总线设备设备设备设备CPUCPUCPUCPU响应,响应,总线权交设备总线权交设备CPUC

13、PU设备释放设备释放总线权总线权CPUCPU设备设备若干时钟若干时钟若干时钟若干时钟1. 组合逻辑控制器组合逻辑控制器3.1.3 控制器组成控制器组成微命令微命令发生器发生器微命令序列微命令序列I/OI/O状态状态控制台信息控制台信息运行状态运行状态译码译码. PSW PSW 时序时序 IR IR地址形成地址形成PCPCD寻寻来自来自M送送M或或ALU+1送送M2.2.微程序控制器微程序控制器功能:功能: 产生全机所需的各种产生全机所需的各种微命令微命令控制最基本的操作控制最基本的操作( (微操作微操作) )的命令的命令电位型电位型脉冲型脉冲型 微地址微地址形成电路形成电路 IR PSW PC

14、微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR3.1.4 CPU3.1.4 CPU和外部信息交换和外部信息交换1. 1. 主机和外设的连接方式主机和外设的连接方式(1)(1)辐射式辐射式 主机主机I/OI/OI/OI/OI/OI/O早期:不易扩展早期:不易扩展 主机主机 接口接口 接口接口I/OI/OI/OI/OI/OI/O现在:便于扩展现在:便于扩展(2)(2)总线式总线式 主机主机 接口接口 接口接口I/OI/O I/OI/O I/OI/O便于扩展便于扩展总线总线(3)(3)通道式通道式 主机主机 通道

15、通道 通道通道I/OI/OI/OI/OI/OI/O并行能力并行能力提高提高2. 2. 信息传送控制方式信息传送控制方式(1)(1)直接程序传送方式直接程序传送方式用用I/OI/O指令编程实现信息传送。指令编程实现信息传送。(程序查询)(程序查询)外设状态外设状态空闲空闲工作工作结束结束启动启动完成一次完成一次工作工作调用完调用完再请求再请求000001011010空闲空闲:调用前,:调用前,设备不工作;设备不工作;结束结束:调用后,:调用后,设备完成工作。设备完成工作。在接口中设在接口中设置置状态字状态字表表示这些状态。示这些状态。程序组织程序组织 启动外设启动外设外设工作完成?外设工作完成?

16、N NY Y 入入/出操作出操作(3 3)优缺点)优缺点硬件开销小;硬件开销小;实时处理能力差实时处理能力差, ,并行程度低。并行程度低。(4 4)应用场合)应用场合对对CPUCPU效率要求不高的场合,效率要求不高的场合, 或诊断、或诊断、 调试过程。调试过程。(2 2)中断方式)中断方式查询:查询:中断的引入中断的引入程序程序并行操作并行操作主机主机外设外设空闲空闲启动启动等待等待工作工作程序程序交换数据交换数据中断:中断:主机主机程序程序外设外设空闲空闲启动启动工作工作程序程序请求请求中断程序中断程序交换数据交换数据程序程序中断定义中断定义 开中断开中断一条指令结束一条指令结束时有中断请求

17、?时有中断请求?N NY Y继续原程序继续原程序中断流程中断流程CPUCPU内设置允许中断标志内设置允许中断标志CPUCPU暂时中止现行程序的执行,转去执行为某暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序。处理完毕个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。后自动恢复原程序的执行。=1 =1 允许响应中断允许响应中断(开中断)(开中断)=0 =0 不允许响应中断不允许响应中断(关中断)(关中断) 启动外设启动外设执行中断执行中断服务程序服务程序继续原程序继续原程序响应响应返回返回 CLI CLI ;请求请求关中断,初始化关中断,初始化 启动;启动; 启动设

18、备启动设备响应响应返回返回例例.PC.PC系列机系列机允许中断位允许中断位IF=IF=0 0 关中断关中断1 1 开中断开中断 STI STI ;开中断开中断程序组织程序组织硬件设置硬件设置响应响应逻辑逻辑CPUCPU禁止禁止/ /允许设备请求允许设备请求设备工作完成设备工作完成应用场合应用场合用于中、低速用于中、低速I/OI/O操作或处理复杂随机事态。操作或处理复杂随机事态。判优判优逻辑逻辑请求请求逻辑逻辑屏蔽屏蔽逻辑逻辑非屏蔽非屏蔽CPUCPU送屏蔽字送屏蔽字( (动态改变设备优先级动态改变设备优先级) )设备提出请求设备提出请求判别设备优先级判别设备优先级CPUCPU响应请求,并转相响应

19、请求,并转相应服务程序入口应服务程序入口CPUCPU接口接口注意区分注意区分CPUCPU对请求的对请求的屏蔽屏蔽和对请求的和对请求的响应响应。送屏蔽字送屏蔽字开开/ /关中断关中断3.3 运算方法运算方法 补码加减法补码加减法数用补码表示,符号位参加运算。数用补码表示,符号位参加运算。实际操作能否只取决于操作码实际操作能否只取决于操作码?结果需不需修正?结果需不需修正?如何将减法转换为加法?如何将减法转换为加法? 3.3.1 定点加减运算定点加减运算1. 基本关系式基本关系式 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补 (2)式

20、(式(1):):操作码为操作码为“加加”时,两数直接相加。时,两数直接相加。3) X= 3 Y= 2 X补补=0 0011 Y补补=1 11100 0001(+1补码)补码)2) X= 3 Y= 2 X补补=1 1101 Y补补=1 11101 1011 ( 5补码)补码)1) X=3 Y=2 X补补=0 0011 Y补补=0 00100 0101(+5补码)补码)4) X= 3 Y= 2 X补补=1 1101 Y补补=0 00101 1111 (1补码)补码)例例. 求求(X+Y)补补 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补

21、补 (2)式(式(2):):操作码为操作码为“减减”时,将减转换为加。时,将减转换为加。 1) X= 4 Y= 5 X补补=0 0100 Y补补=1 1011(-Y)补补=0 01010 1001(+9补码)补码)2) X= 4 Y= 5 X补补=1 1100 Y补补=0 0101(-Y)补补=1 10111 0111 (9补码)补码)例例. 求求(X Y)补补Y补补 (Y)补补:将将Y Y补补变补变补不管不管Y Y补补为正或负,将其符号连同为正或负,将其符号连同尾数一起各位变反,末位加尾数一起各位变反,末位加1 1。即将减数变补后与被减数相加。即将减数变补后与被减数相加。 X补补=0 010

22、0 Y补补=1 1011 X补补=1 1100 Y补补=0 0101注意:某数的注意:某数的补码表示补码表示与某数与某数变补变补的区别。的区别。例例. 1 0101. 1 0101原原 1 10111 1011补码表示补码表示1 00111 0011补补 0 11010 1101负补负补 0 0101 0 0101原原 0 01010 0101补码表示补码表示符号位不变;符号位不变;负数尾数改变,负数尾数改变,正数尾数不变。正数尾数不变。0 00110 0011补补 1 11011 1101负补负补符号位改变,符号位改变,尾数改变。尾数改变。补码的机器负数补码的机器负数2. 算法流程算法流程操

23、作数用补码表示,操作数用补码表示,符号位参加运算符号位参加运算结果为补码表示,符结果为补码表示,符号位指示结果正负号位指示结果正负X补补+Y补补X补补+(-Y)补补ADDSUB3.3.2 溢出判断溢出判断1.溢出判断方法溢出判断方法例例. .数数A A有有5 5位,位,1 1位符号位符号S SA A 数数B B有有5 5位,位,1 1位符号位符号S SB B 符号位参符号位参加运算加运算 结果符号结果符号S Sf f符号位进位符号位进位C Cf f尾数最高位进位尾数最高位进位C C正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7: 0

24、 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4 6+(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100(2)A=10 B=7 10+7 :0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011.硬件判断逻辑一硬件判断逻辑一(SA

25、、SB与与Sf的关系)的关系)溢出溢出= = S SA AS SB BS Sf fS SA AS Sf fS SB B2. 硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7: 0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4 6+(-4):0 0010 0 0

26、1101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100Cf=0Cf=0C =0C =0Cf=0Cf=0C =1C =1Cf=1Cf=1C =1C =1Cf=1Cf=1C =0C =0Cf=1Cf=1C =1C =1Cf=0Cf=0C =0C =01111112. 硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出= C= Cf f C C3. 硬件判断逻辑三硬件判断逻辑三(双符号位)(双符号位)(2)A=10 B=7 10+7: 0 10100 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 0110

27、1 1001Cf=0Cf=0C =1C =1Cf=1Cf=1C =0C =011(1)3+2:正确正确00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)-3+(-2):11 0111 11 110111 1110(4)-10+(-7):10 1111 11 011011 1001(5)6+(-4):00 0010 00 011011 1100(6)-6+4:11 1110 11 101000 0100第一符号位第一符号位Sf1第二符号位第二符号位Sf2溢出溢出= S= Sf1f1 S Sf2f2

28、3. 硬件判断逻辑三硬件判断逻辑三(双符号位)(双符号位)00 101000 011101 0001(2)10+7:正溢正溢+(4)-10+(-7):11 011011 100110 1111+负溢负溢2. 移位操作移位操作 数码位置变化,数值数码位置变化,数值不变不变。(1) 逻辑移位逻辑移位(2)算术移位)算术移位 1 0 0 0 1 1 1 1循环左移:循环左移:0 数码位置变化,数值数码位置变化,数值变化变化,符号位不变。符号位不变。1 0 0 1 1 1 1 算术左移:算术左移:1 0 0 1 1 1 1 10 1 1 1 1 0 (-15)(-30)(1)单符号位)单符号位 : 0

29、 01110 1110 (2)双符号位:)双符号位:00 1110 00 0111正数补码移位规则正数补码移位规则(3 3)移位规则)移位规则左移左移右移右移右移右移0 0111 0 0011 左移左移左移左移右移右移右移右移01 1100 00 1110 00 0111 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)。空位补空位补0(右移时第二符号位移至尾数最高位)。(右移时第二符号位移至尾数最高位)。(1)单符号位)单符号位 : 1 10111 0110 (2)双符号位:)双符号位:10 1100 11 0110负数补码移位规则负数补码移位规

30、则(3 3)移位规则)移位规则左移左移右移右移右移右移1 1011 1 1101 左移左移右移右移右移右移11 0110 11 1011 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)。左移空位补左移空位补0(第二符号位移至尾数最高位)。(第二符号位移至尾数最高位)。右移空位补右移空位补13. 舍入方法舍入方法0 0舍舍1 1入(原码、补码)入(原码、补码)0 00100原原 1 00101原原 1 11011补补 末位恒置末位恒置1 1(原码、补码)(原码、补码)0 00100原原 1 11011补补 1 00101原原 0 0010原原 1

31、0011原原 1 1110补补 0 0011原原 1 0011原原 1 1101补补 1 0011原原 1 1101补补 例例. 保留保留4位尾数:位尾数: 例例. 保留保留4位尾数:位尾数: 3.3.3 定点乘法运算定点乘法运算1. 原码一位乘法原码一位乘法 每次用一位乘数去乘被乘数。每次用一位乘数去乘被乘数。算法分析算法分析乘法乘法 部分积累加、移位。部分积累加、移位。例例. 0.11011.1011乘积乘积 P = X P = X Y Y积符积符 S SP P= S= SX X S SY YX原原Y原原(1 1)手算)手算 0.11010.1101 0.10110.1011 1101 1

32、101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111上符号:上符号:1.100011111.10001111部分积部分积问题:问题:1 1)加数增多(由乘数位数决定)。)加数增多(由乘数位数决定)。 2 2)加数的位数增多(与被乘数、乘)加数的位数增多(与被乘数、乘 数位数有关)。数位数有关)。改进:将一次相加改为分步累加。改进:将一次相加改为分步累加。分步乘法分步乘法每次将一位乘数所对应的部分积与每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。原部分积的累加和相加,并移位。设置寄存器:设置寄存器: A A:存放:存放部分积

33、累加和部分积累加和、乘积高位乘积高位 B B:存放:存放被乘数被乘数 C C:存放:存放乘数乘数、乘积低位乘积低位 设置初值:设置初值: A = 00.0000A = 00.0000 B = X = 00.1101 B = X = 00.1101 C = Y = .1011 C = Y = .1011 步数步数 条件条件 操作操作 A C A C 00.0000 .101 00.0000 .1011 1 1 1)C Cn n=1=1+B+BC Cn n+ 00.1101+ 00.110100.00.11011101 0.1101 0.1101 0.1010.1011 1 1101 1101 1

34、101 1101 0000 0000 1101 1101 0.10001111 0.10001111BC 1101 1101 00.00.011001101 1.10.101 1 0.1101 0.1101 0.100.101 11 12 2)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0011001100.00.100110011111.1.10 0 0.1101 0.1101 0.10.10 01111 0.1101 0.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.100011

35、11 0.10001111BC3 3)C Cn n=0=0+0+0+ 00.0000+ 00.000000.00.1001100100.00.01000100111111. .1 14 4)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0001000100.00.1000100011111111X X原原Y Y原原 = 1.10001111= 1.10001111 (2)算法流程算法流程0 A0 A、X BX B、Y CY C、0 CR0 CRC Cn n = 1 = 1 ?CR = n CR = n ?1/21/2(A+BA+B) A A,C C1/21/

36、2(A+0A+0) A A,C C CR + 1 CR CR + 1 CRYYNN Sx + Sy S Sx + Sy SA A (3)(3)运算规则运算规则操作数、结果用原码表示;操作数、结果用原码表示;绝对值运算,符号单独处理;绝对值运算,符号单独处理;被乘数被乘数(B)(B)、累加和、累加和(A)(A)取双符号位;取双符号位;乘数末位乘数末位(C(Cn n) )为判断位,其状态决定为判断位,其状态决定 下步操作;下步操作;作作n n次循环(累加、右移)。次循环(累加、右移)。2. 补码一位乘法补码一位乘法(1)算法分析算法分析 X X补补 = X= X0 0.X.X1 1X X2 2XX

37、n nY Y为正:为正:Y Y补补 = 0.Y= 0.Y1 1Y Y2 2YYn n (XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2YYn n) )Y Y为负:为负:Y Y补补 = 1.Y= 1.Y1 1Y Y2 2YYn n (XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2YYn n)+(-X)+(-X)补补Y Y符号任意:符号任意: (XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2YYn n)+(-X)+(-X)补补Y Y0 0符号位符号位展开为部分积的累加和形式:展开为部分积的累加和形式:(XY)(XY)补补 =

38、X= X补补(0.Y(0.Y1 1Y Y2 2YYn n)+(-X)+(-X)补补Y Y0 0 = X= X补补(0.Y(0.Y1 1Y Y2 2YYn n)-X)-X补补Y Y0 0 = X= X补补(-Y(-Y0 0+ +2 Y2 Y1 1+ +2 2 Y Y2 2+2 2 Y Yn n) )-1-1 -2-2 -n-n = X= X补补 -Y-Y0 0+(+(Y Y1 1-2 Y-2 Y1 1)+()+(2 Y2 Y2 2-2 Y-2 Y2 2)+)+-1 -1 -2-1 -1 -2-(n-1) -n-(n-1) -n +(+(2 Y2 Yn n-2 Y-2 Yn n) ) = X= X

39、补补 (Y(Y1 1-Y-Y0 0)+2 (Y)+2 (Y2 2-Y-Y1 1)+2 (Y)+2 (Y3 3-Y-Y2 2)+)+-1 -2-1 -2 +2 (0 -Y+2 (0 -Yn n) )-n-n +2 (+2 (0 0 -Y -Yn n) )-n-nY Yn+1n+1 = X= X补补 ( (Y Y1 1-Y-Y0 0)+2 ()+2 (Y Y2 2-Y-Y1 1)+2 ()+2 (Y Y3 3-Y-Y2 2)+)+-1 -2-1 -2 +2 (+2 (0 0 -Y-Yn n) )-n-nY Yn+1n+1比较法:用相邻两位乘数比较的结果决定比较法:用相邻两位乘数比较的结果决定 +X

40、+X补补、-X-X补补或或+0+0。(2 2)比较法比较法算法算法Y Yn n( (高位高位) ) Y Yn+1n+1( (低位低位) ) 操作操作(A(A补补为部分积累加和为部分积累加和) ) 0 00 00 10 11 01 01 1 1 1 1/2A1/2A补补 1/2(A1/2(A补补+X+X补补) ) 1/2(A 1/2(A补补-X-X补补) ) 1/2A 1/2A补补( 0 )( 0 )( 1 )( 1 )(-1 )(-1 )( 0 )( 0 )(3 3)运算实例)运算实例X=-0.1101,Y=-0.1011,X=-0.1101,Y=-0.1011,求求(XY)(XY)补补。初值

41、:初值:A=00.0000,B=XA=00.0000,B=X补补=11.0011,=11.0011, -B=(-X) -B=(-X)补补=00.1101,C =Y=00.1101,C =Y补补=1.0101=1.0101步数步数 条件条件 操作操作 A C A C 00.0000 1.010 00.0000 1.0101 1 1 1)1 01 0-B-BC Cn n+ 00.1101+ 00.110100.00.1101110100.00.011001101 11.011.0101012 2)0 10 1+B+B+ 11.0011+ 11.001111.11.1001100111.11.110

42、0110011111.01.010103 3)1 01 0-B-B+ 00.1101+ 00.110100.00.1001100100.00.010001001111111.1.01014 4)0 10 1+B+B+ 11.0011+ 11.001111.11.0111011111.11.10111011111111111.01.00 0 C Cn+1n+1C Cn nC Cn+1n+15 5)1 01 0-B-B+ 00.1101+ 00.1101(XY)(XY)补补 = 0.10001111= 0.100011114 4)0 10 1+B+B+ 11.0011+ 11.001111.11.

43、0111011111.11.10111011111111111.01.05 5)1 01 0-B-B+ 00.1101+ 00.110100.00.1000100011111111修正修正(1)A(1)A、B B取双符号位,符号参加运算;取双符号位,符号参加运算;(2)C(2)C取单符号位,符号参加移位,以决定最后是否取单符号位,符号参加移位,以决定最后是否 修正;修正;(3)C(3)C末位设置附加位末位设置附加位C Cn+n+1 1,初值为,初值为0 0,C Cn nC Cn+n+1 1组成判组成判 断位,决定运算操作;断位,决定运算操作;(4)(4)作作n n步循环步循环, ,若需作第若需

44、作第n+1n+1步步, ,则不移位则不移位, ,仅修正。仅修正。 (4 4)运算规则)运算规则1.0 : -B修正修正0.1 : +B修正修正0.0 : 不修正不修正1.1 : 不修正不修正 3.3.4 定点除法运算定点除法运算除法除法 若干余数与除数加减、移位。若干余数与除数加减、移位。例例. 0.10110. 0.101100.111110.111110.101100.10110 1101 11010.0.0 01 1 11111 111110.111110.111110 00 00 01 1 11111 11111 10101 101010 01 1 11111 11111 1011 1

45、0110 00 0.0000000000.0.0.商:商: 0.101100.10110余数:余数:0.101100.101102 2 5实现除法的关键:实现除法的关键:比较余数、除数比较余数、除数绝对值大小,以绝对值大小,以决定上商。决定上商。1. 原码恢复余数法原码恢复余数法(1)(1)算法算法 比较两数大小可用减法试探。比较两数大小可用减法试探。2 2余数余数- -除数除数= =新余数新余数为正为正: :够减够减, ,商商1 1。为负为负: :不够减不够减, ,商商0,0,恢复原余数。恢复原余数。(2)(2)实例实例X=-0.10110X=-0.10110,Y=0.11111Y=0.11

46、111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R设置:设置:A A:被除数、余数,:被除数、余数,B B:除数,:除数,C C:商:商初值:初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B= 11.00001 -B= 11.00001步数步数 条件条件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)0 0-B-B 01.01100 01.01100+11.00001+11.00

47、00100.0110100.011010.00000.00001 12 2)1 1 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.00010103 3)恢复余数恢复余数+B+B+00.11111+00.1111100.1101000.1101001.1010001.101000.000.001011014 4)0 0-B-B +11.00001+11.0000100.1010100.10101C Cn nS SA AQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r22

48、r r2 22r2r2 2r r3 3步数步数 条件条件 操作操作 A C A C 00.10101 0.0000.10101 0.00101101 5 5)0 0-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.0101110116 6)1 1 -B-B00.1011000.10110+11.00001+11.0000111.1011111.101110.0.10110101107 7)恢复余数恢复余数+B+B+00.11111+00.1111100.1011000.10110Q= -0.10110Q= -0.10110

49、C Cn nQ Q4 4 Q Q5 5 Q Q3 3 r r3 32r2r3 3r r4 42r2r4 4r r55r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=-0.10110+X/Y=-0.10110+-0.10110-0.101102 2-5-5 0.11111 0.11111(3)(3)说明说明A A、B B双符号位,双符号位,X X、Y Y绝对值,绝对值,X X 小于小于 Y Y 。运算结束后,余数乘以运算结束后,余数乘以2 2 ,与被除数同号。,与被除数同号。-n2. 原码不恢复余数法(加减交替法)原码不恢复余数法(加减交替法)(1)(1)算法分析算法分

50、析第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步: :r r2 2+B=+B=r r2(2(恢复余数恢复余数) )第四步第四步: :2 2r r2 2-B=-B=r r3 32 2r r2 2-B=2(-B=2(r r2 2+B)-B+B)-B =2 =2r r2 2+B=+B=r r3 3 第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步:2:2r r2 2+B=+B=r r3 3 ( (不恢复余数不恢复余数) )(2)(2)算法算法 r ri+1i+1=2=2r ri i+(1-2Q+(1-2Qi i)Y)Yr ri i为为正,正,

51、则则Q Qi i为为1 1,第第i+1i+1步作步作2 2r ri i-Y-Y;r ri i为为负,负,则则Q Qi i为为0 0,第第i+1i+1步作步作2 2r ri i+Y+Y。(3)(3)实例实例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R。初值:初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B=11.00001 -B=11.00001步数步数 条

52、件条件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)为正为正-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.00000.00001 12 2)为负为负 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.00010103 3)+B+B+00.11111+00.1111111.1011011.101100.000.00101101为正为正00.1010100.10101C Cn n r rQ Q1 1 Q

53、 Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r2 22r2r2 2r r3 34 4)为正为正-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.010111011Q Q4 4 2r2r3 3r r4 4步数步数 条件条件 操作操作 A C A C 00.01011 0.000.01011 0.010111011 6 6)为负为负 恢复余数恢复余数+B+B+00.11111+00.1111100.1011000.10110Q= -0.10110Q= -0.10110C Cn nQ Q4

54、4 r r4 45 5)为正为正-B-B 00.10110 00.10110+11.00001+11.0000111.1011111.101110.0.1011010110Q Q5 5 2r2r4 4r r55r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=-0.10110+X/Y=-0.10110+ 0.10110 0.101102 2-5-5 -0.11111 -0.11111 (4 4)运算规则)运算规则A A、B B取双符号位,取双符号位,X X、Y Y取绝对值运算取绝对值运算 X Y X Y 。根据余数的正负决定商值及下一步操作。根据余数的正负决定商值及下一

55、步操作。求求n n位商,作位商,作n n步操作;若第步操作;若第n n步余数为负,则步余数为负,则 第第n+1n+1步恢复余数,不移位。步恢复余数,不移位。3. 补码不恢复余数法(加减交替法)补码不恢复余数法(加减交替法)如何判断是否够减?如何判断是否够减? 如何上商?如何上商? 如何确定商符?如何确定商符? (1 1)判够减)判够减同号相除同号相除4 74 77 47 4-4 -7-4 -7-7 -4-7 -41 1-4 7-4 7-7 4-7 44 -74 -77 -47 -40 01 10 0-4-43 3-7-7-3-3-(-4)-(-4)-3-3-(-7)-(-7)3 3够减够减不够

56、减不够减够减够减不够减不够减够减:够减:r与与X、Y同号;同号;不够减:不够减:r与与X、Y异号。异号。异号相除异号相除 1 10 0 1 1 0 0+(-4)+(-4) 3 3+(-7)+(-7)-3-3 +4 +4-3-3 +7 +7 3 3够减够减够减够减不够减不够减不够减不够减够减:够减:r与与X同号同号,与与Y异号;异号;不够减:不够减:r与与X异号异号,与与Y同号。同号。 判断规则判断规则同号:作同号:作X X补补-Y-Y补补X X补补Y Y补补够减够减:r r补补与与Y Y补补同号同号不够减不够减:r r补补与与Y Y补补异号异号异号:作异号:作X X补补+Y+Y补补够减够减:r

57、 r补补与与Y Y补补异号异号不够减不够减:r r补补与与Y Y补补同号同号(2)(2)求商值求商值X X补补Y Y补补同号:商为正同号:商为正异号:商为负异号:商为负够减商够减商1 1不够减商不够减商0 0够减商够减商0 0不够减商不够减商1 1( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )够减够减商商1 1不够减商不够减商0 0够减商够减商0 0不够减不够减商商1 1( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )

58、( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )够减够减商商1 1不够减不够减商商0 0够减够减商商0 0不够减不够减商商1 1上商规则:上商规则:Q Qi i=Sr=Sri iS SY Y余数与除数同号商余数与除数同号商1 1,异号商,异号商0 0。(3)(3)算法算法 ( (r ri+1i+1) )补补=2=2r ri i补补+(1-2Q+(1-2Qi i补补)Y)Y补补r ri i补补与与Y Y补补同号,同号,则则Q Qi i补补为为1 1,第第i+1i+1步作步作2 2r ri i补补-Y-Y补补;

59、r ri i补补与与Y Y补补异号,异号,则则Q Qi i补补为为0 0,第第i+1i+1步作步作2 2r ri i补补+Y+Y补补。(4)(4)求商符求商符令令X X补补 = = r r0 0补补r r0 0补补与与Y Y补补同号:同号:Q Q0 0补补=1=1异号:异号:Q Q0 0补补=0=0与实际商与实际商符相反符相反商符商符(5)(5)商的校正商的校正X X补补Y Y补补=(-1+2 + 2 Qi=(-1+2 + 2 Qi补补)+ )+ 2 2 r rn n补补Y Y补补-n-in-1i=0-n商商余数余数真商真商= =假商假商+1.00001+1.00001=Q=Q0 0.Q.Q1

60、 1Q Q2 2QQn-1n-1求求n-1n-1位商位商( (假商假商) )X X补补Y Y补补=(-1+2 + 2 Qi=(-1+2 + 2 Qi补补)+ )+ 2 2 r rn n补补Y Y补补-n-in-1i=0-n商商余数余数 2 Qi 2 Qi补补n-1i=0-i 2 2-n第第n n位商位商( (末位商末位商) )恒置恒置1 1 -1 -1商符变反商符变反n位位余数求至余数求至rnrn(6)(6)实例实例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R。初值:初值:A =XA =X补补=00.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论