CPU-1运算部件(8学时课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《CPU-1运算部件(8学时课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPU 运算 部件 学时 课件
- 资源描述:
-
1、 第三章第三章 CPUCPU子系统子系统运算部件运算部件 寄存器寄存器 寄存器寄存器控制部件控制部件运算器运算器控制器控制器本章主要讨论:本章主要讨论:运算器运算器 控制器控制器数据通路结构数据通路结构与外部的连接与外部的连接指令的执行过程指令的执行过程CPUCPU组成组成CPUCPU工作原理工作原理 CPUCPU组成原理组成原理 CPUCPU工作机制(工作机制(设计模型机设计模型机)CPUCPU子系统子系统运算器运算器组组成和运算成和运算方法方法控制器控制器原理原理定定点点乘乘法法定定点点除除法法浮浮点点运运算算组合逻辑组合逻辑控制器控制器微程序微程序控制器控制器基基本本思思想想控控制制器器
2、组组成成工工作作过过程程主机和外设主机和外设的信息交换的信息交换连接连接方式方式传送控传送控制方式制方式查查询询中中断断D DM MA A基基本本思思想想控控制制器器组组成成工工作作过过程程时序时序控制控制本章本章知识架构:知识架构:第一节第一节 运算器组织运算器组织 3.1.1 运算器的硬件组成运算器的硬件组成运算器运算器 移位器移位器 ALUALU输入选择器输入选择器 ALUALU部件部件 寄存器寄存器 并行加法器并行加法器 加法器输入选择器加法器输入选择器 全加器全加器 进位链进位链 串行串行并行并行分组分组选择操作数来源选择操作数来源选择操作数组合选择操作数组合独立结构独立结构小型存储
3、小型存储器结构器结构单口单口双口双口寄存器组寄存器组独立独立R R、双口双口RAMRAM用用多路选择器多路选择器作为作为ALUALU的的输入逻辑,输入逻辑,单口单口RAMRAM用用锁存器锁存器作为作为ALUALU的输入逻辑。的输入逻辑。3.1.2 运算器的组织结构运算器的组织结构1.带多路选择器的运算器带多路选择器的运算器移位器移位器ALU多路选择器多路选择器多路选择器多路选择器R0RnR0.Rn R0.Rn 内部总线(单向)内部总线(单向)特点:特点:R R各自独立;各自独立;可同时向可同时向ALUALU提供两个操作数;提供两个操作数;采用单向内总线。采用单向内总线。2.带输入锁存器的运算器
4、带输入锁存器的运算器特点:特点:单口单口RAMRAM不能同时向不能同时向ALUALU提提供两个操作数;供两个操作数;用锁存器暂存操作数;用锁存器暂存操作数;采用双向内总线。采用双向内总线。移位器移位器ALU锁存器锁存器锁存器锁存器内部总线(双向)内部总线(双向)R0Rn通用寄存器组(小型存储器)通用寄存器组(小型存储器)3.位片式运算器位片式运算器特点:特点:用双口用双口RAMRAM(两地址两地址端、两数据端)作通端、两数据端)作通用寄存器组,可同时用寄存器组,可同时提供数据;提供数据;用多路选择器作输入用多路选择器作输入逻辑,不需暂存操作逻辑,不需暂存操作数;数;ALUALU增加乘、除功能,
5、增加乘、除功能,用乘商寄存器存放乘用乘商寄存器存放乘数、乘积或商。数、乘积或商。例例.4.4位片运算器粗框位片运算器粗框移位器移位器ALU多路选择器多路选择器多路选择器多路选择器DO RAMDi B 地址地址 A 地址地址 CnDBDAG、P控制信息控制信息Cn+4乘商寄存器乘商寄存器444444444444 第二节第二节 运算方法运算方法3.2.1.1 补码加减法补码加减法数用补码表示,符号位参加运算。数用补码表示,符号位参加运算。实际操作能否只取决于操作码实际操作能否只取决于操作码?结果需不需修正?结果需不需修正?如何将减法转换为加法?如何将减法转换为加法?3.2.1 定点加减运算定点加减
6、运算1.基本关系式基本关系式(X+Y)补补 =X补补 +Y补补 (1)(X-Y)补补 =X补补 +(-Y)补补 (2)式(式(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)补补
7、=X补补 +Y补补 (1)(X-Y)补补 =X补补 +(-Y)补补 (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。即将减数变补后与被减数相加。即
8、将减数变补后与被减数相加。X补补=0 0100 Y补补=1 1011 X补补=1 1100 Y补补=0 0101注意:某数的注意:某数的补码表示补码表示与某数与某数变补变补的区别。的区别。例例.1 0101.1 0101原原 1 10111 1011补码表示补码表示1 00111 0011补补 0 11010 1101变补变补 0 01010 0101原原 0 01010 0101补码表示补码表示符号位不变;符号位不变;负数尾数改变,负数尾数改变,正数尾数不变。正数尾数不变。0 00110 0011补补 1 11011 1101变补变补符号位改变,符号位改变,尾数改变。尾数改变。补码的机器负数
9、补码的机器负数2.算法流程算法流程操作数用补码表示,操作数用补码表示,符号位参加运算符号位参加运算结果为补码表示,符结果为补码表示,符号位指示结果正负号位指示结果正负X补补+Y补补X补补+(-Y)补补ADDSUB3.逻辑实现逻辑实现A(X补补)B(Y补补)+AABB+B+B+1CPA A(1)控制信号控制信号加法器输入端:加法器输入端:+A+A:打开控制门,将打开控制门,将A A送送。+B+B:打开控制门,将打开控制门,将B B送送。+1+1:控制末位加控制末位加 1 1。+B+B:打开控制门,将打开控制门,将B B送送。加法器输出端:加法器输出端:A:打开控制门,将结打开控制门,将结 果送果
10、送A输入端。输入端。CPCPA A:将结果打入将结果打入A A。(2)补码加减运算器粗框补码加减运算器粗框3.2.1.2 溢出判断溢出判断在什么情况下可能产生溢出?在什么情况下可能产生溢出?例例.数数A A有有4 4位尾数,位尾数,1 1位符号位符号S SA A 数数B B有有4 4位尾数,位尾数,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 10100 01111 000
11、1 正溢正溢正确正确负溢负溢正确正确正确正确(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、SB与与Sf的关系)的关系)溢出溢出=S SA
12、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 01101 1100(6)A=-6 B=4 -6+4:1 1110 1
13、10100 0100CfCf=0=0C=0C=0CfCf=0=0C=1C=1CfCf=1=1C=1C=1CfCf=1=1C=0C=0CfCf=1=1C=1C=1CfCf=0=0C=0C=0111111(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、SB与与Sf的关系)的关系)溢出溢出=S SA AS SB BS Sf fS SA AS Sf fS SB B2.硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出=C Cf f C C3
14、.硬件判断逻辑三硬件判断逻辑三(双符号位(双符号位)(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(2)A=10 B=7 10+7
15、:0 1010 0 01111 0001 (4)A=-10 B=-7 -10+(-7):0 1111 1 01101 10011.硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出=S SA AS SB BS Sf fS SA AS Sf fS SB B2.硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出=C Cf f C C3.硬件判断逻辑三硬件判断逻辑三(双符号位(双符号位)3.2.1.3 移位操作移位操作逻辑移位逻辑移位 :数码位置变化,数值数码位置变化,数值不变不变。1.移位类型移位类型算术移位算术移位 1 0 0 0 1 1 1 1循环左移:循环
16、左移: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 01110 1110 (2)双符号位)双符号位:00 1110 00 01112.正数补码移位规则正数补码移位规则(3 3)移位规则)移位规则左移左移右移右移右移右移0 0111 0 0011 左移左移左移左移右移右移右移右移01 1100 00 1110 00 0111 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)
17、。空位补空位补0(右移时第二符号位移至尾数最高位)。(右移时第二符号位移至尾数最高位)。(1)单符号位)单符号位:1 10111 0110 (2)双符号位)双符号位:10 1100 11 01103.负数补码移位规则负数补码移位规则(3 3)移位规则)移位规则左移左移右移右移右移右移1 1011 1 1101 左移左移右移右移右移右移11 0110 11 1011 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)。左移空位补左移空位补0(第二符号位移至尾数最高位)。(第二符号位移至尾数最高位)。右移空位补右移空位补13.2.1.4 舍入方法舍入方法
18、1.0 0舍舍1 1入(原码、补码)入(原码、补码)0 00100原原 1 00101原原 1 11011补补 2.末位恒置末位恒置1 1(原码、补码)(原码、补码)0 00100原原 1 11011补补 1 00101原原 0 0010原原 1 0011原原 1 1110补补 0 0011原原 1 0011原原 1 1101补补 1 0011原原 1 1101补补 例例.保留保留4位尾数:位尾数:例例.保留保留4位尾数:位尾数:3.2.2 定点乘法运算定点乘法运算3.2.2.1 原码一位乘法原码一位乘法 每次用一位乘数去乘被乘数。每次用一位乘数去乘被乘数。1.1.算法分析算法分析乘法乘法 部
19、分积累加、移位。部分积累加、移位。例例.0.11011.10111.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 1101 1101 1101 0000 0000 1101 1101 0.100011110.10001111上符号:上符号:1.100011111.10001111部分积部分积问题:问题:1 1)加数增多(由乘数位数决定)。)加数增多(由乘数位数决定)。2 2)加数的位数增多(与被乘数、乘)加数的位数增多(与被乘数、乘 数位数有关)。数位数有
20、关)。改进:将一次相加改为分步累加。改进:将一次相加改为分步累加。(2 2)分步乘法)分步乘法每次将一位乘数所对应的部分积与每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。原部分积的累加和相加,并移位。设置寄存器:设置寄存器:A A:存放存放部分积累加和部分积累加和、乘积高位乘积高位 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 .10100.000
21、0 .1011 1 1 1)C Cn n=1=1+B+BC Cn n+00.1101+00.110100.00.11011101 0.11010.1101 0.1010.1011 1 1101 1101 1101 1101 0000 0000 1101 1101 0.100011110.10001111BC 1101 1101 00.00.011001101 1.10.101 1 0.11010.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
22、0.1101 0.10.10 01111 0.11010.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.100011110.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
23、 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/2(A+0A+0)A A,C C CR+1 CR CR+1 CRYYNN SxSx+SySy S SA A 3.3.运算规则运算规则(1 1)操作数、结果用原码表示;)操作数、结果用原码表示;(2 2)绝对值运算,符号单独处理;)绝对值运算,符号单独处理;(3 3)被乘数)被乘数(B)(B)、累加和累加和(A)(A)取双符号位;取双符号位;(4 4)乘数末位)乘数末位(C Cn n)为判断位,其状态决定为判断位,其状态决定 下步操作;下步操作;(5
24、5)作)作n n次循环(累加、右移)。次循环(累加、右移)。3.2.2.2 补码一位乘法补码一位乘法 1.1.算法分析算法分析 X X补补 =X=X0 0.X.X1 1X X2 2X Xn n(1 1)Y Y为正:为正:Y Y补补 =0.Y=0.Y1 1Y Y2 2Y Yn n (XY)(XY)补补 =X=X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)(2 2)Y Y为负:为负:Y Y补补 =1.Y=1.Y1 1Y Y2 2Y Yn n (XY)(XY)补补 =X=X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补(3 3)Y Y符号任意:符号任意:(XY)
25、(XY)补补 =X=X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补Y Y0 0符号位符号位(4 4)展开为部分积的累加和形式:展开为部分积的累加和形式:(XY)(XY)补补 =X=X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补Y Y0 0 =X=X补补(0.Y(0.Y1 1Y Y2 2Y Yn 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)+()+(
展开阅读全文