1、3.5 3.5 组合逻辑控制方式组合逻辑控制方式1.1.时序系统时序系统(1 1)工作周期)工作周期取指周期取指周期FTFT用于指令正常执行用于指令正常执行设置设置6 6个触发器分别个触发器分别作为各作为各周期状态标志周期状态标志源周期源周期STST目的周期目的周期DTDT执行周期执行周期ETET中断周期中断周期ITITDMADMA周期周期DMATDMAT用于用于I/OI/O传送控制传送控制1 1 工作周期开始工作周期开始0 0 工作周期结束工作周期结束在整个指令周期中,任何时候必须、且只能有一在整个指令周期中,任何时候必须、且只能有一个工作周期状态标志为个工作周期状态标志为“1”1”。1 1
2、)取指周期)取指周期FTFT从从M M取出指令并译码;取出指令并译码;公操作公操作修改修改PCPC。3 3)目的周期)目的周期DTDT取指结束时,按操作码和寻址方式取指结束时,按操作码和寻址方式(R/(R/非非R R寻址寻址)转相应工作周期。转相应工作周期。按寻址方式按寻址方式(非非R R寻址寻址)形成源地址,从形成源地址,从M M取出源操取出源操作数,暂存于作数,暂存于C C。2 2)源周期)源周期STST按寻址方式按寻址方式(非非R R寻址寻址)形成目的地址,或从形成目的地址,或从M M取出取出目的操作数,暂存于目的操作数,暂存于D D。5 5)中断周期)中断周期ITIT关中断、保存断点和
3、关中断、保存断点和PSWPSW、转服务程序入口。转服务程序入口。由硬件完成由硬件完成ITIT指指CPUCPU响应中断请求后,到执行中断服务程序前。响应中断请求后,到执行中断服务程序前。6 6)DMADMA周期周期DMATDMATDMATDMAT指指CPUCPU响应响应DMADMA请求后,到传送完一次数据。请求后,到传送完一次数据。DMADMA控制器接管总线权,控制直传。控制器接管总线权,控制直传。由硬件完成由硬件完成4 4)执行周期)执行周期ETET按操作码完成相应操作按操作码完成相应操作(传送、运算、取转移地址传送、运算、取转移地址送入送入PCPC、返回地址压栈保存返回地址压栈保存);后续指
4、令地址送入后续指令地址送入MARMAR。1 1)时钟周期时间:)时钟周期时间:一次从一次从M M读出,并经数据通路传送的操作;读出,并经数据通路传送的操作;或或一次数据通路传送操作;一次数据通路传送操作;或或一次向一次向M M写入的操作写入的操作(2 2)时钟周期)时钟周期(节拍节拍)T T1 1微秒微秒完成一步操作:完成一步操作:模型机以模型机以访存时间访存时间作为作为一步操作时间一步操作时间。一个总线一个总线周期周期等于等于一个时钟周期一个时钟周期,可根据需要扩展。,可根据需要扩展。2 2)时钟周期数:)时钟周期数:每个工作周期第一拍每个工作周期第一拍T=0T=0,每开始一个新节拍每开始一
5、个新节拍T T计数计数,工作周期结束时工作周期结束时T T清清0 0。一个工作周期中的时钟数一个工作周期中的时钟数可变可变。用用计数器计数器T T控制节拍数控制节拍数将计数值译码,可产生节拍电位。将计数值译码,可产生节拍电位。每个时钟结束时设置一个脉冲。每个时钟结束时设置一个脉冲。(3 3)工作脉冲)工作脉冲P P1ST TP P打入寄存器打入寄存器进行时序转换进行时序转换(周期状态设置周期状态设置/清清除除 时钟时钟T T计数计数/清除)清除)2.2.控制流程控制流程(工作周期转换工作周期转换)FT FT双双单单转转SRSR ST STDRDR DT DT ET ET DMAT DMATDM
6、ADMA请求?请求?中断请求?中断请求?IT ITSRSRDRDRY YN NY YN N3.3.指令流程图与操作时间表指令流程图与操作时间表(1 1)取指周期)取指周期FTFT拟定指令流程:拟定指令流程:初始化时置入初始化时置入FTFT,确定各工作周期中每拍完成的具体确定各工作周期中每拍完成的具体操作(寄存器传送级)。操作(寄存器传送级)。列操作时间表:列操作时间表:列出每一步操作所需的微命令及产列出每一步操作所需的微命令及产生条件。生条件。1 1)进入)进入FTFT的方式的方式FTFTS SR RD DC CQ QQ Q总清总清1 1程序正常运行时程序正常运行时同步打入同步打入FTFT。1
7、 FT1 FTCPFTCPFT1 FT=ET(1 DMAT1 FT=ET(1 DMAT*1 IT)+IT+DMAT(1 DMAT1 IT)+IT+DMAT(1 DMAT*1 IT)1 IT)2 2)流程图)流程图1 ST1 STFT0FT0:PC+1 PCPC+1 PCM IRM IR3 3)操作时间表)操作时间表FT0FT0:电位型微命令电位型微命令脉冲型微命令脉冲型微命令M IRM IREMAR,EMAR,R,R,SIRSIRPC+1 PCPC+1 PCPC A,PC A,A+1,A+1,DMDMCPPCCPPC1 DT1 DT1 ET1 ET或或 或或 CPFT(P)CPFT(P)CPS
8、T(P)CPST(P)CPDT(P)CPDT(P)CPET(P)CPET(P)CPT(P)CPT(P)工作周期中,每拍结束时发工作周期中,每拍结束时发CPTCPT;工作周期结束时,工作周期结束时,5 5个时序打入命令都发。个时序打入命令都发。转换转换 MIR,PC+1PCRiMAR Ri-1RiMARRiMARPCMARMMDRCMMDRCMMDRCMMDRCMMDRCRi+1RiPC+1PCRi+1RiRiMARCMARC+RiMARMMDRCMMDRCST0ST1ST2ST3ST4FTMOV指令R(R)-(R)I/(R)+(R)+X(R)RjMAR Rj-1RjMARRjMARPCMARR
9、j+1RjPC+1PCRj+1RjRjMARD+RjMARMMDRDMMDRMARDT0DT1DT2DT3R(R)-(R)(R)+(R)+X(R)RiRjRiMDRCRjCMDRSRDRSRDRSRDRSRDRMDRMMDRMPCMARET0ET2ET1MOVMOV指令流程图指令流程图(2 2)传送指令)传送指令FT0FT0:PC+1 PCPC+1 PCM IRM IR,1 1)流程图)流程图例例1 1:MOV R0MOV R0,R1R1;源数源数ET0ET0:R1 R0R1 R0PC MARPC MARET1ET1:例例2 2:MOV(R0),(R1)MOV(R0),(R1);FT0FT0:
10、M IRM IR,PC+1 PCPC+1 PCST0ST0:R1 MARR1 MARST1ST1:M MDR CM MDR CDT0DT0:R0 MARR0 MAR目的地址目的地址ET0ET0:C MDRC MDRET1ET1:MDR MMDR MET2ET2:PC MARPC MAR例例3 3:MOV X(R0),X(R1)MOV X(R0),X(R1);FT0FT0:M IRM IRPC+1 PCPC+1 PC形地形地取源操作数,取源操作数,暂存于暂存于C C,需需5 5步。步。PC+1 PCPC+1 PCST0ST0:PC MARPC MARDT1DT1:M MDR CM MDR CDT
11、0DT0:C MDRC MDR源数源数ET0ET0:C+R1 MARC+R1 MARET1ET1:MDR MMDR MET2ET2:PC MARPC MARPC+1 PCPC+1 PC例例3 3:MOV X(R0),X(R1)MOV X(R0),X(R1);FT0FT0:M IRM IRM MDR CM MDR CST1ST1:ST2ST2:ST3ST3:ST4ST4:PC MARPC MARM MDR DM MDR D形地形地PC+1 PCPC+1 PCDT2DT2:DT3DT3:D+R0 MARD+R0 MAR目的地址目的地址取目的地址,取目的地址,暂存于暂存于MARMAR,需需4 4步。
12、步。源数送存储器,源数送存储器,需需3 3步。步。FT0FT0:M IRM IR2 2)操作时间表)操作时间表例:例:MOV(R1)MOV(R1),(SP)+(SP)+;SP MARSP MARM MDR CM MDR CPC+1 PCPC+1 PCCPPCCPPCST0ST0:SP+1 SPSP+1 SPEMAREMAR R R SMDRSMDR MDR BMDR B 输出输出B B DMDMCPCCPCSP ASP AA+1A+1 DMDM CPSPCPSPEMAREMARPC APC A A+1A+1R RSIRSIRDMDM1 ST1 STCPFT(P)CPFT(P)CPET(P)CP
13、ET(P)CPT(P)CPT(P)DMDM CPMARCPMAR输出输出A ASP ASP AT+1T+1CPT(P)CPT(P)T+1T+1 CPT(P)CPT(P)ST1ST1:ST2ST2:1 DT1 DTCPFT(P)CPFT(P)CPET(P)CPET(P)CPT(P)CPT(P)ET1ET1:MDR MMDR MPC MARPC MARET2ET2:EMAREMARW WT+1T+1 CPT(P)CPT(P)DMDM CPMARCPMAR输出输出A APC APC A1 FT1 FTCPFT(P)CPFT(P)CPET(P)CPET(P)CPT(P)CPT(P)DT0DT0:R1
14、MARR1 MARDMDM CPMARCPMAR输出输出A AR1 AR1 AT+1T+1CPT(P)CPT(P)1 ET1 ETCPFT(P)CPFT(P)CPET(P)CPET(P)ET0ET0:C MDRC MDRC BC B 输出输出B B DMDM CPMDRCPMDRCPT(P)CPT(P)取指取指RiMAR Rj-1RjMARRjMARPCMARMMDRDMMDRDMMDRDMMDRDMMDRDRj+1RjPC+1PCRj+1RjRjMARDMARD+RjMARMMDRDMMDRDDT0DT1DT2DT3DT4FT双操作指令R(R)-(R)(R)+(R)+X(R)取源操作数取源操
15、作数ST Ri OP RjRjRi OP D MDRC OP RjRjC OP D MDRSRDRSRDRSRDRSRDRMDRMMDRMPCMARET0ET2ET1双操作数指令流程图双操作数指令流程图(3 3)双操作数指令)双操作数指令取目的数,暂存于取目的数,暂存于D D。例:例:ADD X(R1),(PC)+ADD X(R1),(PC)+;FT0FT0:M IRM IR,PC+1 PCPC+1 PC立即数立即数ST0ST0:PC MARPC MARST1ST1:M MDR CM MDR CST2ST2:PC+1 PCPC+1 PCDT0DT0:PC MARPC MARDT1DT1:M M
16、DR DM MDR DDT2DT2:PC+1 PCPC+1 PC形式地址形式地址DT3DT3:D+R1 MARD+R1 MARDT4DT4:M MDR DM MDR D目的数目的数ET0ET0:C+D MDRC+D MDRET1ET1:MDR MMDR MET2ET2:PC MARPC MAR取 指取操作数OP RjRjOP D MDRMDRMPCMAR单操作数指令流程图单操作数指令流程图DRDRFTDTET0ET1ET2(与双操作数指令DT相同)(4 4)单操作数指令)单操作数指令FT0FT0:M IRM IR,例:例:COM-(R0)COM-(R0);DT0DT0:R0-1 R0R0-1
17、R0、MARMARDT1DT1:M MDR DM MDR DET0ET0:ET1ET1:MDR MMDR MET2ET2:PC MARPC MARPC+1 PCPC+1 PCD MDRD MDR(5 5)转移)转移-返回指令返回指令无条件无条件转移转移SKPSKPR R(R R)(R)+R)+按按R R指示从指示从M M取转移地址取转移地址,修改修改R R。(SP)+SP)+X(PC)X(PC)执行再下条指令。执行再下条指令。从从R R取转移地址。取转移地址。按按R R指示从指示从M M取转移地址。取转移地址。从堆栈取返回地址从堆栈取返回地址,修改修改SPSP。以以PCPC內容为基准转移內容为
18、基准转移。(RSTRST)PCMAR PC+1RiRiMARPCMARPCMARPCMARRiMARMMDR PC,MARMMDR PC,MARMMDR CPC+C PC,MARRi+1RiFTET0ET1ET2取指JMP,RST转移指令流程图转移指令流程图NJPJP、RSTPCPCSKPR(R)(R)+RSTX(PC)FT0FT0:M IRM IR,例例1 1:JMP R0JMP R0;SP+1 SPSP+1 SP、MARMARM MDR PCM MDR PCET0ET0:ET1ET1:SP MARSP MARET2ET2:R0 PCR0 PCPC+1 PCPC+1 PC无条件转子:无条件转
19、子:R R(R R)(R)+R)+(SP)+SP)+(PC)+PC)+入口在入口在R R中中例例2 2:RST(SP)+RST(SP)+;FT0FT0:M IRM IR,PC+1 PCPC+1 PCET0ET0:、MARMAR例例3 3:JMP X(PC)JMP X(PC);FT0FT0:M IRM IR,PC+1 PCPC+1 PCET0ET0:PC MARPC MARET1ET1:M MDR CM MDR C位移量位移量ET2ET2:PC+C PCPC+C PC、MARMAR(5 5)转子指令)转子指令入口在入口在M M中中入口在堆栈中入口在堆栈中取指JSR指令NJSRRiMARMMDR
20、CRiMARMMDR CRi+1RiPCMAR PC+1SP-1PCMARSPMARSP-1SPMARPCMDRPCMDRMDRMMDRMRiPC,MARCPC,MARFTST0ST1ST2ET1ET0ET2ET3JSRPCPCR(R)(R)+SP-1 SPSP-1 SPMDR MMDR MST1ST1:PC MDRPC MDR在在STST形成子程序入口;在形成子程序入口;在ETET保存返回地址,并转保存返回地址,并转子程序入口。子程序入口。ST0ST0:、MARMAR例:例:JSRJSR(R2R2););FT0FT0:M IRM IR,PC+1 PCPC+1 PCET0ET0:R2 MARR
21、2 MARET1ET1:M MDR CM MDR C子程序子程序入口入口C PCC PC、MARMAR返回地返回地址压栈址压栈ET2ET2:ET3ET3:(6)(6)中断周期中断周期ITIT中断响应中断响应:若:若CPUCPU在主程序第在主程序第k k条指令条指令周期中接到中断请求信号周期中接到中断请求信号INTINT,且满足,且满足响应中断的条件,则在该指令周期的响应中断的条件,则在该指令周期的最后一拍最后一拍ETiETi向请求源发出中断响应信向请求源发出中断响应信号号INTAINTA,形成,形成1 1ITIT,在周期切换时发,在周期切换时发出出CPITCPIT。这就使得。这就使得CPUCP
22、U在执行完第在执行完第k k条条指令后,转入中断周期指令后,转入中断周期ITIT1IT,INTA1IT,INTA0I0ISP-1SP,MARSP-1SP,MARPCMDRPCMDRMDRMMDRM中断向量中断向量MARMAR入口地址入口地址PCPC、MARMAR 1 FT 1 FT主程序INT子程序FTFTETiETiIT0IT0IT1IT1IT2IT2IT3IT3IT4IT4FT0FT0关中断关中断修改堆栈指针修改堆栈指针SP保存断点保存断点访问中断向量访问中断向量表表中断类型码,乘中断类型码,乘4,地址码,向量地址地址码,向量地址(7)DMA(7)DMA周期周期1 1)DMADMA响应响应
23、通常通常在每个总线周期结束之后,进在每个总线周期结束之后,进行有无总线请求、是否响应及总线行有无总线请求、是否响应及总线控制权转移等总线仲裁操作。控制权转移等总线仲裁操作。模型机模型机在一个指令周期结束时才在一个指令周期结束时才响应响应DMADMA请求,简化有关控制逻辑请求,简化有关控制逻辑DACK1 DMATDMA请求请求FTETi与系统总线断开与系统总线断开恢复原程序执行恢复原程序执行DMATFT1 FTDMA流程流程2 2)DMATDMATCPUCPU放弃总线控制权,与系统总线断开,放弃总线控制权,与系统总线断开,不做实质工作,空出一个系统总线周期不做实质工作,空出一个系统总线周期DMA
24、DMA控制器接管系统总线,发出有关地址和控制器接管系统总线,发出有关地址和控制信息实现控制信息实现DMA操作操作3)恢复原程序执行)恢复原程序执行DMAT不影响不影响PC和有关现场,由和有关现场,由DMAT转入转入FT恢复程序执行恢复程序执行(8)启动和复位)启动和复位总总清信号清信号上电上电按复位键按复位键PC=0MAR=0FT=1从从0号单元读得号单元读得JMP指令指令CPU从从1号单元读得监控程序入口地址号单元读得监控程序入口地址转移到监控转移到监控程序入口程序入口归纳微命令归纳微命令,综合化简条件综合化简条件,用组合逻辑电路实现。用组合逻辑电路实现。读令读令R R=4.4.控制逻辑控制
25、逻辑例:例:FT0FT0+MOV(ST1+ST4+)+MOV(ST1+ST4+)CPPC CPPC=FT0FT0+P P+MOV(ST2+DT2)X P+MOV(ST2+DT2)X P+第三章复习提纲第三章复习提纲3.3.CPUCPU组成(重在数据通路结构)。组成(重在数据通路结构)。4.4.指令流程指令流程(寄存器传送级寄存器传送级),),操作时间表操作时间表(微命令序列微命令序列)。5.微指令设计方法微指令设计方法(分段原则、各段功能、编码方法分段原则、各段功能、编码方法)。6.基本概念:基本概念:溢出及判断方法,数的补码表示及变补,溢出及判断方法,数的补码表示及变补,对阶,规格化,对阶,
26、规格化,同步控制与异步控制同步控制与异步控制(含义、应用场合含义、应用场合),组合逻辑控制与微程序控制组合逻辑控制与微程序控制(基本思想、优缺点、应用场基本思想、优缺点、应用场合合),I/O传送控制方式传送控制方式(定义、应用场合定义、应用场合),控制字,状态,控制字,状态字,程序状态字,主设备,从设备字,程序状态字,主设备,从设备等。等。1.1.四种运算方法四种运算方法(原码一位乘、补码一位乘、原码原码一位乘、补码一位乘、原码加减交替除法、补码加减交替除法加减交替除法、补码加减交替除法)的算法、规则。的算法、规则。2.2.浮点加减运算流程。浮点加减运算流程。1、分别写出下述指令流程:、分别写出下述指令流程:(1)MOV R2MOV R2,(SP)+(SP)+;(2 2)ADD X(PC)ADD X(PC),R1 R1;(3 3)JMP(R0)JMP(R0);2 2、列出指令列出指令JMP(R0)JMP(R0);的取指;的取指周期和周期和执行周期的操作时间表。假定执行周期执行周期的操作时间表。假定执行周期结束后将进入新的取指周期。结束后将进入新的取指周期。第三章作业(二)第三章作业(二)