计算机硬件课程设计报告--基于微程序的复杂模型机设计_精品.doc

计算机硬件课程设计报告--基于微程序的复杂模型机设计_精品.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机硬件课程设计报告--基于微程序的复杂模型机设计_精品

硬件课程设计报告 —— 基于微程序的复杂模型机设计 一、实验目的 经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,这在硬件方面是一个提高,进一步培养实践能力。 二、实验内容 搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。 设计思路 1.确定设计目标:确定所设计计算机的功能和用途。 2.确定指令系统:确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。 3.确定总体结构与数据通路:总体结构设计包含确定各部件设置以及它们之间的数据通路结构,列出各种信息传送路径以及实现这些传送所需要的微命令。 4.设计指令执行流程:数据通路确定后,就可以设计指令系统中每条指令的执行流程。根据指令的复杂程度。每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需要考虑哪些微操作可以安排在同一个微指令中。 5.确定微程序地址:根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。 6.根据微指令格式,将微程序流程中的所有微操作进行二进制代码化,写入到控制存储器中的相应单元中。 7.组装、调试:在总装调试前,先按功能模块进行组装和分调,因为只有功能模块工作正常后,才能保证整机的运行正确。 四、指令系统列表 指令系统应包括:算术逻辑运算指令、访存指令、控制转移指令、I/O指令、停机指令。 一般指令格式: 模型机的指令系统: 指令名称 操作码 指令功能 Mov1 0000 寄存器之间的移动 Add 0001 相加 Store 0010 从寄存器放入内存 Read 0011 从内存读入寄存器 Jmp 0100 跳跃到某一步 Rcl 0101 逻辑左移 Xor 0110 做异或 i/o读 0111 读取端口信息 i/o写 1000 往端口写信息 Mov2 1001 将立即数放入寄存器 微操作流程图 R2-LDDR2 六、实现程序 $P0030 $P0140 $P0201 $P0335 $P0450 $P0511 $P0625 $P0760 $P0861 $P0955 $P0A90 $P0B90 $P0C80 $P0D03 $P0E70 $P0F00 $P1080 $P1101 $P1240 $P1300 七、微指令 $$M0101ED82 $M0200C050 $M1301ED85 $M0500E006 $$$M1101A203 $M0301B404 $M04959A01 $M1201ED87 $M0700E008 $$M1601A209 $M0901B40A $M0A699A01 $M1531820B $M0B11880C $M0C019801 $M1401ED8D $M0D00D181 $M1901ED8E $M0E009001 $M1701ED8F $M0F00E020 $$M1801EDA1 $M2100E022 $八、截图 Read r0 Mov r0,r1 Read r1 Add r0,r1 Xor r0,r1 Rcl r1 Mov 90h,r0 Out r0 03H In r0 00h Out r0 01h Jmp 00h 九、心得体会 硬件课程设计,从开始做的时候一片迷茫,到通过请教同学和查询书本而一点点的变清晰,再到最后自己做出来感觉很有成就感。 这个复杂机的构建必去年做的简单模型机要难得多了。别的不说单单是连线就花了我们很长的时间,更加打击人的是连完线才发现自己的机器是坏的。到了指令设计时从原来老师给出的5条确定的指令到自己设计完成的10多条指令。这个也是一个很大的挑战。在完成指令系统时,普通的add mov之类的还是简单的,但是到了rol这条指令时就不行了,因为我们从来没用过299.后来请教同学后才搞清楚的。最难的是做i/o读写这两条指令。这个以前真的是从来没有用过,起先也没同学知道。所以我们只好先查书,中午回去的时候再上网查询后才知道怎么做的。 总的来说这次课设锻炼了我的动手能力,让自己得到了很大的锻炼。但程序运行没问题时真是很兴奋啊。 本次实验有上学期实验的经历作为基础,我们大概了解目标是什么,最终的程序和演示方法是什么,不算完全不懂。虽然经过一个学期一开始对器件有点不太熟悉,都不知道每个功能部件干什么,但是经过一段时间熟悉,加上我们原来上学

文档评论(0)

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

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

1亿VIP精品文档

相关文档