计算机组成原理课程设计_第1页
计算机组成原理课程设计_第2页
计算机组成原理课程设计_第3页
计算机组成原理课程设计_第4页
计算机组成原理课程设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

...wd......wd......wd...江苏大学计算机组成原理课程设计报告专业名称:网络工程班级学号:3130610031学生姓名:张杰指导教师:胡广亮设计时间:2013年6月24日—2013年7月2日第一天:熟悉微程序的设计和调试方法一、设计目标1、掌握微程序的设计方法2、熟悉利用调试软件运行、调试微程序的方法二、操作提示1、连接实验设备注意:请在断电状态下连接调试电缆。2、下载FPGA配置数据从课程网站下载CPU.sof等文件,使用QuartusIIProgrammer软件将CPU.sof下载到FPGA。3、输入微程序利用调试软件将微程序写入控存,微程序如下。取指令微程序取源操作数为立即数的微程序取目的操作数为存放器寻址的微程序MOV指令的微程序〔目的数存放器寻址〕4、输入调机程序今天的将调机程序就是一条指令:“MOV#0001H,R1”据指令的编码规则,该指令的编码是:07610001。然后利用调试软件将指令码写入主存,地址从主存的0030H开场。5、调试微程序。利用调试软件“Step〞按钮控制微指令单步执行,执行结果如图2.3所示2.3例2.1MOV指令的单步运行跟踪数据6、分析微程序的执行结果,一般方法如下:首先分析微程序执行流程是否正确,根据前面指令微流程的设计,理论上该指令微程序的执行顺序应该是001→002→003→004→00B→00F→016→006→018→007→031→02D→02E→000,通过调试软件的执行结果图2.3可以看出,该指令微程序的微指令次序是正确的。如果执行的微指令次序不正确,那就要分析原因,检查BM和NC设置是否正确、检查uAR的各个输入信号的值是否正确,如IR、NA等。然后分析指令的运行结果。理论上本条测试指令执行完后,R1的值应该是0001。通过调试软件的执行结果图2.3可以看出,指令执行结果是正确的。如果结果不对,就需要进一步分析每一条微指令。分析的方法是针对微指令的每一条微命令,查看相应微操作前后相关模块的数据变化是否与指令微流程一致。下面举个例子说明若何分析每条微指令的。图2.3的微地址为000B〔uAR=000B〕的控存单元所对应的内容为2008000F,即微指令为2008000F,所代表的微操作是:PCoe,ARce,即PC的内容送IB、IB的内容送AR,理论上的正确结果应该是IB=0031,AR=0031;通过图2.3的000B单元微指令的执行结果可以看出,IB的数据由上一条微指令的结果0000→0031,AR的数据由上一条微指令的结果0030→0031,说明本条微指令执行结果是正确。从上面的分析可以看出,要想检查运行结果是否正确,关键是要清楚理论上正确的结果是什么。这就要求实验者对指令的微程序流程非常清楚,从而到达了理解计算机内部信息流动过程、掌握计算机工作原理的目的。所以实验者应重视实验数据的分析工作,否则就失去了实验的意义。1、测试内容:立即数寻址、存放器寻址测试指令〔或程序〕:MOV#0001H,R1机器码:内存地址(H)机器码(H)汇编指令003007610001MOV#0001H,R1运行结果:第二天取操作数微程序的设计和调试一、设计目标设计并调试取操作数的微程序。二、取操作数微流程取目的操作数流程:三、测试程序、数据及运行结果格式如下:1、测试内容:间接寻址、存放器寻址测试指令〔或程序〕:MOF〔0048〕R1机器码:内存地址(H)机器码(H)汇编指令00300721004800580001MOF〔0048〕R1运行结果:四、设计中遇到的问题及解决方法在设计过程中开场对调试程序的运行不熟悉,不是很了解了此程序的运行。在操作过程中,粗心导致了输入机器码的错误,或者是所在位置错误,重新输入解决了此问题。我详细地了解了它的整个过程和对于每一步的分析和验证,对微程序设计有了更深入的了解。第三天双操作数指令的微程序设计与调试一、设计目标设计并调试运算指令的微程序。二、双操作数指令微程序入口地址指令助记符指令编码入口地址〔H〕FEDCBA9876543210MOV src,dst000001源地址码目的地址码031ADD src,dst000010源地址码目的地址码032ADDC src,dst000011源地址码目的地址码033SUB src,dst000100源地址码目的地址码034SUBB src,dst000101源地址码目的地址码035CMP src,dst000110源地址码目的地址码036AND src,dst000111源地址码目的地址码037OR src,dst001000源地址码目的地址码038XOR src,dst001001源地址码目的地址码039TEST src,dst001010源地址码目的地址码03A三、双操作数指令执行微程序微地址(H)微指令(H)微命令BMNA注释007000008004044指令执行入口0489870006FTRoe,ADD,PSWce,SV006FADD04C98B0006FTRoe,ADDC,PSWce,SV006FADDC05098F0006FTRoe,SUB,PSWce,SV006FSUB0549930006FTRoe,SUBB,PSWce,SV006FSUBB05898C00000TRoe,CMP,PSWce0000CMP05C9970006FTRoe,AND,PSWce,SV006FAND0609980006FTRoe,OR,PSWce,SV006FOR0649A30006FTRoe,XOR,PSWce,SV006FXOR06899400000TRoe,AND,PSWce0000TEST06F00000E70NOP0070回送四、测试程序、数据及运行结果1、测试内容:立即寻址,直接寻址,间接寻址,存放器寻址,存放器间接寻址测试程序:MOV〔0048H〕R1TEST0048HR1AND#0078H〔R0〕ADDR1R0机器码:内存地址(H)机器码(H)汇编指令0030072100480001MOV〔0048H〕R100482B480001TEST0048HR100781F70FFF00000AND#0078H〔R0〕00780820ADDR1R0运行结果:五、设计中遇到的问题及解决方法调试双操作数指令执行微程序,先要写出双操作数指令执行微程序的微地址,微命令,然后写微程序,最后上机调试,判断是否正确,检查微程序运行结果是否正确是一项稍繁琐的事情,需要检查每步的存放器、标志位、总线上的地址和数据。但经过几天的熟悉,我们已慢慢熟悉掌握。第四天单操作数运算和移位指令的微程序设计与调试一、设计目标完成单操作数运算指令INC、DEC、NOT和7条移位指令微程序的设计。二、单操作数运算和移位指令微程序入口地址指令助记符入口地址〔H〕指令助记符入口地址〔H〕INC071SAR061DEC072SHL062NOT073SHR063ROL064ROR065RCL066RCR067三、单操作数运算和移位指令微程序的设计微地址(H)微指令(H)微命令BMNA注释092SAR1810006F06F094SHL1820006F06F096SHR1810006F06F098ROL1820006F06F09AROR1810006F06F09CRCL1820006F06F09ERCR1810006F06F0A41A70006FINC,PSWce,SV006FINC0A81AB0006FDEC,PSWce,SV006FDEC0AC19F0006FNOT,PSWce,SV006FNOT07068000000Soe,GRSce0000存入存放器07160030072Soe,DRce0072存入dr07200052000DRoe’,ARoe’,WR0000存入贮存四、测试程序、数据及运行结果1.测试内容:间接寻址测试程序:SHL〔0010〕H机器码:内存地址(H)机器码(H)汇编指令003000590010SHL〔0010〕H运行结果:微指令的执行次序为:001—>002—>003—>006—01B—>01F—>022—>023—>024—>025—>026—>007—>62—>02F,参照取指令、取操作数和SHL指令执行微流程分析,所执行的微指令的次序是正确的。2.测试内容:相对寻址测试程序:DEC(0001)机器码:内存地址(H)机器码(H)汇编指令003002580001DEC(0001)运行结果及分析:第五天子程序调用、堆栈和转移指令微程序设计与调试一、设计目标完成CALL、RET、PUSH、POP和9条转移指令的微程序的设计。二、PUSH、POP、CALL、RET指令微程序的设计PUSH微地址(H)微指令(H)微命令BMNA注释0C0F40000C1SPoe,Ace00C1堆栈地址存入A0C102B000C2DEC,SV00C2地址减1,输出0C27C0800C3Soe,SPce,ARce00C3地址存入堆栈和AR中0C300052000ARoe',DRoe',WR0000地址写入主存POP微地址(H)微指令(H)微命令BMNA注释0C8B00000C9ARoe,TRce00C9AR内容存入TR0C9F40800CASPoe,Ace,ARce00CASP内容存入A和AR0CA027610CBARoe',RD,DRce',INC,SV00CB地址减1,输出0CB800800CCTRoe,ARce00CCTR内容存入AR0CC7C052000Soe,SPce,ARoe',DRoe',WR0000堆栈内容写入新地址CALL微地址(H)微指令(H)微命令BMNA注释0D0F40000D1SPoe,Ace00D1堆栈地址存入A0D1B2B000D2DEC,SV,ARoe,TRce00D2地址减1,AR内容存入TR0D27C0800D3Soe,ARce,SPce00D3地址存入AR,SP0D3200300D4PCoe,DRce00D4PC内容存入DR0D484052000ARoe',DRoe',WR,TRoe,PCce0000PC个数写入内存,TR内容存入PCRET微地址(H)微指令(H)微命令BMNA注释03CF408003DSPoe,Ace,ARce003D堆栈地址写入A和AR03D0276103FINC,SV,ARoe',RD,DRce'003F地址加1,同时读数03FC4000040DRoe,PCce0040DR值存入PC0407C000000Soe,SPce0000堆栈存入新地址三、测试程序、数据及运行结果1、测试内容:直接寻址测试程序:CALL000AH机器码:内存地址(H)机器码(H)汇编指令0030035ACALL000AH运行结果及分析:首先,微指令的执行次序为:001—>002—>003—>006—01B—>01F—>024—>025—>026—>007—>07A—>047—>048—>049—>04A—>000,参照取指令、取操作数和CALL指令执行微流程分析,所执行的微指令的次序是正确的。2、测试内容:相对寻址测试程序:JMP+2机器码:内存地址(H)机器码(H)汇编指令003002180002JMP+2运行结果及分析:3.测试程序:PUSH0010HPOP0012H//0010存放AAAA机械码:031A0010033A0012内存地址(H)机器码(H)汇编指令0030031A0010033A0012PUSH0010HPOP0012H运行结果及分析:第六天检查指令一、设计目标用综合应用程序测试JU-C1十六位微程序控制计算机。二、测试程序、数据及运行结果测试程序:MOV#0031H,0080H077A00310080PUSH0080H031A0080CALL0060H035A0060SHL0080H005A0080运行结果及分析:总结这次计算机组成原理简单微程序的设计,通过实验将实际问题和课本内容严密的联系在一起,将知识运用到了实际之中,更加深入地掌握了微程序设计。课本的知识是

温馨提示

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

评论

0/150

提交评论