资源描述:
《计算机组成原理_-CPU子系统-模型机CPU-3-指令流程与微命令.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、3.4.3指令流程与微命令R0~R3R0~R3CDCDSPPCMDRSPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock1、数据通路中的微命令1/18(1)通路选择ALU功能:A/B选择器:移位选择:结果分配:R0~3/C/D/SP/CP→AR0~3/C/D/SP/PC/MDR→BS3S2S1S0、M、CI直传DM、左移SL、右移SR、节交换EXCPR0~3/CPC/CPD/CPSP/CPPC/CPMDR/CPMAR/CP
2、PSWR0~R3R0~R3CDCDSPPCMDRSPPCA移位器BALUR2R0R1内总线CR3DMARMDRPCSP图3-43PSW2/18MCBMARMDRABDB控制逻辑I/O请求clockEMARSMDRRWEMDRIRSIR(2)访存操作※地址使能EMAR0:MAR与地址线断开1:MAR输出到地址线※数据使能EMDR0:MDR与数据线断开1:MDR输出到数据线※主存读写模式R/W0/0:主存禁用0/1:写模式1/0:读模式※从数据总线DB置入:SMDR=1,DB→MDR;SIR=1,DB
3、→IR3/18(3)I/O操作与PSW※时钟信号CPPSW:01:1→PSW[4]其边沿信号驱动iDB[19:16]→PSW[3:0]MCBABDB控制逻辑I/O请求clockRWPSWST※中断标志位置入信号ST:10:0→PSW[4]CPPSWiDB[19:16]4/182、指令流程及微命令根据目标指令集和I/O请求,设计处理流程(1)各指令的公共操作FT:PC+1PCMIR(2)对应微命令电位型微命令脉冲型微命令MIREMAR,R,SIRPC+1PCPCA,A+1,DMCPPC其中“A+1”
4、对应“SM=10010、C0=1”(暂不考虑时序信号)5/18操作时间表中各微命令的含义:控制访存操作的微命令EMAR,R/W,SIR,…(2)控制CPU内部数据通路操作微命令PCA,S3S2S1S0MC0,DM,CPPC,…(3)控制时序切换的微命令需要结合控制系统才能表述。6/18❶传送指令FT0:MIR,1)流程图例1:MOVR0,R1;源数ET0:R1R0PCMARET1:例2:MOV(R0),(R1);FT0:MIR,PC+1PCST0:R1MARST1:MMDRCDT0:R0MAR目
5、的地址ET0:CMDRET1:MDRMET2:PCMARPC+1PC7/18形式地址取源操作数,暂存于C,需5步。PC+1PCST0:PCMARDT1:MMDRCDT0:CMDR源数ET0:C+R1MARET1:MDRMET2:PCMARPC+1PC例3:MOVX(R0),X(R1);FT0:MIRMMDRCST1:ST2:ST3:ST4:PCMARMMDRD形地PC+1PCDT2:DT3:D+R0MAR目的地址取目的地址,暂存于MAR,需4步。源数送存储器,需3步。8/18FT0:MIR2)操作
6、时间表例:MOV(R1),(SP)+;SPMARMMDRCPC+1PCCPPCST0:SP+1SPEMARRSMDRMDRB输出BDMCPCSPAA+1DMCPSPEMARPCAA+1RSIRDMDMCPMAR输出ASPAST1:ST2:9/18ET1:MDRMPCMARET2:EMAR、W(EMDR)DMCPMAR输出APCADT0:R1MARDMCPMAR输出AR1AET0:CMDRCB输出BDMCPMDR10/18❷双操作数指令取目的数,暂存于D。例:ADDX(R1),(PC)+;FT0:M
7、IR,PC+1PC立即数ST0:PCMARST1:MMDRCST2:PC+1PCDT0:PCMARDT1:MMDRDDT2:PC+1PC形式地址DT3:D+R1MARDT4:MMDRD目的数ET0:C+DMDRET1:MDRMET2:PCMAR11/18❸单操作数指令FT0:MIR,例:COM-(R0);DT0:R0-1R0、MARDT1:MMDRDET0:ET1:MDRMET2:PCMARPC+1PCDMDR12/18❹转移JMP/返回指令RST无条件转移SKPR(R)(R)+按R指示从M取转移
8、地址,修改R。(SP)+X(PC)执行再下条指令。从R取转移地址。按R指示从M取转移地址。从堆栈取返回地址,修改SP。以PC內容为基准转移。(RST)条件转移:根据PSW[3:0]和IR[5,3:0]判断。13/18FT0:MIR,例1:JMPR0;SP+1SP、MARMMDRPCET0:ET1:SPMARET2:R0PCPC+1PC例2:RST(SP)+;FT0:MIR,PC+1PCET0:、MAR例3:JMPX(PC);FT0:MIR,PC+1PCET0:PCMARET1:MM