- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验CPU CPU调试
实验CPU CPU调试
姓名: 闫盼蛟 学号: 2009432017 班级: 09级软件工程
一、实验目的
(1)掌握计算机的工作原理,建立清晰的计算机整机概念。
(2)掌握调试软件Debugcontroller的使用方法,用于对CPU进行调试。
二、实验原理
在2章中,我们详细介绍了实验CPU的设计;在本章的6.9节~6.12节对实验PU的组成部分从原理上进行了实验。这一节将在前面实验的基础上对实验CPU进行总体调试。
在计算机组成原理课程中,掌握计算机的各个组成部件的原理是重要的,但是从总体上掌握计算机的整机工作原理是最重要的。不掌握计算机整机工作原理从本质上说不算学会计算机组成原理。
第2章中提供的实验CPU是一个能够运行测试程序的CPU,只是在功能上做了简化。这样一个CPU只有经过测试程序的调试才能确认CPU设计的正确性。第4章中介绍了调试软件Debugcontroller的使用方法,本节使用Debugcontroller对实验CPU进行调试。
在Debugcontroller中,能够将测试程序装进试验台上由两片HM6116构成的存储器,通过观测运行的结果能够判断出CPU设计的正确性。
1、编写规则文件和测试程序
在编写测试程序之前首先需要编写规则文件,以便Debugcontroller能够对测试程序进行编译,生成能够装入到存储器中的二进制目标代码,供调试使用。
(1)规则文件
根据实验CPU的指令系统,规则文件如下:
ADD DR,SR 0000[u2][u2DR,SR
INC DR 0001[u2]0000000111,DR
SUB DR,SR 0010[u2][u2DR,SR
DEC DR 0011[u2]0000000111,DR
AND DR,SR 0100[u2][u2DR,SR
OR DR,SR 0101[u2][u2DR,SR
NOT DR 0110[u2]0000000011,DR
MOV DR,SR 0111[u2][u2DR,SR
JMP ADR 1000000000000000[u16],ADR
JNC ADR 8],ADR-@-1
JNZ ADR 8],ADR-@-1
MVRD DR,DATA 1100[u2]0000000001[u16],DR,DATA
LDR DR,SR 1101[u2][u2DR,SR
STR SR,DR 1110[u2][u2DR,SR
NOP . 0111000000000000
R0 = 0
R1 = 1
R2 = 2
R3 = 3
(2)测试程序1(test1)
测试程序1主要测试实验cc.hbu.cn执行算术指令和逻辑指令执行的功能。
main: MVRD R2,0x5555
MVRD R3,0xffff
ADD R3,R2
SUB R3,R2
INC R3
DEC R3
OR R3,R2
AND R3,R2
NOT R3
MOV R2,R3
NOP
NOP
(3)测试程序2(test2)
测试程序2主要测试存储器读写指令“LDR DR,SR”、“STR ST,DR”和条件转移指令“JNZ ADR”的执行功能,测试存储器读写。
main: MVRD R0,0x100
MVRD R1,0x200
MVRD R2,0X10
MVRD R3,0x3500
T1: STR R3,R0
INC R3
INC R0
DEC R2
JNZ T1
T2: MVRD R0,0x100
MVRD R2,0x10
T3: LDR R3,R0
STR R3,R1
INC R0
INC R1
DEC R2
JNZ T3
T4: NOP
NOP
(4)测试程序3(test3)
测试程序3与测试程序2差不多,只是把测试“JNZ ADR”指令换成了测试“JNC ADR”指令,另外增加了“JMP ADR”指令。
main: MVRD R0,0x100
MVRD R1,0x200
MVRD R2,0Xf
MVRD R3,0x3500
T1: STR R3,R0
INC R3
INC R0
DEC R2
JNC T1
T2: MVRD R0,0x100
MVRD R2,0xf
T3: LDR R3,R0
STR R3,R1
INC R0
I
文档评论(0)