复杂模型机课程设计报告Word文档格式.docx
- 文档编号:18779760
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:15
- 大小:208.57KB
复杂模型机课程设计报告Word文档格式.docx
《复杂模型机课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《复杂模型机课程设计报告Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
2.通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念,加深计算机“时空”概念的理解。
3.培养独立工作和创新思维的能力,取得设计与调试的实践经验。
三、主要内容
综合运用所学计算机原理知识,利用TDN-CM++教学实验系统设计并实现的模型机。
设计总体结构及机器指令、微指令。
根据设计的接线图搭好模型机电路,利用设计的指令编写程序并在机器上运行。
四、设计要求
在掌握“TDN-CM++计算机组成原理教学实验系统”原理的基础上,以此实验系统为平台,设计一台微程序控制的模型计算机。
1.设计模型机硬件(需含计算机基本组成,即CPU、内存、I/O接口、输入设备、输出设备、总线等,CPU为微程序控制器类型),设计总体结构及数据通路框图。
2.设计模型机指令系统(含设计机器指令、微指令格式、每条指令所对应的微程序等)。
3.利用模型机指令系统,编写汇编语言程序,分别完成下列功能:
(1)将数据输入开关上的数据在LED上显示出来。
(2)编程序完成功能:
LED上的数从1以步长1往上递增。
(3)编程序完成功能:
S=1+2+3+4+5+…,要求在LED上循环显示结果1、3、6、0A、…。
调试、运行通过后将程序写在下面。
4.根据以上软硬件设计,在“TDN-CM++计算机组成原理教学实验系统”上调试,检测实现的功能是否达到设计要求。
5.撰写课程设计报告(文件名:
学号姓名.doc),课程设计报告中所规定的图文齐全、符合要求、结构合理、文章通顺;
能对实验中出现的问题提出改进意见并加以分析说明。
五、进度安排
本学期第17-18周。
6月11日-6月12日:
资料查找、设计总体结构及数据通路框图。
6月13日-6月14日:
设计模型机指令系统。
6月15日-6月20日:
搭建模型机、整机调试。
6月21日-6月22日:
资料整理、课程设计说明书编写。
六、完成后应上交的材料
一、数据格式及指令系统
1.数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
7
6543210
符号
数据
其中,第7位为符号位,数值表示范围是:
-27≤X<27-1。
2.指令格式
模型机设计4大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
(1)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
Rs
Rd
其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:
RS或RD
选定的寄存器
00
R0
01
R1
10
R2
9条算术逻辑指令的名称、功能和具体格式见表1。
(2)访问指令及转移指令
模型机设计2条访问指令,即存数(STA)、取数(LDA);
2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式如下:
76
54
32
00
M
D
其中,OP-CODE为操作码,Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:
寻址方式M
有效地址E
说明
00
01
10
11
E=D
E=(D)
E=(RI)+D
E=(PC)+D
直接寻址
间接寻址
RI变址寻址
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
(3)输入输出(I/O)指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
addr
其中,addr=01时,选中“INPUTDEVICE”中的开关组作为入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。
(4)停机指令
停机指令格式如下:
76543210
00
HALT指令,用于实现停机操作。
3.指令系统
本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其他它指令1条。
表1列出了各条指令的格式、助记符和功能。
表1指令系统编码
序号
汇编符号
指令格式
功能说明
1
CLRRd
011100Rd
0→Rd
2
MOVRS,Rd
1000RSRd
RS→Rd
3
ADCRS,Rd
1001RSRd
Rs+Rd+Cy→Rd
4
SBCRS,Rd
1010RSRd
Rs-Rd-Cy→Rd
5
INCRd
101100Rd
Rd+1→Rd
6
ANDRS,Rd
1100RSRd
Rs∧Rd →Rd
COMRd
110100Rd
Rd →Rd
8
RRCRS,Rd
1110RsRd
Rd带进位右循环一位,RS→Rd
9
RLCRS,Rd
1111RsRd
Rd带进位左循环一位,RS→Rd
LDAM,D,Rd
00M00Rd,D
(E)→Rd
11
STAM,D,Rd
00M01Rd,D
Rd→(E)
12
JMPM,D
00M1000,D
E→PC
13
BZCM,D
00M1100,D
当CY=1或Z=1时,E→PC
14
INaddr,Rd
010001Rd
(addr)→Rd
15
OUTaddr,Rd
010110Rd
Rd→(addr)
16
HALT
01100000
停机
二、总体设计
本模型机的数据通路如图1所示。
根据机器指令系统要求,设计微程序流程图及确定微地址,如图2所示。
图1复杂模型机数据通路图
按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表2。
表2
24
23
22
21
20
19
18
17
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
Cn
WE
A9
A8
A
B
C
uA5
uA4
uA3
uA2
uA1
uA0
A字段B字段
选择
9
8
7
LDRi
RS-B
P
(1)
LDDR1
RD-B
P
(2)
LDDR2
RI-B
P(3)
LDIR
299-B
P(4)
LOAD
ALU-B
AR
LDAR
PC-B
LDPC
字段
图2微程序流程图
三、实验步骤
1.按图3连接实验线路,仔细查线无误后,接通电源。
2.写微程序:
与PC联机,将实验微程序装入TDN-CM++机中或脱机时手动将本实验微程序写入TDN-CM++中,手动写入的方法如下:
(1)编程
①将编程开关置为PROM(编程)状态。
②将实验板上STATEUNIT中的STEP置为“STEP”,STOP置为“RUN”状态。
③用二进制模拟开关置微地址μA5~μA0(如图3须将此六线排针接开关单元)。
④在MK24~MK1开关上置微代码,24位开关对应24位显示灯,开关量为“0”时灯亮,开关量为“1”时灯灭。
⑤启动时序电路(按动启动按纽START),即将微代码写入到E2PROM2816的相应地址对应的单元中.
⑥重复③~⑤步骤,将本实验给出的十六进制格式文件转换的二进制代码写入2816。
(2)校验
①将编程开关设置为READ(校验)状态。
②将实验板的STEP开关置为“STEP”状态,STOP开关置为“RUN”状态。
③用二进制开关置好微地址μA5~μA0。
④按动START键,启动时序电路,读出微代码.观察显示灯MD24~MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。
如果不同,则将开关置于PROM编程状态,重新执行(A)即可。
3.写程序
使用软件中的F4—LOAD功能装入机器指令格式文件。
4.运行程序。
(A)单步运行程序
①使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。
②拨动总清开关CLR(0→1),微地址清零,程序计数器清零,程序首址为00H。
③单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
(B)连续运行程序
①使STATEUNIT中的STEP开关置为“EXEC”状态,STOP开关置为“RUN”状态。
②拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
将实验现象与理论分析比较,验证系统执行指令的正确性。
图3复杂模型机实验接线图
四、实验程序如下:
1.递增:
程序功能是1+2+3+4+……自动递增。
每递增一次就输出结果一次
程序助记符
$P0070CLRR0
$P01B0INCR0
$P0258OUT10,R0
$P0308JMP00,01
$P0401
$M0D00A00E
$M0E01B60F
$M0F95EA25
$M1001ED83
$M1101ED85
$M1201ED8D
$M1301EDA6
$M14001001
$M15030401
$M16018016
$M173D9A01
$M18019201
$M1901A22A
$M3405DB81
$M35B99B41
$M360D9A01
$M37298838
$M38019801
$M3919883A
$M3A019801
$M3B070A08
$M3C068A09
$M1A01B22C
$M1B01A232
$M1C01A233
$M1D01A236
$M1E318237
$M1F318239
$M20009001
$M21028401
$M2205DB81
$M230180E4
$M24018001
$M2595AAA0
$M2600A027
$M2701BC28
$M2895EA29
$M2995AAA0
$M2A01B42B
$M2B959B41
$M2C01A42D
$M2D65AB6E
$M2E0D9A01
$M2F01AA30
$M300D8171
$M31959B41
$M32019A01
$M3301B435
微程序
$M00018108
$M0101ED82
$M0200C050
$M0300A004
$M0400E0A0
$M0500E060
$M0600A007
$M0700E0A0
$M0801ED82
$M0901ED8C
$M0A00A03B
$M0B018001
$M0C00203C
2.累加2:
程序功能:
2+4+6+10+…….,每递增一次就输出结果一次
$P0070CLRR0
$P0171CLRR1
$P02B0INCR0
$P03B0INCR0
$P0491ADCR0,R1
$P0559OUT10,R1
$P0608JMP00,02
$P0702
微程序:
同上程序一样
课程设计总结以及心得体会
这次课程设计前前后后花了两周的时间,大部分时间花在了对设计题目的理解和分析之上。
刚开始接触题目的时候比较茫然,于是在实验五上下了一些功夫,基本了解试验设计的大致思路。
在设计过程中,我们屡次碰壁,但是我们坚持不懂就问,在自己的讨论和向别人的请教中,加深了理解,后来又由于自己分析的不周全,在P1测试是“或”还是“异或”犯了错误,而导致设计的流程中地址代码全部出错,我们不得不重新设计地址代码。
等等类似的问题还有很多,其实回头看看,在设计过程中多碰壁是好事。
其实这次设计不算顺利,虽然我和王继波最后顺利完成了设计任务,但是我觉得从团队的角度来说,一种顺利的合作,还说不上。
1)首先,作为团队,我们没有把各自的任务分配清楚,而是一起走步,我觉得这样遇到问题的时候容易产生依赖心理,也不容易调动每个人的积极性。
明确的分工是合作的必要因素,而遇到问题集体讨论才是发挥集体力量的时候。
2)其次,我觉得我们没有在设计初期对问题的分析还不够深入,而在后期在遇到问题的时候有点对自己的东西掌控不住的感觉。
我们基本上是走一步看一步,打个比方,把整个问题比作一棵树,我们在初期没有把整棵树进行遍历,以做到大致心中有数,而我们走的只是其中一枝,在遇到问题的时候在回过头找其他的树杈,却在岔路口徘徊。
3)总体上,我觉得我们比较乱,缺少条理性或者是规划。
我个人以前独自做课程设计的时候,都习惯先分析,再动手,而这次总体上不是这种风格。
也许这里面涉及到一个集体合作的融洽性问题,但是我倒觉得有个进行总体部署的“牵头人”比较好。
七、总评成绩
指导教师签名日期年月日
系主任审核日期年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复杂 模型 课程设计 报告