《第6章 中央处理器.ppt》由会员分享,可在线阅读,更多相关《第6章 中央处理器.ppt(106页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第6章章 中央处理部件中央处理部件CPU1内容内容6.1 计算机的硬件系统计算机的硬件系统6.2 控制器的组成控制器的组成6.3 微程序控制计算机的基本工作原理微程序控制计算机的基本工作原理6.4 微程序设计技术微程序设计技术6.5 硬布线控制的计算机硬布线控制的计算机6.6 控制器的控制方式控制器的控制方式6.7 流水线工作原理流水线工作原理6.8 CPU举例举例6.9 计算机的加电及控制过程计算机的加电及控制过程26.1 计算机的硬件系统计算机的硬件系统3Intel 80386cpu构成的微机系统构成的微机系统32位微处理器,处位微处理器,处理、控制部件理、控制部件4Intel 8038
2、6cpu构成的微机系统构成的微机系统80384时钟发生器,产生时钟发生器,产生整机复位信号(整机复位信号(reset)5Intel 80386cpu构成的微机系统构成的微机系统完成浮点运算和高完成浮点运算和高精度整数运算精度整数运算6Intel 80386cpu构成的微机系统构成的微机系统控制通过总线完成控制通过总线完成的信息交换的信息交换7Intel 80386cpu构成的微机系统构成的微机系统存放数据、指令存放数据、指令8Intel 80386cpu构成的微机系统构成的微机系统完成输入输出操作完成输入输出操作9Intel 80386cpu构成的微机系统构成的微机系统控制中断操作控制中断操作
3、10Intel 80386cpu构成的微机系统构成的微机系统控制控制DMA操作操作11Intel 80386cpu构成的微机系统构成的微机系统表明数据准备好表明数据准备好1280386结构及外部连线结构及外部连线指令部件预取译码运算处理运算处理存储管理数据传送1380386结构及外部连线结构及外部连线图图6.2 Intel 803866.2 Intel 80386引出端信号引出端信号 146.2 控制器的组成控制器的组成 控制器控制器156.2 控制器的组成控制器的组成 6.2.1 6.2.1 控制器的功能控制器的功能取指令取指令分析指令分析指令执行指令执行指令控制程序和数据的输入与结果输出控
4、制程序和数据的输入与结果输出对异常情况和某些请求的处理对异常情况和某些请求的处理“中断请求中断请求”信号信号DMADMA请求信号请求信号166.2 控制器的组成控制器的组成6.2.2 6.2.2 控制器的组成控制器的组成程序计数器程序计数器(PC)(PC)指令寄存器指令寄存器(IR)(IR)指令译码器或操作码译码器指令译码器或操作码译码器脉冲源及启停线路脉冲源及启停线路时序控制信号形成部件时序控制信号形成部件176.2 控制器的组成控制器的组成图图6.36.3是控制器基本组成的框图是控制器基本组成的框图程序计数器程序计数器(PC)指令寄存器指令寄存器(IR)指令译码器或操作码译码器指令译码器或
5、操作码译码器脉冲源及启停线路脉冲源及启停线路时序控制信号形成部件时序控制信号形成部件186.2 控制器的组成控制器的组成6.2.3 6.2.3 指令执行过程指令执行过程 组成控制器的基本电路组成控制器的基本电路具有记忆功能的触发器具有记忆功能的触发器没有记忆功能的门电路没有记忆功能的门电路196.2 控制器的组成控制器的组成6.2.3 6.2.3 指令执行过程指令执行过程 组成控制器的基本电路组成控制器的基本电路具有记忆功能的触发器具有记忆功能的触发器由它组成的寄存器、计数器和存储单元等。由它组成的寄存器、计数器和存储单元等。特点是当输入信号消失后,原信息仍保留其中特点是当输入信号消失后,原信
6、息仍保留其中图图6.4 6.4 记忆电路记忆电路206.2 控制器的组成控制器的组成6.2.3 6.2.3 指令执行过程指令执行过程 组成控制器的基本电路组成控制器的基本电路没有记忆功能的门电路没有记忆功能的门电路由它组成的加法器、算术逻辑运算单元由它组成的加法器、算术逻辑运算单元(ALU)(ALU)和和各种逻辑电路。各种逻辑电路。特点是当输入信号改变后,输出跟着变化特点是当输入信号改变后,输出跟着变化图图6.5 没有记忆功能的加法器没有记忆功能的加法器21指令执行过程举例指令执行过程举例加法指令的执行加法指令的执行从存储器取指令,送入指令寄存器,并进从存储器取指令,送入指令寄存器,并进行操作
7、码译码行操作码译码(分析指令分析指令)。计算数据地址,将计算得到的有效地址送计算数据地址,将计算得到的有效地址送地址寄存器地址寄存器ARAR。到存储器取数。到存储器取数。进行加法运算,结果送寄存器,并根据运进行加法运算,结果送寄存器,并根据运算结果置状态位算结果置状态位N N,Z Z,V V,C C。22指令执行过程举例指令执行过程举例加法指令的执行过程加法指令的执行过程23指令执行过程举例指令执行过程举例加法指令的操作时序图加法指令的操作时序图24指令执行过程举例指令执行过程举例条件转移指令的执行过程条件转移指令的执行过程本条指令完成以下操作:本条指令完成以下操作:从存储器取指令,送入指令寄
8、存器,并进从存储器取指令,送入指令寄存器,并进行操作码译码。行操作码译码。如转移条件成立,根据指令规定的寻址方如转移条件成立,根据指令规定的寻址方式计算有效地址,转移指令经常采用相对式计算有效地址,转移指令经常采用相对寻址方式,此时转移地址寻址方式,此时转移地址PC+dispPC+disp。256.3 微程序控制计算机微程序控制计算机的基本工作原理的基本工作原理266.3.1 微程序控制的基本概念微程序控制的基本概念微操作:指能完成一条指令功能的按一定微操作:指能完成一条指令功能的按一定次序执行的基本操作,又称微命令。次序执行的基本操作,又称微命令。微指令:在微程序控制的计算机中,将由微指令:
9、在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作同时发出的控制信号所执行的一组微操作称为微指令。称为微指令。微程序:完成的指令功能的微指令序列的微程序:完成的指令功能的微指令序列的集合就叫做微程序。集合就叫做微程序。控制存储器:存放微程序以及下一条执行控制存储器:存放微程序以及下一条执行的微指令地址的微指令地址(简称为下址简称为下址)的存储器,被的存储器,被叫做控制存储器。一般可以用只读存储器叫做控制存储器。一般可以用只读存储器实现。实现。276.3.1 微程序控制的基本概念微程序控制的基本概念微操作:指能完成一条指令功能的按一定微操作:指能完成一条指令功能的按一定次序执行的基
10、本操作,又称微命令。次序执行的基本操作,又称微命令。微指令:在微程序控制的计算机中,将由微指令:在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作同时发出的控制信号所执行的一组微操作称为微指令。称为微指令。微程序:完成的指令功能的微指令序列的微程序:完成的指令功能的微指令序列的集合就叫做微程序。集合就叫做微程序。控制存储器:存放微程序以及下一条执行控制存储器:存放微程序以及下一条执行的微指令地址的微指令地址(简称为下址简称为下址)的存储器,被的存储器,被叫做控制存储器。一般可以用只读存储器叫做控制存储器。一般可以用只读存储器实现。实现。执行一条指令实际上就是执行一执行一条指令实际
11、上就是执行一段存放在控制存储器中的微程序段存放在控制存储器中的微程序286.3.2 实现微程序控制的基本原理实现微程序控制的基本原理CPUCPU逻辑框图逻辑框图29表表6.1 6.1 控制信号一览表控制信号一览表序序号号控制信号控制信号功能功能序序号号控制信号控制信号功能功能1 1PCPCABAB指令地址送地址指令地址送地址总线总线1313+ALUALU进进行加法运算行加法运算2 2ALUALUPCPC转转移地址送移地址送PCPC1414-ALUALU进进行减法运算行减法运算3 3PC+1PC+1程序程序计计数器加数器加1 11515ALUALU进进行行逻辑逻辑乘运算乘运算4 4imm(dis
12、p)imm(disp)ALALU U立即数或位移量送立即数或位移量送ALUALU1616ALUALU进进行行逻辑逻辑加运算加运算5 5DBDBIRIR取指到指令寄存器取指到指令寄存器1717ALUALUGRGRALUALU运算运算结结果送通用寄存果送通用寄存器器6 6DBDBDRDR数据数据总线总线上的数据送上的数据送数据寄存器数据寄存器1818ALUALUDRDRALUALU运算运算结结果送数据寄存果送数据寄存器器7 7DRDRDBDB数据寄存器中的数据数据寄存器中的数据送数据送数据总线总线1919ALUALUARARALUALU计计算得的有效地址送算得的有效地址送地址寄存器地址寄存器8 8
13、rs1rs1GRGR寄存器地址送通用寄寄存器地址送通用寄存器存器2020ARARABAB地址寄存器内容送地址地址寄存器内容送地址总总线线9 9rs,rdrs,rdGRGR寄存器地址送通用寄寄存器地址送通用寄存器存器2121ADSADS地址地址总线总线上地址有效上地址有效1010(rs1)(rs1)ALUALU寄存器内容送寄存器内容送ALUALU2222M/IOM/IO访问访问存存储储器或器或I/OI/O1111(rs)rs)ALUALU寄存器内容送寄存器内容送ALUALU2323W/RW/R写或写或读读1212DRDRALUALU数据寄存器内容送数据寄存器内容送ALUALU30加法指令加法指令
14、四条微指令解释执行,一条微指令中的所有控四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。制信号是同时发出的。(1)(1)取指微指令取指微指令 指令地址送地址总线指令地址送地址总线PCAB(1)PCAB(1)发访存控制命令:发访存控制命令:从存储器取指令送数据总线从存储器取指令送数据总线ADS(21)ADS(21)M MIOIO1(22)1(22)W WR R0(23)0(23)指令送指令寄存器指令送指令寄存器DBIR(5)DBIR(5)程序计数器程序计数器+1+1PC+1(3)PC+1(3)31加法指令加法指令(2)(2)计算地址微指令计算地址微指令 取两个源操作数取两个源操作数(
15、计算地址用计算地址用)rs1GR(8)rs1GR(8)(rs1)ALU(10)(rs1)ALU(10)dispALU(4)dispALU(4)。加法运算加法运算“+”(13)+”(13)。有效地址送地址寄存器有效地址送地址寄存器ALUAR(19)ALUAR(19)32加法指令加法指令(3)(3)取数微指令取数微指令 数据地址送地址总线数据地址送地址总线ARAB(20)ARAB(20)。发访存控制命令:发访存控制命令:由存储器将数据送数据总线由存储器将数据送数据总线DBDB。ADS(21)ADS(21)M MIO(22)IO(22)W/R(23)W/R(23)数据送数据寄存器数据送数据寄存器DB
16、DR(6)DBDR(6)33加法指令加法指令(4)(4)加法运算和送结果微指令加法运算和送结果微指令 两源操作数送两源操作数送ALUALUrsGR(9)rsGR(9)(rs)ALU(11)(rs)ALU(11)DRALU(12)DRALU(12)加法运算加法运算“+”(13)+”(13)送结果送结果ALUGR(17)ALUGR(17)34加法指令加法指令图图6.9 6.9 加法指令的微指令编码加法指令的微指令编码每一小格表示一位每一小格表示一位(二进制二进制),空格,空格表示表示0,第,第24位到第位到第35位为下址。位为下址。35加法指令加法指令图图6.10 6.10 微程序流程图举例微程序
17、流程图举例该条微指令地址下址36微程序控制器微程序控制器图图6.11 6.11 微程序控制器简框图微程序控制器简框图 时序控制信号形成部件时序控制信号形成部件37时序信号及工作脉冲的形成时序信号及工作脉冲的形成图图6.12 6.12 时序信号及工作脉冲时序信号及工作脉冲 CPT2CLKCLK238时序信号及工作脉冲的形成时序信号及工作脉冲的形成寄存器打入脉冲的形成。寄存器打入脉冲的形成。取指周期取指周期DBIRDBIR的打入脉冲的打入脉冲CP-IRCP-IRPC+1PC+1的打入脉冲的打入脉冲 CP-PCCP-PC有些信号,例如有些信号,例如ADS,ADS,仅在时间起作用仅在时间起作用39电路
18、配合中的常见问题电路配合中的常见问题(1)(1)电路延迟引起的波形畸变电路延迟引起的波形畸变(2)(2)机器周期的确定机器周期的确定(3)(3)时钟脉冲时钟脉冲CLKCLK和工作脉冲和工作脉冲CPCP的标准性的标准性40微程序控制计算机的工作过程简单的总结微程序控制计算机的工作过程简单的总结4142例题例题某计算机的数据通路如下图所示,其中某计算机的数据通路如下图所示,其中MM主存,主存,MBRMBR主存数据寄存器,主存数据寄存器,MARMAR主存地址寄存器,主存地址寄存器,R0-R3R0-R3通用寄存器,通用寄存器,IRIR指令寄存器,指令寄存器,PCPC程序计数器(具有自增能力),程序计数
19、器(具有自增能力),C C、D-D-暂存器,暂存器,ALUALU算术逻辑单元(此处做加法器看待),算术逻辑单元(此处做加法器看待),移移位器位器左移、右移、直通传送。所有双向箭头表左移、右移、直通传送。所有双向箭头表示信息可以双向传送。请按数据通路图画出示信息可以双向传送。请按数据通路图画出“ADDADD(R1R1),(),(R2R2)+”+”指令的指令周期流程图。指令的指令周期流程图。该指令的含义是两个数进行求和操作。其中源操该指令的含义是两个数进行求和操作。其中源操作地址在寄存器作地址在寄存器R1R1中,目的操作数寻址方式为自中,目的操作数寻址方式为自增型寄存器间接寻址(先取地址后加增型寄
20、存器间接寻址(先取地址后加1 1)。)。4344456.4 微程序设计技术微程序设计技术466.4.1 微指令的编译法微指令的编译法(编码译码方法编码译码方法)1.1.直接控制法直接控制法控制字段中,每一位代表一个微命令,在控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成要将控制字段中相应位置成“1”1”或或“0”0”,这样就可打开或关闭某个控制门,这就,这样就可打开或关闭某个控制门,这就是直接控制法是直接控制法476.4.1 微指令的编译法微指令的编译法(编码译码方法编码译码方法)2.2.字段直接编译法字段直
21、接编译法微周期:指的是一条微指令所需的执行时微周期:指的是一条微指令所需的执行时间。间。互斥:指若干个互斥:指若干个(一组一组)微命令,在每次选微命令,在每次选择使用它们的微周期内,只有一个微命令择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的。起作用,那么这若干个微命令是互斥的。编码:将互斥的微命令编成一组,成为微编码:将互斥的微命令编成一组,成为微指令字的一个字段,用二进制编码来表示。指令字的一个字段,用二进制编码来表示。486.4.1 微指令的编译法微指令的编译法(编码译码方法编码译码方法)图图6.21 6.21 字段直接编译法字段直接编译法496.4.1 微指令的
22、编译法微指令的编译法(编码译码方法编码译码方法)字段长度与微命令数的关系字段长度与微命令数的关系 字段长度字段长度 微命令数微命令数2 2位位2 23 33 3位位4 47 74 4位位8 81515000000表示不发微命令。表示不发微命令。506.4.1 微指令的编译法微指令的编译法(编码译码方法编码译码方法)516.4.1 微指令的编译法微指令的编译法(编码译码方法编码译码方法)3.3.字段间接编译法字段间接编译法字段间接编译法:指在字段直接编译法中,字段间接编译法:指在字段直接编译法中,规定一个字段的某些微命令,要兼由另一规定一个字段的某些微命令,要兼由另一字段中的某些微命令共同来解释
23、字段中的某些微命令共同来解释526.4.1 微指令的编译法微指令的编译法(编码译码方法编码译码方法)4.4.常数源字段常数源字段E E在微指令中,一般设有一个常数源字段在微指令中,一般设有一个常数源字段E E,就如指令中的直接操作数一样。就如指令中的直接操作数一样。E E字段一般字段一般仅有几位,用来给某些部件发送常数,故仅有几位,用来给某些部件发送常数,故有时称为发射字段。该常数有时作为操作有时称为发射字段。该常数有时作为操作数送入数送入ALUALU运算;有时作为计算器初值,用运算;有时作为计算器初值,用来控制微程序的循环次数等。来控制微程序的循环次数等。5.5.其他其他诸如微操作码编译法。
24、诸如微操作码编译法。536.4.2 微程序流的控制微程序流的控制 现行微指令:当前正在执行的微指令。现行微指令:当前正在执行的微指令。现行微地址:现行微指令所在的控制存储现行微地址:现行微指令所在的控制存储器单元的地址。器单元的地址。后继微指令:现行微指令执行完毕后,下后继微指令:现行微指令执行完毕后,下一条要执行的微指令。一条要执行的微指令。后继微地址:后继微指令所在的控存单元后继微地址:后继微指令所在的控存单元地址。地址。微程序流的控制:指当前微指令执行完毕微程序流的控制:指当前微指令执行完毕后,怎样控制产生后继微指令的微地址。后,怎样控制产生后继微指令的微地址。546.4.2 微程序流的
25、控制微程序流的控制产生后继微指令地址的几种方法产生后继微指令地址的几种方法(1)(1)以增量方式产生后继微地址。以增量方式产生后继微地址。在顺序执行微指令时,在顺序执行微指令时,后继微地址由现行微地后继微地址由现行微地址加上一个增量址加上一个增量(通常为通常为1)1)形成的;而在非顺序形成的;而在非顺序执行时则要产生一个转执行时则要产生一个转移微地址。移微地址。图图6.23“计数器计数器”方式的原理图方式的原理图556.4.2 微程序流的控制微程序流的控制(2)(2)增量与下址字段结合产生后继微地址增量与下址字段结合产生后继微地址将微指令的下址字将微指令的下址字段分成两部分:转移段分成两部分:
26、转移控制字段控制字段BCFBCF和转移和转移地址字段地址字段BAFBAF,当微,当微程序实现转移时,程序实现转移时,将将BAFBAF送送PCPC,否则,否则顺序执行下一条微指顺序执行下一条微指令令(PC+1)(PC+1)。图图6.24“增量与下址字段增量与下址字段”方式的原理图方式的原理图 566.4.2 微程序流的控制微程序流的控制表表6.2 6.2 产生后继微地址的微命令产生后继微地址的微命令BCFBCF字段字段硬件条件硬件条件计计数器数器CTCT返回寄存返回寄存器器RRRR输输入入后后继继微地址微地址编码编码微命令名称微命令名称操作前操作前操作操作0 0顺顺序序执执行行PC+1PC+11
27、 1结结果果为为0 0转转移移结结果果为为0 0BAFBAF结结果不果不为为0 0PC+1PC+12 2结结果溢出果溢出转转移移溢出溢出BAFBAF不溢出不溢出PC+1PC+13 3无条件无条件转转移移BAFBAF4 4测试测试循循环环为为0 0CT-1CT-1PC+1PC+1不不为为0 0BAFBAF5 5转转微子程序微子程序PC+1PC+1BAFBAF6 6返回返回RRRR7 7操作操作码码形成微址形成微址由操作由操作码码形成形成576.4.2 微程序流的控制微程序流的控制BAFBAF的长度有两种情况:的长度有两种情况:与与PCPC的位数相等。的位数相等。比比PCPC短。短。比较比较第一种
28、情况,转移灵活,但增加了微指令的长度。第一种情况,转移灵活,但增加了微指令的长度。第二种情况,转移地址受到限制,但可缩短微指令第二种情况,转移地址受到限制,但可缩短微指令长度。长度。586.4.2 微程序流的控制微程序流的控制(3)(3)多路转移方式多路转移方式多路转移:一条微指令存在多个转移分支多路转移:一条微指令存在多个转移分支的情况。的情况。根据根据MAPROM(MAPROM(映像只读存储器映像只读存储器)实现后继微实现后继微地址。该存储器的特点是以指令的操作码地址。该存储器的特点是以指令的操作码作为地址输入,而相应的存储单元内容即作为地址输入,而相应的存储单元内容即为该指令的第一条微指
29、令的入口地址。为该指令的第一条微指令的入口地址。根据标志位根据标志位(N(N,Z Z,V V,C)C)、计数器状态、计数器状态、数据通路状态等决定后继微地址。数据通路状态等决定后继微地址。596.4.2 微程序流的控制微程序流的控制(4)(4)微中断微中断微中断与程序中断的概念相似,微中断请微中断与程序中断的概念相似,微中断请求信号是由程序中断请求信号引起的。求信号是由程序中断请求信号引起的。当当CPUCPU响应微中断请求时,由硬件产生微中响应微中断请求时,由硬件产生微中断程序的入口地址。断程序的入口地址。606.4.2 微程序流的控制微程序流的控制2.2.以以AM2900AM2900系列芯片
30、构成的微程序系列芯片构成的微程序CPUCPU图图6.25 6.25 利用位片组成的利用位片组成的CPUCPU616.4.2 微程序流的控制微程序流的控制图图6.26 AM29106.26 AM2910微程序控制器微程序控制器626.4.3 微指令格式微指令格式 微指令的编译法是决定微指令格式的主要因素微指令的编译法是决定微指令格式的主要因素1.1.水平型微指令水平型微指令其基本特点是在一条微指令中定义并执行多其基本特点是在一条微指令中定义并执行多个并行操作微命令。在实际应用中,直接控个并行操作微命令。在实际应用中,直接控制法、字段编译法制法、字段编译法(直接、间接编译法直接、间接编译法)经常经
31、常应用在同一条水平型微指令中。从速度来看,应用在同一条水平型微指令中。从速度来看,直接控制法最快,字段编译法要经过译码,直接控制法最快,字段编译法要经过译码,所以会增加一些延迟时间。所以会增加一些延迟时间。636.4.3 微指令格式微指令格式2.2.垂直型微指令垂直型微指令在微指令中设置有微操作码字段,采用微在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。其特点是不强功能,称为垂直型微指令。其特点是不强调实现微指令的并行控制功能,通常一条调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。微指
32、令只要求能控制实现一二种操作。3.3.水平型微指令与垂直型微指令的比较水平型微指令与垂直型微指令的比较646.4.4 微程序控制存储器和动态微程序设计微程序控制存储器和动态微程序设计通常由只读存储器构成通常由只读存储器构成微程序控制存储器微程序控制存储器656.4.4 微程序控制存储器和动态微程序设计微程序控制存储器和动态微程序设计动态微程序设计动态微程序设计动态微程序指能根据用户的要求改变微程序。动态微程序指能根据用户的要求改变微程序。动态设计微程序是为了使计算机能更灵活、动态设计微程序是为了使计算机能更灵活、更有效地适应于各种不同的应用目标。更有效地适应于各种不同的应用目标。动态微程序设计
33、需要可写控制存储器的支持动态微程序设计需要可写控制存储器的支持666.4.4 微程序控制存储器和动态微程序设计微程序控制存储器和动态微程序设计控制存储器的操作控制存储器的操作(1)(1)串行方式串行方式图图6.27 串行微程序控制器串行微程序控制器676.4.4 微程序控制存储器和动态微程序设计微程序控制存储器和动态微程序设计(2)(2)并行方式并行方式图图6.28 并行微程序控制器并行微程序控制器686.4.4 微程序控制存储器和动态微程序设计微程序控制存储器和动态微程序设计毫微程序设计的基本概念毫微程序设计的基本概念毫微程序设计的目的是减少控制存储器的毫微程序设计的目的是减少控制存储器的容
34、量容量图图6.29 毫微程序控制存储器毫微程序控制存储器696.5 硬布线控制的计算机硬布线控制的计算机706.5.1 时序与节拍时序与节拍一条指令的实现通常分四个步骤:一条指令的实现通常分四个步骤:取指、计算地址、取数及执行取指、计算地址、取数及执行一步由一个机器周期实现,那么如何区分一步由一个机器周期实现,那么如何区分一条指令的四个机器周期呢一条指令的四个机器周期呢?两位计数器的译码输出来表示当前所处的机两位计数器的译码输出来表示当前所处的机器周期。器周期。图图6.31 用计数器译码器形成机器周期信号用计数器译码器形成机器周期信号716.5.1 时序与节拍时序与节拍一条指令的实现通常分四个
35、步骤:一条指令的实现通常分四个步骤:取指、计算地址、取数及执行取指、计算地址、取数及执行一步由一个机器周期实现,那么如何区分一步由一个机器周期实现,那么如何区分一条指令的四个机器周期呢一条指令的四个机器周期呢?两位计数器的译码输出来表示当前所处的机两位计数器的译码输出来表示当前所处的机器周期。器周期。用四位触发器来分别表示四个周期,当机器用四位触发器来分别表示四个周期,当机器处于某一周期时,相应的触发器处于处于某一周期时,相应的触发器处于“1”1”状状态,而其余三个触发器则处于态,而其余三个触发器则处于“0”0”状态,四状态,四位移位寄存器即可实现此功能。位移位寄存器即可实现此功能。726.5
36、.1 时序与节拍时序与节拍指令的功能不同导致机器周期数可能不相指令的功能不同导致机器周期数可能不相同同表表6.3 计数器状态变化计数器状态变化 A A指令指令B B指令指令cyAcyAcyBcyBcyAcyAcyBcyBcyAcyAcyBcyBcyAcyAcyBcyB0 00 00 01 10 00 01 10 00 01 11 10 01 10 01 11 11 10 01 11 11 11 10 00 01 11 10 00 0736.5.1 时序与节拍时序与节拍图图6.32 6.32 时序计数器逻辑图时序计数器逻辑图746.5.2 操作控制信号的产生操作控制信号的产生 操作码译码器操作码
37、译码器由译码器的输出和机器周期状态由译码器的输出和机器周期状态cy1cy1cy4cy4作作为输入,使用逻辑电路产生操作控制信号为输入,使用逻辑电路产生操作控制信号图图6.33 形成操作控制信号的逻辑框图形成操作控制信号的逻辑框图756.5.2 操作控制信号的产生操作控制信号的产生组合逻辑电路组合逻辑电路(操作控制信号的产生操作控制信号的产生)加法指令为例加法指令为例取指令取指令PCABPCABcy1cy1ADSADScy1T1cy1T1M/IOM/IOcy1cy1W/RW/Rcy1cy1DBIRDBIRcy1cy1PC+1PC+1cy1cy1766.5.2 操作控制信号的产生操作控制信号的产生
38、取数据取数据rs1GRrs1GR加法指令加法指令cy2cy2(rs1)ALU(rs1)ALU加法指令加法指令cy2cy2ALUARALUAR加法指令加法指令cy2cy2图图6.34 实现实现rs1GR,(rs1)ALU的逻辑图的逻辑图776.5.2 操作控制信号的产生操作控制信号的产生总结总结(1)(1)取指周期取指周期cy1cy1所产生的信号,对所有指令都所产生的信号,对所有指令都是相同的。是相同的。(2)(2)同一个控制信号在若干条指令的某些周期同一个控制信号在若干条指令的某些周期(或再加上一些条件或再加上一些条件)中都需要,为此需要把中都需要,为此需要把它们组合起来。它们组合起来。(3)
39、(3)同种类型的指令所需的控制信号大部分是相同种类型的指令所需的控制信号大部分是相同的,仅有少量区别。不同类型的指令,其同的,仅有少量区别。不同类型的指令,其控制信号的差别就比较大。控制信号的差别就比较大。(4)(4)确定指令的操作码会考虑逻辑化简的问题。确定指令的操作码会考虑逻辑化简的问题。786.5.3 控制器的组成控制器的组成 图图6.35 控制器总框图控制器总框图796.5.4 硬布线控制逻辑设计中的若干问题硬布线控制逻辑设计中的若干问题指令操作码的代码分配指令操作码的代码分配确定机器周期、节拍与主频确定机器周期、节拍与主频根据指令功能,确定每一条指令所需的机根据指令功能,确定每一条指
40、令所需的机器周期数以及每一周期所完成的操作器周期数以及每一周期所完成的操作综合所有指令的每一个操作命令综合所有指令的每一个操作命令,写出逻辑写出逻辑表达式,并化简表达式,并化简806.5.5 硬布线控制与微程序控制的比较硬布线控制与微程序控制的比较 实现实现微程序控制器的控制功能是在存放微程序的微程序控制器的控制功能是在存放微程序的控制存储器和存放当前正在执行的微指令的寄控制存储器和存放当前正在执行的微指令的寄存器直接控制下实现的。电路比较规整,增加存器直接控制下实现的。电路比较规整,增加或修改指令容易。或修改指令容易。硬布线控制则由逻辑门组合实现。电路零乱硬布线控制则由逻辑门组合实现。电路零
41、乱且复杂,增加与修改指令麻烦或不可能。且复杂,增加与修改指令麻烦或不可能。指令系统复杂的计算机,一般都采用微程序指令系统复杂的计算机,一般都采用微程序来实现控制功能。来实现控制功能。816.5.5 硬布线控制与微程序控制的比较硬布线控制与微程序控制的比较性能性能在同样的半导体工艺条件下,微程序控制的在同样的半导体工艺条件下,微程序控制的速度比硬布线控制的速度低。速度比硬布线控制的速度低。在超高速机器中,对影响速度的关键部分往在超高速机器中,对影响速度的关键部分往往采用硬布线逻辑。往采用硬布线逻辑。826.6 控制器的控制方式控制器的控制方式 同步控制方式同步控制方式事先确定的时序信号控制微操作
42、的执行。事先确定的时序信号控制微操作的执行。一条已定的指令在执行时所需的机器周期数一条已定的指令在执行时所需的机器周期数和节拍数都是固定不变的,则称为同步控制方和节拍数都是固定不变的,则称为同步控制方式。式。完全统一的机器周期完全统一的机器周期不同节拍的机器周期不同节拍的机器周期中央控制和局部控制相结合的方法中央控制和局部控制相结合的方法836.6 控制器的控制方式控制器的控制方式异步控制方式异步控制方式当控制器发出进行某一微操作控制信号后,当控制器发出进行某一微操作控制信号后,等待执行部件完成该操作后发回的等待执行部件完成该操作后发回的“回答回答”信信号或号或“结束结束”信号,再开始新的微操
43、作,称为信号,再开始新的微操作,称为异步控制方式。异步控制方式。联合控制方式联合控制方式同步控制和异步控制相结合的方式同步控制和异步控制相结合的方式846.6 控制器的控制方式控制器的控制方式人工控制人工控制resetreset按键按键连续或单条转换开关连续或单条转换开关符合停机符合停机“Trap”Trap”信号信号856.7 流水线工作原理流水线工作原理流水线基本工作原理流水线基本工作原理顺序执行方式顺序执行方式取指取指1 计算地址计算地址1 取操作数取操作数1 计算存结果计算存结果1 取指取指2 计算地址计算地址2 I1 E1 I2 E2 866.7 流水线工作原理流水线工作原理重叠执行(
44、流水线)重叠执行(流水线)图图6.37 指令重叠执行情况指令重叠执行情况876.7 流水线工作原理流水线工作原理运算操作流水线运算操作流水线图图6.38 运算操作流水线运算操作流水线886.7 流水线工作原理流水线工作原理流水线中的相关问题流水线中的相关问题流水线阻塞流水线阻塞图图6.39 流水线阻塞情况流水线阻塞情况 896.7 流水线工作原理流水线工作原理程序转移对流水线的影响、程序转移对流水线的影响、条件转移:猜测法条件转移:猜测法中断:不精确断点法中断:不精确断点法 精确断点法精确断点法906.8 CPU举例举例916.8.1 RISC的的CPU图图6.40 MB86901 逻辑框图逻
45、辑框图926.8.1 RISC的的CPURISC RISC 的通用寄存器的通用寄存器图图6.41 寄存器窗口过程调用寄存器窗口过程调用936.8.1 RISC的的CPU流水线组织流水线组织图图6.42 单周期流水线单周期流水线946.8.1 RISC的的CPU流水线组织流水线组织图图6.43 6.43 双周期流水线双周期流水线 956.8.1 RISC的的CPU(1)(1)数据相关问题数据相关问题(2)cache(2)cache 不命中不命中(3)(3)产生故障陷阱产生故障陷阱(trap)(trap)(4)(4)条件转移指令条件转移指令966.8.1 RISC的的CPU图图6.44 6.44
46、产生产生 trap trap 时的流水线时的流水线976.8.1 RISC的的CPU图图6.45 Branch 6.45 Branch 指令的流水线指令的流水线986.8.2 RISC的编译系统的编译系统图图6.46 6.46 编译过程编译过程996.8.2 RISC的编译系统的编译系统代码的生成与优化代码的生成与优化(1)(1)转移指令的处理转移指令的处理 指令指令A A 指令指令A A指令指令B B 转移转移X X转移转移X X 指令指令B B(a)(a)(b)(b)图图6.47 6.47 延迟转移延迟转移 1006.8.2 RISC的编译系统的编译系统(2)(2)尽量减少流水线互锁现象尽
47、量减少流水线互锁现象 程序优化程序优化LoadLoadR1R1A A StoreStoreB BR1R1Load R1Load R1 A A LoadLoadR1R1A+1A+1LoadLoad R2 R2A+1A+1StoreStoreB+1B+1R1R1StoreStore B B R1R1StoreStore B+1 B+1R2R2(a)(a)(b)(b)图图6.48Load/Store 6.48Load/Store 指令指令(程序优化程序优化)1016.8.2 RISC的编译系统的编译系统 把存数取数指令序列分开。把存数取数指令序列分开。两条相邻浮点指令之间插进别的指令。两条相邻浮点指
48、令之间插进别的指令。(3)(3)取消多余的指令;将指令从循环体内移取消多余的指令;将指令从循环体内移到循环体外;有效地使用寄存器。到循环体外;有效地使用寄存器。1026.8.3 Pentium微处理器微处理器 图图6.49 Pentium6.49 Pentium微处理器逻辑框图微处理器逻辑框图1036.9 计算机的加电及控制过程计算机的加电及控制过程 电源系统电源系统图图6.50 后备式后备式UPS的结构框图的结构框图1046.9 计算机的加电及控制过程计算机的加电及控制过程图图6.51 6.51 在线式在线式UPSUPS结构框图结构框图1056.9 计算机的加电及控制过程计算机的加电及控制过程图图6.52 6.52 机器加电时的总清及时钟信号机器加电时的总清及时钟信号106