《第05章 中央处理器.ppt》由会员分享,可在线阅读,更多相关《第05章 中央处理器.ppt(145页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中央处理器中央处理器 大纲大纲lCPU的结构和功能的结构和功能l控制单元的功能控制单元的功能l控制单元的设计控制单元的设计CPU的结构和功能的结构和功能lCPU的结构的结构l指令周期指令周期l指令流水指令流水CPU的结构的结构lCPU的功能的功能取指令取指令分析指令分析指令执行指令,发出各种操作命令执行指令,发出各种操作命令控制程序输入及结果的输出控制程序输入及结果的输出总线管理总线管理处理异常情况和特殊请求处理异常情况和特殊请求控制器的功能控制器的功能运算器的功能运算器的功能实现算术运算和逻辑运算实现算术运算和逻辑运算指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处
2、理中断协调并控制计算机各部件执行程序的指令序列协调并控制计算机各部件执行程序的指令序列lCPU结构框图结构框图PCIR指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断ALU寄存器寄存器中断系统中断系统CPU与系统总线与系统总线CU时序电路时序电路寄存器寄存器ALU中断中断系统系统CUCPU控控制制总总线线数数据据总总线线地地址址总总线线算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC存储器存储器I/OCPUALU指令寄存器指令寄存器IR指令译码器指
3、令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取取指指控制控制执行执行控制控制ccccc缓冲寄存器缓冲寄存器DRCPU的基本组成的基本组成CPU的基本组成的基本组成控制器控制器控制器控制器完成对整个计算机系统操作的协调与指挥。完成对整个计算机系统操作的协调与指挥。l控控制制机机器器从从内内存存中中取取出出一一条条指指令令,并并指指出出下下一一条条指令在内存中的位置;指令在内存中的位置;l对对指指令令进进行行译译码码,并并产产生生相相应应的的操操作作控控制制信信号号,送往相应的部件,启动规定的动作;送往相应的部件,启动规定的动作;l指指挥挥并并控控制制CPU、内内存存与
4、与输输入入/输输出出(I/O)设设备备之间数据之间数据流动的方向流动的方向。CPU的基本组成的基本组成运算器运算器运运算算器器是是数数据据加加工工处处理理部部件件,所所进进行行的的全全部部操操作作由控制器发出的控制信号指挥。由控制器发出的控制信号指挥。l执行所有的算术运算;执行所有的算术运算;l执行所有的逻辑运算,并进行逻辑测试。执行所有的逻辑运算,并进行逻辑测试。CPU中的主要寄存器中的主要寄存器l数据缓冲寄存器(数据缓冲寄存器(DR)l暂时存放由内存读出或写入的指令或数据字暂时存放由内存读出或写入的指令或数据字l指令寄存器(指令寄存器(IR)l保存当前正在执行的一条指令保存当前正在执行的一
5、条指令l程序计数器(程序计数器(PC)l确定下一条指令的地址确定下一条指令的地址l地址寄存器(地址寄存器(AR)l保存当前保存当前CPU所访问的内存单元的地址所访问的内存单元的地址l累加寄存器(累加寄存器(AC)l最常使用的一个通用寄存器最常使用的一个通用寄存器l状态条件寄存器(状态条件寄存器(PSW)l保存由算术和逻辑指令的结果建立的各种条件码保存由算术和逻辑指令的结果建立的各种条件码操作控制器与时序产生器操作控制器与时序产生器l操操作作控控制制器器在在各各寄寄存存器器之之间间建建立立数数据据通通路路(传传送送信息的通路)信息的通路)l操操作作控控制制器器的的功功能能:根根据据指指令令操操作
6、作码码和和时时序序信信号号,产产生生各各种种操操作作控控制制信信号号,以以便便正正确确地地建建立立数数据据通通路,从而完成取指令和执行指令的控制路,从而完成取指令和执行指令的控制。l硬布线控制器硬布线控制器l微程序控制器微程序控制器l时时序序产产生生器器产产生生并并发发出出计计算算机机所所需需要要的的时时序序控控制制信号。信号。指指令令周周期期l指令周期的基本概念指令周期的基本概念指令周期指令周期取出并执行一条指令所需的全部时间取出并执行一条指令所需的全部时间完成一条指令完成一条指令执行执行取指、分析取指、分析取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指
7、、分析)(执行指令)(执行指令)指令周期指令周期取指周期取指周期执行周期执行周期每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期执行周期执行周期指令周期指令周期NOPADDmemMULmem取指周期取指周期执行周期执行周期指令周期指令周期具有间接寻址的指令周期具有间接寻址的指令周期带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期指令周期流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?
8、有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否CPU工作周期的标志工作周期的标志CPU访存有四种性质访存有四种性质取取指令指令取取地址地址取取操作数操作数存存程序断点程序断点取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU的的4个工作周期个工作周期工作周期工作周期标志触发器标志触发器取指周期数据流取指周期数据流l指令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地地址址总总线线数数据据总总线线控控制制总总线线IR+1间址周期数据流间址周期数据流MDRCUMARCPU地地址址总
9、总线线数数据据总总线线控控制制总总线线PCIR存储器存储器MDR执行周期数据流执行周期数据流中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地地址址总总线线数数据据总总线线控控制制总总线线PC存储器存储器例:假设主机框图如下图所示,各部分之间的连线表示数据通路,例:假设主机框图如下图所示,各部分之间的连线表示数据通路,箭头表示信息传送方向。箭头表示信息传送方向。(1)标明图中标明图中X、Y、Z、W四个寄存器的名称。四个寄存器的名称。(2)简述取指令的数据通路。简述取指令的数据通路。(3)简述取数指令和存数指令执行阶段的数据通路。简述取数
10、指令和存数指令执行阶段的数据通路。解解:(1)X(MDR)Y(MAR)Z(IR)W(PC)(2)取指令的数据通路是取指令的数据通路是:WYMXZ(3)取数指令取数指令是将指令地址码字段指是将指令地址码字段指出的存储单元的内容读到出的存储单元的内容读到AC中。中。X(MDR)与与AC无直接通路,要经无直接通路,要经ALU实现数据传送,执行阶段的数据通路实现数据传送,执行阶段的数据通路X(或或Z)YMXALUAC存数指令存数指令是将是将AC的内容存入指令地的内容存入指令地址码字段指出的存储单元中址码字段指出的存储单元中X(或或Z)YM,然后,然后ACXM例:设例:设CPU内有下列部件:内有下列部件
11、:PC、IR、SP、AC、MAR、MDR和和CU,要求写出完成间接寻址的取数指令,要求写出完成间接寻址的取数指令LDAX(将主存某单元(将主存某单元的内容取至的内容取至AC中)的信息流。中)的信息流。解:解:完成间接寻址的取数指令包括完成间接寻址的取数指令包括取指取指、间址间址和和执行执行三个阶段三个阶段(1)取指阶段的信息流:取指阶段的信息流:PCMAR地址线地址线CU发出读存储器命令发出读存储器命令M数据线数据线MDRIR,至此,至此指令读至指令读至IROP(IR)CU,指令操作码送,指令操作码送CU分析分析(PC)+1PC,形成下一条指令地址,形成下一条指令地址(2)间址阶段的信息流:间
12、址阶段的信息流:MDR(或或IR)的地址码字段的地址码字段MAR地址线地址线CU发出读存储器命令发出读存储器命令M数据线数据线MDR,至此,至此有效地址读至有效地址读至MDR(3)执行阶段的信息流:执行阶段的信息流:MDRMAR地址线地址线CU发出读存储器命令发出读存储器命令M数据线数据线MDRAC,至此,至此数据读至数据读至AC指指令令流流水水l如何提高机器速度如何提高机器速度提高访存速度提高访存速度提高提高I/O和主机之间的传送速度和主机之间的传送速度提高整机处理能力提高整机处理能力高速芯片高速芯片Cache多体并行多体并行I/O处理机处理机DMA多总线多总线通道通道高速器件高速器件改进系
13、统结构改进系统结构,开发系统的并行性开发系统的并行性中断中断提高运算器速度提高运算器速度高速芯片高速芯片改进算法改进算法快速进位链快速进位链l系统的并行性系统的并行性时间上互相重叠时间上互相重叠并行性的等级并行性的等级指令级(指令之间)指令级(指令之间)(指令内部)(指令内部)过程级(作业或程序)过程级(作业或程序)(任务或进程)(任务或进程)两个或两个以上事件在两个或两个以上事件在同一时刻同一时刻发生发生两个或两个以上事件在两个或两个以上事件在同一时间段同一时间段发生发生并行并行并行的概念并行的概念粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并发并发同时同时取指令取指令3 执行指
14、令执行指令3l指令流水原理指令流水原理指令的二级流水指令的二级流水指令的串行执行指令的串行执行取指令取指令取指令部件取指令部件完成完成总有一个部件总有一个部件空闲空闲指令预取指令预取若若取指取指和和执行执行阶段时间上阶段时间上完全重叠完全重叠指令周期指令周期减半减半速度提高速度提高1倍倍执行指令执行指令执行指令部件执行指令部件完成完成取指令取指令1 执行执行指令指令1取取指令指令2 执行执行指令指令2取取指令指令3 执行指令执行指令3取指令取指令2 执行指令执行指令2取指令取指令1 执行指令执行指令1必须等必须等上条上条指令执行结束,才能确定指令执行结束,才能确定下条下条指令的地址,指令的地址
15、,造成时间损失造成时间损失影响指令流水效率加倍的因素影响指令流水效率加倍的因素(1)执行时间执行时间取指时间取指时间(2)条件转移指令条件转移指令对指令流水的影响对指令流水的影响解决办法解决办法?取指令取指令部件部件指令部件指令部件缓冲区缓冲区执行指令执行指令部件部件猜测法猜测法指令的六级流水指令的六级流水六级流水六级流水14个时间单位个时间单位串行执行串行执行6954个时间单位个时间单位完成完成一条指令一条指令6个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICO FOEIWODIFICO FOEIWODIFICOFOEIWODIFICO FOEIWODIFICOFO E
16、IWODIFICO FO EI WODIFICOFOEIWODIFI指令指令1指令指令2指令指令3指令指令4指令指令5指令指令6指令指令7指令指令8指令指令91234567891011121314t 流水段流水段指令指令ALU取取/存存转转移移IF取指取指取指取指取指取指ID译码译码读读寄存器堆寄存器堆译码译码读读寄存器堆寄存器堆译码译码读读寄存器堆寄存器堆EX执执行行计计算算访访存的有效地址存的有效地址计计算算转转移目移目标标地址地址设设置条件置条件码码MEM访访存存(读读/写写)若条件成立,将若条件成立,将转转移目移目标标地址送地址送PCWB结结果写回寄存器堆果写回寄存器堆将将读读出的数据
17、写入寄存出的数据写入寄存器堆器堆l影响指令流水线性能的因素影响指令流水线性能的因素程序的相近指令之间出现某种关联程序的相近指令之间出现某种关联使指令流水出现停顿,影响流水线效率使指令流水出现停顿,影响流水线效率指令指令时钟周期周期123456789LOAD指令指令 IFIDEXMEMWB指令指令i+1IFIDEXMEMWB指令指令i+2IFIDEXMEMWB指令指令i+3IFIDEXMEMWB指令指令i+4IFIDEXMEMWB结构相关结构相关不同指令争用同一功能部件产生资源冲突不同指令争用同一功能部件产生资源冲突解决方法解决方法指令指令时钟周期周期123456789LOAD指令指令 IFID
18、EXMEMWB指令指令i+1IFIDEXMEMWB指令指令i+2IFIDEXMEMWB指令指令i+3停停顿顿IFIDEXMEMWB指令指令i+4IFIDEXMEMl指令存储器和数据存储器分开指令存储器和数据存储器分开l停顿停顿l指令预取技术指令预取技术数据相关数据相关不同指令因重叠操作,可能改变操作数的不同指令因重叠操作,可能改变操作数的读读/写写访问顺序访问顺序写后读相关(写后读相关(RAW,ReadAfterWrite,先写后读),先写后读)ADDR1,R2,R3SUBR4,R5,R1;(;(R2)+(R3)R1;(;(R1)(R5)R4指令指令时钟周期周期123456ADDIFIDEXM
19、EMWBSUBIFIDEXMEMWB写写R1读读R1ADDR1,R2,R3;(R2)+(R3)R1SUBR4,R1,R5;(R1)(R5)R4ANDR6,R1,R7;(R1)AND(R7)R6ORR8,R1,R9;(R1)OR(R9)R8XORR10,R1,R11;(R1)OR(R11)R10指令指令时钟周期周期123456789ADDIFIDEXMEM WBSUBIFIDEXMEM WBANDIFIDEXMEM WBORIFIDEXMEM WBXORIFIDEXMEM WB解决方法解决方法l后推法后推法指令指令时钟周期周期123456789101112ADDIFIDEXMEMWBSUBIFI
20、DEXMEMWBANDIFIDEXMEMWBORIFIDEXMEMWBXORIFIDEXMEMWBl采用旁路技术采用旁路技术(相关专用通路技术)(相关专用通路技术)数据相关类型数据相关类型根据指令间对同一寄存器读和写操作的先后次序关系根据指令间对同一寄存器读和写操作的先后次序关系写后读相关(写后读相关(RAW,ReadAfterWrite)SUBR1,R2,R3ADDR4,R5,R1;(;(R2)(R3)R1;(;(R5)+(R1)R4读后写相关(读后写相关(WAR,WriteAfterRead)STAM,R2ADDR2,R4,R5;(;(R2)M存储单元存储单元;(;(R4)+(R5)R2写
21、后写相关(写后写相关(WAW,WriteAfterWrite)MULR3,R2,R1SUBR3,R4,R5;(;(R2)(R1)R3;(;(R4)(R5)R3控制相关控制相关BNE指令必须等指令必须等CPX指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA#0LDX#0INXCPX#NBNEMDIV#NSTAANSADDX,DM由转移指令引起由转移指令引起控制相关控制相关WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令1指令指令2指令指令3指令
22、指令4指令指令5指令指令6指令指令7指令指令15指令指令161234567891011121314转移损失转移损失t设设指令指令3是转移指令是转移指令l尽早生成转移目标地址尽早生成转移目标地址l预取转移成功或不成功两个预取转移成功或不成功两个控制流控制流l加快和提前生成条件码加快和提前生成条件码l提高转移方向的猜准率提高转移方向的猜准率l流水线性能流水线性能吞吐率吞吐率(throughputrate)单位时间内单位时间内流水线所完成指令流水线所完成指令或或输出结果输出结果的的数量数量最大吞吐率最大吞吐率实际吞吐率实际吞吐率连续处理连续处理n 条指令的吞吐率为条指令的吞吐率为设设m段的流水线各段
23、时间为段的流水线各段时间为 t Tpmax=t 1Tp=m t+(n-1)tn=t1+(m 1)/n1=1+(m 1)/n Tpmax 加速比加速比Sp (Speedup)m段的段的流水线的速度流水线的速度与等功能的与等功能的非流水线的速度非流水线的速度之比之比设流水线各段时间为设流水线各段时间为 t 完成完成n 条指令在条指令在m段流水线上共需段流水线上共需T=m t+(n1)t完成完成n 条指令在等效的非流水线上共需条指令在等效的非流水线上共需 T=nm tSp=m t+(n1)tnm t=nmm+n 1 则则=m1+(m 1)/n 由于流水线有由于流水线有建立时间建立时间和和排空时间排空
24、时间因此各功能段的因此各功能段的设备不可能设备不可能一直一直处于处于工作工作状态状态流水线中各功能段的流水线中各功能段的利用率利用率效率效率mt 31245312453124531245n-1nn-1nn-1nn-1nT时间时间S空间空间空间空间S4S3S2S1(n-1)t m(m+n 1)t =mnt 流水线各段处于工作时间的时空区流水线各段处于工作时间的时空区流水线中各段总的时空区流水线中各段总的时空区 效率效率=效率效率mt31245312453124531245n-1nn-1nn-1nn-1nT时间时间S空间空间空间空间S4S3S2S1(n 1)t流水线中各功能段的流水线中各功能段的利
25、用率利用率 =(m+n 1)n =mSp =Tpt 例:假设指令流水线分取值例:假设指令流水线分取值(IF)、译码、译码(ID)、执行、执行(EX)、回、回写写(WR)4个过程段,共有个过程段,共有10条指令连续输入此流水线。条指令连续输入此流水线。(1)画出指令周期流程;画出指令周期流程;(2)画出非流水线时空图;画出非流水线时空图;(3)画出流水线时空图;画出流水线时空图;(4)假设时钟周期为假设时钟周期为100ns,求流水线的实际吞吐率;,求流水线的实际吞吐率;(5)求该流水处理器的加速比。求该流水处理器的加速比。解:解:(4)10/(100ns 13)0.77 107条指令条指令/秒秒
26、(5)40/13=3.08l流水线的多发技术流水线的多发技术超标量技术超标量技术每个时钟周期内可每个时钟周期内可并发多条独立指令并发多条独立指令不能调整不能调整指令的指令的执行顺序执行顺序配置多个功能部件配置多个功能部件通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来IFIDEXWR012345678910111213时钟时钟周期周期指令序列指令序列程序段程序段1MOVBL,8ADDAX,1756HADDCL,4EH程序段程序段2INCAXADDAX,BXMOVDS,AX超流水线技术超流水线技术在在一个时钟周期一个时钟周期内内再分段再分段(3段)段)不能
27、调整不能调整指令的指令的执行顺序执行顺序在一个时钟周期内在一个时钟周期内一个功能部件使用多次一个功能部件使用多次(3次)次)靠编译程序解决优化问题靠编译程序解决优化问题流水线速度是原来速度的流水线速度是原来速度的3倍倍IFIDEXWR012345678910111213时钟周期时钟周期指令序列指令序列超长指令字技术(超长指令字技术(VLIW)采用采用多个处理部件多个处理部件具有具有多个操作码字段多个操作码字段的的超长指令字超长指令字(可达几百位)(可达几百位)由编译程序由编译程序挖掘挖掘出指令间出指令间潜在潜在的的并行性并行性,将将多条多条能能并行操作并行操作的指令组合成的指令组合成一条一条I
28、FIDEXWR012345678910111213时钟周期时钟周期指令序列指令序列l流水线结构流水线结构指令流水线结构指令流水线结构完成一条指令分完成一条指令分7段段,每段需一个时钟周期每段需一个时钟周期若若流水线不出现断流流水线不出现断流1个时钟周期出个时钟周期出1结果结果不采用流水技术不采用流水技术7个时钟周期出个时钟周期出1结果结果理想情况下,理想情况下,7级流水级流水的速度是不采用流水技术的的速度是不采用流水技术的7倍倍地地址址形形成成部部件件指指令令译译码码部部件件取取操操作作数数部部件件取取指指令令部部件件操操作作执执行行部部件件回回写写结结果果部部件件修修改改指指令令指指针针部部
29、件件运算流水线运算流水线完成完成浮点加减浮点加减运算运算可分可分对阶对阶、尾数求和尾数求和、规格化规格化三段三段分段原则分段原则每段每段操作时间操作时间尽量尽量一致一致锁锁存存器器对对阶阶功功能能部部件件第一段第一段尾尾数数加加部部件件锁锁存存器器第二段第二段规规格格化化部部件件锁锁存存器器第三段第三段例:现有四级流水线,分别完成取值例:现有四级流水线,分别完成取值(IF)、译码并取值、译码并取值(ID)、执、执行行(EX)、写结果、写结果(WR)四个步骤。假设完成各歩操作的时间依次为四个步骤。假设完成各歩操作的时间依次为100ns、100ns、70ns、50ns。(1)流水线的时钟周期应取何
30、值?流水线的时钟周期应取何值?(2)若相邻的指令发生数据相关。那么第二条指令安排推迟多少若相邻的指令发生数据相关。那么第二条指令安排推迟多少时间才能不发生错误?时间才能不发生错误?(3)若相邻的指令发生数据相关,而不推迟第二条指令的执行,若相邻的指令发生数据相关,而不推迟第二条指令的执行,可采取什么措施?可采取什么措施?解:解:(1)100ns;(2)若相邻的指令发生数据相关,需使第二条指令暂停执行,直到若相邻的指令发生数据相关,需使第二条指令暂停执行,直到前面指令产生结果后,再执行第二条指令,因此前面指令产生结果后,再执行第二条指令,因此至少要延迟两个时至少要延迟两个时钟周期钟周期。(3)若
31、不想推迟第二条指令的执行,在硬件设计上可采取若不想推迟第二条指令的执行,在硬件设计上可采取旁路技术旁路技术,即设置直接传送数据的通路。即设置直接传送数据的通路。控制单元的功能控制单元的功能l操作命令的分析操作命令的分析l控制单元的功能控制单元的功能操作命令的分析操作命令的分析完成一条指令分完成一条指令分4个工作周期个工作周期取指周期取指周期 间址周期间址周期 执行周期执行周期 中断周期中断周期 控制单元具有发出各种微操作命令控制单元具有发出各种微操作命令(控制信号序列的功能控制信号序列的功能)l取指周期取指周期PCMAR地址线地址线1RM(MAR)MDRMDRIR(PC)+1PC+1MDRCU
32、MARPCIR存储器存储器CPU地地址址总总线线数数据据总总线线控控制制总总线线操作命令的分析操作命令的分析OP(IR)CUl间址周期间址周期M(MAR)MDR1RAd(IR)MARMDRAd(IR)指令形式地址指令形式地址MARMDRCUMARCPU地地址址总总线线数数据据总总线线控控制制总总线线IR存储器存储器l执行周期执行周期非访存指令非访存指令(1)CLA清清A(2)COM取反取反(4)CSL循环左移循环左移(3)SHR算术右移算术右移(5)STP停机指令停机指令0ACCACCACCL(ACC)R(ACC),ACC0ACC0R(ACC)L(ACC),ACC0ACCn0G运行标志触发器运
33、行标志触发器访存指令访存指令Ad(IR)MAR1RM(MAR)MDR(ACC)+(MDR)ACCAd(IR)MAR1WACCMDRMDRM(MAR)STAXADDX(2)存数指令存数指令(1)加法指令加法指令(3)取数指令取数指令Ad(IR)MAR1RM(MAR)MDRMDRACC转移指令转移指令(1)无条件转无条件转(2)条件转移条件转移Ad(IR)PCA0Ad(IR)+A0(PC)PCLDAXJMPXBANX(负则转)(负则转)三类指令的指令周期三类指令的指令周期取指周期取指周期执行周期执行周期取指周期取指周期执行周期执行周期取指周期取指周期执行周期执行周期取指周期取指周期间址周期间址周期
34、执行周期执行周期非访存非访存指令周指令周期期直接访存直接访存指令周指令周期期间接访存间接访存指令周期指令周期转移转移指令周指令周期期取指周期取指周期间址周期间址周期执行周期执行周期间接转移间接转移指令周期指令周期l中断周期中断周期程序断点存入程序断点存入“0”地址地址程序断点程序断点进栈进栈0MAR1WPCMDRMDRM(MAR)向量地址向量地址PC0EINT(置置“0”)向量地址向量地址PC中断识别程序入口地址中断识别程序入口地址MPC(SP)MAR(SP)1SP控制单元的功能控制单元的功能l控制单元的外特性控制单元的外特性指令寄存器指令寄存器控制单元控制单元CU时钟时钟标志标志CPU内部的
35、控制信号内部的控制信号到系统总线的控制信号到系统总线的控制信号来自系统总线的控制信号来自系统总线的控制信号系系统统总总线线输入信号输入信号(1)时时钟钟(2)指令寄存器指令寄存器(4)来自系统总线(控制总线)的控制信号来自系统总线(控制总线)的控制信号(3)标志标志CU受时钟控制受时钟控制控制信号控制信号与操作码有关与操作码有关OP(IR)CUCU受标志控制受标志控制INTR中断请求中断请求HRQ总线请求总线请求一个时钟脉冲一个时钟脉冲发一个操作命令或一组需同时执行的操作命令发一个操作命令或一组需同时执行的操作命令如如DMA请求请求输出信号输出信号(1)CPU内的各种控制信号内的各种控制信号(
36、2)送至控制总线的信号送至控制总线的信号RiRj(PC)+1PCINTAHLDA访存控制信号访存控制信号访访IO/存储器的控制信号存储器的控制信号读命令读命令写命令写命令中断响应信号中断响应信号总线响应信号总线响应信号MREQIO/MRDWRALU+、AND、ORl控制信号举例控制信号举例PCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号C0C1C2C3C4取指周期取指周期以间接寻址以间接寻址ADDX为例为例PCIRCU不采用不采用CPU内部总线的方式内部总线的方式PCMDRMARMDRMARPCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号MDRMAR
37、l控制信号举例控制信号举例不采用不采用CPU内部总线的方式内部总线的方式C1C2C3C5ADDX间址周期间址周期IRMDRMDRMARPCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号MDRMARl控制信号举例控制信号举例不采用不采用CPU内部总线的方式内部总线的方式C1C2C5ADDX执行周期执行周期C7C6C8ACALU控制控制信号信号MDRMARMDRMDRMDRCU(1)ADDX取指周期取指周期PCCU发读命令发读命令1RMDROP(IR)(PC)+1PCIRPCMARACYALUZ控制信号控制信号IRiIRiPCOPCOMARiMARiMDROMDRO数据线数据线
38、数据线数据线控制信号控制信号CPU内内部部总总线线时钟时钟采用采用CPU内部总线方式内部总线方式地址线地址线地址线地址线MARMDRIRCUIRPCMDRMARCUIRPCCU(2)ADDX间址周期间址周期MDR1RMDR有效地址有效地址Ad(IR)MDROMDRO数据线数据线数据线数据线时钟时钟CUIRPCMARMDRACYALUZ控制信号控制信号控制信号控制信号CPU内内部部总总线线MDRIRMARiMARi地址线地址线地址线地址线MARIRiIRiMARMDRIRMDRMDRMDROMDROMDROMDROMDRO形式地址形式地址MARCU时钟时钟CUIRPCMARMDRACYALUZ控
39、制信号控制信号CPU内内部部总总线线MDROMDRO(3)ADDX执行周期执行周期1RMDRZAC(AC)+(Y)MDR控制信号控制信号MARMDR地址线地址线地址线地址线数据线数据线数据线数据线MARMDRYMDRMDRMDROMDROMDROMDROMDROMDROMDROYiYiYALUACACOACOALUiALUiALUALUACZZZZOZOACiACiACACACACMARiMARiALUACCU例:设例:设CPU内部采用非总线结构。内部采用非总线结构。(1)写出写出取指周期取指周期的全部微操作。的全部微操作。(2)写出取数指令写出取数指令LDAM、存数指令、存数指令STAM、加
40、法指、加法指令令ADDM(M均为主存地址均为主存地址)在在执行阶段执行阶段所需的全部微操作。所需的全部微操作。(3)当上述指令均为当上述指令均为间接寻址间接寻址时,写出执行这些指令所需的时,写出执行这些指令所需的全部微操作。全部微操作。(4)写出无条件转移指令写出无条件转移指令JMPY和结果为零则转移指令和结果为零则转移指令BAZY在执行阶段所需的全部微操作。在执行阶段所需的全部微操作。解:解:(1)取指周期取指周期的全部微操作的全部微操作PCMAR取取现现行指令地址行指令地址MAR1R命令存命令存储储器器读读M(MAR)MDR现现行指令从存行指令从存储储器中器中读读至至MDRMDRIR现现行
41、指令行指令IROP(IR)CU指令的操作指令的操作码码CU译码译码(PC)+1PC形成下一条指令的地址形成下一条指令的地址(2)取数指令取数指令LDAM执行阶段执行阶段的全部微操作码的全部微操作码Ad(IR)MAR指令的地址指令的地址码码字段字段MAR1R命令存命令存储储器器读读M(MAR)MDR操作数从存操作数从存储储器中器中读读至至MDRMDRACC操作数操作数ACC(2)存数指令存数指令STAM执行阶段执行阶段的全部微操作码的全部微操作码Ad(IR)MAR指令的地址指令的地址码码字段字段MAR1W命令存命令存储储器写器写ACCMDR欲写入的数据欲写入的数据MDRMDRM(MAR)数据写至
42、存数据写至存储储器中器中(2)加法指令加法指令ADDM执行阶段执行阶段的全部微操作码的全部微操作码Ad(IR)MAR指令的地址指令的地址码码字段字段MAR1R命令存命令存储储器写器写M(MAR)MDR操作数从存操作数从存储储器中器中读读至至MDR(ACC)+(MDR)ACC两数相加两数相加结结果送入果送入ACC(3)当上述指令为间接寻址时,需增加当上述指令为间接寻址时,需增加间址周期间址周期的微操作,的微操作,这这3条指令在间址周期微操作相同条指令在间址周期微操作相同Ad(IR)MAR指令的地址指令的地址码码字段字段MAR1R命令存命令存储储器写器写M(MAR)MDR有效地址从存有效地址从存储
43、储器中器中读读至至MDR进入执行周期,进入执行周期,3条指令的条指令的第一个微操作均为第一个微操作均为MDR MAR(有效地址送(有效地址送MAR),其余微操作不变),其余微操作不变(4)无条件转移指令无条件转移指令JMPY执行阶段执行阶段的微操作的微操作Ad(IR)PC转转移(目移(目标标)地址)地址YPC(4)结果为零则转指令结果为零则转指令BAZY执行阶段执行阶段的微操作的微操作Z Ad(IR)PC当当Z=1时时,转转移(目移(目标标)地址)地址YPCZ为标记为标记触触发发器,器,结结果果为为0时时Z=1例:已知单总线计算机结构图如下所示,其中例:已知单总线计算机结构图如下所示,其中M为
44、主存为主存,XR为变址寄存器为变址寄存器,EAR为有效地址寄存器为有效地址寄存器,LATCH为锁存器为锁存器。假设假设指令地址已存于指令地址已存于PC中,画出中,画出ADDX,D(X为变址寄存为变址寄存器器XR,D为形式地址)和为形式地址)和STA*D(*表示相对寻址,表示相对寻址,D为相为相对位移量对位移量)两条指令的指令周期信息流程图,并列出相应的两条指令的指令周期信息流程图,并列出相应的控制信号序列。控制信号序列。解:解:(1)ADDX,D指令取值周期和执行周期的信息流程及相应的控制信号指令取值周期和执行周期的信息流程及相应的控制信号解:解:(2)STA*D指令取值周期和执行周期的信息流
45、程及相应的控制信号指令取值周期和执行周期的信息流程及相应的控制信号l多级时序系统多级时序系统机器周期机器周期(1)机器周期的概念机器周期的概念(2)确定机器周期需考虑的因素确定机器周期需考虑的因素(3)基准时间的确定基准时间的确定所有指令执行过程中的一个基准时间所有指令执行过程中的一个基准时间每条指令的执行每条指令的执行步骤步骤每一步骤每一步骤所需的所需的时间时间以完成以完成最复杂最复杂指令功能的时间指令功能的时间为准为准以以访问一次存储器访问一次存储器的时间的时间为基准为基准若指令字长若指令字长=存储字长存储字长取指周期取指周期=机器周期机器周期时钟周期时钟周期(节拍、状态)(节拍、状态)一
46、个机器周期内可完成若干个微操作一个机器周期内可完成若干个微操作每个微操作需一定的时间每个微操作需一定的时间时钟周期是控制计算机操作的最小单位时间时钟周期是控制计算机操作的最小单位时间将一个机器周期分成若干个时间相等的将一个机器周期分成若干个时间相等的时间段(时间段(节拍、状态、时钟周期节拍、状态、时钟周期)用时钟周期控制产生一个或几个微操作命令用时钟周期控制产生一个或几个微操作命令时钟信号的频率为时钟信号的频率为CPU的主频的主频CLKT0T1T2T3时钟周期时钟周期时钟周期时钟周期(节拍、状态)(节拍、状态)机器周期机器周期机器周期机器周期T0T1T2T3T0T1T2T3多级时序系统多级时序
47、系统机器周期、节拍(状态)组成多级时序系统机器周期、节拍(状态)组成多级时序系统一个指令周期包含若干个机器周期一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期一个机器周期包含若干个时钟周期CLK机器周期机器周期机器周期机器周期机器周期机器周期(取指令)(取指令)(取有效地址)(取有效地址)(执行指令)(执行指令)指令周期指令周期T0T1T2T3T0T1T2T3T0T1T2T3机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)指令周期指令周期T0T1T2T3T0T1T2节拍节拍(状态状态)节拍节拍(状态状态)机器速度与机器主频的关系机器速度与机器主频的关系机
48、器的机器的主频主频f 越快越快机器的机器的速度也越快速度也越快在机器周期所含时钟周期数在机器周期所含时钟周期数相同相同的前提下,的前提下,两机两机平均指令执行速度之比平均指令执行速度之比等于等于两机主频之两机主频之比比机器速度机器速度不仅与不仅与主频有关主频有关,还与机器周期中所含,还与机器周期中所含时钟周期数时钟周期数以及指令周期中所含的以及指令周期中所含的机器周期数有关机器周期数有关MIPS1MIPS2=f1f2例:设某计算机的例:设某计算机的CPU主频为主频为8MHz,每个机器周期平均,每个机器周期平均含含2个时钟周期个时钟周期,每条指令的指令周期平均含,每条指令的指令周期平均含2.5个
49、机器周个机器周期期,试问该机的平均指令执行速度为多少,试问该机的平均指令执行速度为多少MIPS?若?若CPU主频不变,但每个机器周期主频不变,但每个机器周期平均含平均含4个时钟周期个时钟周期,每条指,每条指令的指令周期平均有令的指令周期平均有5个机器周期个机器周期,该机的平均指令执行,该机的平均指令执行时间又是多少时间又是多少MIPS?解:解:(1)主频为主频为8MHz,时钟周期为时钟周期为1/8=0.125 s,机器周期机器周期为为0.125 s 2=0.25 s,指令周期为指令周期为0.25 2.5=0.625 s.1/0.625=1.6MIPS(2)若若CPU主频不变,机器周期含主频不变
50、,机器周期含4个时钟周期,每条指个时钟周期,每条指令平均含令平均含5个机器周期,则个机器周期,则指令周期为指令周期为0.125 4 5=2.5 s,故,故平均指令执行速度为平均指令执行速度为1/2.5=0.4MIPS例:某计算机例:某计算机CPU的主频为的主频为4MHz,各类指令的平均执行,各类指令的平均执行时间和使用频度如表所示。试计算该机的速度(单位用时间和使用频度如表所示。试计算该机的速度(单位用MIPS表示)。若上述表示)。若上述CPU芯片升级为芯片升级为6MHz,则该机的,则该机的速度又为多少?速度又为多少?指令指令类别类别存取存取加、减、比加、减、比较较、转转移移乘除乘除其他其他平