实验四指令、微指令设计.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文档。上传文档
查看更多
实验四指令、微指令设计

实验四:设计指令/微指令系统 计科0903 童燕翔 2009310200333 实验要求: 掌握CPP266软件的各部件的原理和使用方法。 了解指令/微指令系统,以及每条微指令的构成。 学会在原有指令/微指令的基础上设计简单易懂的指令/微指令系统。 实验目的: 学会进一步运用CPP226软件和机箱。 设计简单的指令/微指令系统,并编程加以实现。 实验器材以及用品 DICE-CP226 型计算机组成原理实验机箱,CPP226软件,教材书和实验指导。 实验方案: 设想一个新的指令,并标明它的名称和目的,以及所要完成的功能。 根据现有的指令/微指令,利用cpp226软件设计新指令的助记符,周期,微程序等。 然后编写程序验证新指令的正确性。 实验步骤: 1、建立一个有如下指令的系统: 指令助记符 指令意义描述 RL2 A 累加器A左移两位 MOVR A,#* 将立即数装入累加器A中并右移一位 SUB A,#* 累加数减立即数 ADD A,#* 累加数加立即数 GOTO * 无条件跳转 OUTA 累加器A输出端口 因为硬件系统需要指令机器码的最低两位做为R0-R3 寄存器寻址用,所以指令机器 码要忽略掉这两位。我们暂定这六条指令的机器码分别为04H,08H,0CH,10H,14H,18H。 2、打开CP226 组成原理实验软件,选择[文件|打开指令系统/微程序],调入一个已有的 指令系统文件insfile1.dat,参考原来文格式,输入如下文件后,清除原来的指令系统,选 择[文件]\另存为mean.dat。 RL2 A 04 1 MOVR A,#* 08 2 SUB A,#* OC 2 ADD A,#* 10 2 GOTO * 14 2 OUTA 18 1 注:助记符中,#表示立即数,*表示十六进制数,表注框内20 表示该栏占20 个字母位置,不足20 个用空格键填充,其余类同。 3、打开 CP226 组成原理实验软件,选择[文件|打开指令系统/微程序],调入一个已 有的微指令系统文件insfile1.mic,参考原来文件格式,待下面微程序代码确定后相应输入下表,然后清除原来的微指令系统,选择[文件]\另存为mean.mic. 4、打开 CP226 组成原理实验软件,选择[文件|打开指令系统/微程序],调入一个已有的 指令集文件insfile1.mac,参考原来文件格式,输入如下文件后,清除原来的指令系统, 选择[文件]\另存为mean.mac. 5、在源程序窗口输入下面程序 将程序另存为mean.asm,选择[文件|调入指令系统/微程序 ],调入 mean.mic,将程 序汇编成机器码,观察反汇编窗口,会显示出程序地址、机器码、反汇编指令。 按快捷图标的 F7,执行“单微指令运行”功能,观察执行每条微指令时,数据是否 按照设计要求流动,寄存器的输入/输出状态是否符合设计要求,各控制信号的状态,PC 及uPC 如何工作是否正确。 实验结果分析: 由追踪可以发现我们所设计的指令/微指令系统按照我们所要求的在运行。 八、实验总结: 这次试验完全是一个模仿和创造的过程。首先要想出新的可实行的指令,然后要根据原来的指令系统加以模仿。最困难的就是执行程序是的汇编调试。很多时候由于种种原因,出现了许多很难找到的错误。这样的错误很难寻找和更改,所以要花很多时间去调试。还有就是指令的融合问题,有的指令理论上可行,但是事实就是调不出来。通过这次试验我对指令的了解更加深刻,也明白了指令工作的基础了,感觉受益很多。

文档评论(0)

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

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

1亿VIP精品文档

相关文档