- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)