用高级语言VC++仿真指令流程和微命令序列 课程设计报告.docVIP

用高级语言VC++仿真指令流程和微命令序列 课程设计报告.doc

  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文档。上传文档
查看更多
用高级语言VC仿真指令流程和微命令序列课程设计报告

计算机科学与工程学院 课程设计报告 题目全称: 用高级语言VC++仿真指令流程和微命令序列 课程名称: 计算机组成原理 指导老师: 职称: 序号 学生姓名 学号 班号 成绩 1 李镜儒 2806005027 2 郭晓楠 2806005025 3 4 5 6 7 8 9 10 (注:学生姓名填写按学生对该课程设计的贡献及工作量由高到底排列,分数按排名依次递减。序号排位为“1”的学生成绩最高,排位为“10”的学生成绩最低。) 指导老师评语: 指导签字: 正 文 课题背景 1.1工作目的 在VC++环境下,开发软件以仿真模型机指令按工作周期执行时的处理流程和相应的微命令,能对模型机的任意指令进行正确仿真。 模型机中的指令包括: 传送指令:MOV 双操作数指令: 加法指令 ADD, 减法指令 SUB, 按位与指令 AND, 按位或指令 OR, 按位异或指令 EOR; 单操作数指令: 按位求反指令COM, 求补指令 NEG, 自增指令 INC, 自减指令 DEC, 左移指令 SL, 右移指令 SR; 转移类指令: 转移指令 JMP, 转子指令 JSR, 返回指令 RST; 1.2 工作意义 本课程设计目的在于用VC++实现一个可以仿真模型机任意指令的微命令操作时间表的教学软件。 由于目前尚未有《计算机组成原理》微命令仿真教学软件投入教学使用中,所以老师上课讲讲解CPU控制器微命令产生方式以及指令的操作时间表时,都是采用课件与习题结合的方式。但由于课程时间有限,不可能为学生讲解所有指令操作时间表的生成过程。 因此,为了使学生能够更加深入和详细地理解各指令按工作周期执行时的处理流程和相应的微命令,也为了方便老师为同学展示相关过程,故设计此仿真教学软件,以丰富教学手段。 课题的需求分析 2.1 模型机指令分析 模型机指令类型如下表2-1所示: 操作码 含义 操作码 含义 MOV 传送 INC 加1 ADD 加 DEC 减1 SUB 减 SL 左移 AND 按位与 SR 右移 OR 按位或 JMP 转移 EOR 按位异或 RST 返回 COM 按位取反 JSR 转子 NEG 求补 表2-1 模型机指令类型 大体上来说,每个指令的工作周期都是由取指周期(FT),源周期(ST),目的周期(DT),执行周期(ET)组成的,而在每个指令中,取指周期负责的操作都是相同的,即实现“M-IR,PC+1-PC”的操作,那么只需结合具体指令分析他们的ST,DT,ET的特点即可。以此为出发点,再结合表中信息,可将模型机指令大致分为以下几类: 2.1.1传送指令 传送周期的源周期ST,就是根据源操作数的寻址方式找到源操作数;而目的周期DT,也是根据目的操作数寻址方式找到目的操作数;在执行周期ET中,实现将源操作数送目的。因此可看作是特殊的一类双操作数指令。 2.1.2双操作数指令 双操作数指令主要是实现各种运算,在源周期取源操作数,目的周期取目的操作数,执行周期中,根据指令的不同来执行不同的算术运算或者位运算,故这类指令有相同的源周期和目的周期,而和传送指令比较,源周期ST都只是负责取到源操作数,故该类指令的源周期操作和传送指令完全相同。 2.1.3.单操作数指令 单操作数与上两类指令相比,只有一个操作数,且去操作数被安排在目的周期DT进行,而这类指令也是对取到的操作数进行算术运算或者位运算,而这些运算的差异具体又体现在执行周期中,故这类指令具有和双操作数指令完全相同的目的周期。 2.1.4.转移类指令 转移类指令是一类特殊的指令,它们最终都是要改变PC的值以达到程序跳转的目的,模型机中JMP指令没有源周期和目的周期,但是却可以带不同寻址方式的操作数,来实现跳转的多样化。可以认为,JMP指令是单操作指令,只是去操作数的操作被合并到执行周期ET中了。 返回指令RST可以看做是特殊的JMP指令,它用于子程序最后返回主程序,也就是到堆栈中取出主程序断点地址并送入PC。因此,它和“JMP -(SP)” 完全等效。 转子指令特殊性体现在,指令中出现了子程序首地址,且可用不同的寻址方式给出。从这点看,它与单操作数类似。但是,模型机中的转子指令的操作数却是安排在源周期ST中的,因此,在具体设计时可考虑做一些技术处理将它们统一起来

文档评论(0)

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

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

1亿VIP精品文档

相关文档