复杂模型计算机的报告课程设计设计.docx
- 文档编号:26377935
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:24
- 大小:808.60KB
复杂模型计算机的报告课程设计设计.docx
《复杂模型计算机的报告课程设计设计.docx》由会员分享,可在线阅读,更多相关《复杂模型计算机的报告课程设计设计.docx(24页珍藏版)》请在冰豆网上搜索。
复杂模型计算机的报告课程设计设计
课程设计(大作业)报告
课程名称:
计算机组成原理
设计题目:
复杂模型计算机
院系:
信息技术学院
班级:
设计者:
学号:
指导教师:
设计时间:
2013.7.8~2013.7.12
昆明学院
昆明学院课程设计(大作业)任务书
姓名:
院(系):
信息技术学院
专业:
计算机科学与技术学号:
任务起止日期:
2013.7.8~2013.7.12
课程设计题目:
复杂模型计算机
课程设计要求:
1、先做基本模型计算机实验。
2、在基本模型计算机实验的基础上,进行复杂模型计算机设计
具体任务为:
①根据基本模型计算机的实验原理,设计复杂模型计算机的组成结构;
②画出复杂模型计算机的组成结构图;
③设计实验例程;
④输入程序,调试,运行;
⑤根据程序执行情况,画出程序运行的通路图,并描述程序执行的过程;
⑥总结心得体会,说明对此次课程设计的理解和建议;
3、撰写课程设计报告书。
报告书内容包含:
①复杂模型机原理描述,画出复杂模型计算机的组成结构图;
②设计实验例程;
③输入程序,调试,运行;
④根据程序执行情况,画出程序运行的通路图,并描述程序执行的过程;
⑤总结心得体会,说明对此次课程设计的理解和建议;
工作计划及安排:
星期一:
查阅有关资料,开始连接电路。
星期二:
检查电路,并开始运行。
星期三:
讨论运行中出现的问题,并调试出结果。
星期四:
开始写课程设计报告。
星期五:
完成课程设计报告。
在此过程中有不明白的地方与同组成员讨论并查阅相应资料。
指导教师签字
年月日
课程设计(大作业)成绩
学号:
姓名:
指导教师:
王震江
课程设计题目:
复杂模型计算机
总结:
本次课程设计中,刚开始接触题目的时候比较茫然,不知道改如何下手,在对设计题目的理解和分析之上就要花很长的时间。
但是仔细的分析之后,对实验的基本要求还是有了一定的理解。
通过这次课程设计,使我对简单模型机和复杂模型机的结构和设计有了更多的了解,也了解了程序在模型机中是怎样运行的。
我认为实验中最重要的是理解实验过程和微程序的设计。
先要读懂程序要做什么,然后要把实验过程转换成八位二进制指令代码,接下来要画程序流程图,最后就是把代码转换成模型机可处理的微指令代码。
微指令代码为模型机提供了每次需要进行什么操作,并且指出了下一条指令的地址,这样模型机就能自己连续的运行了。
在实验中,我发现团队合作也是学习中一项必不可少的因素,我们小组遇到问题时,经常进行讨论,每次讨论都能得到不少的收获,并且问题也能很快就能解决。
在做实验的时候,我们也会进行不同的分工,这样就加快了做实验的速度,所以团队合作精神也是非常重要的。
指导教师评语:
成绩:
填表时间:
指导教师签名:
课程设计(大作业)报告
一、题目分析
1.1课程设计题目
复杂模型机设计
1.2课程设计目的
综合运用所学计算机原理实验知识,设计并实现较为完整的计算机。
1.3设计要求
(1)确定设计目标
参考实验指导书上复杂模型机设计的过程,运用其微指令格式,独立设计指令系统。
并用该指令系统中的指令编一完成简单运算的程序(有数据输入和输出的)。
并进行调试运行。
(2)确定指令系统
确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。
(3)总体结构与数据通路
总体结构设计包含确定各部件设置以及它们之间的数据通路结构。
在此基础上,就可以拟出各种信息传送路径,以及实现这些传送所需要的微命令。
对于部件设置,比如要确定运算器部件采用什么结构,控制器采用微程序控制。
综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,采用何种方案的内总线及外总线。
数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。
(4)设计指令执行流程
数据通路确定后,就可以设计指令系统中每条指令的执行流程。
根据指令的复杂程度,每条指令所需要的机器周期数。
对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一个微指令中,哪些微操作不能安排在同一条微指令中。
(5)确定微程序地址
根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。
(6)根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码,写入到控制存储器中的相应单元中。
(7)组装、调试
在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的运行正确。
当所有功能模块都调试正常后,进入总调试。
连接所有模块,用单步微指令方式执行机器指令的微程序流程图,当全部微程序流程图检查完后,若运行结果正确,则在内存中装入一段机器指令,进行其他的运行方式等功能调试及执行指令的正确性验证。
二、指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器及转移指令和停机指令。
(1)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
D7D6D5D4
D3D2
D1D0
OP-CODE
Rs
Rd
其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:
选中的寄存器(Rs或Rd)
R0
R1
R2
寄存器的编码
00
01
10
(2)访存指令及转移指令
模型机设计2条访问指令,即存数(STA)、取数(LDA)、2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。
其格式如下:
D7D6
D5D4
D3D2
D1D0
D7····D0
OP-CODE
M
OP-CODE
Rd
D
其中,OP-CODE为操作码,Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:
寻址方式
有效地址
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(RI)+D
RI变址寻址
11
E=(PC)+D
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
(3)I/O指令
输入和输出指令采用单字节指令,其格式如下:
D7D6D5D4
D3D2
D1D0
OP-CODE
addr
Rd
其中,addr=01时,表示选中“输入单元”中的开关组作为输入设备,addr=10时,表示选中“输出单元”中的数码管作为输出设备。
(4)停机指令
这类指令只有1条,即停机指令HALT,用于实现停机操作,指令格式如下:
D7D6D5D4
D3D2
D1D0
0110
00
00
(5)指令系统
复杂模型机有16条基本指令,其中算数逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令一条。
表1列出了各条指令的格式、汇编符号、指令功能。
表1复杂模型机指令系统
助记符
指令格式
指令长度
(字节数)
指令功能
第一字节
第二字节
CLRrd
011100rd
无
1
0→RD
MOVrs,rd
1000rsrd
无
1
RS→RD
ADCrs,rd
1001rsrd
无
1
RS+RD+cy→RD
SBCrs,rd
1010rs,rd
无
1
RS-RD-cy→RD
INCrd
1011xxrd
无
1
RD+1→RD
ANDrs,rd
1100rsrd
无
1
RS∧RD→RD
COMrd
1101xxrd
无
1
→D
RRCrs,rd
1110rsrd
无
1
RS带进位循环右移一位,然后RS→RD
RLCrs,rd
1111rsrd
无
1
RS带进位循环左移一位,然后RS→RD
LDAM,D,rd
00M00rd
D
2
有效数据E→RD
STAM,D,rd
00M01rd
D
2
RD→有效地址E
JMPM,D
00M1000
D
2
有效地址E→PC
BZCM,D
00M11rd
D
2
当CY=1或ZI=1时,有效地址E→PC
INrd
010001rd
无
1
输入单元的数据→RD
OUTrd
010110rd
无
1
RD→输入单元
HALT
01100000
无
1
停机
三、总体设计
复杂模型机的数据通路框图如图2-7.根据机器指令系统要求,设计微程序流程图及确定微地址,如图2-8.
按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件
表2复杂模型机微指令结构图
微程序
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
控制信号
S3
S2
S1
S0
M
CN
RD
M17
M16
A
B
P
uA5
uA4
uA3
uA2
uA1
uA0
A字段
B字段
P字段
15
14
13
控制信号
12
11
10
控制信号
9
8
7
控制信号
0
0
0
0
0
0
0
0
0
0
0
1
LDRI
0
0
1
RS_G
0
0
1
P1
0
1
0
LDDR1
0
1
0
RD_G
0
1
0
P2
0
1
1
LDDR2
0
1
1
RI_G
0
1
1
P3
1
0
0
LDIR
1
0
0
299_G
1
0
0
P4
1
0
1
LOAD
1
0
1
ALU_G
1
0
1
AR
1
1
0
LDAR
1
1
0
PC_G
1
1
0
LDPC
其中uA5~uA0为6位的后续微地址,A、B、P为三个译码字段,分别由三个控制位译码出多位。
P字段中的P1~P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。
具体来说,P1测试用于“取指令”微指令,它用下址低四位(uA3~uA0)与指令寄存器高四位(IR7~IR4)相或得到各路分支;P2测试用下址低2位(uA1~uA0)与指令寄存器的IR3IR2相或得到各路分支;P3测试用于条件转移,它用下址的uA4与(ZI+CY)相或得到各路分支;
P4测试用于控制台操作,它用下址低2位(uA1~uA0)与SWB、SWA相或得到各路分支。
在上述各测试下址中未用到的位均直接保留。
AR为算术运算是否影响进位及判零标志控制位,其为零有效。
B字段中的RS_G、RD_G、RI_G分别为源寄存器选通信号,目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。
三字段中的其他位类似与此,均是某芯片的选通信号,它们的功能都是根据机器指令来进行相应芯片的选通译码。
复杂模型机的数据通路框图
图2-8复杂模型机微程序流程图
四、实验过程
4.1编写实验程序
实验例程如下:
本实验完成使用寄存器操作。
程序首先从数据输入开关采集数据放入R0中,经循环左移两次放入R1中。
然后再次从数据输入开关采集数据放入R0中,经循环右移一次与R1中的数据相加,其结果送到R1中,然后判断加法的结果是否有进位或为全零,若是就循环运行,否则,输出结果到数码管上显示。
实验的机器指令程序如下:
地址内容助记符说明
0044INR0:
输入单元数据→R0,第一次采集数据(设输入数据为14H)
01F0RLCR0,R0:
R0带进位左循环移位一次
02F1RLCR0,R1:
第二次左移后保存到R1中
0344INR0:
输入开关数据→R0,第二次采集数据(设输入数据仍为14H)
04E0RRCR0,R0:
R0带进位右循环移位一次
0591ADCR0,R1:
两数据相加
060CBZC00:
若有进位或结果为零,则跳到00地址单元
0700
0859OUTR1:
R1→输入单元显示
0960HALT:
停机
4.2连接实验线路
4.3写程序并运行程序
写入程序
Ⅰ、手动写入
(1)先将机器指令对应的微代码正确写入28C16中
(2)使用控制台WRITE和READ微程序进行机器指令程序的手动装入和检查,其操作如下:
A、使用控制台单元的SPO3为“STEP”状态,SPO4为“RUN”状态,SPO5处于“NORM”状态,开关SPO6处于“RUN”状态。
B、拨动开关单元的总清开关CLR(1→0→1),微地址寄存器清零,程序计数器清零。
然后使开关单元的开关SWB、SWA为“01”,按动一次控制台单元的触动开关START,微地址灯将显示为“001001”,再按动一次START,微地址灯显示为“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。
C.校验。
拨动开关单元的总清开关CLR(1→0→1),微地址清零。
PC程序计数器清零,然后使开关单元的开关SWB、SWA为“00”,按动控制台单元的触动开关START,微地址灯将显示为“010000”。
再按START,微地址灯显示为“010010”,第三次按动START,微地址灯显示为“010111”,再按START后,此时输出单元的数码管显示为该首地址中的内容。
不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。
每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。
Ⅱ、手动运行程序
(1)单步运行程序
A、使控制台单元的开关SPO5处于“NORM”状态,SPO6处于“RUN”状态,SPO3为“STEP”状态,SPO4为“RUN”状态,开关单元的开关SWB、SWA为“11”。
B、拨动开关单元的总清开关CLR(1→0→1),微地址清零,程序计数器清零,程序首地址为OOH。
C、单步运行微指令,每按动一次控制台单元的START触动开关,即单步运行一条微指令,
D、当运行结束后,可检查运行结果是否和理论值一致。
如果运行结果保存在RAM的某一单元中,则可以使用手动写入的校验方法将其读出。
(2)连续运行程序
A、使用控制台单元的开关SPO5处于“NORM”状态,SPO6处于“RUN”状态,SPO3为“RUN”状态,SPO4为“RUN”状态,开关单元的开关SWB、SWA为“11”。
B、拨动开关单元的总清开关CLR(1→0→1),微地址及程序计数器清零,然后按动控制台单元的START触动开关,系统连续运行程序,稍后将控制台单元中的SPO4拨至“STOP”时,系统停机。
C、停机后,可检查运行结果是否正确。
如果运行结果保存在RAM的某一个单元中,则可以使用手动写入的校验方法将其读出。
4.4运行结果
1、输入单元数据→R0,第一次采集数据(输入数据B0)
2、R0带进位左循环移位一次
2、第二次左移后保存到R1中
3、输入开关数据→R0,第二次采集数据(输入数据B0)
4、R0带进位右循环移位一次
5、两数据相加
6、若有进位或结果为零,则跳到00地址单元,R1→输出单元显示,然后停机。
.
五、程序代码
程序的机器指令如下:
六、参考文献
[1]白中英等.计算机组成原理科学学出版社第四版,2008.
[2]陈书开等.计算机组成原理与系统结构[M].武汉大学出版社,2006.
[3]刘荣兴.计算机组成原理课程设计[M].山东:
山东大学出版社,2002.
[4]钟友鹏.计算机组成原理课程设计与指导[M].江苏:
江苏科技出版社,1988
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复杂 模型 计算机 报告 课程设计 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)