《第三章计算机系统分层结构PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第三章计算机系统分层结构PPT讲稿.ppt(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章计算机系统分层结构第1页,共97页,编辑于2022年,星期二 1.4 系统结构计算机系统结构计算机系统结构系统的层次结构系统的层次结构 面向问题语言层面向问题语言层汇编语言层汇编语言层操作系统层操作系统层指令系统层指令系统层微体系结构层微体系结构层5层4层3层2层1层硬件硬件-机器语言机器语言机器与人的界面机器与人的界面符号化的机器语言符号化的机器语言面向用户的语言面向用户的语言硬件硬件/固件固件(微程序微程序)翻译翻译(编译器编译器)翻译翻译(汇编器汇编器)部分解释部分解释(操作系统操作系统)直接执行直接执行/解释解释(微程序微程序)第2页,共97页,编辑于2022年,星期二第第3 3
2、章章 微体系结构层微体系结构层CPUCPU组织组织 在在微微体体系系结结构构层层,是是从从寄寄存存器器级级分分析析CPU的的结结构构和功能。和功能。本章主要内容:本章主要内容:CPU的基本组成和功能的基本组成和功能 算术逻辑部件算术逻辑部件ALU和运算方法和运算方法 CPU模型机模型机 组合逻辑控制器原理组合逻辑控制器原理 微程序控制器原理微程序控制器原理第3页,共97页,编辑于2022年,星期二第5章CPU .学习目的和要求:学习目的和要求:认识认识CPUCPU在计算机中的位置;在计算机中的位置;要求掌握要求掌握CPU与各个部分的协调工作原理;与各个部分的协调工作原理;.重点重点:整机构成整
3、机构成,三级时序三级时序,两类控制器;两类控制器;.难点:难点:运算器运算器,微程序控制和设计。微程序控制和设计。第4页,共97页,编辑于2022年,星期二3.1 CPU(Central Process Unit)的组成和功能的组成和功能 计算机的工作就是不断执行指令序列的过程。计算机的工作就是不断执行指令序列的过程。CPU CPU的主要功能是从主存储器中取出指令、的主要功能是从主存储器中取出指令、分析指令和执行指令,即按指令控制计算机各部件分析指令和执行指令,即按指令控制计算机各部件操作,并对数据进行处理。操作,并对数据进行处理。CPU CPU是计算机的核心组成部分是计算机的核心组成部分 3
4、.1.CPU的组成和功能第5页,共97页,编辑于2022年,星期二由由算术逻辑部件算术逻辑部件ALU、控制器、控制器、各种寄存器(寄存器各种寄存器(寄存器群)和群)和CPU内部总线(连接部件)内部总线(连接部件)另:另:Cache 3.1.1 CPU3.1.1 CPU的组成的组成第6页,共97页,编辑于2022年,星期二1 1ALUALU部件部件ALUALU的功能是实现数据的的功能是实现数据的算术与逻辑运算算术与逻辑运算两个输入端口两个输入端口,参加运算的两个操作数,通常来自,参加运算的两个操作数,通常来自CPUCPU中的通用寄存器或中的通用寄存器或ALUALU总线。总线。控制信号:控制信号:
5、ADD,SUB,OR,ANDADD,SUB,OR,AND等等输出:输出:运算结果运算结果第7页,共97页,编辑于2022年,星期二CPU CPU 中的寄存器包括存放中的寄存器包括存放控制信息控制信息的寄存器,的寄存器,如如指令寄存器指令寄存器(IR)(IR)、程序计数器程序计数器(PC)(PC)和和状态状态字寄存器字寄存器(FR)(FR);以及存放所;以及存放所处理数据处理数据的寄存的寄存器,如器,如通用寄存器通用寄存器和和暂存器暂存器。2.2.寄存器寄存器 (1)(1)通用寄存器通用寄存器本身在逻辑上只具有本身在逻辑上只具有接收信息、接收信息、存储信息和发送信息存储信息和发送信息的功能。可为
6、的功能。可为ALUALU提供操作提供操作数并存放运算结果数并存放运算结果(MUL,DIV)(MUL,DIV),也可用作变址寄,也可用作变址寄存器存器(SI,DI)(SI,DI)、地址指针和计数器、地址指针和计数器(CX)(CX)等。等。第8页,共97页,编辑于2022年,星期二(2)(2)暂存器暂存器暂存从主存储器读出的数据暂存从主存储器读出的数据,暂暂存器没有寄存器号,因此不能直接编程访问存器没有寄存器号,因此不能直接编程访问它们,是它们,是透明透明的。(的。(ALUALU的两个输入)的两个输入)用来存放当前正在执行的一条指令。执行指用来存放当前正在执行的一条指令。执行指令时,需根据令时,需
7、根据PCPC中的指令地址从主存读取指中的指令地址从主存读取指令送到令送到IRIR中。中。(3 3)指令寄存器)指令寄存器IRIR(Instruction RegisterInstruction Register)存放当前或下一条存放当前或下一条指令指令在主存中的在主存中的地址地址,因此又称为指令计数器或指令指针因此又称为指令计数器或指令指针IPIP(Instruction PointerInstruction Pointer)。)。(4 4)程序计数器)程序计数器PCPC(Program CounterProgram Counter)第9页,共97页,编辑于2022年,星期二(5)状态寄存器)
8、状态寄存器存放当前程序的运行状态和存放当前程序的运行状态和工作方式,其内容称为程序状态字工作方式,其内容称为程序状态字PSW(Program State Word),),PSW是是参与控制程序执行的重要依据。参与控制程序执行的重要依据。(P144)第10页,共97页,编辑于2022年,星期二标志位的值标志位的值标志名标志名标志为标志为1标志为标志为0 OF 溢出(是溢出(是/否)否)OVNV DF 方向(增量方向(增量/减量)减量)DNUP IF 中断(允许中断(允许/关闭)关闭)EIDI SF 符号(正符号(正/负)负)NGPL ZF 零(是零(是/否)否)ZRNZ AF 辅助进位(是辅助进
9、位(是/否)否)ACNA PF 奇偶(偶奇偶(偶/奇)奇)PEPO CF 进位(是进位(是/否)否)CYNC第11页,共97页,编辑于2022年,星期二3 3总线总线 所谓总线是一组能为多个部件所谓总线是一组能为多个部件分时共享分时共享的公共信息传送线路,它分的公共信息传送线路,它分时接收各部件送来的信息,并发送信息到有关部件。时接收各部件送来的信息,并发送信息到有关部件。由于多个部件连接在一组公共总线上,可能会出现多个部件由于多个部件连接在一组公共总线上,可能会出现多个部件争用争用总线,总线,因此需设置总线控制逻辑以解决总线控制权的有关问题。因此需设置总线控制逻辑以解决总线控制权的有关问题。
10、CPUCPU内部总线内部总线用来连接用来连接CPUCPU内的各寄存器与内的各寄存器与ALUALU;总线分类:系统总线系统总线用来连接用来连接CPUCPU、主存储器与、主存储器与I/OI/O接口,它通常包括三组:接口,它通常包括三组:数数据据总线、总线、地址地址总线和总线和控制控制总线。总线。按总线传送的方向可将总线分为按总线传送的方向可将总线分为单向单向总线和总线和双向双向总线。总线。第12页,共97页,编辑于2022年,星期二4 4CPUCPU内部数据通路内部数据通路 CPU CPU内部寄存器及内部寄存器及ALUALU之间通常用总线方式传送数据信息。之间通常用总线方式传送数据信息。介绍两种介
11、绍两种常见的结构。常见的结构。(1 1)单总线单总线数据通路结构(双向)数据通路结构(双向)采用单总线结构的采用单总线结构的CPUCPU数据通路数据通路 第13页,共97页,编辑于2022年,星期二 CPU CPU数据通路结构只采用数据通路结构只采用一组内总线一组内总线,它是,它是双向双向总线。通用寄存器组、总线。通用寄存器组、其他寄存器和其他寄存器和ALUALU均连在这组内总线上。均连在这组内总线上。CPU CPU内各寄存器间的数据传送必须通过内总线进行,内各寄存器间的数据传送必须通过内总线进行,ALUALU通过内总线得到通过内总线得到操作数,其运算结果也经内总线输出。操作数,其运算结果也经
12、内总线输出。(2 2)多组内总线结构(单向)多组内总线结构(单向)采用三总线结构的采用三总线结构的CPUCPU数据通路数据通路 为了提高为了提高CPUCPU的工作速度,一种方法是在的工作速度,一种方法是在CPUCPU内部设置多组内总线,内部设置多组内总线,使几个数据传送操作能够同时进行,即实现使几个数据传送操作能够同时进行,即实现部分并行部分并行操作。操作。第14页,共97页,编辑于2022年,星期二ACYMemoryPCALURnR0IRCUPSWDRARclockIRinPCinADDSUBANDORR0in移位器移位器R0outR1inR1outRninRnoutDRinDRoutARi
13、nARoutA码码C码码PCoutR/WCSACinYinIRout微命令序列(微指令)时序时序CPU内部的内部的结构示意图结构示意图R1B U S(总线)红色箭头红色箭头是微命令是微命令第15页,共97页,编辑于2022年,星期二3.1.2 3.1.2 指令执行过程指令执行过程 CPU CPU的主要功能就是的主要功能就是执行存放在存储器中的指令序列执行存放在存储器中的指令序列,即程序。,即程序。1 1指令的分段执行过程指令的分段执行过程 任何一条指令的执行都要经过任何一条指令的执行都要经过读取读取指令、指令、分析分析指令和指令和执行执行指令指令3 3个个阶段。阶段。执行阶段还可细分执行阶段还
14、可细分为:(1 1)取指令)取指令(2 2)分析指令)分析指令(3 3)执行指令)执行指令 取操作数取操作数 执行操作执行操作 形成下一条指令地址形成下一条指令地址 此外,此外,CPUCPU还应该对运行过程中出现的某些还应该对运行过程中出现的某些异常情况异常情况或或输入输入/输出请求输出请求进行处理进行处理 。第16页,共97页,编辑于2022年,星期二模型机数据通路结构图模型机数据通路结构图第17页,共97页,编辑于2022年,星期二2 2指令之间的衔接方式指令之间的衔接方式 指令之间的衔接方式有两种:指令之间的衔接方式有两种:串行串行的顺序安排方式与的顺序安排方式与并行并行的重叠处的重叠处
15、理方式。理方式。3.1.3 3.1.3 时序控制方式时序控制方式 执行一条指令的过程可分为几个阶段,而每一阶段又分为若干步基本操作,执行一条指令的过程可分为几个阶段,而每一阶段又分为若干步基本操作,每一步操作则由控制器产生一些相应的控制信号实现。因此,每条指令都可分每一步操作则由控制器产生一些相应的控制信号实现。因此,每条指令都可分解为一个控制信号序列,指令的执行过程就是依次执行一个确定的解为一个控制信号序列,指令的执行过程就是依次执行一个确定的控制信号控制信号序列序列的过程。的过程。时序控制方式时序控制方式就是指微操作与时序信号之间采取何种关系,它不仅就是指微操作与时序信号之间采取何种关系,
16、它不仅直接决定时序信号的产生,也影响到控制器及其他部件的组成,以及指令的直接决定时序信号的产生,也影响到控制器及其他部件的组成,以及指令的执行速度。执行速度。第18页,共97页,编辑于2022年,星期二1 1同步控制方式同步控制方式 同步控制方式是指各项操作由同步控制方式是指各项操作由统一统一的时序信号进行同步控制。的时序信号进行同步控制。同步控制的基本特征是将操作时间分为若干长度相同的同步控制的基本特征是将操作时间分为若干长度相同的时钟周期时钟周期(也(也称为节拍),要求在一个或几个时钟周期内完成各个称为节拍),要求在一个或几个时钟周期内完成各个微操作微操作。在在CPUCPU内部通常是采用同
17、步控制方式内部通常是采用同步控制方式。同步控制方式的优点是时序关系简单,结构上易于集中,相应的设计和实现同步控制方式的优点是时序关系简单,结构上易于集中,相应的设计和实现比较方便。比较方便。2 2同步控制方式的多级时序系统同步控制方式的多级时序系统(1 1)多级时序的概念)多级时序的概念 在同步控制方式中,通常将时序信号划分为几级(其中包括指令周期),称在同步控制方式中,通常将时序信号划分为几级(其中包括指令周期),称为多级时序。为多级时序。机器周期机器周期 节拍(时钟周期)节拍(时钟周期)时钟脉冲信号时钟脉冲信号第19页,共97页,编辑于2022年,星期二(2 2)多级时序信号之间的关系)多
18、级时序信号之间的关系三级时序信号之间的关系三级时序信号之间的关系 第20页,共97页,编辑于2022年,星期二(3 3)时序系统的组成)时序系统的组成时序系统框图时序系统框图 3.1.4 3.1.4 指令流水线指令流水线 两段指令流水线两段指令流水线 第21页,共97页,编辑于2022年,星期二为获得进一步的加速,流水线可以分成更多的阶段。为获得进一步的加速,流水线可以分成更多的阶段。取指令取指令计算操作数地址计算操作数地址译码指令译码指令写操作数写操作数取操作数取操作数执行指令执行指令指令流水指令流水线线操作操作时时序序图图 影响流水线性能主要有以下几个因素:影响流水线性能主要有以下几个因素
19、:(1)若各个阶段不全是相等的时间)若各个阶段不全是相等的时间(2)流水线中的相关问题)流水线中的相关问题(3)当遇到条件转移指令时)当遇到条件转移指令时(4)当)当I/O设备有中断请求或机器有故障时设备有中断请求或机器有故障时第22页,共97页,编辑于2022年,星期二第二节第二节 算术逻辑部件算术逻辑部件ALUALU和运算方法和运算方法 算术逻辑部件算术逻辑部件ALUALU主要完成对二进制代码的定点主要完成对二进制代码的定点算术运算算术运算和和逻辑运算逻辑运算。3.2.1 3.2.1 算术逻辑部件算术逻辑部件ALUALU算术逻辑部件算术逻辑部件ALUALU的硬件实现涉及三个问题:的硬件实现
20、涉及三个问题:(1 1)如何构成一位二进制加法单元,即全加器。)如何构成一位二进制加法单元,即全加器。(2 2)n n位全加器连同进位信号传送逻辑,构成一个位全加器连同进位信号传送逻辑,构成一个n n位并行加法器。位并行加法器。(3 3)以加法器为核心,通过输入选择逻辑扩展为具有多种算术和逻辑运算功能的)以加法器为核心,通过输入选择逻辑扩展为具有多种算术和逻辑运算功能的ALUALU。第23页,共97页,编辑于2022年,星期二1 1全加器全加器 用半加器构成的全加器用半加器构成的全加器 和和进位进位目前,广泛采用半加器构成全加器。目前,广泛采用半加器构成全加器。通常逻辑门电路都存在延迟时通常逻
21、辑门电路都存在延迟时间,全加器电路就是一个延迟部件,间,全加器电路就是一个延迟部件,正是这个延迟特性将影响全加器的正是这个延迟特性将影响全加器的速度。速度。第24页,共97页,编辑于2022年,星期二2 2并行加法器与进位链结构并行加法器与进位链结构 用用n n位全加器实现两个位全加器实现两个n n位操作数各位同时相加,这种加法器称为并行加法器。位操作数各位同时相加,这种加法器称为并行加法器。并行加法器中全加器的位数与操作数的位数相同。并行加法器中全加器的位数与操作数的位数相同。(1 1)基本进位公式)基本进位公式设相加的两个设相加的两个n n位操作数为位操作数为:进位信号的逻辑式 第25页,
22、共97页,编辑于2022年,星期二可以看出可以看出C C 由两部分组成:由两部分组成:我们定义两个辅助函数:我们定义两个辅助函数:进位产生进位产生函数函数进位传递进位传递函数函数因此有:因此有:第26页,共97页,编辑于2022年,星期二(2 2)并行加法器的串行进位)并行加法器的串行进位 采用串行进位的并行加法器,是将采用串行进位的并行加法器,是将n n个全加器串接起来,就可进行两个个全加器串接起来,就可进行两个n n位位数相加。数相加。由于串行进位的延迟时间较长,所以在由于串行进位的延迟时间较长,所以在ALUALU中很少采用纯串行进位的方式。中很少采用纯串行进位的方式。但这种方式可节省器件
23、,成本低,在分组进位方式中局部采用有时也是可取的。但这种方式可节省器件,成本低,在分组进位方式中局部采用有时也是可取的。第27页,共97页,编辑于2022年,星期二3 3并行进位(先行进位、同时进位)并行进位(先行进位、同时进位)为了提高并行加法器的运算速度,就必须解决进位传递的问题。方法是为了提高并行加法器的运算速度,就必须解决进位传递的问题。方法是让各级进位信号同时形成,而不是串行形成。让各级进位信号同时形成,而不是串行形成。这种同时形成各位进位的方法称为这种同时形成各位进位的方法称为并行进位并行进位或或先行进位先行进位,又称为,又称为同同时进位时进位。虽然并行进位加法器的运算速度快,但这
24、是以增加硬件逻辑线路为代价的。虽然并行进位加法器的运算速度快,但这是以增加硬件逻辑线路为代价的。两种常用的两种常用的分组进位分组进位结构是:结构是:组内并行、组间串行的进位链。组内并行、组间串行的进位链。组内并行、组间并行的进位链。组内并行、组间并行的进位链。第28页,共97页,编辑于2022年,星期二4 4ALUALU举例举例SN74181SN74181框图框图 (1 1)SN74181SN74181外特性外特性第29页,共97页,编辑于2022年,星期二实验1 算术逻辑运算实验两个SN74181组成8位片内并行进位,片间串行进位的运算器第30页,共97页,编辑于2022年,星期二16位并行
25、进位ALU结构P87 图3-13第31页,共97页,编辑于2022年,星期二3.2.2 3.2.2 定点数运算方法定点数运算方法 数值运算的核心是指加、减、乘、除四则算术。由于计算机中的数有定数值运算的核心是指加、减、乘、除四则算术。由于计算机中的数有定点和浮点两种表示形式,因此相应有点和浮点两种表示形式,因此相应有定点数定点数的运算和的运算和浮点数浮点数的运算。的运算。1 1定点加减运算定点加减运算(1 1)原码加减运算)原码加减运算(不用不用)例如,加法指令指示做(例如,加法指令指示做(+A+A)+(-B-B),由于一个操作数为负,实际),由于一个操作数为负,实际操作是做减法(操作是做减法
26、(+A+A)-(+B+B),结果符号与绝对值大的符号相同。同理,),结果符号与绝对值大的符号相同。同理,在减法指令中指示做(在减法指令中指示做(+A+A)-(-B-B),实际操作是做加法(),实际操作是做加法(+A+A)+(+B+B),),结果与被减数符号相同。结果与被减数符号相同。(2 2)补码加减运算)补码加减运算 补码加法运算补码加法运算 X X +Y Y =X X+Y Y 补码减法运算补码减法运算 X XY Y =X X+(-+(-Y Y)=)=X X +-+-Y Y 第32页,共97页,编辑于2022年,星期二 补码运算规则补码运算规则 根据以上讨论,可将补码加减规则归纳根据以上讨论
27、,可将补码加减规则归纳如下:如下:参加运算的操作数用补码表示。参加运算的操作数用补码表示。符号位参加运算。符号位参加运算。若指令操作码为加,则两数直接相加;若指令操作码为加,则两数直接相加;若操作码为减,则将减数连同符号位一若操作码为减,则将减数连同符号位一起变反加起变反加1 1后再与被减数相加。后再与被减数相加。运算结果用补码表示。运算结果用补码表示。【例【例3-33-3】X X =00110110=00110110,Y Y =11001101=11001101,求,求 X X+Y Y ,X X-Y Y 。由y补怎么求-y补?第33页,共97页,编辑于2022年,星期二(3 3)溢出判别)溢
28、出判别在什么情况下可能产生溢出在什么情况下可能产生溢出?例:设定点整数字长例:设定点整数字长8 8位,补码表示(最高位为符位,补码表示(最高位为符号位),表示范围为号位),表示范围为-128-128 127127,运算结果超出此范,运算结果超出此范围就发生溢出。围就发生溢出。第34页,共97页,编辑于2022年,星期二0 00111110 0001101(1)31+13=44 0 0101100 (2)-31 +(-12)=-430 11111110 1000001(3)63+66=1291 0000001 1 10000011 0111110(4)-63+(-66)=-1290 111111
29、1 正溢正溢负溢负溢1 11000011 11101001 1010101 第35页,共97页,编辑于2022年,星期二 采用一个符号位判断采用一个符号位判断溢出溢出=S+A B=S+A B 采用最高有效位的进位判断采用最高有效位的进位判断溢出溢出=C +C =C C=C +C =C C 采用变形补码判断采用变形补码判断(双符号位双符号位)用用S S 、S Sn n分别表示结果最高符号位和第分别表示结果最高符号位和第2 2符号位符号位 溢出溢出=S S=S S 第36页,共97页,编辑于2022年,星期二2 2移位移位 移位操作按移位性质可分为移位操作按移位性质可分为3 3种类型:种类型:逻辑
30、移位逻辑移位、循环移位循环移位和和算算术移位术移位。移位示意图移位示意图 第37页,共97页,编辑于2022年,星期二3.定点数乘除法()软件实现()软件实现()逻辑电路()逻辑电路()专用乘除法器()专用乘除法器第38页,共97页,编辑于2022年,星期二【例【例3-103-10】11011101 10111011的运算的运算过程如图所示。过程如图所示。无符号数乘法除法不做要求(P92-94)第39页,共97页,编辑于2022年,星期二3.2.3 3.2.3 浮点数运算方法浮点数运算方法1 1浮点数加减运算浮点数加减运算 设有两个浮点数:设有两个浮点数:X X=MxMx ,Y Y=MyMy
31、。要实现。要实现X X+Y Y的运算,需要以下的运算,需要以下4 4个步骤才能完成。个步骤才能完成。对阶操作对阶操作 对阶的规则是对阶的规则是:阶码小的数向阶码大的数对齐阶码小的数向阶码大的数对齐 实现尾数的加(减)运算实现尾数的加(减)运算 结果规格化和判溢出结果规格化和判溢出a左规左规 b右规右规 若运算结果是非规格化的数,例如尾数是若运算结果是非规格化的数,例如尾数是11.1x11.1xx x或或00.0 x00.0 xx x形式,就需要将尾数左移,形式,就需要将尾数左移,每左移一位,阶码减每左移一位,阶码减1 1,直至满足规格化条件为,直至满足规格化条件为止(即尾数最高有效位的真值为止
32、(即尾数最高有效位的真值为1 1,或尾数符与,或尾数符与最高有效位不等),这个过程称为左规。在左规最高有效位不等),这个过程称为左规。在左规的同时应判断结果是否会下溢,即阶码小于所能的同时应判断结果是否会下溢,即阶码小于所能表示的最小负数。表示的最小负数。若运算结果尾数发生溢出,例如尾数为若运算结果尾数发生溢出,例如尾数为10.xx10.xxx x或或01.xx01.xxx x形式,这并不表明浮形式,这并不表明浮点结果会溢出,此时需调整阶码,将尾数点结果会溢出,此时需调整阶码,将尾数右移一位,阶码加右移一位,阶码加1 1,称为右规。右规时,称为右规。右规时,应判断结果是否会上溢,即阶码大于所能
33、应判断结果是否会上溢,即阶码大于所能表示的最大正数。表示的最大正数。舍入操作舍入操作 第40页,共97页,编辑于2022年,星期二 下面举一个浮点加的实例。下面举一个浮点加的实例。【例【例3-123-12】设有两个浮点数设有两个浮点数X X=2 =2 0.1101010.1101012 2,Y Y=2 =2 (-(-0.101011)0.101011)2 2。阶码阶码 尾数尾数 X X 浮浮=-10=-10;00.110101 00.110101 Y Y 浮浮=-01=-01;11.010101 11.010101 对阶对阶阶码取大的,即阶码取大的,即-01,-01,的尾数为的尾数为00.01
34、101100.011011(0 0舍舍1 1入)入)尾数求和尾数求和 00.011011+11.010101 11.110000 规格化及判溢出规格化及判溢出 左规得X+Y浮浮=1110;11.10000 舍入舍入 由于是左规,结果不需要舍入。由于是左规,结果不需要舍入。最后运算结果的真值为最后运算结果的真值为X+Y=2 (-0.100000)2。小数点右移即左规第41页,共97页,编辑于2022年,星期二2 2浮点数乘除运算浮点数乘除运算(1 1)浮点数乘法运算)浮点数乘法运算 阶码相加并判溢出阶码相加并判溢出 尾数相乘尾数相乘 规格化处理规格化处理 (2 2)浮点数除法运算)浮点数除法运算
35、 求阶差求阶差 尾数相除尾数相除(都已经规格化都已经规格化)预置预置 检测被除数是否为检测被除数是否为0 0,若为,若为0 0则置商为则置商为0 0。如果除数为。如果除数为0 0,则,则置置0 0除数标志,转中断处理。除数标志,转中断处理。尾数调整尾数调整 第42页,共97页,编辑于2022年,星期二3.2.4 3.2.4 十进制数加减运算十进制数加减运算1 1进制转换进制转换(十十-二二-十十)2 2BCDBCD码码(二二-十进制数十进制数)机器内部采用二机器内部采用二-十进制数(十进制数(BCDBCD码),由码),由BCDBCD码运算指令完成运算。码运算指令完成运算。实现实现BCDBCD码
36、运算的方法有两种:码运算的方法有两种:专用进行专用进行BCDBCD码加、减、乘、除的运算指令。码加、减、乘、除的运算指令。先用二进制数的加、减、乘、除指令进行运算,紧接着用先用二进制数的加、减、乘、除指令进行运算,紧接着用BCDBCD码校正指令对运算结码校正指令对运算结果进行校正。果进行校正。3 3BCDBCD码校正码校正 0-9 0-9不用校正不用校正,大于大于9 9则则+6+6即即+110+110校正校正第43页,共97页,编辑于2022年,星期二第第3 3节节 CPU CPU模型机的组成及其数据通路模型机的组成及其数据通路3.3.1 3.3.1 基本组成基本组成模型机数据通路结构图模型机
37、数据通路结构图第44页,共97页,编辑于2022年,星期二3.3.1 3.3.1 基本组成基本组成1 1寄存器寄存器(1 1)可编程寄存器)可编程寄存器 通用寄存器有通用寄存器有4 4个:个:R R0 0、R R1 1、R R2 2、R R3 3;堆栈指针为;堆栈指针为SPSP;程序状态字寄存器为;程序状态字寄存器为PSWPSW;程序计数器为;程序计数器为PCPC。(2 2)暂存器)暂存器暂存器有暂存器有3 3个:个:C C、D D、Z Z 。(3 3)指令寄存器)指令寄存器IRIR指令寄存器指令寄存器IRIR用来存放当前正在执行的一条指令用来存放当前正在执行的一条指令。(4 4)与主存接口的
38、寄存器)与主存接口的寄存器MARMAR、MDRMDR CPU CPU对主存的控制信号有两个:读信号对主存的控制信号有两个:读信号RDRD控制对主存的读操作;写信号控制对主存的读操作;写信号WRWR控制对主控制对主存的写操作。存的写操作。第45页,共97页,编辑于2022年,星期二2 2运算部件运算部件 ALU ALU的输入的输入A A来自暂存器来自暂存器D D,输入,输入B B来自来自ALUALU总线,运算结果输出到总线,运算结果输出到Z Z。控制。控制ALUALU运算的控制信号有:运算的控制信号有:ADDADD、SUBSUB、ANDAND、OROR、XORXOR、COMCOM、NEGNEG、
39、A+1A+1、A-1A-1、B+1B+1、B-1B-1,它们分别控制,它们分别控制ALUALU完成加、减、与、或、异或、求负、求完成加、减、与、或、异或、求负、求反等运算。反等运算。3 3总线与数据通路结构总线与数据通路结构(1 1)ALU ALU 总线总线 CPU CPU内部采用单总线结构,即设置一组内部采用单总线结构,即设置一组ALUALU总线(也称为总线(也称为CPUCPU内总线)内总线),由,由1616根双向数据传送线组成,根双向数据传送线组成,ALUALU和所有寄存器通过这组公共总线连和所有寄存器通过这组公共总线连接起来。接起来。(2 2)系统总线)系统总线 模型机的模型机的CPUC
40、PU、存储器及、存储器及I/OI/O设备分别挂接在一组系统总线上。系统设备分别挂接在一组系统总线上。系统总线包括:总线包括:1616根地址总线、根地址总线、1616根数据总线,以及控制总线。为简单起见,根数据总线,以及控制总线。为简单起见,模型机采用模型机采用同步控制同步控制方式。方式。第46页,共97页,编辑于2022年,星期二4 4控制器及微命令的基本形式控制器及微命令的基本形式(1 1)微命令的基本形式)微命令的基本形式 在模型机中,微命令有两种形式。在模型机中,微命令有两种形式。电位型微命令电位型微命令 各寄存器输出到各寄存器输出到ALU总线的控制信号有:总线的控制信号有:R0OUT、
41、R1OUT、PCOUT、SPOUT、MDROUT等。等。ALU运算控制信号有:运算控制信号有:ADD、SUB、AND、OR、XOR等。等。暂存器暂存器D的左移的左移/右移控制信号有:右移控制信号有:SAL、SAR。程序计数器程序计数器PC的计数控制信号有:的计数控制信号有:PC+1。MAR和和MDR输出到系统总线的控制信号有:输出到系统总线的控制信号有:EMAR、EMDR。寄存器置入控制信号有:寄存器置入控制信号有:SMDR、SPSW。主存的读主存的读/写信号有:写信号有:RD、WR。脉冲型微命令脉冲型微命令脉冲型微命令有:脉冲型微命令有:CPR0、CPR1、CPPC、CPIR、CPSP、CP
42、MAR、CPMDR等。等。第47页,共97页,编辑于2022年,星期二(2 2)控制器)控制器 传统控制器的主要部件包括:传统控制器的主要部件包括:指令寄存器指令寄存器IRIR、指令译码器指令译码器、程序计数器程序计数器PCPC、状态字寄存器状态字寄存器PSWPSW、时序系统和微操作信号发生器时序系统和微操作信号发生器。控制器是整机的指挥中心,其基本功能控制器是整机的指挥中心,其基本功能就是执行指令,即根据指令产生控制信号序就是执行指令,即根据指令产生控制信号序列以控制相应部件分步完成指定的操作。列以控制相应部件分步完成指定的操作。第48页,共97页,编辑于2022年,星期二3.3.2 3.3
43、.2 数据传送数据传送1 1寄存器之间的数据传送寄存器之间的数据传送 在模型机中,寄存器之间可直接通过在模型机中,寄存器之间可直接通过ALUALU总线传送数据,总线传送数据,具体传送由具体传送由输出门输出门和和打入脉冲打入脉冲控制。控制。例如例如:把寄存器:把寄存器R1的内容传送到寄存器的内容传送到寄存器R3,即实现传送操,即实现传送操作作R1R3所需控制信号为所需控制信号为R1OUT、CPR3 第49页,共97页,编辑于2022年,星期二2 2主存数据传送到主存数据传送到CPUCPU 主存与主存与CPUCPU之间通过之间通过系统总线系统总线传送数据。传送数据。PCMAR PCMAR ;PCP
44、C中的指令地址送存储器地址寄存器中的指令地址送存储器地址寄存器 MMDRIR MMDRIR;从存储器中读指令到;从存储器中读指令到IRIR实现实现PCMAR的控制信号:的控制信号:PCOUT、CPMAR。实现读操作实现读操作MMDR的控制信号:的控制信号:EMAR、RD、SMDR;实现实现MDRIR的控制信号:的控制信号:MDROUT、CPIR。例如:要从存储器中取指令到指令寄存器例如:要从存储器中取指令到指令寄存器IR,通过以下操作序列即可实现:通过以下操作序列即可实现:第50页,共97页,编辑于2022年,星期二3 3CPUCPU数据传送到主存数据传送到主存 R1MAR R1MAR ;地址
45、送;地址送MARMAR R2MDR R2MDR ;数据送;数据送MDRMDR MDRM MDRM ;数据写入主存;数据写入主存例如:在例如:在R2中存放需写入主存的数据,存储单元地址在中存放需写入主存的数据,存储单元地址在R1中,则写一个数据到存储器可通过以下操作序列实现:中,则写一个数据到存储器可通过以下操作序列实现:实现实现R1MAR的控制信号:的控制信号:R1OUT、CPMAR。实现实现R2MDR的控制信号为的控制信号为R2OUT、CPMDR。实现写操作实现写操作MDRM的控制信号为的控制信号为EMAR、EMDR、WR 第51页,共97页,编辑于2022年,星期二4 4执行算术或逻辑操作
46、执行算术或逻辑操作 R1D R1D ;把;把R1R1的内容先送到寄存器的内容先送到寄存器D D D+R2Z D+R2Z ;R2R2内容送到内容送到ALUALU的的B B端与端与D D内容通过内容通过ALUALU 相加,结果送相加,结果送Z Z ZR3 ZR3 ;将存放在;将存放在Z Z中的相加结果送入中的相加结果送入R3R3中中例如:完成例如:完成“把寄存器把寄存器R1和和R2的内容相加,结果送到的内容相加,结果送到R3”这个功能,需要分成这个功能,需要分成3步执行:步执行:实现实现R1D的控制信号:的控制信号:R1OUT、CPD。实现实现D+R2MDR的控制信号:的控制信号:R2OUT、AD
47、D、CPZ。实现实现ZR3的控制信号:的控制信号:ZOUT、CPR3。第52页,共97页,编辑于2022年,星期二 第四节第四节 组合逻辑控制器原理组合逻辑控制器原理 组合逻辑控制器组合逻辑控制器是指产生控制信号(即微命令)的部件,是用组合是指产生控制信号(即微命令)的部件,是用组合逻辑线路来实现。在模型机中有几十个微命令,则每个微命令都需要一组逻逻辑线路来实现。在模型机中有几十个微命令,则每个微命令都需要一组逻辑门电路,根据相应的逻辑条件(如指令的操作码、寻址方式、时序信号等)辑门电路,根据相应的逻辑条件(如指令的操作码、寻址方式、时序信号等)产生该微命令。产生该微命令。本节先介绍模型机的指
48、令系统,然后假设模型机采用的是组合逻本节先介绍模型机的指令系统,然后假设模型机采用的是组合逻辑控制器,讨论其时序系统、指令执行流程及微命令的产生与综合。辑控制器,讨论其时序系统、指令执行流程及微命令的产生与综合。第53页,共97页,编辑于2022年,星期二3.4.1 模型机的指令系统模型机的指令系统1 1指令格式指令格式(1 1)双操作数指令:其格式如下图所示)双操作数指令:其格式如下图所示 第第12121515位表示操作码,第位表示操作码,第6 61111位为源操作数地址段,第位为源操作数地址段,第0 05 5位为目的位为目的操作数地址段,在每个地址段字段中又分为两部分,其中操作数地址段,在
49、每个地址段字段中又分为两部分,其中3 3位表明位表明寻址方式寻址方式类类型,另外型,另外3 3位给出所指定的位给出所指定的寄存器编号寄存器编号。第54页,共97页,编辑于2022年,星期二(1 1)双操作数指令格式)双操作数指令格式可编程寄存器有可编程寄存器有7 7个,编号如下(留有一种个,编号如下(留有一种编码编码110110未用,可扩展):未用,可扩展):通用寄存器通用寄存器R0R0R3 000R3 000011011 堆栈指针堆栈指针SP 100SP 100 程序状态字程序状态字PSW 101PSW 101 程序计数器程序计数器PC 111PC 111第55页,共97页,编辑于2022年
50、,星期二(2 2)单操作数指令)单操作数指令 第第0 05 5位为地址字段,第位为地址字段,第6 61111位空闲不用,位空闲不用,也可供扩展操作码用。也可供扩展操作码用。第56页,共97页,编辑于2022年,星期二(3 3)转移指令)转移指令 第第12121515位为操作码,第位为操作码,第6 61111位给出转移地址字段(也分为寻址方式位给出转移地址字段(也分为寻址方式与寄存器号两部分)。第与寄存器号两部分)。第0 05 5位则为转移条件字段。其中,第位则为转移条件字段。其中,第0 03 3位中有位中有一位为一位为1 1,表明,表明转移条件转移条件进位进位C C、溢出溢出V V、结果为零结