您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成指令综合设计
1计算机组成模型机的研制1.设计总要求主要内容:(1)模型机采用暂存器型的运算结构(2)设计一个十六条指令的指令系统,包括单字长指令和双字长指令,其指令寻址方式包括立即寻址、直接寻址、间接寻址、寄存器直接寻址等;指令的类型包括算逻类指令、传送类指令、控制和停机类。(3)微程序控制器采用断定方式,微指令编码采用直接控制和字段编码相结合的方式,设计完成微程序流程图,编写微命令。(4)自己编写一段小程序,完成某个小功能,以验证指令的正确性。2.设计模型数据图4-1数据通路原理23.指令系统1.指令类型(*表示0或1均可)(1)单字长二地址指令①指令格式76543210OPRsRd(2)单字长一地址指令①指令格式76543210OP**Rd(3)单字长零地址指令①指令格式76543210OP****(4)双字长指令指令格式7654321001XOPRdD(5)通用寄存器Rs/Rd字段编码Rs/Rd字段编码指定的寄存器00R001R110R211R32.编码表表3-1X字段编码X字段有效地址说明00E=D直接寻址01E=(D)间接寻址10E=(R2)+D相对寻址11E=(PC)+D变址寻址3表3-2指令编码汇总指令名称助记符功能指令格式减“1”DECRd(Rd)−1→Rd0000**Rd取反COMRd¬(Rd)→Rd0001**Rd右移RARRd1/2(𝑅𝑑)→𝑅𝑑0010**Rd左移RALRd2(Rd)→Rd0011**Rd传送MOVRs,Rd(Rs)→Rd0100RsRd加法ADDRs,Rd(Rs)+(Rd)→Rd0101RsRd减法SUBRs,Rd(Rs)−(Rd)→Rd0110RsRd与ANDRs,Rd(Rs)⋀(Rd)→Rd0111RsRd或ORRs,Rd(Rs)⋁(Rd)→Rd1000RsRd异或XORRs,Rd(Rs)⊕(Rd)→Rd1001RsRd取数LADX,D,Rd(Mem)→Rd11X00RdD存数STAX,D,Rd(Rd)→Mem11X01RdD立即数传送LAIDATA,RdDATA→Rd1010**RdDATA无条件转移JMPX,D,YDY(PC)→PC11X10YD进位条件转移JCX,D,Y若CY=1,则DY(PC)→PC11X11YD停机HLTEND1011****注:Y是运算方式,具体内容如下表3-3Y字段编码表3-4控制台指令表指令名称助记符指令格式启动QD******01读内存RM******10写内存WM******11Y字段操作说明00F=A+B01F=¬(A+B)10F=¬A+B11F=A+¬B44.样机流程1.DECRd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13(Rd)→BUSBUS→DR1Rd→BUSLDDR1=14(DR1)-1→BUS→RdS3S2S1S0MCN,ALU→BUS111100,LDRi=1,YS1YS0=11,LDCY=1,DZ=12.COMRd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13(Rd)→BUSBUS→DR2Rd→BUSLDDR2=14)2(DR→BUS→RdS3S2S1S0MCN,ALU→BUS010110,LDRi=1,YS1YS0=11,LDCY=1,DZ=13.RARRd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUS→IRCS=1,LDIR=13(Rd)右移→RdLDRi=1,YS1YS0=01,DZ=14Rd-BUS-DR1Rd-BUS,LDDR1=14.RALRd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUS→IRCS=1,LDIR=13(Rd)左移→RdLDRi=1,YS1YS0=10,DZ=14Rd-BUS-DR1Rd-BUS,LDDR1=155.MOVRs,Rd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13(Rs)→BUSBUS→DR1Rs→BUSLDDR1=14DR1→BUS→RdS3S2S1S0MCN,ALU→BUS000000,LDRi=1,YS1YS0=11,DZ=16.ADDRs,Rd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13(Rs)→BUSBUS→DR1Rs→BUSLDDR1=14(Rd)→BUSBUS→DR2Rd→BUSLDDR2=15(DR1)+(DR2)→BUS→RdS3S2S1S0MCN,ALU→BUS100100,LDRi=1,YS1YS0=11,LDCY=1,DZ=17.SUBRs,Rd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13(Rs)→BUSBUS→DR1Rs→BUSLDDR1=14(Rd)→BUSBUS→DR2Rd→BUSLDDR2=15(DR1)-(DR2)→BUS→RdS3S2S1S0MCN,ALU→BUS011001,LDRi=1YS1YS0=11,LDCY=1,DZ=168.ANDRs,Rd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13(Rs)→BUSBUS→DR1Rs→BUSLDDR1=14(Rd)→BUSBUS→DR2Rd→BUSLDDR2=15(DR1)(DR2)→BUS→RdS3S2S1S0MCN,ALU→BUS101110,LDRi=1,YS1YS0=11,DZ=19.ORRs,Rd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13(Rs)→BUSBUS→DR1Rs→BUSLDDR1=14(Rd)→BUSBUS→DR2Rd→BUSLDDR2=15(DR1)(DR2)→BUS→RdS3S2S1S0MCN,ALU→BUS111010,LDRi=1,YS1YS0=11,DZ=110.XORRs,Rd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13(Rs)→BUSBUS→DR1Rs→BUSLDDR1=14(Rd)→BUSBUS→DR2Rd→BUSLDDR2=15(DR1)(DR2)→BUS→RdS3S2S1S0MCN,ALU→BUS011010,LDRi=1,YS1YS0=11,DZ=1711.LDIDATA,Rd步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→IRCS=1LDIR=13PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=14RAM→BUS→RdCS=1,LDRi=1,DZ=1YS1YS0=1112.HLT步骤微操作控制信号1停机TJ=113.X=00(直接寻址)步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→DR2CS=1LDDR2=13(DR2)→BUSBUS→ARS3S2S1S0MCN,ALU→BUS101010,LDAR=1,(P2)14.X=01(间接寻址)步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→DR2CS=1LDDR2=13(DR2)→BUSBUS→ARS3S2S1S0MCN,ALU→BUS101010,LDAR=1,4RAM→BUSBUS→DR2CS=1LDDR2=15(DR2)→BUSBUS→ARS3S2S1S0MCN,ALU→BUS101010,LDAR=1,(P2)815.X=10(相对寻址)步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→DR2CS=1LDDR2=13(R2)→BUSBUS→DR1R2→BUSLDDR1=14(DR1)+(DR2)→BUS→ARBUS→DR2S3S2S1S0MCN,ALU→BUS100100,LDAR=1LDDR2=1(P2)16.X=11(变址寻址)步骤微操作控制信号1PC→ARPC+1→PCPC→BUS,LDAR=1LDPC=12RAM→BUSBUS→DR2CS=1LDDR2=13PC→BUSBUS→DR1PC→BUSLDDR1=14(DR1)+(DR2)→BUS→ARBUS→DR2S3S2S1S0MCN,ALU→BUS100100,LDAR=1LDDR2=1(P2)17.LADX,D,Rd步骤微操作控制信号1RAM→BUSBUS→RdCS=1LDRi=1,YS1YS0=11,DZ=118.STAX,D,Rd步骤微操作控制信号1(Rd)→BUSBUS→RAMRd→BUSCS=1,WE=1,DZ=119.JMPX,D,Y步骤微操作控制信号1(PC)→BUSBUS→DR1PC→BUSLDDR1=1,(P4)920.JCX,D,Y步骤微操作控制信号1若CY=1,(PC)→BUSBUS→DR1PC→BUSLDDR1=1,(P4)21.Y=00步骤微操作控制信号1(DR1)+(DR2)→BUS→PCS3S2S1S0MCN,ALU→BUS100100,LDPC=1,LD1=122.Y=01步骤微操作控制信号1¬((DR1)+(DR2))→BUS→PCS3S2S1S0MCN,ALU→BUS000110,LDPC=1,LD1=123.Y=10步骤微操作控制信号1¬(DR1)+(DR2)→BUS→PCS3S2S1S0MCN,ALU→BUS100010,LDPC=1,LD1=124.Y=11步骤微操作控制信号1(DR1)+¬(DR2)→BUS→PCS3S2S1S0MCN,ALU→BUS110110,LDPC=1,LD1=15.流程图见附件1106.微程序表○1微程序表格式31302928272625242322212019181716S3S2S1S0MCSWEDZA字段B字段LDRiLDARLD1运算器运算方式选择存储器工作方式选择单指令方式DR1/DR2/IR选择数据来源选择寄存器选择打入地址PC工作方式1514131211109876543210YS1YS0TJLD3P字段LDCY下地址寄存器工作方式选择停机R3P(i)测试LDPC/CN/LDR3’/LDR1’打入标志下地址○2微程序表见附件2A字段编码2322选择00NOP01LDDR100LDDR211LDIRP字段编码111098选择0000NOP0001P(1)0010P(2)0011P(3)0100P(4)0101P(5)0110P(6)0111P(7)1000LDR1’1001P91010P101011P111100P121101LDPC1110CN1111LDR3’B字段编码212019选择000NOP001SW→BUS010R2→BUS011ALU→BUS100Rs→BUS101Rd→BUS110PC→BUS117.调试程序00H-10H地址助记符编码说明预期结果00000000LDI09H,R01010000009H-R0R0=09H0000000109H0000100100000010LDIFBH,R110100001FB-R1R1=FBH00000011FBH1111101100000100DECR000000000(R0)-1-R0R0=08H00000101COMR100010001¬(R1)-R1R1=04H00000110RARR1001000011/2(R1)-R1R1=02H00000111RAL
本文标题:计算机组成指令综合设计
链接地址:https://www.777doc.com/doc-5522628 .html