计算机组成大型实验报告材料-机器指令设计实验_第1页
计算机组成大型实验报告材料-机器指令设计实验_第2页
计算机组成大型实验报告材料-机器指令设计实验_第3页
计算机组成大型实验报告材料-机器指令设计实验_第4页
计算机组成大型实验报告材料-机器指令设计实验_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

计算机构成大型实验报告资料—机器指令设计实验计算机构成大型实验报告资料—机器指令设计实验12/12计算机构成大型实验报告资料—机器指令设计实验适用标准文案机器指令设计实验-实验报告一、实验目的与要求1)经过实验解析简单模型机构造,认识计算机工作原理。2)掌握计算机微程序控制器的控制方法,掌握计算机指令履行过程。3)简单模型计算机零件构架、微程序控制器中微程序代码功能实现、微程序流程、指令系统定义和简单模型计算机汇编语言程序进行考证。4)在简单模型计算机基础上设计新的技巧指令,在第二章实验八的基础上实行,使用的实验零件和接线不变,增添5条新机器指令,目的是提升学生对计算机机器指令的理解,锻炼学生自己着手设计模型计算机机器指令的能力。二、实验原理简单模型计算机构架简单模型计算机逻辑构造如图1所示,构成简单模型计算机的实验零件以总线为基本连结通道,主要有以下7个:1)算术逻辑运算零件ALUUNIT进行算术逻辑运算操作。2)存储器零件MEMUNIT,存储模型计算机汇编语言程序和操作数据。(3)地点寄存器零件ADDRESSUNIT,包含两部分电路,地点寄存器AR:接收存储器程序中的指令地点和指令中的数据地点;指令地点计数器PC:用于指示程序中的指令地点并经过地点缓冲器送往地点寄存器AR。4)指令寄存器零件INSUNIT,寄存器目前正在履行的机器指令,此指令的指令码经过指令译码器向微程序控制器指示相应的微程序进口地点;此指令的地点码指示的操作数地点,送往地点寄存器AR。5)输入/输出零件INPUT/OUTPUT,操作数据的输入与输出显示。7)通用寄存器零件REGUNIT,暂存运算的中间数据。7)微程序控制器零件MAINCONTROLUNIT,控制各零件达成指令的功能。简单模型计算机指令系统此简单模型计算机的指令系统包含控制台指令与机器指令。共三条控制台指令,由手动控制单元(MANUALUNIT)的KB,KA开关设定。控制台指令只好由手工操作一条条指令,不能编写在汇编程序中。实验八已经给出5条机器指令。分别是输入指令INR0,PORTAR,算术加指令ADDR0,[ADDR],寄存器内容送存储器指令STA[ADDR],R0,输出指令OUT[PORTAR],[ADDR],转移指令JMPPORTAR。如表1所示。其余依据微指令格式,能够设计出实验要求的5条指令。先进行微指令译码解析,此后详尽说明怎样设计。(1)微指令译码解析:优异文档适用标准文案图1-简单模型计算机逻辑构造图表1-简单模型机指令表指令名称助记符指令码格式I7,I6,I5,I4,I3,I2,I1,I0输入INR0,PORTAR110000DRPORTARI7,I6,I5,I4,I3,I2,I1,I0算术加ADDR0,[ADDR]110001DRADDRI7,I6,I5,I4,I3,I2,I1,I0寄存器内容送存储器STA[ADDR],R0110010DRADDRI7,I6,I5,I4,I3,I2,I1,I0输出OUTPORTAR,[ADDR]110011DRPORTAR转移JMPADDRI7,I6,I5,I4,I3,I2,I1,I0110100XX优异文档适用标准文案ADDR注:该模型机的输入输出设施端口号(PORTAR)只有一个,为00H。DR指示4个通用寄存器中的一个。JMP为跳转地点为直接地点,立刻ADDR赋值给PC。当模型机的一条指令履行时,由指令译码器确立一个与此指令对应的微程序进口地点,经地址缓冲器送微控制存储器的地点通道,此后从微控制存储器相应单元中读出24位微指令代码,此中高17位送微指令控制代码段寄存器,由微指令译码器产生控制信号,低7位送微指令地点代码段寄存器(7位),指出微控制存储器中下一微指令的地点。微指令代码共分7段:BTOOTBFUNCFSS3S2S1S0MCiNNEXT1)BTO:数据从总线送零件控制段,3位。2)OTB:数据从零件送总线控制端,3位。(3)FUNC:地点转移、读写功能控制端,3位。4)FS:方式功能控制段:1位。5)S3,S2,S1,S0,M,Ci:模式功能控制段,6位。6)N:备分段,1位。7)NEXT:下一条微指令地点段,7位。表2-微指令字段编码表编码+译码BTO000001B-DA1(T4)010B-DA2(T4)011B-IR(T3)100B-DR(T4)101B-SP(T4)110B-AR(T3)111B-PC#

OTBFS=1FS=0FUNCPC+1(T4)ALU-B#J(1)M-W#(T3)299-B#J(2)M-R#(T2)SR-B#J(3)I/O-W#(T3)DR-B#J(4)I/O-R#(T2)SI-B#J(5)INT-R#(T2)SP-B#CyCn#INT-E#(T3)PC-B#CyNCn#表3-散转微地点形成规则表散转条件散装微地点形成规则指令码I7I6=11时,j(1)条件散转进口地点=微代码下址(OR)0,1,0,I5,I4,I3,I2指令码I7I6!=11时,散转进口地点=微代码下址(OR)0,0,0,I7,I6,I5,I4j(2)条件散转进口地点=微代码下址(OR)0,0,0,0,0,I3,I2j(3)条件散转进口地点=微代码下址(OR)0,0,0,0,0,KB,KAj(4)条件散转进口地点=微代码下址(OR)0,0,0,0,0,FC,FZj(5)条件散转进口地点=微代码下址(OR)0,INT,0,0,0,0,0注:表格中FC为进位标记,FZ为零标记。本实验只需到J(1),J(3),J(4)四条散转条件。表4-简单模型计算机机器指令表指令功能INADDSTAOUTJMP优异文档适用标准文案指令符号数据输入算术加数据传输数据输入跳转微程序进口地点30H31H32H33H34H(2)微程序流程图依据实验八的机器指令和控制台指令能够画出图2所示的流程图。控制台操作console)J(3)散转;00H->(08H)KB=1,K1=1KB=1,KA=0,B0KB=0,KA=0KB=0.KA=10BH->01H0->AR;PC->AR,PC+1->PC;08H->01H0AH->0FH09H->OCHIN->DA1;RAM->DA1;0FH->1CH0CH->0DHPC->AR;PC+1->PC0->AR;1CH->1DHODH->0EHDA1->RAM;DA1->OUT;1DH->0AH0EH->09HPC->AR,PC+1->PC;01H->02HRAM-<IR;02H->03HJ(1)散转03H->(10H)INADDSTAOUTJMPPC-<AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;30H->04H31->06H32H->22H33H->24H34H->29HRAM->AR;RAM->AR;RAM->AR;RAM->AR;RAM->DA1;04H->05H06H->07H22H->23H24H->25H29H->2AHIN->DR;RAM->DA2;RAM->AR’RAM->DA1;DA1->PC;05H->01H07H->20H23H->01H25H->26H2AH->01HDR->DA1;PC->AR,PC+1->PC;20H->21H26H->27HDA1+DA2->AR;RAM->AR;/CYNCn=0;27H->28H21H->01HDA1->OUT;28->01H图2-模型计算机指令履行流程图优异文档适用标准文案三、四条指令的微程序代码设计依据实验要求的汇编程序,发现其实不需要INCDR这条指令,所以也没有对其进行微代码的设计。其余明显PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散转;03H->(10H)PC->AR,PC+1->PC;01H->02HRAM-<IR;02H->03HJ(1)散转03H->(10H)三条微指令动作为公操作。所以我们只需要考虑除此以外的其余微指令动作。下边对4条指令,逐条进行解说解析。1.无借位减:SUBDR,[ADDR]a.指令功能:(SR)-(DR)->DR,影响Cy,Zi标记位。当(SR)<(DR)时,Cy=1,当(SR)=DR时,Zi=1。。指令格式:I776I5I4I3I2I1I0110101DRADDR指令流程:PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散转;03H->(10H)PC->AR,PC+1->PC;35H->12HRAM->AR;12H->13HRAM->DA1;13H->14HDR->DA2;14H->15HDA1-DA2->DR;15H->01H

PC->AR,PC+1->PC;35H->12HRAM->AR;12H->13HRAM->DA1;13H->14HDR->DA2;14H->15HDA1-DA2->DR;15H->01H微程序代码:微地点微代码BTOOTBFUNCFSS3S2S1S0MCiN下址微指令说明35HDC4012110111000100000000010010PC->AR,PC=PC+112HC10013110000010000000000010011RAM->AR13H210014001000010000000000010100RAM->DA114H500015010100000000000000010101DR->DA2优异文档适用标准文案15H87D801100001111101100000000001DA1-DA2->DR2.带进位加:ADDCDR,[ADDR]指令功能:(SR)+(DR)+Cy->DR,影响Cy,Zi标记位。当(SR)+(DR)+Cy>255时,Cy=1,当(SR)+(DR)+Cy=256时,Zi=1。.这条指令可实现多字节的加法操作。指令格式:I776I5I4I3I2I1I0110110DRADDR指令流程:PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散转;03H->(10H)PC->AR,PC+1->PC;36H->18HRAM->AR;18H->19HRAM->DA1;19H->1AHDR->DA2;1AH->1BHDA1+DA2+Cy->DR;1BH->01H

PC->AR,PC+1->PC;36H->18HRAM->AR;18H->19HRAM->DA1;19H->1AHDR->DA2;1AH->1BHDA1+DA2+Cy->DR;1BH->01Hd.微程序代码:微地址微代码BTOOTBFUNCFSS3S2S1S0MCiN下址微指令说明36HDC4018110111000100000000011000PC->AR,PC=PC+118HC10019110000010000000000011001RAM->AR19H21001A001000010000000000011010RAM->DA11AH50001B010100000000000000011011DR->DA21BH87D801100001110110010100000001DA1+DA2+Cy->DR,CyCn3.C条件转移:JMPC[ADDR]指令功能:若Cy=1,则[ADDR]->PC,不然次序履行下条指令。影响Cy,Zi标记位。指令格式:I776I5I4I3I2I1I011011100ADDR指令流程:优异文档适用标准文案PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散转;03H->(10H)PC->AR,PC+1->PC;37H->41HRAM->AR;41H->42HRAM->DA1;42H->43HJ4#条件散转转移;43H->(44H)若Cy=0;44H->01H若Cy=1;44H->46H

PC->AR,PC+1->PC;37H->41HRAM->AR;41H->42HRAM->DA1;42H->43HJ(4)散转;43H->(44H)Cy=0Cy=1DA1->PC;46H->01H

44H->01H

DA1->PC;微程序代码:

46H->01H微地微代址码BTOOTBFUNCFSS3S2S1S0MCiN下址微指令说明37HDC4041110111000100000001000001PC->AR,PC=PC+141HC10042110000010000000001000010RAM->AR42H210043001000010000000001000011RAM->DA143H024044000000100100000001000100J(4)44H000001000000000000000000000001NULL45H000000000000000000000000000000NULL46HE44101111001000100000100000001DA1->PC,PC+1有效值得注意的是,此条“C条件转移”指令,跳转的是ADDR中的内容,而非ADDR,这一点也JMP不同样样。而将JMPC[ADDR],改成JMPCADDR也相当得简单。只需将微程序代码中微地点为37H的微代码改成DC4042即可。也就是跳过RAM->AR不履行。4.存储器内容送通用寄存器LDADR,[ADDR]指令功能:(ADDR)->DR,不影响Cy,Zi标记位。指令格式:I776I5I4I3I2I1I0111001DRADDR指令流程:PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散转;03H->(10H)PC->AR,PC+1->PC;39H->3CHRAM->AR;3CH->3DHRAM->DA1;3DH->3EHDA1->DR;3EH->01H

PC->AR,PC+1->PC;39H->3CHRAM->AR;3CH->3DHRAM->DA1;3DH->3EHDA1->DR;3EH->01H优异文档适用标准文案微程序代码:微地微代址码BTOOTBFUNCFSS3S2S1S0MCiN下址微指令说明39HDC403C110111000100000000111100PC->AR,PC=PC+13CHC1003D110000010000000000111101RAM->AR3DH21003E001000010000000000111110RAM->DA13EH843C01100001000011110000000001DA1->DR依据这四条指令微代码能够获得如图3所示流程图。PC->AR,PC+1->PC;01H->02HRAM-<IR;02H->03HJ(1)散转03H->(10H)SUBADDCJMPCLDAPC->AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;36H->18H37H->41H39H->3CH35H->12HRAM->AR;RAM->AR;RAM->AR;RAM->AR;12H->13H18H->19H41H->42H3CH->3DHRAM->DA1;RAM->DA1;RAM->DA1;RAM->DA1;42H->43H13H->14H3DH->3EH19H->1AHJ(4)散转;DR->DA2;43H->(44H)DA1->DR;14H->15HDR->DA2;3EH->01H1AH->1BHCy=0Cy=1DA1-DA2->DR;15H->01HDA1+DA2+Cy->DR;44H->01HDA1->PC;1BH->01H46H->01H图3-新增指令逻辑构造图四、汇编程序设计1.程序功能程序功能是对输入开关上的数据和存储器某一单元中的数据进行加法操作,结果累计在存储器某个单元中,当累计值大于256时转而进行减法操作,即把此存储器单元中的值减去输入开关上的数据,结果送同一存储器单元中,当操作结果小于0时再转而进行加法操作,使输出显示顶上出现数据连续加,此后连续减,减到0时候连续加。这样连续加、连续减直到拨动CLR结束程序运转为止。优异文档适用标准文案程序流程图开始清零存储器某单元存储器值=存储器值+输入值N存储器值>256Y存储器值=存储器-输入值YYN存储器值<0图4-汇编语言程序流程图汇编程序代码:端口号(POATAR)只有一个,为00H。主存储器单元地点为30H寄存数据,用主存储器单元31H,32H来寄存跳转地点。因为JMPC[ADDR]跳转的是ADDR所指内容,故需要额外的开支。假如试一试把C条件转移改成JMPCADDR也是很简单的事情,详尽能够查察附件excel表格中的“汇编代码1”表。每次存储器值更新,都经过OUT指令进行存储器内容送入输出设施(00H)显示。其余,因为简单模型机机器指令并无立刻数传输给寄存器或存储器,所以存储器清零操作需要必定的技巧。我们采纳的方法是先把存储器内容传给寄存器,此后存储器内容减去寄存器内容,值送入寄存器,该值为0,此后把该值经过寄存器送入存储器。详尽的汇编程序代码以下表4所示。表4-汇编程序代码表主存储器地汇编代码说明址指令码00HE4HLADR0,[30H]01H30H02HD4HSUBR0,[30H]存储器清零03H30H04HC8HSTA[30H],R005H30H优异文档适用标准文案06HCCH07H30HOUT[00H],[30H]08H00H09HCOHINR0,[00H]0AH00H0BHC4HADDR0,[30H]0CH30H存储器内容=存储器内0DHC8HSTA[30H],R0容+输入值0EH30H0FHCCH10H30HOUT[00H],[30H]11H00H12HDCHJMPC[32H]13H32H存储器内容>=265?14HD0HJMP09H15H09H16HC0HINR0,[00H]17H00H18HD4HSUBR0,[30H]19H30H存储器内容=存储器内1AHC8HSTA[30H],R0容-输入值1BH30H1CHCCH1DH30HOUT[00H],[30H]1EH00H1FHDCHJMPC[31H]20H31H存储器内容<0?21HD0HJMP16H22H16H30H[ADDR]31H932H16五、实验步骤经过Yy-z02模型机软件,省去了微代码与机器指令汇编程序的手动写入与检查,大大提升了实验效率。因为这里不再对微代码与机器指令汇编程序的装入操作进行说明。而实验连线也相对简单,故也不再进行排列。实验步骤以下:(1)依据《计算机构成原理实验指导》(主编张建中,严义)P76的说明,对YY-Z02实验仪进行连线。(2)启动Yy-z02模型机软件。为了保证防备因为连线错误而致使运转结果不对,所以先将工作方式选为“仿真模式”。该模式下装入的速度也比较快。(3)将微程序代码与汇编代码分别写入控存窗口与主存窗口的表格中。如图5,6所示。优异文档适用标准文案微代码与汇编程序代码详见中的“微代码表”与“汇编代码2”。图5-微代码的部分数据-控存窗口图6-汇编代码的数据-主存窗口(4)点击“下装程序与微程序按钮。(5)设定输入值,在input中写入值,并回车结束。(6)运转程序。按连续运转按钮。(7)改变输入值,察看输出值变化。优异文档适用标准文案六、实验结果记录对同一程序进行了多次实验,表5记录了此中的4组。能够发现当数据从0增大至超出256后,截取数的高位,剩下低8位,相关于加上给数后又减去256。进位符Cy=1,开始做减操作,明显该数减去输入数值必定小于0,相关于下溢,相当与减去该数后又加上256。因为加的数与减的数是

温馨提示

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

评论

0/150

提交评论