计算机组成原理课程设计a,计算机组成原理课程设计报告.doc

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机组成原理课程设计报告.doc

(13页)

427df29c605fca86b9a8124f1f5671cd.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.90 积分

计算机组成原理课程设计报告实验项目:1、设计一个具有带进位加法和立即数寻址方式的模型机2、设计一个具有带进位加法和条件跳转的模型机专 业: 计算机科学与技术 班 级: 09级37-3班 学 号: ——————姓 名: 合 作: 指导教师: 实验时间: 2011-6-15 ~~ 6-17 实验一:设计一个具有带进位加法和立即数寻址方式的模型机1、问题描述本题目设计的是一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。2、设计目标在设计完本程序后,所设计模型机能够完成从一个外设输入一个数到指定的寄存器中,另外输入立即数并将其存入另一个、寄存器中,两数进行进位相加并将结果保存到第一个寄存器,输出结果,并显示。另外,实现无条件跳转至开始。3、指令格式助记符号机器指令码功 能IN0000 0000Input -> R0ADC Imm1110 0000 XXXX XXXXR0+Imm+CY -> R0STA addr0010 0000 XXXX XXXXR0 -> [addr]OUT addr0011 0000 XXXX XXXX[addr] -> LEDJMP addr0100 0000 XXXX XXXX[addr] -> PC4、设计微指令(1)定义指令码,及定义一个下地址为08H指令指令编码微地址IN0000 000008ADC0001 000009STA0010 000010OUT0011 000011JMP0100 000012 (2)设计微指令编码表微地址S3S2S1S0MCnWEA9A8ABCUA5-UA000000000011000000000000001010000000111101101100000100200000000110000000100100008000000000001000000000001090000000111101101100000110300000000101100000000010004000000011010001000000101051001000110011010000000010A00000001111011011000011006000000001110000000000111070000001010000010000000010B0000000111101101100011010D0000000011100000000011100E0000000010010000000011110F0000001100000010000000010C00000001111011011001000010000000001101000110000001(3)微程序流程图(4)由编码得到微程序根据以上编写的微程序,以及微指令代码化的方法得到的微程序代码为:$M00018001$M0101ED82$M0200C048$M08001001$M0901ED83$M0300B004$M0401A205$M05919A01$M0A01ED86$M0600E007$M07028201$M0B01ED8D$M0D00E00E$M0E00900F$M0F030201$M0C01ED90$M1000D181(5)写工作程序$P0000$P0110$P0222$P0320$P0401$P0530$P0601$P0740$P0800(6)建立联机操作文件为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:a、 测试用的工作程序排在文件的前面,每个内存地址及代码占一行;b、 微指令代码排在文件的后面,每个微地址及微指令代码占一行;(7)按照实验电路图连接实验线路实验采用复杂模型机系统连线图,电路图如下:(8)运行(a)系统与PC机联机实验系统安装有一个标准的DB型9针RS-232C串口插座,使用配套的串行通信电缆分别插在实验系统及PC机的串口,即可实现系统与PC机的联机操作。(b)下载工作程序和微程序使用唐都软件将工作程序和微程序下载到实验箱的内存和控制存储器中。其中,自带电 线的实验箱用NCMP53软件,启动软件后使用F4[装载]进行下载;外接电源线的实验箱用CMPP软件,启动软件后在菜单中选择[转储]/[装载]进行下载。(c)运行实验原理图,及数据流程图如下:(9)调试以及调试过程(把写好的程序下载到唐都实验箱,打开软件复杂模型机的原理图,按步骤点击单步运行,查看运行的指令和微指令的过程)调试发现问题:a、 刚开始时点击时,机器不运行。b、 DR1与DR2相加结果不正确。c、 从R0到内存STA存数指令的存数操作有误,R0-B打开的同时把AR的LDAR也打开了,造成指向内存单元改变。也就造成输出时的数据不正确和。d、 修改上一条错误后,误把R0数据存在01单元,覆盖了原来的指令,当跳转指令跳转回到原来程序的开头时,执行第二次就发生了错误。所以针对以上问题,都一一地找到相应的错误之处和解决方法:a1、连线有错误,检查后发现错误之处,并改正b2、改变s3到s0 ,改为1001(带进位加法)c3、由于疏忽造成,修改对应的LDAR开关编码d4、修改$P程序,存到没用的内存上述问题解决之后,程序便可运行出结果。(10)运行结果在上图中会执行INPUT到R0,然后从内存中取出一个数放到DR2中,R0内的数放到DR1中,DR1+DR2+cy放到R0中,再将R0内的数显示到LED上。实验二:设计一个具有带进位加法和条件跳转的模型机1、问题描述本题目设计的是一台具有输入、输出、数据传送、带进位加法、条件跳转,停机功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。2、指令格式助记符号指令格式功 能MOVrs,rdXXXX Rs RdRs->RdADCrs,rdXXXX Rs RdRs+Rd+CY -> R0BZCD00 00 00 00 D当cy=1或z=1时,D->PC否则,顺序执行。INrdXXXX 01 RdSW->rdOUTrdXXXX 10 RdRd -> LEDHALTXXXX 0000停机3、设计微指令(1)定义一个下地址为20H指令指令编码微地址IN0011 000023MOV0010 000022ADC0001 000021BZCD0000 000020OUT0100 000024HALT0101 000025(2)设计微指令微地址S3S2S1S0MCnWEA9A8ABCUA5-UA000000000011000000000000001010000000111101101100000100200000000110000000110000020000000011000000011000001110000000111101101100000110300000000110100011000000121000000011010010000000100040000000110110010000001010510010001100110100000000122000000011001001000000001230000000000010000000000012400000001000000100000000125000000011000000000100101(3)画出微程序流程图(4) 微程序代码根据以上编写的微程序,以及微指令代码化的方法得到的微程序代码为:$M00018001$M0101ED82$M0200C060$M200180C1$M1101ED83$M0300D181$M2101A404$M0401B205$M05919A01$M22019201$M23001001$M24030201$M25018025(5)设计工作程序代码,以测试微程序$P0035$P0124$P0235$P0314$P0444$P0500$P0607$P0750(6)按照实验一建立联机文档并按照书本《计算机组成原理课程设计》的附录2(系统连线参考图)进行连线。(7)运行与调试把程序下载但唐都实验箱进行运行和调试。通过调试发现的问题:A、 不知道R1、R2、R0三个寄存器的关系(请教老师解决)。B、 运行第一条指令后便停滞,不再执行下面的操作。C、 解决a后,从输入模块输入到R1或R2都不能实现。D、 条件跳转指令后,执行非设计程序,程序跑飞了。通过前面的几次实验,已经获得部分解决方法的经验B1、检查连线未能发现问题,估计可能是哪里接触不良,故而弃之,换实验箱,重新调试,发现可以运行的。C2、自己未能找出错误所在,请教老师,指出连线上,我们仍采用的是原来电路图,因而没有把R1、R2寄存器连到电路中。D3、未设置好跳转的方向,最后使其跳转到停机指令,使其处于停机状态。(8)运行结果 程序会先从SW读一个数放到R1中,然后将R1内的数转移到R0中,然后将R0内的数放到DR1,R1中的数放到DR2,然后DR1+DR2+cy放到R0中,然后将R1内的数显示到LED上,下一步就进入了停机的死循环。实验总结与心得体会经过两三天的课程设计,给我个人的感觉有进步、好玩。为何如此说呢?对于我个人来讲,我是比较喜欢实验课的,因为一来实验课比理论课有意思一点,二来,通过现象和操作更容易理解理论的内容。更何况,实践是检验真理的唯一标准,只有通过实践才能更好的理解和记忆我们的理论知识。通过此次课程设计,我更深入的了解到了计算机工作的过程和原理,特别是在指令的执行。虽然原来在理论课上讲解过,但是单单从字面上我一直没有完全搞明白,而实验却让人顿悟。而课程设计又给我们提供了一个良好的学习机会,我们可以和老师或者同学尽情地交流,发表自己的观点,在相互交流讨论合作中,相互促进,共同进步,提高了学习的效率和学习的激情。- 13 - 关 键 词: 设计 组成 报告 课程 原理 计算机

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB学习笔记三:查询

MongoDB中使用find来进行查询。查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合。find的第一个参数决定了要返回哪些文档,其形式也是一个文档,说明要执行的查询细节。空的查询文档{}会匹配集合的全部内容。要是不指定查询…

计算机基础 课程简介,课程简介及计算机基础知识课件.ppt

文档介绍:C语言程序设计主讲教师:王伟****************qtc.课程简介:课程类别:专业计划学时:644学时/周16周课程学分:4课程学****结束后要求达到的要求掌握C语言的基础知识能在TurboC和VC的环境中设计程序实现解决小规模问题上课要求:不迟到、不早退,有事和身体原因…

困扰程序员的30种软件开发问题,你是否时曾相识?

我相信许多web开发人员和软件工程师在编程中都会遇到困难,而事后回想起来,还会觉得很好笑。1、我不知道该删掉还是重写回归曾经写的源代码,总有一种想要重新返工的冲动,逻辑性差,冗余代码多,让人难以理解。…

SQl 作业方面(转)

企业管理器 --管理 --SQL Server代理 --右键作业 --新建作业 --"常规"项中输入作业名称 --"步骤"项 --新建 --"步骤名"中输入步骤名 --"类型"中选择"Transact-SQL 脚本(TSQL)" --"数据库"选择执行命令的数据库 --…

燕山大学计算机专业研究生怎么样,求助大家!重庆邮电大学计算机专业的研究生值得一读吗?...

求助大家!重庆邮电大学计算机专业的研究生值得一读吗? 魅力前线 yanshandaxue2008-4-22 1 / 13 aiyabukaoyan2008-4-22 16:28求助大家!重庆邮电大学计算机专业的研究生值得一读吗? 云南大学 yanshandaxue2008-4-22 1 / 13 每天一点…

有哪些新手程序员不知道的小技巧?

1.重构是程序员的主力技能。2.工作日志能提升脑容量。3.先用profiler调查,才有脸谈优化。4.注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。5.普通程序员google超级程序员。6.单元测试总是合算的。7.不要先写框架再写…

Bezier曲线

1. 学习网址 http://give.zju.edu.cn/cgcourse/new/book/8.2.htm转载于:https://www.cnblogs.com/icmzn/p/5082154.html

绝地求生登录计算机需要授权,绝地求生国服第三方授权登录异常解决方法 绝地求生国服授权登录错误怎么办...

近日,Steam第三方授权登录发生异常,导致所有需要Steam账号绑定登录的网站都出现登录错误,下面就为大家带来绝地求生国服第三方授权登录异常解决方法。绝地求生国服第三方授权登录异常解决方法老兵登机活动绑定公告亲爱的老兵们:今…

USE平台构件属性无法显示的一种解决办法

国开行USE平台,构件属性无法完整显示,是因为ADSafe(净网大师)的拦截。关闭掉净网大师就OK了。转载于:https://www.cnblogs.com/helloIT/articles/5082188.html

SQL Server索引怎么用

什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有…

EF 实现自定义数据库字符串

1、EF模板生成继承DbContext的类文件重新建一个部分类文件避免每次生成实体都会覆盖掉。2、重新构造调用数据库连接字符串的函数VS模板生成示例:public Test_DBEntities(): base("nameTest_DBEntities"){} 重写函数public Test_DBEntities(string conn…

函数及自定义函数

SQL Server中的函数(字符串函数,日期函数,数学函数,系统函数) 字符串函数(用于控制返回给用户的字符串) 1.charindex 寻找一个指定的字符串在另一个字符串中的起始位置 select charindex (JB…

链表定义、链表的插入、链表的删除、链表的查找

链表的定义 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两…

原神服务器维护后抽奖池会更新吗,原神:武器池改动,玩家的诉求再次得到反馈!PS端将与官服互通!...

大伙直播都看了吗?反正我看完了。现在满脑子都是大伟哥的嗯典。这好吗?这不好。但是没有关系,内容还是有的。首先,剧情上的雷神确立了,就是这位大姐。(好像有什么锋利的东西悬在了我的头顶,不过这上面&…

EF性能优化(一)

1、EF SQL监控工具目前采用SQLServer 自带的SQL Server Profiler来监控执行的sql,或者采用第三方插件MiniProfiler,具体用法可以网上查一下。2、EF使用SQlQuery 直接写sqlEF效率低于ADO.NET是因为LINQ-TO-SQL的过程消耗了时间。而使用SqlQuery则可以直接…

解决Genymotion下载设备失败的方法(Connection Timeout)

一直下载不下来,报错。 解决办法: 打开 C:\Users\用户名\AppData\Local\Genymobile目录 打开genymotion.log文件,在里面最下面几行,找到如下日志 [Debug] Downloading file "http://files2.genymotion.com/dists/4.4.4/ova/…

寻仙服务器要维护多久,寻仙手游几天开一个区

摘要寻仙手游最新开服时间表IOS和安卓,寻仙手游什么时候新增开服,开服时间公告。我们将于8月17日(周四)凌晨5:00-9:00对全服进行停机更新,请您提前保存游戏进程,安全下线。听到很多小伙伴都在讨论寻仙手游几天开一个区&#xff0c…

Linux常用初级指令介绍

touch 文件名 ------可创建一个文件(白色的字体)rm * -rf -------删除当前路径下的全部文件Ctrlc :----强行终止当前程序Ctrld -----退出终端Ctrls ----暂停当前程序,然后按下任意键恢复运行Ctrlz ----将当前程序放在后台运行,回…

如何写出安全的API接口

通过园友们的讨论,以及我自己查了些资料,然后对接口安全做一个相对完善的总结,承诺给大家写个demo,今天一并放出。对于安全也是相对的,下面我来根据安全级别分析1.完全开放的接口有没有这样的接口,谁都可以…

Linux系统文件编程(1)

打开文件 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);open----返回的是文件描述符是整形数(文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维…