ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:24.79KB ,
资源ID:7545375      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7545375.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理课程设计江苏大学版.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理课程设计江苏大学版.docx

1、计算机组成原理课程设计江苏大学版 江 苏 大 学计算机组成原理课程设计报告专业名称:网络工程班级学号: 31学生姓名: 张 杰 指导教师: 胡广亮 设计时间:2013年6月24日2013年7月2日第一天:熟悉微程序的设计和调试方法一、设计目标1、掌握微程序的设计方法2、熟悉利用调试软件运行、调试微程序的方法二、操作提示1、连接实验设备注意:请在断电状态下连接调试电缆。2、下载FPGA配置数据从课程网站下载等文件,使用Quartus II Programmer 软件将下载到FPGA。3、输入微程序利用调试软件将微程序写入控存,微程序如下。取指令微程序取源操作数为立即数的微程序取目的操作数为寄存器

2、寻址的微程序MOV指令的微程序(目的数寄存器寻址)4、输入调机程序今天的将调机程序就是一条指令:“ MOV #0001H, R1”。首先将指令翻译成机器码,根据指令的编码规则,该指令的编码是:0761 0001。然后利用调试软件将指令码写入主存,地址从主存的0030H开始。5、调试微程序。利用调试软件“Step”按钮控制微指令单步执行,执行结果如图 所示 例 MOV指令的单步运行跟踪数据6、分析微程序的执行结果,一般方法如下:首先分析微程序执行流程是否正确,根据前面指令微流程的设计,理论上该指令微程序的执行顺序应该是00100200300400B00F01600601800703102D02E

3、000,通过调试软件的执行结果图 可以看出,该指令微程序的微指令次序是正确的。如果执行的微指令次序不正确,那就要分析原因,检查BM和NC设置是否正确、检查uAR的各个输入信号的值是否正确,如IR、NA等。然后分析指令的运行结果。理论上本条测试指令执行完后,R1的值应该是0001。通过调试软件的执行结果图 可以看出,指令执行结果是正确的。如果结果不对,就需要进一步分析每一条微指令。分析的方法是针对微指令的每一条微命令,查看相应微操作前后相关模块的数据变化是否与指令微流程一致。下面举个例子说明如何分析每条微指令的。图 的微地址为000B(uAR000B)的控存单元所对应的内容为2008000F,即

4、微指令为2008000F,所代表的微操作是:PCoe,ARce,即PC的内容送IB、IB的内容送AR,理论上的正确结果应该是IB=0031, AR=0031;通过图 的000B单元微指令的执行结果可以看出,IB 的数据由上一条微指令的结果00000031, AR 的数据由上一条微指令的结果00300031,说明本条微指令执行结果是正确。从上面的分析可以看出,要想检查运行结果是否正确,关键是要清楚理论上正确的结果是什么。这就要求实验者对指令的微程序流程非常清楚,从而达到了理解计算机内部信息流动过程、掌握计算机工作原理的目的。所以实验者应重视实验数据的分析工作,否则就失去了实验的意义。1、测试内容

5、:立即数寻址、寄存器寻址测试指令(或程序):MOV #0001H, R1机器码:内存地址(H)机器码(H)汇编指令00300761 0001MOV #0001H, R1运行结果:第二天取操作数微程序的设计和调试一、设计目标设计并调试取操作数的微程序。二、取操作数微流程取目的操作数流程:三、测试程序、数据及运行结果格式如下:1、测试内容:间接寻址、寄存器寻址测试指令(或程序):MOF (0048)R1机器码:内存地址(H)机器码(H)汇编指令00300721 0048 0058 0001MOF (0048)R1运行结果:四、设计中遇到的问题及解决办法在设计过程中开始对调试程序的运行不熟悉,不是很

6、了解了此程序的运行。在操作过程中,粗心导致了输入机器码的错误,或者是所在位置错误,重新输入解决了此问题。我详细地了解了它的整个过程和对于每一步的分析和验证,对微程序设计有了更深入的了解。第三天 双操作数指令的微程序设计与调试一、设计目标设计并调试运算指令的微程序。二、双操作数指令微程序入口地址指令助记符指令编码入口地址(H)FEDCBA9876543210MOV src, dst000001源地址码目的地址码031ADD src, dst000010源地址码目的地址码032ADDC src, dst000011源地址码目的地址码033SUB src, dst000100源地址码目的地址码034

7、SUBB src, dst000101源地址码目的地址码035CMP src, dst000110源地址码目的地址码036AND src, dst000111源地址码目的地址码037OR src, dst001000源地址码目的地址码038XOR src, dst001001源地址码目的地址码039TEST src, dst001010源地址码目的地址码03A三、双操作数指令执行微程序微地址(H)微指令(H)微命令BMNA注释007000008004044指令执行入口0489870006FTRoe, ADD, PSWce, SV006FADD04C98B0006FTRoe, ADDC, PSW

8、ce, SV006FADDC05098F0006FTRoe, SUB, PSWce, SV006FSUB0549930006FTRoe, SUBB,PSWce, SV006FSUBB05898C00000TRoe, CMP, PSWce0000CMP05C9970006FTRoe, AND, PSWce,SV006FAND 0609980006FTRoe, OR, PSWce,SV006FOR0649A30006FTRoe, XOR, PSWce, SV006FXOR 068TRoe, AND, PSWce0000TEST 06F00000E70NOP0070回送四、测试程序、数据及运行结果1

9、、测试内容:立即寻址,直接寻址,间接寻址,寄存器寻址,寄存器间接寻址测试程序:MOV(0048H) R1 TEST 0048H R1 AND #0078H (R0) ADD R1 R0机器码:内存地址(H)机器码(H)汇编指令00300721 0048 0001MOV(0048H) R100482B48 0001 TEST 0048H R100781F70 FFF0 0000AND #0078H (R0)00780820ADD R1 R0运行结果:五、设计中遇到的问题及解决办法调试双操作数指令执行微程序,先要写出双操作数指令执行微程序的微地址,微命令,然后写微程序,最后上机调试,判断是否正确,

10、检查微程序运行结果是否正确是一项稍繁琐的事情,需要检查每步的寄存器、标志位、总线上的地址和数据。但经过几天的熟悉,我们已慢慢熟悉掌握。第四天单操作数运算和移位指令的微程序设计与调试一、设计目标完成单操作数运算指令INC、DEC、NOT和7条移位指令微程序的设计。二、单操作数运算和移位指令微程序入口地址指令助记符入口地址(H)指令助记符入口地址(H)INC071SAR061DEC072SHL062NOT073SHR063ROL064ROR065RCL066RCR067三、单操作数运算和移位指令微程序的设计微地址(H)微指令(H)微命令BMNA注释092SAR1810 006F06F094SHL1

11、820 006F06F096SHR1810 006F06F098ROL1820 006F06F09AROR1810 006F06F09CRCL1820 006F06F09ERCR1810 006F06F0A41A70006FINC, PSWce, SV006FINC0A81AB0006FDEC, PSWce, SV006FDEC0AC 19F0006FNOT, PSWce ,SV006FNOT070Soe, GRSce0000存入寄存器071Soe, DRce0072存入dr07200052000DRoe, ARoe, WR0000存入贮存四、测试程序、数据及运行结果1.测试内容:间接寻址测试

12、程序:SHL (0010)H机器码:内存地址(H)机器码(H)汇编指令00300059 0010 SHL (0010)H运行结果: 微指令的执行次序为:00100200300601B01F0220230240250260076202F,参照取指令、取操作数和SHL指令执行微流程分析,所执行的微指令的次序是正确的。2.测试内容:相对寻址测试程序: DEC (0001) 机器码:内存地址(H)机器码(H)汇编指令00300258 0001DEC (0001)运行结果及分析:第五天子程序调用、堆栈和转移指令微程序设计与调试一、设计目标 完成CALL、RET、PUSH、POP和9条转移指令的微程序的设

13、计。二、PUSH、POP、CALL、RET指令微程序的设计PUSH微地址(H)微指令(H)微命令BMNA注释0C0F40000C1SPoe,Ace00C1堆栈地址存入A0C102B000C2DEC,SV00C2地址减1,输出0C27C0800C3Soe,SPce,ARce00C3地址存入堆栈和AR中0C300052000ARoe,DRoe,WR0000地址写入主存POP微地址(H)微指令(H)微命令BMNA注释0C8B00000C9ARoe,TRce00C9AR内容存入TR0C9F40800CASPoe,Ace,ARce00CASP内容存入A和AR0CA027610CBARoe,RD,DRce

14、,INC,SV00CB地址减1,输出0CB800800CCTRoe,ARce00CCTR内容存入AR0CC7C052000Soe,SPce,ARoe,DRoe,WR0000堆栈内容写入新地址CALL微地址(H)微指令(H)微命令BMNA注释0D0F40000D1SPoe,Ace00D1堆栈地址存入A0D1 B2B000D2DEC,SV,ARoe,TRce00D2地址减1, AR内容存入TR0D27C0800D3Soe,ARce,SPce00D3地址存入AR,SP0D3200300D4PCoe,DRce00D4PC内容存入DR0D4ARoe,DRoe,WR,TRoe,PCce0000PC个数写入

15、内存,TR内容存入PCRET微地址(H)微指令(H)微命令BMNA注释03CF408003DSPoe,Ace,ARce003D堆栈地址写入A和AR03D0276103FINC,SV,ARoe,RD,DRce003F地址加1,同时读数03FC4000040DRoe,PCce0040DR值存入PC0407C000000Soe,SPce0000堆栈存入新地址三、测试程序、数据及运行结果1、测试内容:直接寻址测试程序:CALL 000AH机器码:内存地址(H)机器码(H)汇编指令0030035A000ACALL 000AH运行结果及分析:首先,微指令的执行次序为:00100200300601B01F0

16、2402502600707A04704804904A000,参照取指令、取操作数和CALL指令执行微流程分析,所执行的微指令的次序是正确的。2、测试内容:相对寻址测试程序:JMP +2机器码:内存地址(H)机器码(H)汇编指令00300218 0002JMP +2运行结果及分析:3.测试程序:PUSH 0010H POP 0012H /0010存放AAAA 机械码:031A 0010 033A 0012内存地址(H)机器码(H)汇编指令0030031A 0010 033A 0012PUSH 0010H POP 0012H运行结果及分析:第六天检查指令一、设计目标用综合应用程序测试JU-C1十六

17、位微程序控制计算机。二、测试程序、数据及运行结果测试程序:MOV #0031H,0080H 077A 0031 0080 PUSH 0080H 031A 0080 CALL 0060H 035A 0060 SHL 0080H 005A 0080 运行结果及分析:总结这次计算机组成原理简单微程序的设计,通过实验将实际问题和课本内容紧密的联系在一起,将知识运用到了实际之中,更加深入地掌握了微程序设计。课本的知识是死的,只有经过自己的动手实践调试,才能更好的掌握知识我意识到了上机实践的重要性,因为在进行调试时,因此在对于一些错误的处理还是很生疏,这就暴露了平时不注重实践的弊端。既然是程序设计,就应该

18、多动手,当然不仅仅是纸上谈兵,还应注重多上机操作。还有就是,在执行指令的过程中出现的错误,我还不能准确的定位出到底是哪地方面出现了错误,往往需要询问老师或者是思考很久之后才能找到原因。对于这点,应该是对于整个过程还不够了解的原因,因此在以后的学习中还应该加强对知识的认识程度。刚开始时,由于下载器件的问题保存微程序时中间会有一部分突然就没了,最开始还没在意,就是总发现验证时总出错,后来才知道是下载的微程序有问题,当时真的是非常的郁闷,后来在经过一翻重新检查后,终于把微程序完整的保存好了。在完成整个课设后,我对取操作数的过程,MOV指令,运算类指令,CPU硬件的基本设计,转移指令,移位指令,堆栈类指令以及中断系统都有了更加深刻的理解,因为是通过实践的缘故,能够将抽象化的过程更加形象化,便于理解,使我明确了各种指令的执行过程。我认为整个课设的设计还是很合理的,每天都有每天的任务,任务也很明确,每天都可以充分利用,后一天的内容与前一天的内容紧密相连,难度也是逐渐加深,这个循序渐进的过程更容易让我们接受。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2