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

下载本文档

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

文档简介

1、 第三章 CPU子系统运算部件 寄存器 寄存器控制部件运算器控制器第1页/共77页本章主要讨论:运算器 控制器数据通路结构与外部的连接指令的执行过程CPU组成CPU工作原理第2页/共77页3.1 CPU的基本组成运算部件寄存器组微命令产生部件时序系统传统运算器传统控制器第3页/共77页1. 运算部件输出逻辑ALU输入逻辑输入逻辑 操作数 操作数 运算结果(1) 输入逻辑(2) 算术逻辑运算部件ALU(3) 输出逻辑选择两个操作数,可以是选择器或暂存器核心部件,完成具体运算。求和、进位传递具有移位功能,通过斜位传送可实现左移、右移或字节交换第4页/共77页移位器ALU多路选择器多路选择器+1PS

2、WR0R1R2R3IRPCMARMDRMEMORYR0R3R0R3C,D,PC,SPC,D,MDR,PSWR RR MM MDC地址寄存器数据寄存器C,D暂存器第5页/共77页计算机的运算功能分为四种档次1)普通微处理器:只设置一个ALU,软件实现乘除、浮点运算2)高档微处理机:设置一个ALU,并且配合时序控制,硬件实现定点数乘除,浮点运算由软件(子程序)或硬件完成(浮点协处理器)3)小、中型机:只设置一个ALU,且将定点乘除部件和浮点部件作为基本配置,硬件实现4)大、巨型机:设置多种运算部件,如标量运算、浮点运算和向量运算第6页/共77页2.寄存器组(1)通用寄存器组,具有2种以上功能1)用

3、于提供数据信息,提供处理对象的寄存器包括累加器、地址寄存器、计数器和移位器,设计时,只有发送和接收功能,其余操作靠辅助线路完成移位器ALU多路选择器多路选择器+1移位(左斜、右斜)计数器累加器寄存器D触发器SRAM寄存器组(中小规模的存储单元)同时I/O,集成度低单元/寄存器,单双口Ram第7页/共77页(2)暂存器暂存器不能被CPU直接编程访问,设置的目的是为了暂存某些中间过程所产生的信息,避免破坏通用寄存器的内容。移位器ALU多路选择器多路选择器+1PSWR0R1R2R3IRPCMARMDRMEMORYR0R3R0R3C,D,PC,SPC,D,MBR,PSWR RR MM M第8页/共77

4、页X=X+YMOV R0, YADD X, R0(MDR)+(R0) MDRADD X , Y(C)+(MDR) MDR有暂存器,如前页图第9页/共77页2).用于控制的寄存器(1)IR(指令寄存器)存放现行指令,直至本条指令结束(2)PC(程序寄存器)(3)PSW(程序状态字)存放下条指令(+n)的地址,提供读取指令的地址,控制执行指令序列的流向存放前次运算结果状态NZVCPSW负 零 溢出 进位状态位:C,V,Z,N,P控制位:IF,TF,DF为衔接与流水:指令寄存器扩充成指令队列(或指令栈)提速:IR MDR第10页/共77页跟踪(陷阱)TF,编程设定断点;允许中断IF,编程设定,IF=

5、1时允许响应外部终端请求半进位AF、单步位TF、方向标志DF(地址由低到高,还是由高到低)程序优先级程序运行过程中,可能有外部中断请求,可以根据优先级来决定CPU执行哪一部分。工作方式:用户态、管态其它信息:不同计算机,PSW内容相差很大如:IBM360的PSW包括系统屏蔽、保护键、AMWP字(工作方式)、中断码、指令长度、条件码、程序屏蔽、指令地址等。第11页/共77页3).用作主存接口的寄存器(对用户透明)(1)地址寄存器:MAR(2)数据寄存器:MDR(双向)取指:PC内容 MAR存取操作数:地址计算结果 MAR写入:数据一般先送至MDR,再经总线送往主存读出:数据现有总线送入MDR,再

6、经CPU内部总线送入指定的寄存器第12页/共77页3.总线数据通路结构总线:一组为多个部件分时共享的公共信息传送线路,可以分时接收(同时发送)和分配信息1)CPU内部总线ALU总线,连接寄存器与ALU(一条或多条)可能还有地址总线2)部件间总线设备控制器、智能型接口等部件:微处理器 、LM(地址线,数据线)第13页/共77页3)系统总线系统内各大组成部件间(如CPU、M、I/O)总线地址总线: CPU、DMAC提供地址数据总线:双向控制总线:复位、请求、应答、读/写、总线仲裁、控制权转移4)系统外总线一台计算机系统与其他设备、或几台计算机系统相连总线实体:狭义:指一组传送线广义:包含一组传送线

7、及相应的控制逻辑DMA控制器第14页/共77页5.时序系统时序发生器(时序系统):产生周期节拍、脉冲源(主振荡器):外接晶体振荡器一组计数分频逻辑:产生所需的周期(节拍)脉冲等时序信号的部件4.微操作命令产生部件在CPU中设置微命令产生部件,根据控制信息产生微命令序列,对指令功能所要求的数据传送进行控制,且在数据传送至运算部件时控制完成运算处理。第15页/共77页内部数据通路结构1)单组内总线、分立寄存器结构例:NOVA-1200分立寄存器,一组单向特点:数据总线,以ALU为内部数据传送通路的中枢第16页/共77页独立结构小型存储器结构单口双口寄存器组独立R、双口RAM用多路选择器作为ALU的

8、输入逻辑,单口RAM用锁存器作为ALU的输入逻辑。第17页/共77页带多路选择器的运算器移位器ALU多路选择器多路选择器R0RnR0. . . Rn R0. . . Rn 内部总线(单向)特点:R各自独立;可同时向ALU提供两个操作数;采用单向内总线。例:要实现 R0 R1 :(R0) ALU R1第18页/共77页2)单组内总线、集成寄存器结构集成化寄存器组(SRAM),一组双特点:例:要实现 R0 R1 :(R0) 暂存器 R1向数据总线,ALU输入端设暂存器第19页/共77页带输入锁存器的运算器特点:单口RAM不能同时向ALU提供两个操作数;用锁存器暂存操作数;采用双向内总线。移位器AL

9、U锁存器锁存器内部总线(双向)R0Rn通用寄存器组(小型存储器)第20页/共77页3)多组内总线数据总线(ALU):连接ALU与寄存器组,双工数据收发器,系统数据总线地址总线:指令部件、ALU部件、段地址处理部件、页地址处理部件、地址驱动指令总线:收发器、指令队列、指令预译码、译码、控制ROM内部控制总线:控制ROM,控制ALU及各有关部件第21页/共77页 位片式运算器特点:用双口RAM(两地址端、两数据端)作通用寄存器组,可同时提供数据;用多路选择器作输入逻辑,不需暂存操作数;ALU增加乘、除功能,用乘商寄存器存放乘数、乘积或商。例. 4位片运算器粗框移位器ALU多路选择器多路选择器DO

10、RAMDi B 地址 A 地址 CnDBDAG、P控制信息Cn+4乘商寄存器444444444444G,P小组进位产生、传递函数;Cn+4组间串行进位,Cn初始进位第22页/共77页第23页/共77页第24页/共77页第25页/共77页组内并行,组间并行第26页/共77页 第二节 运算方法3.2.1.1 补码加减法数用补码表示,符号位参加运算。实际操作能否只取决于操作码?结果需不需修正?如何将减法转换为加法? 3.2.1 定点加减运算第27页/共77页1. 基本关系式 ( X + Y )补 = X补 + Y补 (1) ( X - Y )补 = X补 + (-Y)补 (2)式(1):操作码为“加

11、”时,两数直接相加。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)补第28页/共77页 ( X + Y )补 = X补 + Y补 (1) ( X - Y )补 = X补 + (-Y)补 (2)式(2):操作码为“减”时,将减转换为加。 1) X= 4 Y= 5 X补=0 0100

12、 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补为正或负,将其符号连同尾数一起各位变反,末位加1。即将减数变补后与被减数相加。 X补=0 0100 Y补=1 1011 X补=1 1100 Y补=0 0101第29页/共77页注意:某数的补码表示与某数变补的区别。例. 1 0101原 1 1011补码表示1 0011补 0 1101变补 0 0101原 0 0101补码表示符号位不变;负数尾数改变,正数尾数不变。

13、0 0011补 1 1101变补符号位改变,尾数改变。补码的机器负数第30页/共77页2. 算法流程操作数用补码表示,符号位参加运算结果为补码表示,符号位指示结果正负X补+Y补X补+(-Y)补ADDSUB第31页/共77页3. 逻辑实现A(X补)B(Y补)+AABB+B+B+1CPA A(1)控制信号加法器输入端:+A:打开控制门,将A送。+B:打开控制门,将B送。+1:控制末位加 1 。+B:打开控制门,将B送。加法器输出端: A:打开控制门,将结 果送A输入端。CPA:将结果打入A。(2)补码加减运算器粗框第32页/共77页3.2.1.2 溢出判断在什么情况下可能产生溢出?例.数A有4位尾

14、数,1位符号SA 数B有4位尾数,1位符号SB 符号位参加运算 结果符号Sf符号位进位Cf尾数最高位进位C第33页/共77页正确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 1010

15、0 0100第34页/共77页0 0111(2)A=10 B=7 10+7 :0 1010 1 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一(SA、SB与Sf的关系)溢出= SASBSfSASfSB2. 硬件判断逻辑二(Cf与C的关系)第35页/共77页正确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=

16、 -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 0100Cf=0C =0Cf=0C =1Cf=1C =1Cf=1C =0Cf=1C =1Cf=0C =0111111第36页/共77页(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的关系)溢出= SASBSfSASfSB2. 硬件判断

17、逻辑二(Cf与C的关系)溢出= Cf C3. 硬件判断逻辑三(双符号位)第37页/共77页(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第38页/共77页溢出= Sf1 Sf2(2)A=10 B=7 10+7 :

18、0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一(SA、SB与Sf的关系)溢出= SASBSfSASfSB2. 硬件判断逻辑二(Cf与C的关系)溢出= Cf C3. 硬件判断逻辑三(双符号位)第39页/共77页3.2.1.3 移位操作逻辑移位 :数码位置变化,数值不变。1. 移位类型算术移位 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)第40页/共

19、77页(1)单符号位 : 0 01110 1110 (2)双符号位:00 1110 00 01112.正数补码移位规则(3)移位规则左移右移右移0 0111 0 0011 左移左移右移右移01 1100 00 1110 00 0111 数符不变(单:符号位不变;双:第一符号位不变)。空位补0(右移时第二符号位移至尾数最高位)。第41页/共77页(1)单符号位 : 1 10111 0110 (2)双符号位:10 1100 11 01103.负数补码移位规则(3)移位规则左移右移右移1 1011 1 1101 左移右移右移11 0110 11 1011 数符不变(单:符号位不变;双:第一符号位不变

20、)。左移空位补0(第二符号位移至尾数最高位)右移空位补1第42页/共77页3.2.1.4 舍入方法1. 0舍1入(原码、补码)0 00100原 1 00101原 1 11011补 2. 末位恒置1(原码、补码)0 00100原 1 11011补 1 00101原 0 0010原 1 0011原 1 1110补 0 0011原 1 0011原 1 1101补 例. 保留4位尾数: 例. 保留4位尾数: 第43页/共77页 3.2.2 定点乘法运算3.2.2.1 原码一位乘法 每次用一位乘数去乘被乘数。 1.算法分析乘法 部分积累加、移位。例乘积 P = X Y积符 SP= SX SYX原Y原第4

21、4页/共77页(1)手算 1101 1101 0000 1101上符号:部分积问题:1)加数增多(由乘数位数决定)。 2)加数的位数增多(与被乘数、乘 数位数有关)。改进:将一次相加改为分步累加。第45页/共77页(2)分步乘法每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。设置寄存器: A:存放部分积累加和、乘积高位 B:存放被乘数 C:存放乘数、乘积低位 设置初值: A = 00.0000 B = X = 00.1101 C = Y = .1011 第46页/共77页 0.1101 0.1011 1101 1101 0000 1101 0.10001111BC步数 条件 操作

22、A C 00.0000 .1011 1)Cn=1+BCn11.1012)Cn=1+B113)Cn=0+0114)Cn=1+B11111X原Y原 第47页/共77页 2.算法流程0 A、X B、Y C、0 CRCn = 1 ?CR = n ?1/2(A+B) A,C1/2(A+0) A,C CR + 1 CRYYNN Sx + Sy SA第48页/共77页 3.运算规则(1)操作数、结果用原码表示;(2)绝对值运算,符号单独处理;(3)被乘数(B)、累加和(A)取双符号位;(4)乘数末位(Cn)为判断位,其状态决定 下步操作;(5)作n次循环(累加、右移)。第49页/共77页3.2.2.2 补码

23、一位乘法算法规则算法规则校正法校正法 只要乘数只要乘数Y Y补补为正,则可像原码乘法一样进行运算,其结果不需校正。为正,则可像原码乘法一样进行运算,其结果不需校正。 如果乘数如果乘数Y Y补补为负,则先按原码乘法运算,结果再加一个校正量为负,则先按原码乘法运算,结果再加一个校正量-X-X补补。校校正法正法算法规则算法规则比较法比较法 校正法的两种情况统一,演变为比较法,又称校正法的两种情况统一,演变为比较法,又称BoothBooth算法。算法。第50页/共77页3.2.2.2 补码一位乘法 1.算法分析 X补 = X0.X1X2Xn(1)Y为正:Y补 1Y2Yn (XY)补 = X补1Y2Yn

24、)(2)Y为负:Y补 1Y2Yn (XY)补 = X补1Y2Yn)+(-X)补(3)Y符号任意: (XY)补 = X补1Y2Yn)+(-X)补Y0符号位第51页/共77页 = X补 (Y1-Y0)+2 (Y2-Y1)+2 (Y3-Y2)+-1 -2 = X补 (Y1-Y0)+2 (Y2-Y1)+2 (Y3-Y2)+-1 -2(4)展开为部分积的累加和形式:(XY)补 = X补1Y2Yn)+(-X)补Y0 = X补1Y2Yn)-X补Y0 = X补(-Y0+2 Y1+2 Y2+2 Yn)-1 -2 -n = X补 (-Y0+(Y1-2 Y1)+(2 Y2-2 Y2)+ -1 -1 -2-(n-1)

25、 -n +(2 Yn-2 Yn) +2 (0 -Yn)-n +2 (0 -Yn)-nYn+1 +2 (0 -Yn)-nYn+1比较法:用相邻两位乘数比较的结果决定 +X补、-X补或+0。第52页/共77页 2.比较法算法Yn(高位) Yn+1(低位) 操作(A补为部分积累加和) 0 00 11 01 1 1/2A补 1/2(A补+X补) 1/2(A补-X补) 1/2A补( 0 )( 1 )(-1 )( 0 )3.运算实例X=-0.1101,Y=-0.1011,求(XY)补。初值:A=00.0000,B=X补=11.0011, -B=(-X)补=00.1101,C =Y补=1.0101第53页/

26、共77页步数 条件 操作 A C 1 1)1 0-BCn00.110100.01101012)0 1+B11.100111.110011103)1 0-B00.100100.01001111.014)0 1+B11.011111.101111110 Cn+1CnCn+15)1 0-B第54页/共77页(XY)补 4)0 1+B11.011111.101111115)1 0-B00.10001111修正(1)A、B取双符号位,符号参加运算;(2)C取单符号位,符号参加移位,以决定最后是否 修正;(3)C末位设置附加位Cn+1,初值为0,CnCn+1组成判 断位,决定运算操作;(4)作n步循环,若

27、需作第n+1步,则不移位,仅修正。 4.运算规则1.0 : -B修正0.1 : +B修正0.0 : 不修正1.1 : 不修正第55页/共77页 5 3.2.3 定点除法运算除法 若干余数与除数加减、移位。例 11010.01 111110001 11111 1010101 11111 101100.000000.商: 余数:0.101102实现除法的关键:比较余数、除数绝对值大小,以决定上商。第56页/共77页3.2.3.1 原码恢复余数法1.算法 比较两数大小可用减法试探。2余数-除数=新余数为正:够减,商1。为负:不够减,商0,恢复原余数。2.实例,求X/Y,给出商Q和余数R设置:A:被除

28、数、余数,B:除数,C:商初值: B= Y = 00.11111 第57页/共77页步数 条件 操作 A C 00.10110 0.00000 1)0-B12)1 -B103)恢复余数+B1014)0-BCnSAQ1 Q2 Q3 r02r0r12r1r2r22r2r3第58页/共77页步数 条件 操作 A C 101 5)0-B10116)1 -B0.101107)恢复余数+BCnQ4 Q5 Q3 r32r3r42r4r5r5R= 0.101102-5X/Y=-0.10110+-0.101102-5 0.11111第59页/共77页3.说明(1)A、B双符号位,X、Y绝对值,X 小于 Y 。(

29、2)运算结束后,余数乘以2 ,与被除数同号。-n3.2.3.2 原码不恢复余数法(加减交替法)1.算法分析第二步:2r1-B=r20第三步:r2+B=r2(恢复余数)第四步:2r2-B=r32r2-B=2(r2+B)-B =2r2+B=r3 第二步:2r1-B=r20第三步:2r2+B=r3 (不恢复余数)第60页/共77页2.算法 ri+1=2ri+(1-2Qi)Yri为正,则Qi为1,第i+1步作2ri-Y;ri为负,则Qi为0,第i+1步作2ri+Y。3.实例,求X/Y,给出商Q和余数R。初值: B= Y = 00.11111 第61页/共77页步数 条件 操作 A C 00.10110

30、 0.00000 1)为正-B12)为负 -B103)+B101为正Cn rQ1 Q2 Q3 r02r0r12r1r22r2r34)为正-B1011Q4 2r3r4第62页/共77页步数 条件 操作 A C 1011 6)为负 恢复余数+BCnQ4 r45)为正-B0.10110Q5 2r4r5r5R= 0.101102-5X/Y=-0.10110+ 0.101102-5 -0.11111第63页/共77页 4.运算规则(1)A、B取双符号位,X、Y取绝对值运算,X Y 。(2)根据余数的正负决定商值及下一步操作。(3)求n位商,作n步操作;若第n步余数为负,则第n+1步恢复余数,不移位。第6

31、4页/共77页3.2.3.3 补码不恢复余数法(加减交替法)如何判断是否够减? 如何上商? 如何确定商符? 补码除法法则X X补补Y Y补补数符数符商商符符第一步第一步操作操作r r补补Y Y补补数符数符上上商商下一步操作下一步操作同号同号0 0减减同号(够减)同号(够减)异号(不够减)异号(不够减)1 10 02r2ri i 补补-Y-Y补补2r2ri i 补补+Y+Y补补异号异号1 1加加同号(不够减)同号(不够减)异号(够减)异号(够减)1 10 02r2ri i 补补-Y-Y补补2r2ri i 补补+Y+Y补补第65页/共77页4 717 4-4 -7-7 -4010-43-7-3-(-4)-33.2.3.3 补码不恢复余数法(加减交替法)如何判断是否够减? 如何上商? 如何确定商符? 1.判够减(1)同号相除 减-4 7-7 44 -77 -4-(-7)3够减不够减够减不够减够减:r与X、Y同号; 不够减:r与X、Y异号。(2)异号相除 加 01 0 1+(-4) 3+(-7)-3 +4-3 +7 3够减够减不够减不够减够减:r与X同号,与Y异号; 不够减:r与X异号,与Y同号。第66页/共77页(3)判断规则同号:作X补-Y补X补Y补够减:r补与Y补同号不够减:r补与Y补异号异号:作X补+Y补够减

温馨提示

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

评论

0/150

提交评论