3774计算机组成原理课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 32 计算机组成原理课程设计报告 专业名称: 计算机科学与技术 班级学号: 计算机0802 学生姓名: 指导教师: 设计时间: 2010年 06 月 28 日——2010年 07 月 01 日 2010年 07 月 第一天 取操作数微程序的设计和调试 一、设计目标 设计并调试取操作数的微程序 二、取操作数微流程 三、测试程序、数据及运行结果 格式如下: 1、测试内容:立即数寻址、直接寻址、间接寻址、相对寻址、寄存器寻址 立即寻址测试指令(或程序):MOV #1234H,R1 机器码: 内存地址(H) 机器码(H) 汇编指令 0000 0761 1234 MOV #1234H,R1 运行结果及分析: 为了分析微程序是否正确,首先通过查看微指令流程判断BM和NC是设置是否正确,如果执行的微指令依次是:001——002——003——004——00B——00F——016——006——018——007——。。。(后面的MOV指令的EXE微指令是由老师提供的),根据前面指令微流程的设计,所执行的微指令次序是正确的。在上图中,测试指令微程序最后一条微指令的地址为046,微指令所代表的微操作应该是TRoe,GRSce。执行后CRS=0000,好像出错了。但是我们看到在下一条微指令时GRS=1234,赵老师在上实验课的时候曾经讲过这个问题,这是因为GRS的装入使能信号GRSce受时钟信号的影响,内容在微指令周期结束时才被保存,所以观察到的数据慢了一步。 直接寻址测试指令(或程序):MOV 0014H,R1 机器码: 内存地址(H) 机器码(H) 汇编指令 0000 0761 1234 MOV 0014H,R1 运行结果及分析: 为了分析微程序是否正确,首先通过查看微指令流程判断BM和NC是设置是否正确,如果执行的微指令依次是:001——002——003——004——00B——00F——014——015——016——006——018——007——。。。根据前面指令微流程的设计,所执行的微指令次序是正确的。 间接寻址测试指令(或程序):MOV( 0014),R1 机器码: 内存地址(H) 机器码(H) 汇编指令 0000 0721 1234 MOV (0014),R1 运行结果及分析: 为了分析微程序是否正确,首先通过查看微指令流程判断BM和NC是设置是否正确,如果执行的微指令依次是:001——002——003——004——00B——00F——012——0013——014——015——016——006——018——007。。。根据前面指令微流程的设计,所执行的微指令次序是正确的。 测试指令(或程序):MOV disp(0014),R1 机器码: 内存地址(H) 机器码(H) 汇编指令 0000 0701 1234 MOV +disp,R1 运行结果及分析: 为了分析微程序是否正确,首先通过查看微指令流程判断BM和NC是设置是否正确,如果执行的微指令依次是:001——002——003——004——00B——00F——010——011——017——015——016——006——018——007。。。根据前面指令微流程的设计,所执行的微指令次序是正确的。由于时间关系,今天只验证了5种寻址方式。后面两种寻址方式的指令和编码如下所示: 寄存器间接寻址MOV #1234H,(R1) 指令编码为0769 1234 寄存器变址寻址MOV #1234H,disp(R1) 指令编码为0771 1234 四、设计中遇到的问题及解决办法 遇到的问题: 搞不清楚‘取操作数入口’的微程序是由什么组成。 对软件UniDebugger的操作不太熟悉。 以为只需要将取源操作数的微程序输入到micro中就行了。 解决的办法: 1:一时搞不清楚去源操作数的入口的微程序究竟是要填什么,便不和它纠缠,往下看的时候,看到图中的都填满了微命令,便知道了,原来取操作数的入口的微命令是空的(NOP)。 2:认真地回忆了做实验的时候的上机步骤后,对该软件的基本操作基本熟悉,然后按照课程设计指导书上的要求便能更好地运用该软件。 3:MOV指令为双操作数指令。原本以为该指令虽然是双操作数指令,但应该只涉及到取源操作数,至于目的操作数,该指令应该只是将源操作数输送到目的地址中,取不取目的操作数不影响问题的。但是很快,我就意识到这个认识是错误的了。因为在我执行该MOV指令的时候,程序竟然运行到0018处。这个微指令地址应该出现在取目的操作数阶段,但是我却没有将取目的操作数的微指令编码输入micro中,导致程序运行到该行后输出地微指令编码当然运行结果肯定是错误的。于是我毫不犹豫地将取目的操

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档