《计算机组成原理六章优秀课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理六章优秀课件.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机组成原理六章计算机组成原理六章10/10/20221第1页,本讲稿共57页INTEL386芯片引脚信号CLK2D0D31ADS#NA#BS16#READY#HOLDHLDAINTRNMIRESETA2A31BE3#BE2#BE1#BE0#W/R#D/C#M/IO#LOCK#PEREQBUSY#ERROR#VccGND1、总线控制:ADS#、NA#、BS16#、READY#2、总线仲裁:HOLD、HLDA3、总线周期定义:W/R#、D/C#、M/IO#、LOCK#4、中断:INTR、NMI、RESET5、协处理器信号:BUSY#、ERROR#6、数据总线:D0D317、地址总线:A2A31
2、8、字节使能:BE0#BE3#10、电源:Vcc、GND9、时钟:CLK210/10/20222第2页,本讲稿共57页10/10/20223第3页,本讲稿共57页6.2 控制器的组成6.2.1 控制器的功能冯.诺依曼计算的根本特点,程序存储,连续自动执行.(起始-结束)1,取指令2,分析指令 解释,译码指令,形成操作数地址3,执行指令 发出各种控制信号,到运算器,总线,主存,外设.4,控制程序,数据,结果输入输出5,异常情况及一些请求的处理_数据传输错误,运算溢出._中断请求,DMA请求10/10/20224第4页,本讲稿共57页6.2.2 控制器的组成控制器的组成10/10/20225第5页
3、,本讲稿共57页10/10/20226第6页,本讲稿共57页6.2.2 控制器的组成控制器的功能相对应,来看控制器器的组成1,程序计数器(PC)指令地址寄存器,计算机加电后要执行的第一条指令的地址是本寄存器的初值,不一定就是0.一指令取指动作后PC自动加一个曾量(上一条指令的字节数)或根据跳转指令指向将要执行的下一条2,指令寄存器:存放当前正在执行的指令本身的内容 如果是指令预取的系统还会曾加一个或几个指令地址寄存器3,指令译码器:对指令寄存器中的操作码进行分析解释,产生相应的控制信号。4,脉冲源及启停线路:提供整机的时钟脉冲信号.在机器刚加电时,还应产生RESET信号。启停线路,控制时序信号
4、的发生或停止,从而启动或停机10/10/20227第7页,本讲稿共57页5,时序控制信号形成部件:在时钟脉冲作用下,根据当前正在执行的指令的要求,产生相应的时序控制信号,并根据被控制功能部件的反馈信号调整时序控制信号。6,状态寄存器(PSR):将反映机器运行的状态集中在一起,(PSW)用来决定程序运行的选择。10/10/20228第8页,本讲稿共57页10/10/20229第9页,本讲稿共57页6.2.3 指令的执行过程1,每一条指令执行的一般过程 (1)取指令 指令从内存读到控制器中,PC内容送地址寄存器 由控制器发读内存的信号.指令读出送指令寄存器(2)分析指令(简单计算机中没有这个专门的
5、过程)(3)按指令的内容执行操作,不同指令操作内容和步骤差别大(4)检查中断(5)转入下一条指令的执行10/10/202210第10页,本讲稿共57页2,指令执行过程举例_.指令格式:操作码Rs,rd rs1 imm(或Disp)rs,rd,rs1通用寄存器地址imm,(或Disp)立即数(或位移量)_.加法指令的操作:rd-(rs)+(rs1+disp)10/10/202211第11页,本讲稿共57页运算器框图GR:8个通用寄存器ALU:算术逻辑运算单元受控与门*控制命令10/10/202212第12页,本讲稿共57页2,指令执行过程举例_.指令格式:操作码Rs,rd rs1 imm(或Di
6、sp)rs,rd,rs1通用寄存器地址imm,(或Disp)立即数(或位移量)_.加法指令的操作:rd-(rs)+(rs1+disp)(1)取指令:这是一个存储器总线周期,CPU从存储器中取出(读操作)一条指令,送 入指令寄存器,并进行操作码译码。PC加1,为下一条指令做好准备;控制器发 出的控制信号为:PCAB,W/R#=0,M/IO#=1,DBIR,PC+1(2)计算数据地址:这是CPU内部的操作,不是总线周期。计算的数据存储有效地址 送至地址寄存器AR。发出的控制信号为:rs1GR,(rs1)ALU,DispALU (将 rs1的内容与Disp送ALU);“+”(加 法指令送ALU);A
7、LUAR(有效地 址送地址寄存器)。(3)取操作数:这是一个存储器总线周期,发出的控制信号为:ARAB,W/R#=0,M/IO#=1,DBDR。(4)加法运算:这不是总线周期,运算结果送寄存器,并根据结果置状态位N、Z、V、C;控制信号为:rsGR,(rs)ALU,DRALU,“+”,rdGR,ALUrd,置N,Z,V,C。10/10/202213第13页,本讲稿共57页加法指令时序图10/10/202214第14页,本讲稿共57页_条件转移指令的执行指令功能:根据状态寄存器的状态(N,Z,V,C)决定是否转移。操作:(1)取指 指令取到ir,op译码,PC-PC+1(2)转移条件成立,根据指
8、令规定的寻址方式计算有效地址 PC-有效地址 转移指令就是两个阶段完成.(3)检查中断10/10/202215第15页,本讲稿共57页 指令指令-控制信号控制信号(时序时序)两种方法:微程序控制,组合逻辑控制10/10/202216第16页,本讲稿共57页6.3 微程序控制计算机的基本工作原理1.微程序控制的基本概念微操作:逻辑电路级的操作,控制信号所执行的逻辑动作*微指令:同时发出的控制信号所执行的一组微操作,(控制信号的汇集)微命令:组成微指令的微操作*微程序:微指令序列的集合(该微指令序列用于解释一条机器指令)控制存储器:存储微程序的存储器,由于计算机指令系统是固定的,所对 应的微程序也
9、是固定的,所以控制存储器使用只读存储器2.微程序控制的基本工作原理控制信号:模型计算机的CPU结构如下图,假设ALU可以进行加 法,减法,逻辑乘,逻辑加四种运算。图中的控制信 号用符号1,2,3表示。所有控制信号的功能见下面的控制信号表。10/10/202217第17页,本讲稿共57页CPU逻辑框图10/10/202218第18页,本讲稿共57页控制信号一览表序号 控制信号 功能序号 控制信号功能 1 PCAB指令地址送地址总线 13 +ALU进行加法运算 2 ALU PC转移地址送PC 14 ALU进行减法运算 3 PC+1程序计数器加1 15 ALU逻辑乘运算 4 imm(disp)ALU
10、立即数或位移量送ALU 16 ALU逻辑加运算 5 DB IR取指令到指令寄存器 17ALU GRALU结果送通用寄存器 6 DB DR数据总线上的数据送数据寄存器 18ALU DRALU结果送数据寄存器 7 DR DB数据寄存器中的数据送数据总线 19ALU ARALU计算的有效地址送地址寄存器 8 rs1 GR寄存器地址送通用寄存器 20AR AB地址寄存器送地址总线 9 rs,rd GR寄存器地址送通用寄存器 21 ADS#地址总线上地址有效 10 (rs1)ALU寄存器内容送ALU 22 M/IO#访问存储器或I/O 11 (rs)ALU寄存器内容送ALU 23 W/R#写/读 12
11、DR ALU数据寄存器内容送ALU10/10/202219第19页,本讲稿共57页微指令的格式控制字段(23位)下址字段(12位)(控制存储器容量4k)PCABALUPCW/R#加法指令的四条微指令控制字段(23位)下址字段(12位)1 2 3 4 5 6 7 8 9 101112 131415 161718 192021 222324 252627 282930 313232 3435取址计算地址取数加法运算微指令的构成(以执行一条加法指令为例):(1)取址微指令:PCAB,ADS#,M/IO#,W/R#,DB IR,PC+1(2)计算地址微指令:rs1 GR,(rs1)ALU,imm(di
12、sp)ALU,+,ALUAR(3)取数微指令:AR AB,ADS#,M/IO#,W/R#,DB DR(4)加法运算和送结果微指令:rs1 GR,(rs)ALU,DR ALU,+,ALU GR88104131910/10/202220第20页,本讲稿共57页ADDSUBMOVOP(1001)地址码主存指令译码(ROM)控制存储器(ROM)1001控制字段下址字段(1002)1002机器指令寄存器(IR)微指令寄存器(IR)PC时序电路时钟CPU微命令微程序控制构成示意即形成微程序入口10/10/202221第21页,本讲稿共57页10/10/202222第22页,本讲稿共57页 0 1 D C
13、0 1 D C时序信号即工作脉冲:p178T2 T1 CLK CLK2CLK2CPT1CLK2CLK2CLKCLKCPT1T1T210/10/202223第23页,本讲稿共57页6.4 微程序设计技术微程序设计主要解决的三个问题:(1)如何缩短微指令的字长。(2)如何减少微程序的长度。(3)如何提高微程序的执行速度。6.4.1 微指令的编译方法1.直接控制法 微指令的控制字段中,每一位代表一个微命令,某位置“1”或“0”来控制打开/关闭相应控制门.这种做法对微命令多的情况下会使得微指令字太长难以接受,且需要大容量的控制存储器。(6.3节的加法指令的微程序编码)10/10/202224第24页,
14、本讲稿共57页微命令译码器字段1字段2字段n下址字段译码器译码器微命令微命令微命令译码器微指令寄存器IR微指令控制字段2.字段直接编译法字段长度 微命令数2位 2 33位 4 74位 8 15留00编码表示该字段无命令发出将微命令分组字段分组:时间上互斥命令化为一组同一组的命令编码表示10/10/202225第25页,本讲稿共57页微指令执行所需的时间,称为微周期。若干个微命令组成一组,组内微命令同一微周期中只能一个微命令起作用-互斥.编为一组的微命令为一个字段,字段内编码代微命令为每字段增设一个译码器.译码器的输出即为原来的微命令。如此缩短了微指令的长度,但译码的延迟降低了速度字段直接编译法
15、”三步曲”(1)微命令”分组”成字段.(2)字段内”编码”代微命令.(3)设置”译码”器译出微命令.10/10/202226第26页,本讲稿共57页3.字段间接编译法微指令划字段基础上,不同字段编码的微命令联合解释,称为字段间接编译法下图中字段A的(3位)微命令受字段B控制,当字段B发出b1微命令时,字段A发出a1.1,a2.1,a7.1中的一个命令,字段B发出b2微命令时,字段A发出a1.2,a2.2,a7.2中的一个微命令字段间接编译法进一步减少了微指令长度,但增加了延迟及削弱微指令的并行控制能力4.常数源字段E常数源字段E作为发送常数使用,例如作为立即数,计数器的初始值,微循环次数等。1
16、0/10/202227第27页,本讲稿共57页微程序流的控制是指当前微指令执行完毕后,怎样控制产生后继微指令的微地址1.已知基本后继微指令地址的产生方法:.由指令(机器指令)的操作码产生后继微地址.由微指令的下址字段指出后继微地址2.微程序的几种基本结构:.顺序执行.转移与微循环,微子程序3.几种产生后继微地址的方法:(1).以增量方式产生后继微地址(见右图)6.4.2.微程序流的控制10/10/202228第28页,本讲稿共57页_增量方式产生后继微地址要点:.PC AB=cy1ADS =加法指令cy1 DB-IR=加法指令cy1加法指令rs1-GR=cy2加法指令ALU-AR=cy2 与指
17、令无关PC-AB=cy1 10/10/202245第45页,本讲稿共57页图6.34 表达式转化为逻辑结构p20310/10/202246第46页,本讲稿共57页6.5.3 硬布线控制器的组成图6.35 p20510/10/202247第47页,本讲稿共57页6.5.4 两种控制的比较_指令执行步骤节拍控制不同 微程序控制-微指令的后继地址实现 硬布线控制-机器周期状态发生器_控制信号形成方法 微程序控制-微程序及控制状态存储经程序执行选择输出 硬布线控制-完全逻辑电路生成。结构相对零乱复杂_控制性能 微程序控制相对速度低_实现 微程序控制相对简单易行应用广泛。10/10/202248第48页
18、,本讲稿共57页6.6 控制器的控制方式控制器的控制方式 一条指令的执行最终是由一系列微操作来完成的。微操作 根本上是一些时序控制信号的动作。形成这些控制信号有不同的方式控制方式。1、同步控制方式在任何情况下,一条已定的指令在执行时所需的机器周期数和节拍数都是固定不变的,则称为同步控制方式。_同步控制方式的方案:(1)不论微操作的繁简都采用完全统一的机器周期执行不同的指令。(简 单操作浪费了时间)。(2)采用不同节拍机器周期,以解决微操作执行所需时间不统一的问题。(多数微操作安排一个较短的机器周期,少数复杂操作延长机器周期)(3)采用中央控制和局部控制相结合的方法。(多数指令安排统一周期为中央
19、,少数复杂指令另行处理为局部)10/10/202249第49页,本讲稿共57页2、异步控制方式根据各微操作执行实际所需时间分别控制当控制器发出进行某一微操作控制信号后,等待执行部件完成该操作后发回的“回答”或“结束”信号,再开始新的操作。称为异步控制方式。3、联合控制方式同步控制(多数简单指令)和异步控制(复杂指令)相结合的控制方式。4、人工控制方式计算机面板或内部设置的一些开关或按键用来进行人工的控制方式。(1)RESET键(2)连续或单步转换开关(3)符合停机(单片机应用系统开发调试,设程序执行断 点)10/10/202250第50页,本讲稿共57页6.7 流水流水线工作原理工作原理1.流
20、水线基本工作原理 相邻指令的执行,不同执行阶段时间上重叠。两级流水(两阶段指令),四级流水(四阶段指令)。取指1 计算地址1 取指2 计算地址2 取指3 计算地址3取操作数1 运算1取操作数2 运算2取操作数3 运算3 取指4 计算地址4取操作数4 运算4四条指令重叠执行:相当于处理速度提高了接近四倍10/10/202251第51页,本讲稿共57页指令流水线,操作流水线 (浮点运算,阶码,尾数,规格化。不同处理阶段间覆)。指令流水线执行情况指令流水线执行情况(1)平均速度:各个功能部件的执行时间可能不一样,流水线在装满时,各个部件都在工作,时间安排必须满足工作时间最长的部件需要。造成了不能使所
21、有功能部件处于最佳状态。(2)改善方法:将几个运行时间较短的功能部件和并为一个功能部件或将 一个运行时间长的部件分成几个短的运行时间部件。最终使各部件所需时间相差不大。10/10/202252第52页,本讲稿共57页2,流水线中的“相关”问题。影响流水线工作的因素:编译形成的程序不能发挥流水线作用(转移多)。存储器供应不上流水线流动所需要的指令或数据 数据相关问题后一条指令的操作数是上一条指令的执行结果。存贮器数据相关,寄存器数据相关。10/10/202253第53页,本讲稿共57页当第二条指令从存储器读取的数据为第一条指令运算结果时,必须等待第一条指令将结果写入存储器后才能进行-存储器数据相
22、关现象。(流水线阻塞-称为产生了“气泡”。)解决数据相关的办法:设置相关专用通路,将第一条指令运算结果直接从数据处理部件得到而不是存入存储器后再去读取。程序转移对流水线的影响。解决分支预测 取指1 计算地址1 取指2 计算地址2取操作数1 运算1*取操作数2 运算210/10/202254第54页,本讲稿共57页6.8 CPU举例:举例:为达到提高速度,硬件应使大多数指令在相同的机器周期内完为达到提高速度,硬件应使大多数指令在相同的机器周期内完成,要尽量缩短机器周期时间,相应措施有:成,要尽量缩短机器周期时间,相应措施有:1、CPU中设置相当多的寄存器。中设置相当多的寄存器。2、采用、采用“C
23、ache-主存主存-外存外存”三级存储体系。三级存储体系。3、采用流水线组织。、采用流水线组织。4、采用硬件布线控制逻辑(组合逻辑电路)。、采用硬件布线控制逻辑(组合逻辑电路)。一、一、SPARC的体系结构的体系结构(p215)Fujitsu MB86901(兼容(兼容CPU)SPARC结构结构10/10/202255第55页,本讲稿共57页B1B2DEW CONTROL 12032(Reg.File)A BShifter ResultAlign W YTBRPSRWIMAddr.Gen.ADR DPC EPC WPCADRPCs专用寄存器专用寄存器指令寄存器指令寄存器指令指令Help指令指令寄存器组寄存器组移位器移位器结果寄存器结果寄存器旁路旁路-2旁路旁路-1 ALUD 存储器存储器地址地址程序计数器程序计数器多字节数边界对准指令 缓冲地址生成(1)(2)(3)(4)10/10/202256第56页,本讲稿共57页10/10/202257第57页,本讲稿共57页
限制150内