




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学学院课程设计报告课程 计算机组成原理 题目 的实现(指令扩展) 年级 2009级 专业 计算机科学与技术 学号 学生 多啦小鹏 任课教师 2012年 2月 28日12课程设计题目的求值(指令扩展)验收时间2012年2月27日验收地点指导教师小组成员具体分工备注无分工课题总体设计思想概述基于TH-UNION教学机的机器指令指令设计,在现有的TEC-2000教学机系统上,扩展已有指令之外的指令,并在系统监控程序中扩展相应的汇编指令,熟悉掌握指令格式、指令操作码、指令功能。明白其内部原理,清楚机器指令和微命令的关系,设计出合理的扩展指令即单个或多条微命令组成的微程序,并写出相应的测试指令的汇编程序,调试并优化扩展指令,到最终完成优化后的扩展指令。课题设计目的和原理实验目的: 通过对本次的课程设计,进一步熟练掌握计算机各功能部件的内部构造和相互之间的联系(部件配置、相互连接和作用)、各功能部件的性能参数的相互匹配、机器指令级的各种功能和特性。实验原理: 机器指令由微指令组成,而一条微指令由微命令和下地址两个字段组成。通过重写ROM芯片,扩展新的指令。不同的控制信号的组合可以达到相应的功能,从而实现扩展新指令。课题设计方案1、课题设计方案1.1、基础知识和熟悉平台 首先、熟悉平台,了解设计指令的平台操作和各个部分模块功能,如图:微命令写入到ROM中模块:测试查看当前微指令地址等各寄存器的值: 扩展指令,学习指令的格式,类型,寻址方式为后面实践动手打下理论基础,教学机器指令格式如图:操作码DRSRI/O端口地址/相对偏移量立即数/直接内存地址/变址偏移量根据不同的标准,16位机的指令可划分为不同的指令:指令长度区分,有单字指令和双字指令,也允许定义和使用三字指令。 操作数的个数,有双操作数指令、单操作数指令和无操作数指令。寻址方式区分,寄存器寻址、寄存器间接寻址、立即数寻址、直接寻址、变址寻址、相对寻址等寻址方式。课题设计方案微指令是由微命令和下地址两个字段组成的,所以要进一步了解微命令。微命令控制信号等各个部件的联系。要知道了各个控制位的功能。了解和学习基础知识,又熟悉了仿真软件的使用,可以进行下一步找出问题,设计指令解决问题。1.2、问题设计与分析 问题提出实现的求值,即=2+2+2+2实现文字描述:把1放到DR和R11中,n值(即SR中的数值)放到寄存器R14中,R14控制循环次数,进入扩展的指令时要保存R5即PC值到R15寄存器,当指令结束时用于恢复PC值。将R11中的值乘以2,循环一次,结果加上DR中的值放入到DR中。 1.3、指令设计过程 指令常用类型(只写出部分类型)平台种类操作数长度指令格式指令举例TEC200016位121OP DR,SROP DR,SROP DR,SRadd R0,R1ldrr R2,R3strr R4,R52311OP DR,0000dec R04122OP DR,ADDROP DR,DATAOP ADDR,SRldra R0,1000hmvrd R1,2000hstra 3000h,R2我们选用指令类型41,两个操作数,OP DR,DATA。将 1.2中的文字说明转换为表格形式,说明数据流向和操作。如下图:编号数据即操作1DATA 放入到DR中2DATA放入到R11中3DATA放入到R144DR减去R11结果到R15将DR值加1,即置16R11减去R14结果到R17R11加上1结果到R118将R5值放入到R15中9将R14自减110判断是否跳转且恢复R511将R11中的数左移1位12将R11加到DR中课题设计方案 1.4、指令详细说明 参数设置:文件名称为:zpzp.asm 设置指令名称,类型,入口地址。 文件(zpzp.asm)内容: zp 01001010 41 说明:zp为扩展指令名称,入口地址,指令类型 微命令详细说明: 对寄存器R11,R14,R15值放入到堆栈中,再恢复数据。地址功能下址地址功能下址4apush 010010115epopR11 010011005fR15 1c011000004cpush0100110160pop011000014dR140100111061push0100111162pop01100011核心微命令:地址功能下址501D mvrd0101000151DR-SR0101001052R11-SR0101001153R14-SR0101010054sub DR-R110101010155inc DR+10101011056sub R11-R140101011157inc R11+10101100058R15-R50101100159dec jrnz 且 R5B;Y输出SbI530000数据进行R+SB口1111指定寄存器R15A口0101指定寄存器R50SST0001接收标志位输出得值SSHSCI0000加0,通用寄存器逻辑移位DC20000寄存器接受信息不用DC10000内部总线信息来源来自开关说明:将R5即PC值放入到R15中用于当执行完该扩展指令时,恢复PC的值,即R5的值。微址:5a类别内容说明微址5a当前地址下址5e下一条指令的地址CI300011条件转移执行SCC300100程序执行方式0MRW0100无读写操作0I200100数据来源于A寄存器SaI860011累加器:F-B;Y输出SbI530000数据进行R+SB口0101指定寄存器R5A口1111指定寄存器R150SST0001接收标志位输出得值SSHSCI0000加0,通用寄存器逻辑移位DC20000寄存器接受信息不用DC10000内部总线信息来源来自开关说明:判断跳转并且将R5中的值恢复,即将R15中的值放入到R5中,PC值得到恢复。课题测试方案2、课题测试方案2.1、设计测试方案 设计编写一段汇编程序,在此程序中包含这个扩展指令,为了达到测试的效果,设计的测试程序要按照以下几点原则设计:1、测试指令的格式,操作数的类型。2、把数据放到不同的寄存器中测试,是否用了DR、SR字段。3、测试不同的数据放到相同的寄存器中,查看结果。注意:测试时要注意当前指令地址,涉及到的寄存器的值,在跳转时也要注意标志寄存器中的值的变化。2.2、编写程序及实例 测试文件名称:zp.asm 参数文件zpzp.asm(已经给出)。1、 测试指令格式:操作数zp R1,3hzp R1zp R1,R2预期结果编译通过错误错误2、 测试不同寄存器操作数zp R1,3hzp R4,3hzp R7,3h预期结果R1值:0fhR4值:0fhR7值:0fh3、 测试不同数据 数据zp R1,2hzp R1,3hzp R1,4h预期结果R1值:07hR1值:0fhR1值:1fh测试程序代码:zp.asmorg 2000h /起始地址从2000开始mvrd r1,2h /将R1赋上初始值zp r1,3h /测试zp扩展指令ret /程序结束end这里只是给出了一个例子,根据上面的列表要给出多个测试程序。例:mvrd r2,2h /将R2赋上初始值zp r2,3h /测试zp扩展指令参数设置:zpzp.asmzp 01001010 41说明:测试时要注意此指令在运算过程中使用了寄存器R11,R14,R15,所以测试或使用时要避开这些寄存器,这些算是zp扩展指令的保留寄存器,所以不可以使用,但是指令中包含将这些指令中的值放入到堆栈并且恢复,所以不需要再在此指令前后进行压栈和出栈的操作。课题测试方案2.3、测试指令过程 1、打开实验仿真软件,导入SSC gal文件,参数设置,设置为zpzp.asm。 2、导入已经编写好的ROMS文件。ROM1ROM7和MAPROM文件。 3.将编写的汇编程序zp.asm导入进行测试(zp.asm和zpzp.asm要在同一个目录下面即同一个文件夹)。2.4、优化扩展指令 指令设计满足高效率低资源正确地运算结果。 1、减少寄存器的使用,尤其是中间寄存器,使用寄存器的优点是效率高,但是寄存器的数量是有限的几个,为了节省寄存器的使用,可以把某些数值压入堆栈,但是耗时相对高,这是要根据指令的性能要求,选择不同的方式,而且要尝试Q寄存器的使用,总之,综合考虑达到最优。 2、算法设计上要根据平台特点,设计出优化的算法,减少微指令的条数,减少周期,从而提高效率。 错误及结果分析3、错误及结果分析3.1、实验结果分析 测试最终结果:操作数zp R1,3hzp R1zp R1,R2预期结果编译通过错误错误测试结果编译通过错误错误操作数zp R1,3hzp R4,3hzp R7,3h预期结果R1值:0fhR4值:0fhR7值:0fh测试结果与预期一致与预期一致与预期一致数据zp R1,2hzp R1,3hzp R1,4h预期结果R1值:07hR1值:0fhR1值:1fh测试结果与预期一致与预期一致与预期一致 通过以上测试结果可以看出扩展指令zp是可以正确运算得到结果的。当然在测试过程中出现了一些问题,经过修改和重新设计,达到了最终的正确结果。3.2、设计和测试过程中的错误汇总及解决办法 1、开始设计时没有考虑寄存器的使用和恢复寄存器的原始值。 为了指令的方便使用,在指令内写定要压入堆栈的寄存器的数值并在要结束指令前,恢复中间寄存器的数值。这样在周期上增加了,但是方便了用户的使用。 2、在循环时使用了跳转,但是当指令结束后,无法正确地跳转到下一条指令从而进入死循环。解决办法,就是在进入此指令并要在跳转之前将R5寄存器的数值即PC值保存下,指令结束时恢复R5的数值,即可正常运行到下一条指令。在这里 PC的值有两种保存,1、放入一个寄存器中;2、压入堆栈。考虑到寄存器有富余,为了提高效率,使用了寄存器保存。 3、参数文件和测试文件编辑正确,出现下面情况:解决办法:1、 参数文件和汇编文件同目录若扩展了指令,需要设置该文件名才能正确编译。保证此文件盒待编译的汇编文件在同一个目录下。2、 重新导入汇编文件错误及结果分析3.3、总结问题解决方法和注意事项1、当在向ROM中录入微指令时,要注意及时点击”update”按钮,才能将指令写入ROM文件(仿真芯片),当录入完成时,这时候并没有将指令保存,需要点击”生成新文件”,即得到一个ROMS文件夹,此时就完成了指令的编写,不要匆忙关闭仿真软件,否则要重新编写。2、在循环时用跳转实现,循环条件的控制无非是用四个标志寄存器的值来实现,但是最好只使用其中的一个标志位,就是说在一个指令中只使用一个标志位来判断是否跳转。例如jrnz是判断Z标志寄存器。3、还有重要的是Sa和Sb的设定。Sb和Sa是源操作数的标志,有两个来源,当Sa设置0的时候,Sa代表微指令里的A口,写入ROM中,指定寄存器。当Sa设置1的时候,Sa的数据来源是程序中的标示的SR字段。Sb的设置同上,只是当Sb设置为0时,Sa对应B口,当Sb设置为1的时候,对应的数据来源是DR字段。课题设计心得心得体会:通过本次的计算机组成原理的课程设计,完成了指令的扩展,但是从中学到了和巩固了原有的很多知识。但是当初刚开始着手做的时候,自己却无从下手,刚拿到TEC-2000仿真软件的时候,根本无法使用和各模块功能作用,但是在复习了平台的原理和指令,掌握了原理,再看仿真平台,就很清楚各个模块的功能,例如ROM文件也就是真正对应存储指令的存储器。要设计指令,首先要学习指令的类型,格式等知识;其次再根据问题设计算法,选择指令类型和格式,设计出指令;最后测试指令,遇到问题,找到解决办法,还有重要的是指令正确执行,可以得到正确结果后,还有一点很重要的是指令的优化。这些都是以前课本上学习的知识,只有真正运用到实践中是,才能不断加深对其的理解。通过两周的学习和实践,理解了微程序控制器的设计思想。通过上面的总结课看出,遇到问题,设计方法,优化方法。此次课程设计不仅仅很好地使我学习了计组的指令等方面的知识,而且很好地锻炼了我的思维,遇到问题解决问题的能力。在此次课设中,遇到问题,通过和同学交流,学到了更多的知识和经验。希望在今后的学习中,自己仍可以勤于动手,将所需知识很好地运用到实践当中,使自己的学习能力进一步提高。计 算 机 科 学 学 院本科课程设计量化评分标准 (计算机系统结构类) 学生姓名: 指导教师: 年级和专业: 09级计算机科学与技术 指标最高分评分要素评分方案设计20课题明确;总体功能描述及总体电路框图清楚;课题分工明确,分功能概述及电路接线图清晰;测试方案合理可行,理论结果正确。调试20平台使用熟练;电路信号控制正确;测试数据设置得当;仿真熟练,结果完整。验收20经过自行调试之后,确认一切准备就续即可请求老师给予验收。一次验收通过最高可给20分,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安保考试题及答案
- 抉择考试题及答案
- 中级财务会计学(湖南工学院)知到智慧树答案
- 妊娠期高血压知识考核试题(含答案)
- 中外文学经典导读知到智慧树答案
- 成人住院患者跌倒风险评估及预防考核试题和答案
- 中药知识二模拟试题及答案
- 药品经营企业计算机系统培训考试试题(附答案)
- 中学化学教学设计(山西师范大学)知到智慧树答案
- 2025年度蔬菜种植与农产品电商平台会员积分体系合同
- 《小肠的结构与功能》课件
- 教师违反职业道德行为处理办法培训
- 高中生德育教育主题班会
- 婚介服务协议书范本
- 2025届高考作文备考之主题素材:家国情怀
- 蜜雪冰城加盟合同(2025年版)
- 消毒供应质量控制指标(2024年版)
- ACS合并消化道出血治疗策略
- 数字化转型视角下H公司订单管理优化策略研究
- 精益管理看板
- 汽车产品初期流动管理计划
评论
0/150
提交评论