欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    熟悉微程序的设计和调试方法计算机组成原理课程设计.docx

    • 资源ID:853984       资源大小:1.48MB        全文页数:18页
    • 资源格式: DOCX        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    熟悉微程序的设计和调试方法计算机组成原理课程设计.docx

    1、计算机组成原理课程设计报告第一天:熟悉微程序的设计和调试方法一、设计目标1、掌握微程序的设计方法2、熟悉利用调试软件运行、调试微程序的方法二、操作提示1、连接实验设备注意:请在断电状态下连接调试电缆。2、下载FPGA配置数据从课程网站下载CPU.sof等文件,使用Quartus II Programmer 软件将CPU.sof下载到FPGA。3、输入微程序利用调试软件将微程序写入控存,微程序如下。取指令微程序取源操作数为立即数的微程序取目的操作数为寄存器寻址的微程序MOV指令的微程序(目的数寄存器寻址)4、输入调机程序今天的将调机程序就是一条指令:“ MOV #0001H, R1”。首先将指令

    2、翻译成机器码,根据指令的编码规则,该指令的编码是:0761 0001。然后利用调试软件将指令码写入主存,地址从主存的0030H开始。5、调试微程序。利用调试软件“Step”按钮控制微指令单步执行,执行结果如图 2.3所示2.3 例2.1 MOV指令的单步运行跟踪数据6、分析微程序的执行结果,一般方法如下:首先分析微程序执行流程是否正确,根据前面指令微流程的设计,理论上该指令微程序的执行顺序应该是00100200300400B00F01600601800703102D02E000,通过调试软件的执行结果图 2.3可以看出,该指令微程序的微指令次序是正确的。如果执行的微指令次序不正确,那就要分析原

    3、因,检查BM和NC设置是否正确、检查uAR的各个输入信号的值是否正确,如IR、NA等。然后分析指令的运行结果。理论上本条测试指令执行完后,R1的值应该是0001。通过调试软件的执行结果图 2.3可以看出,指令执行结果是正确的。如果结果不对,就需要进一步分析每一条微指令。分析的方法是针对微指令的每一条微命令,查看相应微操作前后相关模块的数据变化是否与指令微流程一致。下面举个例子说明如何分析每条微指令的。图 2.3的微地址为000B(uAR000B)的控存单元所对应的内容为2008000F,即微指令为2008000F,所代表的微操作是:PCoe,ARce,即PC的内容送IB、IB的内容送AR,理论

    4、上的正确结果应该是IB=0031, AR=0031;通过图 2.3的000B单元微指令的执行结果可以看出,IB 的数据由上一条微指令的结果00000031, AR 的数据由上一条微指令的结果00300031,说明本条微指令执行结果是正确。从上面的分析可以看出,要想检查运行结果是否正确,关键是要清楚理论上正确的结果是什么。这就要求实验者对指令的微程序流程非常清楚,从而达到了理解计算机内部信息流动过程、掌握计算机工作原理的目的。所以实验者应重视实验数据的分析工作,否则就失去了实验的意义。1、测试内容:立即数寻址、寄存器寻址测试指令(或程序):MOV #0001H, R1机器码:内存地址(H)机器码

    5、(H)汇编指令00300761 0001MOV #0001H, R1运行结果:第二天取操作数微程序的设计和调试一、设计目标设计并调试取操作数的微程序。二、取操作数微流程取目的操作数流程:三、测试程序、数据及运行结果格式如下:1、测试内容:间接寻址、寄存器寻址测试指令(或程序):MOF (0048)R1机器码:内存地址(H)机器码(H)汇编指令00300721 0048 0058 0001MOF (0048)R1运行结果:四、设计中遇到的问题及解决办法在设计过程中开始对调试程序的运行不熟悉,不是很了解了此程序的运行。在操作过程中,粗心导致了输入机器码的错误,或者是所在位置错误,重新输入解决了此问

    6、题。我详细地了解了它的整个过程和对于每一步的分析和验证,对微程序设计有了更深入的了解。第三天 双操作数指令的微程序设计与调试一、设计目标设计并调试运算指令的微程序。二、双操作数指令微程序入口地址指令助记符指令编码入口地址(H)FEDCBA9876543210MOVsrc, dst000001源地址码目的地址码031ADDsrc, dst000010源地址码目的地址码032ADDCsrc, dst000011源地址码目的地址码033SUBsrc, dst000100源地址码目的地址码034SUBBsrc, dst000101源地址码目的地址码035CMPsrc, dst000110源地址码目的地

    7、址码036ANDsrc, dst000111源地址码目的地址码037ORsrc, dst001000源地址码目的地址码038XOR src, dst001001源地址码目的地址码039TESTsrc, dst001010源地址码目的地址码03A三、双操作数指令执行微程序微地址(H)微指令(H)微命令BMNA注释007000008004044指令执行入口0489870006FTRoe, ADD, PSWce, SV006FADD04C98B0006FTRoe, ADDC, PSWce, SV006FADDC05098F0006FTRoe, SUB, PSWce, SV006FSUB0549930

    8、006FTRoe, SUBB,PSWce, SV006FSUBB05898C00000TRoe, CMP, PSWce0000CMP05C9970006FTRoe, AND, PSWce,SV006FAND 0609980006FTRoe, OR, PSWce,SV006FOR0649A30006FTRoe, XOR, PSWce, SV006FXOR 06899400000TRoe, AND, PSWce0000TEST 06F00000E70NOP0070回送四、测试程序、数据及运行结果1、测试内容:立即寻址,直接寻址,间接寻址,寄存器寻址,寄存器间接寻址测试程序:MOV(0048H) R

    9、1 TEST 0048H R1 AND #0078H (R0) ADD R1 R0机器码:内存地址(H)机器码(H)汇编指令00300721 0048 0001MOV(0048H) R100482B48 0001 TEST 0048H R100781F70 FFF0 0000AND #0078H (R0)00780820ADD R1 R0运行结果:五、设计中遇到的问题及解决办法调试双操作数指令执行微程序,先要写出双操作数指令执行微程序的微地址,微命令,然后写微程序,最后上机调试,判断是否正确,检查微程序运行结果是否正确是一项稍繁琐的事情,需要检查每步的寄存器、标志位、总线上的地址和数据。但经过

    10、几天的熟悉,我们已慢慢熟悉掌握。第四天单操作数运算和移位指令的微程序设计与调试一、设计目标完成单操作数运算指令INC、DEC、NOT和7条移位指令微程序的设计。二、单操作数运算和移位指令微程序入口地址指令助记符入口地址(H)指令助记符入口地址(H)INC071SAR061DEC072SHL062NOT073SHR063ROL064ROR065RCL066RCR067三、单操作数运算和移位指令微程序的设计微地址(H)微指令(H)微命令BMNA注释092SAR1810 006F06F094SHL1820 006F06F096SHR1810 006F06F098ROL1820 006F06F09AR

    11、OR1810 006F06F09CRCL1820 006F06F09ERCR1810 006F06F0A41A70006FINC, PSWce, SV006FINC0A81AB0006FDEC, PSWce, SV006FDEC0AC 19F0006FNOT, PSWce ,SV006FNOT07068000000Soe, GRSce0000存入寄存器07160030072Soe, DRce0072存入dr07200052000DRoe, ARoe, WR0000存入贮存四、测试程序、数据及运行结果1.测试内容:间接寻址测试程序:SHL (0010)H机器码:内存地址(H)机器码(H)汇编指令

    12、00300059 0010 SHL (0010)H运行结果: 微指令的执行次序为:00100200300601B01F0220230240250260076202F,参照取指令、取操作数和SHL指令执行微流程分析,所执行的微指令的次序是正确的。2.测试内容:相对寻址测试程序: DEC (0001)机器码:内存地址(H)机器码(H)汇编指令00300258 0001DEC (0001)运行结果及分析:第五天子程序调用、堆栈和转移指令微程序设计与调试一、设计目标完成CALL、RET、PUSH、POP和9条转移指令的微程序的设计。二、PUSH、POP、CALL、RET指令微程序的设计PUSH微地址(

    13、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,ARc

    14、e00CCTR内容存入AR0CC7C052000Soe,SPce,ARoe,DRoe,WR0000堆栈内容写入新地址CALL微地址(H)微指令(H)微命令BMNA注释0D0F40000D1SPoe,Ace00D1堆栈地址存入A0D1 B2B000D2DEC,SV,ARoe,TRce00D2地址减1, AR内容存入TR0D27C0800D3Soe,ARce,SPce00D3地址存入AR,SP0D3200300D4PCoe,DRce00D4PC内容存入DR0D484052000ARoe,DRoe,WR,TRoe,PCce0000PC个数写入内存,TR内容存入PCRET微地址(H)微指令(H)微命令

    15、BMNA注释03CF408003DSPoe,Ace,ARce003D堆栈地址写入A和AR03D0276103FINC,SV,ARoe,RD,DRce003F地址加1,同时读数03FC4000040DRoe,PCce0040DR值存入PC0407C000000Soe,SPce0000堆栈存入新地址三、测试程序、数据及运行结果1、测试内容:直接寻址测试程序:CALL 000AH机器码:内存地址(H)机器码(H)汇编指令0030035A000ACALL 000AH运行结果及分析:首先,微指令的执行次序为:00100200300601B01F02402502600707A04704804904A000

    16、,参照取指令、取操作数和CALL指令执行微流程分析,所执行的微指令的次序是正确的。2、测试内容:相对寻址测试程序:JMP +2机器码:内存地址(H)机器码(H)汇编指令00300218 0002JMP +2运行结果及分析:3.测试程序:PUSH 0010H POP 0012H /0010存放AAAA 机械码:031A 0010 033A 0012内存地址(H)机器码(H)汇编指令0030031A 0010 033A 0012PUSH 0010H POP 0012H运行结果及分析:第六天检查指令一、设计目标用综合应用程序测试JU-C1十六位微程序控制计算机。二、测试程序、数据及运行结果测试程序:

    17、MOV #0031H,0080H 077A 0031 0080 PUSH 0080H 031A 0080 CALL 0060H 035A 0060 SHL 0080H 005A 0080 运行结果及分析:总结这次计算机组成原理简单微程序的设计,通过实验将实际问题和课本内容紧密的联系在一起,将知识运用到了实际之中,更加深入地掌握了微程序设计。课本的知识是死的,只有经过自己的动手实践调试,才能更好的掌握知识我意识到了上机实践的重要性,因为在进行调试时,因此在对于一些错误的处理还是很生疏,这就暴露了平时不注重实践的弊端。既然是程序设计,就应该多动手,当然不仅仅是纸上谈兵,还应注重多上机操作。还有就是

    18、,在执行指令的过程中出现的错误,我还不能准确的定位出到底是哪地方面出现了错误,往往需要询问老师或者是思考很久之后才能找到原因。对于这点,应该是对于整个过程还不够了解的原因,因此在以后的学习中还应该加强对知识的认识程度。刚开始时,由于下载器件的问题保存微程序时中间会有一部分突然就没了,最开始还没在意,就是总发现验证时总出错,后来才知道是下载的微程序有问题,当时真的是非常的郁闷,后来在经过一翻重新检查后,终于把微程序完整的保存好了。在完成整个课设后,我对取操作数的过程,MOV指令,运算类指令,CPU硬件的基本设计,转移指令,移位指令,堆栈类指令以及中断系统都有了更加深刻的理解,因为是通过实践的缘故,能够将抽象化的过程更加形象化,便于理解,使我明确了各种指令的执行过程。我认为整个课设的设计还是很合理的,每天都有每天的任务,任务也很明确,每天都可以充分利用,后一天的内容与前一天的内容紧密相连,难度也是逐渐加深,这个循序渐进的过程更容易让我们接受。18


    注意事项

    本文(熟悉微程序的设计和调试方法计算机组成原理课程设计.docx)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922