




已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章CPU子系统,运算器,控制器,本章主要讨论:,运算器控制器数据通路结构与外部的连接,指令的执行过程,CPU组成,CPU工作原理,3.1CPU的基本组成,运算部件,寄存器组,微命令产生部件,时序系统,传统运算器,传统控制器,1.运算部件,输出逻辑,ALU,输入逻辑,输入逻辑,操作数操作数,运算结果,(1)输入逻辑,(2)算术逻辑运算部件ALU,(3)输出逻辑,选择两个操作数,可以是选择器或暂存器,核心部件,完成具体运算。求和、进位传递,具有移位功能,通过斜位传送可实现左移、右移或字节交换,移位器,ALU,多路选择器,多路选择器,+1,PSW,R0,R1,R2,R3,IR,PC,MAR,MDR,MEMORY,R0R3,R0R3,C,D,PC,SP,C,D,MDR,PSW,RR,RM,MM,D,C,地址寄存器,数据寄存器,C,D暂存器,计算机的运算功能分为四种档次,1)普通微处理器:只设置一个ALU,软件实现乘除、浮点运算,2)高档微处理机:设置一个ALU,并且配合时序控制,硬件实现定点数乘除,浮点运算由软件(子程序)或硬件完成(浮点协处理器),3)小、中型机:只设置一个ALU,且将定点乘除部件和浮点部件作为基本配置,硬件实现,4)大、巨型机:设置多种运算部件,如标量运算、浮点运算和向量运算,2.寄存器组,(1)通用寄存器组,具有2种以上功能,1)用于提供数据信息,提供处理对象的寄存器,包括累加器、地址寄存器、计数器和移位器,设计时,只有发送和接收功能,其余操作靠辅助线路完成,移位器,ALU,多路选择器,多路选择器,+1,移位(左斜、右斜),计数器,累加器,寄存器,D触发器,SRAM寄存器组(中小规模的存储单元),同时I/O,集成度低,单元/寄存器,单双口Ram,(2)暂存器,暂存器不能被CPU直接编程访问,设置的目的是为了暂存某些中间过程所产生的信息,避免破坏通用寄存器的内容。,移位器,ALU,多路选择器,多路选择器,+1,PSW,R0,R1,R2,R3,IR,PC,MAR,MDR,MEMORY,R0R3,R0R3,C,D,PC,SP,C,D,MBR,PSW,RR,RM,MM,X=X+Y,MOVR0,Y,ADDX,R0,(MDR)+(R0)MDR,ADDX,Y,(C)+(MDR)MDR,有暂存器,如前页图,2).用于控制的寄存器,(1)IR(指令寄存器),存放现行指令,直至本条指令结束,(2)PC(程序寄存器),(3)PSW(程序状态字),存放下条指令(+n)的地址,提供读取指令的地址,控制执行指令序列的流向,存放前次运算结果状态,PSW,负零溢出进位,状态位:C,V,Z,N,P,控制位:IF,TF,DF,为衔接与流水:指令寄存器扩充成指令队列(或指令栈),提速:IRMDR,跟踪(陷阱)TF,编程设定断点;,允许中断IF,编程设定,IF=1时允许响应外部终端请求,半进位AF、单步位TF、方向标志DF(地址由低到高,还是由高到低),程序优先级,程序运行过程中,可能有外部中断请求,可以根据优先级来决定CPU执行哪一部分。,工作方式:用户态、管态,其它信息:不同计算机,PSW内容相差很大,如:IBM360的PSW包括系统屏蔽、保护键、AMWP字(工作方式)、中断码、指令长度、条件码、程序屏蔽、指令地址等。,3).用作主存接口的寄存器(对用户透明),(1)地址寄存器:MAR,(2)数据寄存器:MDR(双向),取指:PC内容MAR,存取操作数:地址计算结果MAR,写入:数据一般先送至MDR,再经总线送往主存,读出:,数据现有总线送入MDR,再经CPU内部总线,送入指定的寄存器,3.总线数据通路结构,总线:一组为多个部件分时共享的公共信息传送线路,可以分时接收(同时发送)和分配信息,1)CPU内部总线,ALU总线,连接寄存器与ALU(一条或多条),可能还有地址总线,2)部件间总线,设备控制器、智能型接口等部件:微处理器、LM(地址线,数据线),3)系统总线,系统内各大组成部件间(如CPU、M、I/O)总线,地址总线:CPU、DMAC提供地址,数据总线:双向,控制总线:复位、请求、应答、读/写、,总线仲裁、控制权转移,4)系统外总线,一台计算机系统与其他设备、或几台计算机系统相连,总线实体:,狭义:指一组传送线,广义:包含一组传送线及相应的控制逻辑,DMA控制器,5.时序系统,时序发生器(时序系统):产生周期节拍、,脉冲源(主振荡器):外接晶体振荡器,一组计数分频逻辑:产生所需的周期(节拍),脉冲等时序信号的部件,4.微操作命令产生部件,在CPU中设置微命令产生部件,根据控制信息产生微命令序列,对指令功能所要求的数据传送进行控制,且在数据传送至运算部件时控制完成运算处理。,6.CPU内部数据通路结构,1)单组内总线、分立寄存器结构,例:NOVA-1200,分立寄存器,一组单向,特点:,数据总线,以ALU为内部,数据传送通路的中枢,独立结构,小型存储器结构,单口双口,寄存器组,独立R、双口RAM用多路选择器作为ALU的输入逻辑,单口RAM用锁存器作为ALU的输入逻辑。,带多路选择器的运算器,特点:R各自独立;可同时向ALU提供两个操作数;采用单向内总线。,例:要实现R0R1:(R0)ALUR1,2)单组内总线、集成寄存器结构,集成化寄存器组(SRAM),一组双,特点:,例:要实现R0R1:(R0)暂存器R1,向数据总线,ALU输入端设暂存器,带输入锁存器的运算器,特点:单口RAM不能同时向ALU提供两个操作数;用锁存器暂存操作数;采用双向内总线。,3)多组内总线,数据总线(ALU):,连接ALU与寄存器组,双工数据收发器,系统数据总线,地址总线:,指令部件、ALU部件、段地址处理部件、页地址处理部件、地址驱动,指令总线:,收发器、指令队列、指令预译码、译码、控制ROM,内部控制总线:,控制ROM,控制ALU及各有关部件,位片式运算器,特点:用双口RAM(两地址端、两数据端)作通用寄存器组,可同时提供数据;用多路选择器作输入逻辑,不需暂存操作数;ALU增加乘、除功能,用乘商寄存器存放乘数、乘积或商。,例.4位片运算器粗框,G,P小组进位产生、传递函数;Cn+4组间串行进位,Cn初始进位,组内并行,组间并行,第二节运算方法,3.2.1.1补码加减法,数用补码表示,符号位参加运算。,实际操作能否只取决于操作码?结果需不需修正?如何将减法转换为加法?,3.2.1定点加减运算,1.基本关系式,(X+Y)补=X补+Y补(1)(X-Y)补=X补+(-Y)补(2),式(1):操作码为“加”时,两数直接相加。,3)X=3Y=2,X补=00011Y补=11110,00001,(+1补码),2)X=3Y=2,X补=11101Y补=11110,11011,(5补码),1)X=3Y=2,X补=00011Y补=00010,00101,(+5补码),4)X=3Y=2,X补=11101Y补=00010,11111,(1补码),例.求(X+Y)补,(X+Y)补=X补+Y补(1)(X-Y)补=X补+(-Y)补(2),式(2):操作码为“减”时,将减转换为加。,1)X=4Y=5,X补=00100Y补=11011(-Y)补=00101,01001,(+9补码),2)X=4Y=5,X补=11100Y补=00101(-Y)补=11011,10111,(9补码),例.求(XY)补,Y补(Y)补:,将Y补变补,不管Y补为正或负,将其符号连同尾数一起各位变反,末位加1。,即将减数变补后与被减数相加。,X补=00100Y补=11011,X补=11100Y补=00101,注意:某数的补码表示与某数变补的区别。,例.10101原11011,补码表示,10011补01101,变补,00101原00101,补码表示,符号位不变;,负数尾数改变,正数尾数不变。,00011补11101,变补,符号位改变,,尾数改变。,补码的机器负数,2.算法流程,操作数用补码表示,符号位参加运算,结果为补码表示,符号位指示结果正负,X补+Y补,X补+(-Y)补,ADD,SUB,3.逻辑实现,+1,(1)控制信号,加法器输入端:,+A:打开控制门,将A送。,+B:打开控制门,将B送。,+1:控制末位加1。,加法器输出端:,CPA:将结果打入A。,(2)补码加减运算器粗框,3.2.1.2溢出判断,在什么情况下可能产生溢出?,例.数A有4位尾数,1位符号SA数B有4位尾数,1位符号SB,符号位参加运算,结果符号Sf符号位进位Cf尾数最高位进位C,正确,正溢,正确,负溢,正确,正确,00111,(2)A=10B=710+7:01010,10001,1.硬件判断逻辑一(SA、SB与Sf的关系),溢出=,SA,SB,Sf,SA,Sf,SB,2.硬件判断逻辑二(Cf与C的关系),正确,正溢,正确,负溢,正确,正确,Cf=0C=0,Cf=0C=1,Cf=1C=1,Cf=1C=0,Cf=1C=1,Cf=0C=0,1,1,1,1,1,1,1.硬件判断逻辑一(SA、SB与Sf的关系),2.硬件判断逻辑二(Cf与C的关系),3.硬件判断逻辑三(双符号位),第一符号位Sf1,第二符号位Sf2,1.硬件判断逻辑一(SA、SB与Sf的关系),2.硬件判断逻辑二(Cf与C的关系),3.硬件判断逻辑三(双符号位),3.2.1.3移位操作,逻辑移位,:数码位置变化,数值不变。,1.移位类型,算术移位,10001111,循环左移:,0,1001111,算术左移:,1,0,0,1,1,1,1,1,0,1,1,1,1,0,(-15),(-30),(1)单符号位:,00111,01110,(2)双符号位:,001110,000111,2.正数补码移位规则,(3)移位规则,00111,00011,011100,001110,000111,数符不变,(单:符号位不变;双:第一符号位不变)。,空位补0,(右移时第二符号位移至尾数最高位)。,(1)单符号位:,11011,10110,(2)双符号位:,101100,110110,3.负数补码移位规则,(3)移位规则,11011,11101,110110,111011,数符不变,(单:符号位不变;双:第一符号位不变)。,左移空位补0,(第二符号位移至尾数最高位),右移空位补1,3.2.1.4舍入方法,1.0舍1入(原码、补码),000100原,100101原,111011补,2.末位恒置1(原码、补码),000100原,111011补,100101原,00010原,10011原,11110补,00011原,10011原,11101补,例.保留4位尾数:,例.保留4位尾数:,3.2.2定点乘法运算,3.2.2.1原码一位乘法每次用一位乘数去乘被乘数。1.算法分析,例.0.11011.1011,X原,Y原,(1)手算0.11010.1011,1101110100001101,0.10001111上符号:1.10001111,部分积,问题:1)加数增多(由乘数位数决定)。2)加数的位数增多(与被乘数、乘数位数有关)。改进:将一次相加改为分步累加。,(2)分步乘法,每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。,设置寄存器:A:存放部分积累加和、乘积高位B:存放被乘数C:存放乘数、乘积低位,步数条件操作AC,00.0000.1011,1),Cn=1,+B,Cn,+00.1101,00.1101,00.0110,1.101,2),Cn=1,+B,+00.1101,01.0011,00.1001,11.10,3),Cn=0,+0,+00.0000,00.1001,00.0100,111.1,4),Cn=1,+B,+00.1101,01.0001,00.1000,1111,X原Y原=1.10001111,2.算法流程,Y,Y,N,N,3.运算规则,(1)操作数、结果用原码表示;(2)绝对值运算,符号单独处理;(3)被乘数(B)、累加和(A)取双符号位;(4)乘数末位(Cn)为判断位,其状态决定下步操作;(5)作n次循环(累加、右移)。,3.2.2.2补码一位乘法,算法规则校正法只要乘数Y补为正,则可像原码乘法一样进行运算,其结果不需校正。如果乘数Y补为负,则先按原码乘法运算,结果再加一个校正量-X补。校正法算法规则比较法校正法的两种情况统一,演变为比较法,又称Booth算法。,3.2.2.2补码一位乘法1.算法分析X补=X0.X1X2Xn,(1)Y为正:Y补=0.Y1Y2Yn(XY)补=X补(0.Y1Y2Yn)(2)Y为负:Y补=1.Y1Y2Yn(XY)补=X补(0.Y1Y2Yn)+(-X)补(3)Y符号任意:(XY)补=X补(0.Y1Y2Yn)+(-X)补Y0,符号位,(4)展开为部分积的累加和形式:(XY)补=X补(0.Y1Y2Yn)+(-X)补Y0,=X补(0.Y1Y2Yn)-X补Y0,Yn+1,比较法:用相邻两位乘数比较的结果决定+X补、-X补或+0。,2.比较法算法Yn(高位)Yn+1(低位)操作(A补为部分积累加和),00011011,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,步数条件操作AC,00.00001.0101,1),10,-B,Cn,+00.1101,00.1101,00.0110,11.0101,2),01,+B,+11.0011,11.1001,11.1100,111.010,3),10,-B,+00.1101,00.1001,00.0100,1111.01,4),01,+B,+11.0011,11.0111,11.1011,11111.0,0,Cn+1,CnCn+1,5),10,-B,+00.1101,(XY)补=0.10001111,4),01,+B,+11.0011,11.0111,11.1011,11111.0,5),10,-B,+00.1101,00.1000,1111,修正,(1)A、B取双符号位,符号参加运算;(2)C取单符号位,符号参加移位,以决定最后是否修正;(3)C末位设置附加位Cn+1,初值为0,CnCn+1组成判断位,决定运算操作;(4)作n步循环,若需作第n+1步,则不移位,仅修正。,4.运算规则,1.0:-B修正0.1:+B修正0.0:不修正1.1:不修正,3.2.3定点除法运算,例.0.101100.11111,0.10110,1101,0.,0,1,11111,0.11111,0,0,0,1,11111,10101,0,1,11111,1011,0,0,.,00000,0.,商:0.10110余数:0.101102,实现除法的关键:比较余数、除数绝对值大小,以决定上商。,3.2.3.1原码恢复余数法1.算法比较两数大小可用减法试探。,2余数-除数=新余数,为正:够减,商1。为负:不够减,商0,恢复原余数。,2.实例,X=-0.10110,Y=0.11111,求X/Y,给出商Q和余数R,设置:A:被除数、余数,B:除数,C:商,初值:A=X=00.10110,B=Y=00.11111,C=Q=0.00000,-B=11.00001,步数条件操作AC,00.101100.00000,1),0,-B,01.01100,+11.00001,00.01101,0.00001,2),1,-B,00.11010,+11.00001,11.11011,0.00010,3),恢复余数,+B,+00.11111,00.11010,01.10100,0.00101,4),0,-B,+11.00001,00.10101,Cn,SA,Q1,Q2,Q3,r0,2r0,r1,2r1,r2,r2,2r2,r3,步数条件操作AC,00.101010.00101,5),0,-B,01.01010,+11.00001,00.01011,0.01011,6),1,-B,00.10110,+11.00001,11.10111,0.10110,7),恢复余数,+B,+00.11111,00.10110,Q=-0.10110,Cn,Q4,Q5,Q3,r3,2r3,r4,2r4,r5,r5,3.说明,3.2.3.2原码不恢复余数法(加减交替法)1.算法分析第二步:2r1-B=r20第三步:r2+B=r2(恢复余数)第四步:2r2-B=r3,2r2-B=2(r2+B)-B=2r2+B=r3,第二步:2r1-B=r20第三步:2r2+B=r3(不恢复余数),2.算法ri+1=2ri+(1-2Qi)Y,ri为正,则Qi为1,第i+1步作2ri-Y;ri为负,则Qi为0,第i+1步作2ri+Y。,3.实例,X=0.10110,Y=-0.11111,求X/Y,给出商Q和余数R。,初值:A=X=00.10110,B=Y=00.11111,C=Q=0.00000,-B=11.00001,步数条件操作AC,00.101100.00000,1),为正,-B,01.01100,+11.00001,00.01101,0.00001,2),为负,-B,00.11010,+11.00001,11.11011,0.00010,3),+B,+00.11111,11.10110,0.00101,为正,00.10101,Cn,r,Q1,Q2,Q3,r0,2r0,r1,2r1,r2,2r2,r3,4),为正,-B,01.01010,+11.00001,00.01011,0.01011,Q4,2r3,r4,步数条件操作AC,00.010110.01011,6),为负,恢复余数,+B,+00.11111,00.10110,Q=-0.10110,Cn,Q4,r4,5),为正,-B,00.10110,+11.00001,11.10111,0.10110,Q5,2r4,r5,r5,4.运算规则,(1)A、B取双符号位,X、Y取绝对值运算,XY。(2)根据余数的正负决定商值及下一步操作。(3)求n位商,作n步操作;若第n步余数为负,则第n+1步恢复余数,不移位。,3.2.3.3补码不恢复余数法(加减交替法)如何判断是否够减?,如何上商?,如何确定商符?,补码除法法则,1,0,1,0,3.2.3.3补码不恢复余数法(加减交替法)如何判断是否够减?,如何上商?,如何确定商符?,1.判够减,(1)同号相除减,够减,不够减,够减,不够减,够减:r与X、Y同号;,不够减:r与X、Y异号。,(2)异号相除加,0,1,0,1,够减,够减,不够减,不够减,够减:r与X同号,与Y异号;,不够减:r与X异号,与Y同号。,(3)判断规则,同号:作X补-Y补,X补,Y补,够减:r补与Y补同号,不够减:r补与Y补异号,异号:作X补+Y补,够减:r补与Y补异号,不够减:r补与Y补同号,2.求商值,同号:商为正,异号:商为负,够减商1不够减商0,够减商0不够减商1,(r、Y同号)(r、Y异号)(r、Y异号)(r、Y同号),上商规则:,余数与除数同号商1,异号商0。,3.算法(ri+1)补=2ri补+(1-2Qi补)Y补,ri补与Y补同号,则Qi补为1,第i+1步作2ri补-Y补;ri补与Y补异号,则Qi补为0,第i+1步作2ri补+Y补。,4.求商符,令X补=r0补,r0补与Y补,同号:Q0补=1异号:Q0补=0,与实际商符相反,商符,5.商的校正,商,余数,真商=假商+1.00001,=Q0.Q1Q2Qn-1,求n-1位商,(假商),第n位商(末
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南通期中4年级数学试卷
- 黔西南州 中考数学试卷
- 海宁活动策划服务方案价格(3篇)
- 装修现场吊顶施工方案(3篇)
- 职业卫生考试题库及答案
- 药学执业考试题库及答案
- 北京市门头沟区2023-2024学年九年级上学期第一次月考道德与法制考点及答案
- 写英语句子的题目及答案
- 养殖业合作发展及产品质量保障合同
- 天津的春节作文400字作文400字(7篇)
- 2025四川建筑安全员C证(专职安全员)考试题库
- 嘉兴市昊鸣纺织有限公司年产480万米高档纺织真丝面料技改项目环评报告
- 2025四川眉山市国有资本投资运营集团有限公司招聘50人笔试参考题库附带答案详解
- 机车信号杜斌刚课件
- 假体隆胸手术课件
- 水泵房设备安装施工方案
- 90题性格测试题及答案
- 深信服aES产品技术白皮书-V1.5
- 农村宅基地流转合同协议范本
- 文保员安全培训课件
- 西门子S7-1200PLC应用技术项目教程(第2版)-教案全套 LAD+SCL
评论
0/150
提交评论