计算机组成原理课程设计报告(指令设计).doc

计算机组成原理课程设计报告(指令设计).doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学学院 课程设计报告 课程 计算机组成原理 题目 用户输入数据的阶加 年级 2009级 专业 计算机科学与技术 学号 学生 任课教师 2012 年 月 日 课程设计题目 用户输入数据的阶加 验收 时间 2012年2月28日 验收 地点 指导 教师 小组 成员 具体分工 备注 无 课题总体设计思想概述 在TEC-2000教学计算机仿真软件系统的PC机上,用已有基本指令,运用已经掌握的指令格式、指令操作码编码、寻址方式和指令功能等基本内容,以及教学计算机总体组成和各部件的运行原理,完成扩展新的指令,使新指令能够在教学机上运行。 设计出新扩展指令的微程序段,合理安排到已有基本指令的微程序中。 课题设 计 目 的和原理 实验目的: (1)进一步熟悉教学计算机指令格式、指令编码、寻址方式和指令功能; (2)进一步熟悉教学计算机的总体组成和各部件的运行原理,理解指令的执行过程; (3)通过对指令系统的扩展,了解微程序控制器设计和实现的基本过程; (4)思考和讨论微程序控制器的特点并与组合逻辑控制器进行比较。 实验原理: 指令由微控制命令组成,可以通过微地址找到。通过更改下址可以把微程序串联起来。通过封装组合把一段微程序写成一条扩展的新微指令。 课 题 设 计 方 案 实验方案设计: 根据题目内容,把题目转化成数学公式为:N+(N-1)+(N-2)+···+1。 这个指令要求的指令之外首先把N的值放入r0寄存器中,结果也在r0中。 实现N+(N-1)+(N-2)+···+1此计数公式的汇编程序为: org 2000h push r8 push r14 mvrd r0,X (X为用户自定义的数) mvrd r8,X mvrr r14,r5 h: dec r8 add r0,r8 jrnz h pop r8 pop r14 ret end 把以上程序封装在设置好的扩展指令中,扩展指令为zxd46扩展指令的入口地址为38。 根据扩展指令,修改好的新ROM地址单元,如下示: 生成新的ROM文件,并保存。 微址、下址以及功能说明表: 微址 下址 功能说明 38 39 SP-1→SP,AR 将r8寄存器的值入栈 39 40 SR→MEM 40 41 SP-1→SP,AR 将r14寄存器的值入栈 41 42 SR→MEM 42 43 MVRD DR DATA 43 44 给r0赋值 44 45 给r8赋值 45 46 使r8的值减一,以实现控制循环的次数 46 47 将PC即r5(程序计数器)的值存入r14 47 51 跳转指令 如果r8的值0则顺序向下执行,否则跳转至51 48 49 跳转指令 如果r8的值0则顺序向下执行 49 50 ADD DR,SR 加运算,r0+r8→r0 50 45 还原PC即r5寄存器的值(即把r14的值给r5) 51 52 POP DR出栈 还原r8寄存器的值 52 53 53 54 POP DR出栈 还原r14寄存器的值 54 30 课 题 测 试 方 案 测试方案: (一)、导入准备好的MAPROM、ROM1~ROM7共8个二进制ROM文件后,装入设计的微程序方案。 (二)、导入如下汇编文件: org 2000h mvrd r8,8h mvrd r14,8h zxd r0,5h ret end (三)、在仿真软件的菜单栏→选项→参数设置中输入扩展指令的文件名地址:zhang.asm (四)、点击界面左上方的“交叉汇编”,进行交叉汇编得到: 07D0:mvrd r8, 8h 07D2:mvrd r14, 8h 07D4:zxd r0, 5h 07D6:ret (五)、点击Reset加电启动,准备执行导入的程序 (六)、进行单步执行,每次执行一条微指令,观察当前微地址项和各寄存器中值的变化以及标志位、指令等的情况并记录下来;也可点击“连续执行”直接得到结果。 错 误 及 结 果 分 析 实验过程中遇到的错误以及解决方案: 跳转指令修改之后,循环执行完成后不能正确执行下一条指令,程序陷入死循环。 解决方案:上一条有效的译码指令执行之后就保存PC的值(即先把PC的值保存在r14寄存器中),在下一条指令执行之前提取PC的值(即把原先保存的值,r14的值再还原给PC)。 实验结果分析: 条件 结果 理论值 实

文档评论(0)

li455504605 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档