dj13-第3章-cpu模型2组合逻辑设计课件_第1页
dj13-第3章-cpu模型2组合逻辑设计课件_第2页
dj13-第3章-cpu模型2组合逻辑设计课件_第3页
dj13-第3章-cpu模型2组合逻辑设计课件_第4页
dj13-第3章-cpu模型2组合逻辑设计课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.5.1组合逻辑控制器时序系统1.工作周期(也称机器周期)取指周期FT用于指令正常执行时序控制源周期ST目的周期DT执行周期ET中断周期ITDMA周期DMAT用于I/O传送控制定义以下工作周期:(1)组合逻辑控制器依靠不同的时间标志,使CPU分步工作。(2)模型机按常规采用工作周期、时钟周期、工作脉冲三级时序。3.5.1组合逻辑控制器时序系统1.工作周期(也称机器周1①取指周期FT②源周期STFT周期内,完成从内存取指令IR,然后修改PC值(PC+1PC);本阶段的操作与指令类型无关。在非寄存器寻址时,在ST时间内,按指令指定的源寻址方式,形成源操作数地址、读取源操作数,并将其存入暂存器C。FT结束时,按操作码和寻址方式转相应工作周期。(分寄存器寻址或非寄存器寻址)①取指周期FT②源周期STFT周期内,完成从内存取2④执行周期ET主要完成:

完成指令指定功能(如传送、运算、取转移地址送入PC等)后续地址MAR③目的周期DT在非寄存器寻址时,在DT时间内,按指令指定的目的寻址方式,读取目的地址(MAR)或目的操作数(暂存器D)

。(顺序地址或转移地址)④执行周期ET主要完成:完成指令指定功能(如传送、运3⑤中断周期IT关中断、保存断点和PSW、寻找并转入中断服务程序入口地址。IT指CPU响应中断请求后,直到执行中断服务程序前的一段时间。以便返回主程序并继续执行执行中断服务程序前,不响应新的中断请求—中断周期内的工作由硬件自动完成包括以下工作:⑤中断周期IT关中断、保存断点和PSW、寻找并转入中断服4⑥DMA周期

DMATDMAT指CPU响应DMA请求后,到传送完一次数据。DMA控制器接管总线权,控制M-I/O直传。—DMAT内的工作由DMA控制器硬件自动完成上述六种工作周期之间的转换关系是:⑥DMA周期DMATDMAT指CPU响应DMA请求后,5FTResetSTDTET双操作数无操作数单操作数无DMA和中断请求IT有中断请求DMAT有DMA请求中断周期结束DMA结束且DMA请求也无中断请求有中断请求有DMA请求FTResetSTDTET双操作数无操作数单操作数无DMA和6工作周期转换流程是:

FTN

ET

DTDMA请求?中断请求?YDMAT

IT

ST双转单YN工作周期转换流程是:FTNETDTDMA请7设置6个触发器分别作为各周期状态标志1

工作周期开始0

工作周期结束在整个指令周期中,任何时候必须、且只能有一个工作周期状态标志为“1”。①时钟周期时间:一次从M读出,并经数据通路传送的操作;或一次数据通路传送操作;或一次向M写入的操作2.时钟周期(也称节拍)—T完成一步操作:1微秒模型机以访存时间作为一步操作时间。假设:一个总线周期等于一个时钟周期。设置6个触发器分别作为各周期状态标志1工作周期开始0工作8②时钟周期数:

每个工作周期第一拍T=0;每开始一个新节拍T计数;工作周期结束时T清0。一个工作周期中的时钟数可变用计数器T控制节拍数:将计数值译码,可产生节拍电位。如下图可产生T3

T2

T1

T0

:②时钟周期数:每个工作周期第一拍T=0;一个工作周期9注:由T触发器构成计数器,并通过译码器产生节拍信号。T触发器由J-K触发器的J-K端相连构成,在C脉冲下降沿翻转,逻辑状态方程是:计数脉冲

CPTCLRQ0CT

2-4译码器Q1CTRRT3

T2

T1

T000111001+5V“1”Qn+1=TQn即:Qn+1=QnT=1时,CPT下降沿到来后,T=0时,CPT下降沿到来后,Qn+1=Qn注:由T触发器构成计数器,并通过译码器产生节拍信号。T触10产生以下时序(由译码器输出):0000010110101111T0T1T2T3注:如果1个工作周期需要更多的节拍,如T4、

T5等,则需要增加计数器的长度(如教材P.138图3-35)。产生以下时序(由译码器输出):00000101101011111每个时钟结束时设置一个脉冲。3.工作脉冲P1µS时钟周期T工作脉冲P打入寄存器进行时序转换(周期状态设置/清除时钟T计数/清除)注:为简化控制过程,本教材将时钟周期(T)长度定为一次访存的时间长度,因此取指周期只需要一个节拍T。(见教材P.137)每个时钟结束时设置一个脉冲。3.工作脉冲P1µS时钟周期123.5.2指令流程图与操作时间表在寄存器传送级拟定指令流程:也就是确定指令执行执行的具体步骤,确定每个工作周期中每一个节拍需要完成的具体操作。拟定操作时间表:列出每一步操作所需的微命令及产生条件。控制器设计的核心是拟定各类指令的执行过程。有两种可供选择的设计线索:

(1)以工作周期为线索,按工作周期分别拟定各类指令在本工作周期内的操作流程,再以操作时间表分时列出应当发出的微命令及逻辑条件。

(2)以指令为线索,按指令类型分别拟定操作流程。3.5.2指令流程图与操作时间表在寄存器传送级拟定指令131、取指周期

FT初始化时置入FT;(1)进入FT的方式和条件FTSRDCQQ总清1程序正常运行时,进行周期转换进入FT。1→FTCPFT1→FT

=+ITET(1→DMAT1→IT)+DMAT(1→DMAT1→IT

)在脉冲后沿置FT1、取指周期FT初始化时置入FT;(1)进入FT的方14(2)取指流程1→STFT0:PC+1PCMIR(3)操作时间表FT0:电位型微命令脉冲型微命令MIREMAR,R,SIRPC+1PCPC→ADMCPPC1→DT1→ETCPFT(P)转换CPT(P)CPET(P)CPDT(P)CPST(P)(见P.139,图3-38)FT0表示取指周期FT的T0节拍S3S2S1S0MC0(逻辑式1)(逻辑式2)(逻辑式3)(2)取指流程1→STFT0:PC+1PCM15对上述操作时间表的说明:(1)在FT结束以后,信号“1→ST”、“1→DT”、“1→ET”仅有一个有效(为“1”),因此,即使脉冲CPST、CPDT、CPET都产生,也只会是一个工作周期触发器置为“1”,并进入相应周期。(2)发出了CPFT脉冲,但是不产生“1→FT”信号,因此不会进入取指周期。(3)FT结束以后进入其它工作周期,节拍状态又从0开始,即维持T0不变。虽然也发出了CPT信号,但让“T+1”=0,时钟周期计数器不计数,仍然维持T0节拍。对上述操作时间表的说明:(1)在FT结束以后,信号“1162、传送指令FT0:MIR,例1:MOVR1,R0;ET0:R0R1PCMARET1:PC+1PC(1)指令流程(P.141MOV指令流程图)符号标识:SR:源操作数寄存器寻址DR:目的操作数寄存器寻址

MOV指令流程图包含各种寻址方式组合,通过对MOV指令流程的分析,能够了解各种寻址方式的具体实现过程,因而是剖析整个指令系统的关键。2、传送指令FT0:MIR,例1:MOVR117源操作数例2:MOV(R1),(R0);FT0:MIR,PC+1PCST0:R0MARST1:MMDRCDT0:R1MAR目的地址ET0:CMDRET1:MDRMET2:PCMAR源操作数例2:MOV(R1),(R0);FT0:M18PC+1PC例3:MOVX(R1),X(R0);FT0:MIR取源操作数,暂存于C,需5步移位量PC+1PCST0:PCMARDT1:MMDRCDT0:CMDR源操作数ET0:C+R0MARET1:MDRMET2:PCMARMMDRCST1:ST2:ST3:ST4:PCMARMMDRDPC+1PCDT2:DT3:D+R1MAR目的地址取目的地址,暂存于MAR,需4步源操作数送存储器,需3步。移位量PC+1PC例3:MOVX(R1),X(R019注:R0(000)、R1(001)、R2(010)、R3(011)SP(100)、PSW(101)、PC(111)

传送指令格式:

寄存器编码:

操作码寄存器号寻址方式寄存器号寻址方式IR15~IR12

IR11IR10

IR9IR8IR7IR6IR5IR4IR3IR2IR1IR04位3位3位3位3位(2)操作时间表操作时间表如下(P.142):注:R0(000)、R1(001)、R2(010)、20ST0R0→AR1→A

R2→A

R3→ASP→A

PC→AS3S2S1S0M

DMT+1ST1EMARR

[IR5IR4IR3X]

[IR3IR4IR3X]

[IR5IR4IR3+X]

[IR5IR4IR3X][

–(R)

]CPMARPCPR0[条件同R0→A]CPR1[条件同R1→A]CPR2[条件同R2→A]CPR3[条件同R3→A]CPSP[条件同SP→A]CPT[

P

]S3S2S1S0MC0[

–(R)

]

[IR5IR4IR3X]

[IR5IR4IR3X]ST0R0→A[IR5IR4IR3X][IR3IR21ST1SMDRMDR

→B

DM1→ST1→DT1→ETT+1S3S2S1S0M[(R)∨–(R)

][(R)∨–(R)

]DR[(R)∨–(R)

]DR[(R)∨–(R)

]PCPCCPST[

P

]CPDT[

P

]CPET[

P

]CPT[

P

]...如果不是寄存器间址或自减型寄存器间址,则需要延长ST,否则进入DT或ET。运算器输出BCPFT[P]ST1SMDRS3S2S1S0M[(R)∨–(R)22FT0:MIR例:MOV(R1),(SP)

+;SPMARMMDRCPC+1PCCPPCST0:SP+1SPEMARRSMDRMDRB输出BDMCPCSPAA+1DMCPSPEMARPCAA+1RSIRDM1STCPFT(P)CPET(P)CPT(P)DMCPMAR输出ASPAT+1CPT(P)T+1CPT(P)ST1:ST2:1DTCPFT(P)CPET(P)CPT(P)DT0:R1

MARDMCPMAR输出AR1AT+1CPT(P)1ETCPFT(P)CPET(P)ET0:CMDRCB输出BDMCPMDRCPT(P)FT0:MIR例:MOV(R1),(SP)23ET1:MDRMPCMARET2:EMARWT+1CPT(P)DMCPMAR输出APCA1FTCPFT(P)CPET(P)CPT(P)向DB输出MDRDT0:R1

MARDMCPMAR输出AR1AT+1CPT(P)1ETCPFT(P)CPET(P)ET0:CMDRCB输出BDMCPMDRCPT(P)ET1:MDRMPCMARET2:EMARW243、双操作数指令例:ADD

X(R1),(PC);FT0:M

IR,ST0:PCMARST1:MMDRCST2:PC+1PCDT0:PCMARDT1:MMDRDDT2:PC+1PC偏移量DT3:D+R1MARDT4:MMDRD目的数ET0:C+DMDRET1:MDRMET2:PCMARPC+1PC操作流程见P.144。3、双操作数指令例:ADDX(R1),(PC);FT0254、单操作数指令FT0:MIR,例:COM–

(R0);DT0:R0

1R0、MARDT1:MMDRDET0:ET1:MDRMET2:PCMARPC+1PCDMDR操作流程见P.145。S3S2S1S0MC4、单操作数指令FT0:MIR,例:COM265、转移-返回指令无条件转移SKPR(R)(R)+按R指示从M取转移地址,修改R。(SP)+X(PC)执行再下条指令。从R取转移地址。按R指示从M取转移地址。从堆栈取返回地址,修改SP。以PC內容为基准+偏移量作转移地址。(RST)操作流程见P.145。寻址方式固定为(SP)+PC型寻址和非PC型寻址说明:5、转移-返回指令无条件转移SKPR(R)(R)+按R指示从27针对转移不成功时,如何决定后继指令的地址:转移指令的地址字段所指明的寄存器不是PC,即为非PC型寻址—PC则后继指令存放在紧接当前转移指令之后的地址单元,即:条件转移指令后继指令............转移指令的地址字段所指明的寄存器是PC,即为PC型寻址—PC,转移指令之后的地址存放转移地址,后继指令在再下一个单元,即:条件转移指令转移地址后继指令......针对转移不成功时,如何决定后继指令的地址:转移指令的地28SP+1SPMMDRPCET2:SPMARET1:例1:RST(SP)+;FT0:MIR,PC+1PCET0:、MAR例2:JMPX(PC);FT0:MIR,PC+1PCET0:PCMARET1:MMDRC位移量ET2:PC+CPC、MARSP+1SPMMDRPCET2:SP29无条件转子:R(R)(R)+(SP)+(PC)+入口在R中6、转子指令入口在M中入口在堆栈中SP-1SPMDRMST1:PCMDR在ST形成子程序入口;在ET保存返回地址,并转入子程序入口。ST0:、MAR例:JSR(R2);FT0:MIR,PC+1PCET0:R2MARET1:MMDRC子程序入口CPC、MAR返回地址压栈ET2:ET3:无条件转子:R(R)(R)+(SP)+(PC)+入口在R中6307、中断周期ITP.147流程图:主程序PC→MDRSP

–1→SP、MAR1→IT进入中断周期MDR→MIT0IT3IT1IT2向量地址→MAR入口地址→PC

MAR,1→FTIT4FT0服务子程序为访问中断向量表作地址准备7、中断周期ITP.147流程图:主程序PC→M313.5.3微命令的综合与产生归纳微命令,综合化简,用组合逻辑电路实现。例:符号“S-OP”表示单操作数指令;“D-OP”表示双操作数指令;符号“N-OP”表示无操作数指令1→FT

=+ITET(1→DMAT1→IT)+DMAT(1→DMAT1→IT

)1→DT

=1→ET

=DT

+

FT(N-OP+

R-R)1→DMAT

=

ET

(DMAR=1)1→IT

=

ET

(DMAR=0)

(INTR=1)

(IF=1)

1→ST

=FT

N-OP

R-R

SRST

+

FTS-OPDR3.5.3微命令的综合与产生归纳微命令,综合化简,32以P.141~147指令流程图为例,写出PC送运算器(以PC→A表示)的逻辑表达式:

取指:PC→A

=FT0

MOV指令:PC→A

=双操作数指令:PC→A

=MOV(ST0

•X(PC)+ST2•X(PC)++DT0•X(PC)+DT1•X(PC)+ET2)D-OP(ST0

•X(PC)+ST2•X(PC)+DT0

•X(PC)+DT2•X(PC)

+ET2)(为了完成PC+1操作)以P.141~147指令流程图为例,写出PC送运算33PC→A

=S-OP(DT0

•X(PC)+DT2•X(PC)+ET2)

JMP、RST指令:PC→A

=JMP(NJP•ET0+JP•SKP•ET0+JP•X(PC)•ET0+JP•X(PC)•ET2)

JSR指令:PC→A

=JSR(NJSR•ET0+JSR•ET1)中断响应周期:PC→A

=IT1综合以上微操作表达式:单操作数指令:PC→A=S-OP(DT0•X(PC)+DT2•X(PC34PC→A

=FT0+MOV(ST0

•X(PC)+ST2•X(PC)++DT0•X(PC)+DT1•X(PC)+ET2)++D-OP(ST0

•X(PC)+ST2•X(PC)+DT0

•X(PC)+DT2•X(PC)+ET2))++S-OP(DT0

•X(PC)+DT2•X(PC)++ET2)+JMP(NJP•ET0+JP•SKP•ET0++JP•X(PC)•ET0+JP•X(PC)•ET2)++JSR(NJSR•ET0+JSR•ET0)+IT1(未对表达式进行简化)PC→A=FT0+MOV(ST0•X(PC)+ST2•X35读命令R=CPPC

=FT0+MOV(ST1+ST4+)+FT0

P+MOV(ST2+DT2)

X•

P+依次类推,可以有:将上述逻辑表达式用逻辑电路实现即可。1→C0

=FT0•P+SUB•ST2•P•((R)+)+INC•DT2•P)+SUB•DT2•P•(@(R)+)+INC•ET•P++JMP•ET•P•((R)+)+比如,简化后的微操作CPMAR的逻辑电路是:....读命令R=CPPC=FT0+MOV(ST1+ST4+36ST0PADDDT0(R)ST3SUB(R)+X(R)DT3INC@(R)++CPMARMOV.........ST0PADDDT0(R)ST3SUB(R)+X(R)DT337—组合逻辑方式:设计过程小结

设计指令系统及其寻址方式(包括约定寻址方式的符号标识、可编程寄存器和不可编程寄存器以及可编程寄存器编号)

设计构成模型机的部件、以及数据通路;

拟定不同类型的指令执行时,其数据信息、地址信息和指令信息在上述通路中的流动路径。(其目的是能够得到指令的执行流程图)

设计模型机的时序系统一般采用三级时序(指令周期、节拍周期和脉冲),将不同的操作安排在不同的时间完成。—组合逻辑方式:设计过程小结38

以上述三个步骤为基础,写出指令流程图

即:根据指令功能,列出在不同工作周期、节拍需要完成的操作(寄存器级)。根据指令流程图,写出指令操作时间表即:根据指令应完成的操作,写出完成这些操作所需的微操作信号。

按照产生微操作信号的条件,写出产生每一个微操作信号的逻辑表达式;

简化上述逻辑表达式,用逻辑电路实现以上述三个步骤为基础,写出指令流程图39按上述步骤:得到一个能够在规定条件和设定的时间,产生各种微操作信号的组合逻辑控制器,即:微命令发生器。按上述步骤:得到一个能够在规定条件和设定的时间,产生各种微40

微命令发生器微命令序列I/O状态控制台信息运行状态

指令译码器

PSW

时序信号发生器(指令周期、节拍周期和脉冲)

指令寄存器.....指令功能、源操作数/目的操作数寻址方式、所使用的寄存器等(如PC→IB,读令R,CPTCPPC,EMBR,CPR0

等)微命令微命令序列I/O状态控制台信息运行状态指令译码413.5.1组合逻辑控制器时序系统1.工作周期(也称机器周期)取指周期FT用于指令正常执行时序控制源周期ST目的周期DT执行周期ET中断周期ITDMA周期DMAT用于I/O传送控制定义以下工作周期:(1)组合逻辑控制器依靠不同的时间标志,使CPU分步工作。(2)模型机按常规采用工作周期、时钟周期、工作脉冲三级时序。3.5.1组合逻辑控制器时序系统1.工作周期(也称机器周42①取指周期FT②源周期STFT周期内,完成从内存取指令IR,然后修改PC值(PC+1PC);本阶段的操作与指令类型无关。在非寄存器寻址时,在ST时间内,按指令指定的源寻址方式,形成源操作数地址、读取源操作数,并将其存入暂存器C。FT结束时,按操作码和寻址方式转相应工作周期。(分寄存器寻址或非寄存器寻址)①取指周期FT②源周期STFT周期内,完成从内存取43④执行周期ET主要完成:

完成指令指定功能(如传送、运算、取转移地址送入PC等)后续地址MAR③目的周期DT在非寄存器寻址时,在DT时间内,按指令指定的目的寻址方式,读取目的地址(MAR)或目的操作数(暂存器D)

。(顺序地址或转移地址)④执行周期ET主要完成:完成指令指定功能(如传送、运44⑤中断周期IT关中断、保存断点和PSW、寻找并转入中断服务程序入口地址。IT指CPU响应中断请求后,直到执行中断服务程序前的一段时间。以便返回主程序并继续执行执行中断服务程序前,不响应新的中断请求—中断周期内的工作由硬件自动完成包括以下工作:⑤中断周期IT关中断、保存断点和PSW、寻找并转入中断服45⑥DMA周期

DMATDMAT指CPU响应DMA请求后,到传送完一次数据。DMA控制器接管总线权,控制M-I/O直传。—DMAT内的工作由DMA控制器硬件自动完成上述六种工作周期之间的转换关系是:⑥DMA周期DMATDMAT指CPU响应DMA请求后,46FTResetSTDTET双操作数无操作数单操作数无DMA和中断请求IT有中断请求DMAT有DMA请求中断周期结束DMA结束且DMA请求也无中断请求有中断请求有DMA请求FTResetSTDTET双操作数无操作数单操作数无DMA和47工作周期转换流程是:

FTN

ET

DTDMA请求?中断请求?YDMAT

IT

ST双转单YN工作周期转换流程是:FTNETDTDMA请48设置6个触发器分别作为各周期状态标志1

工作周期开始0

工作周期结束在整个指令周期中,任何时候必须、且只能有一个工作周期状态标志为“1”。①时钟周期时间:一次从M读出,并经数据通路传送的操作;或一次数据通路传送操作;或一次向M写入的操作2.时钟周期(也称节拍)—T完成一步操作:1微秒模型机以访存时间作为一步操作时间。假设:一个总线周期等于一个时钟周期。设置6个触发器分别作为各周期状态标志1工作周期开始0工作49②时钟周期数:

每个工作周期第一拍T=0;每开始一个新节拍T计数;工作周期结束时T清0。一个工作周期中的时钟数可变用计数器T控制节拍数:将计数值译码,可产生节拍电位。如下图可产生T3

T2

T1

T0

:②时钟周期数:每个工作周期第一拍T=0;一个工作周期50注:由T触发器构成计数器,并通过译码器产生节拍信号。T触发器由J-K触发器的J-K端相连构成,在C脉冲下降沿翻转,逻辑状态方程是:计数脉冲

CPTCLRQ0CT

2-4译码器Q1CTRRT3

T2

T1

T000111001+5V“1”Qn+1=TQn即:Qn+1=QnT=1时,CPT下降沿到来后,T=0时,CPT下降沿到来后,Qn+1=Qn注:由T触发器构成计数器,并通过译码器产生节拍信号。T触51产生以下时序(由译码器输出):0000010110101111T0T1T2T3注:如果1个工作周期需要更多的节拍,如T4、

T5等,则需要增加计数器的长度(如教材P.138图3-35)。产生以下时序(由译码器输出):00000101101011152每个时钟结束时设置一个脉冲。3.工作脉冲P1µS时钟周期T工作脉冲P打入寄存器进行时序转换(周期状态设置/清除时钟T计数/清除)注:为简化控制过程,本教材将时钟周期(T)长度定为一次访存的时间长度,因此取指周期只需要一个节拍T。(见教材P.137)每个时钟结束时设置一个脉冲。3.工作脉冲P1µS时钟周期533.5.2指令流程图与操作时间表在寄存器传送级拟定指令流程:也就是确定指令执行执行的具体步骤,确定每个工作周期中每一个节拍需要完成的具体操作。拟定操作时间表:列出每一步操作所需的微命令及产生条件。控制器设计的核心是拟定各类指令的执行过程。有两种可供选择的设计线索:

(1)以工作周期为线索,按工作周期分别拟定各类指令在本工作周期内的操作流程,再以操作时间表分时列出应当发出的微命令及逻辑条件。

(2)以指令为线索,按指令类型分别拟定操作流程。3.5.2指令流程图与操作时间表在寄存器传送级拟定指令541、取指周期

FT初始化时置入FT;(1)进入FT的方式和条件FTSRDCQQ总清1程序正常运行时,进行周期转换进入FT。1→FTCPFT1→FT

=+ITET(1→DMAT1→IT)+DMAT(1→DMAT1→IT

)在脉冲后沿置FT1、取指周期FT初始化时置入FT;(1)进入FT的方55(2)取指流程1→STFT0:PC+1PCMIR(3)操作时间表FT0:电位型微命令脉冲型微命令MIREMAR,R,SIRPC+1PCPC→ADMCPPC1→DT1→ETCPFT(P)转换CPT(P)CPET(P)CPDT(P)CPST(P)(见P.139,图3-38)FT0表示取指周期FT的T0节拍S3S2S1S0MC0(逻辑式1)(逻辑式2)(逻辑式3)(2)取指流程1→STFT0:PC+1PCM56对上述操作时间表的说明:(1)在FT结束以后,信号“1→ST”、“1→DT”、“1→ET”仅有一个有效(为“1”),因此,即使脉冲CPST、CPDT、CPET都产生,也只会是一个工作周期触发器置为“1”,并进入相应周期。(2)发出了CPFT脉冲,但是不产生“1→FT”信号,因此不会进入取指周期。(3)FT结束以后进入其它工作周期,节拍状态又从0开始,即维持T0不变。虽然也发出了CPT信号,但让“T+1”=0,时钟周期计数器不计数,仍然维持T0节拍。对上述操作时间表的说明:(1)在FT结束以后,信号“1572、传送指令FT0:MIR,例1:MOVR1,R0;ET0:R0R1PCMARET1:PC+1PC(1)指令流程(P.141MOV指令流程图)符号标识:SR:源操作数寄存器寻址DR:目的操作数寄存器寻址

MOV指令流程图包含各种寻址方式组合,通过对MOV指令流程的分析,能够了解各种寻址方式的具体实现过程,因而是剖析整个指令系统的关键。2、传送指令FT0:MIR,例1:MOVR158源操作数例2:MOV(R1),(R0);FT0:MIR,PC+1PCST0:R0MARST1:MMDRCDT0:R1MAR目的地址ET0:CMDRET1:MDRMET2:PCMAR源操作数例2:MOV(R1),(R0);FT0:M59PC+1PC例3:MOVX(R1),X(R0);FT0:MIR取源操作数,暂存于C,需5步移位量PC+1PCST0:PCMARDT1:MMDRCDT0:CMDR源操作数ET0:C+R0MARET1:MDRMET2:PCMARMMDRCST1:ST2:ST3:ST4:PCMARMMDRDPC+1PCDT2:DT3:D+R1MAR目的地址取目的地址,暂存于MAR,需4步源操作数送存储器,需3步。移位量PC+1PC例3:MOVX(R1),X(R060注:R0(000)、R1(001)、R2(010)、R3(011)SP(100)、PSW(101)、PC(111)

传送指令格式:

寄存器编码:

操作码寄存器号寻址方式寄存器号寻址方式IR15~IR12

IR11IR10

IR9IR8IR7IR6IR5IR4IR3IR2IR1IR04位3位3位3位3位(2)操作时间表操作时间表如下(P.142):注:R0(000)、R1(001)、R2(010)、61ST0R0→AR1→A

R2→A

R3→ASP→A

PC→AS3S2S1S0M

DMT+1ST1EMARR

[IR5IR4IR3X]

[IR3IR4IR3X]

[IR5IR4IR3+X]

[IR5IR4IR3X][

–(R)

]CPMARPCPR0[条件同R0→A]CPR1[条件同R1→A]CPR2[条件同R2→A]CPR3[条件同R3→A]CPSP[条件同SP→A]CPT[

P

]S3S2S1S0MC0[

–(R)

]

[IR5IR4IR3X]

[IR5IR4IR3X]ST0R0→A[IR5IR4IR3X][IR3IR62ST1SMDRMDR

→B

DM1→ST1→DT1→ETT+1S3S2S1S0M[(R)∨–(R)

][(R)∨–(R)

]DR[(R)∨–(R)

]DR[(R)∨–(R)

]PCPCCPST[

P

]CPDT[

P

]CPET[

P

]CPT[

P

]...如果不是寄存器间址或自减型寄存器间址,则需要延长ST,否则进入DT或ET。运算器输出BCPFT[P]ST1SMDRS3S2S1S0M[(R)∨–(R)63FT0:MIR例:MOV(R1),(SP)

+;SPMARMMDRCPC+1PCCPPCST0:SP+1SPEMARRSMDRMDRB输出BDMCPCSPAA+1DMCPSPEMARPCAA+1RSIRDM1STCPFT(P)CPET(P)CPT(P)DMCPMAR输出ASPAT+1CPT(P)T+1CPT(P)ST1:ST2:1DTCPFT(P)CPET(P)CPT(P)DT0:R1

MARDMCPMAR输出AR1AT+1CPT(P)1ETCPFT(P)CPET(P)ET0:CMDRCB输出BDMCPMDRCPT(P)FT0:MIR例:MOV(R1),(SP)64ET1:MDRMPCMARET2:EMARWT+1CPT(P)DMCPMAR输出APCA1FTCPFT(P)CPET(P)CPT(P)向DB输出MDRDT0:R1

MARDMCPMAR输出AR1AT+1CPT(P)1ETCPFT(P)CPET(P)ET0:CMDRCB输出BDMCPMDRCPT(P)ET1:MDRMPCMARET2:EMARW653、双操作数指令例:ADD

X(R1),(PC);FT0:M

IR,ST0:PCMARST1:MMDRCST2:PC+1PCDT0:PCMARDT1:MMDRDDT2:PC+1PC偏移量DT3:D+R1MARDT4:MMDRD目的数ET0:C+DMDRET1:MDRMET2:PCMARPC+1PC操作流程见P.144。3、双操作数指令例:ADDX(R1),(PC);FT0664、单操作数指令FT0:MIR,例:COM–

(R0);DT0:R0

1R0、MARDT1:MMDRDET0:ET1:MDRMET2:PCMARPC+1PCDMDR操作流程见P.145。S3S2S1S0MC4、单操作数指令FT0:MIR,例:COM675、转移-返回指令无条件转移SKPR(R)(R)+按R指示从M取转移地址,修改R。(SP)+X(PC)执行再下条指令。从R取转移地址。按R指示从M取转移地址。从堆栈取返回地址,修改SP。以PC內容为基准+偏移量作转移地址。(RST)操作流程见P.145。寻址方式固定为(SP)+PC型寻址和非PC型寻址说明:5、转移-返回指令无条件转移SKPR(R)(R)+按R指示从68针对转移不成功时,如何决定后继指令的地址:转移指令的地址字段所指明的寄存器不是PC,即为非PC型寻址—PC则后继指令存放在紧接当前转移指令之后的地址单元,即:条件转移指令后继指令............转移指令的地址字段所指明的寄存器是PC,即为PC型寻址—PC,转移指令之后的地址存放转移地址,后继指令在再下一个单元,即:条件转移指令转移地址后继指令......针对转移不成功时,如何决定后继指令的地址:转移指令的地69SP+1SPMMDRPCET2:SPMARET1:例1:RST(SP)+;FT0:MIR,PC+1PCET0:、MAR例2:JMPX(PC);FT0:MIR,PC+1PCET0:PCMARET1:MMDRC位移量ET2:PC+CPC、MARSP+1SPMMDRPCET2:SP70无条件转子:R(R)(R)+(SP)+(PC)+入口在R中6、转子指令入口在M中入口在堆栈中SP-1SPMDRMST1:PCMDR在ST形成子程序入口;在ET保存返回地址,并转入子程序入口。ST0:、MAR例:JSR(R2);FT0:MIR,PC+1PCET0:R2MARET1:MMDRC子程序入口CPC、MAR返回地址压栈ET2:ET3:无条件转子:R(R)(R)+(SP)+(PC)+入口在R中6717、中断周期ITP.147流程图:主程序PC→MDRSP

–1→SP、MAR1→IT进入中断周期MDR→MIT0IT3IT1IT2向量地址→MAR入口地址→PC

MAR,1→FTIT4FT0服务子程序为访问中断向量表作地址准备7、中断周期ITP.147流程图:主程序PC→M723.5.3微命令的综合与产生归纳微命令,综合化简,用组合逻辑电路实现。例:符号“S-OP”表示单操作数指令;“D-OP”表示双操作数指令;符号“N-OP”表示无操作数指令1→FT

=+ITET(1→DMAT1→IT)+DMAT(1→DMAT1→IT

)1→DT

=1→ET

=DT

+

FT(N-OP+

R-R)1→DMAT

=

ET

(DMAR=1)1→IT

=

ET

(DMAR=0)

(INTR=1)

(IF=1)

1→ST

=FT

N-OP

R-R

SRST

+

FTS-OPDR3.5.3微命令的综合与产生归纳微命令,综合化简,73以P.141~147指令流程图为例,写出PC送运算器(以PC→A表示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论