- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
计算机组成原理机器号___________________
计算机组成原理
机器号___________________
专业班级:
计算机1102班
姓名:
机器号:
54
学号:E-mail:
指导教师:
总成绩:
分步成绩:
出勤:
实验表现
实验报告:
实验七指令/微指令设计实验
一实验目的
1掌握计算机各种指令的设计和执行过程;
2掌握指令/微指令的设计方法。
二实验原理
COP2000计算机组成原理实验仪,可以由用户自己设计指令/微指令系统,这样用户可以在现有的指令系统上进行扩充,加上一些较常用的指令,也可重新设计一套完全不同的指令/微指令系统。
做为原理,我们建立一个有如下指令的系统:
指令助记符
指令意义描述
LDA,#II
将立即数装入累加器A
ADDA,#II
累加器A加立即数
GOTOMM
无条件跳转指令
OUTA
累加器A输出到端口
因为硬件系统需要指令机器码的最低两位做为R0-R3存放器寻址用,所以指令机器码要忽略掉这两位。这四条指令的机器码分别为04H,08H,0CH,10H。其它指令的设计相同。
指令系统设计
翻开COP2000组成原理实验软件,选择[文件|新建指令系统/微程序],观察软件下方的“指令系统”窗口,所有指令码都“未使用”。
选择第二行,即“机器码1”为000001XX行,在下方的“助记符”栏填入数据装载功能的指令助记符“LD”,在“操作数1”栏选择“A”,表示第一个操作数为累加器A。在“操作数2”栏选择“#II”,表示第二个操作数为立即数。按“修改”按钮确认。
选择第三行,即“机器码1”为000010XX行,在下方的“助记符”栏填入加法功能的指令助记符“ADD”,在“操作码1”栏选择“A”,表示第一操作数为累加器A,在“操作数2”栏选择“#II”,表示第二操作数为立即数。按“修改”按钮确认。
选择第四行,即“机器码1”为000011XX行,在下方的“助记符”栏填入无条件跳转功能的指令助记符“GOTO”,在“操作码1”栏选择“MM”,表示跳转地址为MM,此指令无第二操作数,无需选择“操作数2”。按“修改”按钮确认。
选择第五行,即“机器码1”为000100XX行,在下方的“助记符”栏填入输出数据功能的指令助记符“OUTA”,由于此指令隐含指定了将累加器A输出到输出商品存放器,所以不用选择“操作码1”和“操作数2”,按“修改”按钮确认。
输入完成了四条指令如图,
微指令系统设计
将窗口切换到“uM微程序”窗口,现在此窗口中所有微指令值都是0FFFFFFH,也就是无任何操作,我们需要在此窗口输入每条指令的微程序来实现该指令的功能。
程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC和uPC的值都为0,所以微程序的0地址处就是程序执行的第一条取指的微指令。根据此功能,首先选中“_FATCH_”指令的第一行,观察窗口下方的各控制信号,有“勾”表示信号为高,处于无效状态,去掉“勾”信号为低,为有效状态。要从EM中读数,EMRD必需有效,去掉信号下面的“勾”使其有效;读EM的地址要从PC输出,所以PCOE要有效,允许PC输出,去掉PCOE下面的“勾”,PCOE有效同时还会使PC加1,准备读EM的下一地址;IREN是将EM读出的指令码存入uPC和IR,所以要去掉IREN的“勾”使其有效。这样,取指操作的微指令就设计好了,取指操作的微指令的值为0CBFFFFH。
第一条指令是把立即数装入累加器A,首先要从EM中读出立即数,并送到数据总线DBUS,再从DBUS上将数据打入累加器A中,按照这个要求,从EM中读数据,EMRD应该有效,EM的地址由PC输出,PCOE必需有效,读出的数据送到DBUS,EMEN也应有效,要求将数据存入A中,AEN也要有效,选中“LDA,#II”指令的第一行,这条微指令的值为0C7FFF7H。为了保证程序的连续执行,每条指令的最后必需是取指令,取出下条将要执行的指令。所以微指令的值为0CBFFFFH。
第二条指令为立即数加法指令,立即数加可分两步,首先从EM中读出立即数,送到DBUS,并存入工作存放器W中,从EM中读数,EMRD应有效,读EM的地址由PC输出,PCOE要有效,读出的数据要送到DBUS,EMEN应有效,数据存入W中,WEN应有效,根据描述,这条微指令的值为0C7FFEFH。第二步,执行加法操作,并将结果存入A中。执行加法操作,S2S1S0的值应为000(二进制),结果无需移位直接输出到DBUS,X2X1X0的值就要为100(二进制),从DBUS将数据再存入A中,AEN应有效。与此同时,ABUS和
文档评论(0)