基本模型机设计与实现.docx
《基本模型机设计与实现.docx》由会员分享,可在线阅读,更多相关《基本模型机设计与实现.docx(13页珍藏版)》请在冰豆网上搜索。
基本模型机设计与实现
课程设计
课程名称:
计算机组成原理
设计题目:
基本模型机设计与实现
学院:
信息工程与自动化
专业:
计算机科学与技术
年级:
学生姓名:
指导教师:
王海瑞
日期:
教务处制
课程设计任务书
信息工程与自动化学院计算机专业年级
学生姓名:
课程设计题目:
基本模型机设计与实现
课程设计主要内容:
利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。
将所设计的微程序在计算机组成原理教学实验系统环境中进行测试,并给出测试思路和具体程序段。
最后撰写出符合要求的课程设计报告。
首先要确定所设计计算机的功能和用途,设计中根据功能和用途确定指令系统,数据的表示格式,位数,指令的编码,类型,需要设计那些指令和寻址方式。
确定相对应指令所包含的微操作以及总体结构设计之间的数据通路结构,在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微指令。
设计指导教师(签字):
教学基层组织负责人(签字):
年月日
目 录
一、基本模型机的设计…………………………………………4
1、程序设计目的…………………………………………4
2、程序设计任务和基本要求………………………………4
3、实验原理……………………………………………………………5
二、实验内容及步骤………………………………………8
1.实验内容…………………………………………………8
2.实验步骤……………………………………………10
3.实验情况及记录………………………………………14
三、总结体会………………………………………………15
四、参考文献………………………………………………16
一、基本模型机的设计
1、程序设计目的
(1)掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,
(2)加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。
(3)再设计实践中提高应用所学专业知识分析问题和解决问题的能力。
(4)掌握微程序的编写、写入,观察微程序的运行。
2、程序设计任务和基本要求
(1)按给定的数据格式和指令系统,理解为程序控制器的设计原理。
(2)设计给定机器指令系统遗迹微程序流程图,安慰指令格式写出微程序的微指令代码
(3)连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程及结果。
(4)将微程序控制器模块与运算器模块、存储器模块联机,组成一台模拟计算机。
(5)用微程序控制器控制模型机的数据通路。
(6)通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。
(7)按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型及数据通路设计实现机器指令功能的微程序。
在机上编辑机器指令和微程序,装载代码到实验系统并运行,实现应用要求。
3、实验原理
实验数据框图如图4-1所示:
图4-1基本模型机数据通道框图
(1)在模型机实验中,数据通道的控制将由微程序控制器来完成,从内存取出一条机器指令到执行指令结束的一个指令周期,是由微指令组成的序列来完成的,即一条机器指令对应一个微程序。
(2)本实验我们将五条机器指令及有关数据写入和中。
通过运行由五条机器指令组成的简单程序,掌握机器指令与微指令的关系。
(3)微指令格式:
24
23
22
21
20
19
18
17
16
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
M
A9
A8
A
B
C
5
4
3
2
1
0
A字段B字段C字段
15
14
13
选择
12
11
10
选择
9
8
7
选择
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
P
(1)
0
1
0
1
0
1
0
0
1
0
P
(2)
0
1
1
2
0
1
1
R1
0
1
1
P(3)
1
0
0
1
0
0
299
1
0
0
P(4)
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
其中A8、A9是2:
4译码器(74139)的输入端,Y0、Y1、Y2、Y3是译码器输出端,其电路结构如下:
其中Y0为,Y1为,Y2为,Y3为空。
(1)微程序流程图如下:
运行微程序
图4-2基本模型机微程序流程图
(2)微指令二进制代码表如表4.2所示:
表4.2
微地址
S3S2S1S0MA9A8
A
B
C
50
00
000000011
000
000
100
010000
01
000000011
110
110
110
000010
02
000000001
100
000
001
001000
03
000000001
110
000
000
000100
04
000000001
011
000
000
000101
05
000000011
010
001
000
000110
06
100101011
001
101
000
000001
07
000000001
110
000
000
001101
10
000000000
001
000
000
000001
11
000000011
110
110
110
000011
12
000000011
110
110
110
000111
13
000000011
110
110
110
001110
14
000000011
110
110
110
010110
15
000000101
000
001
000
000001
16
000000001
110
000
000
001111
17
000000001
010
000
000
010101
20
000000011
110
110
110
010010
21
000000011
110
110
110
010100
22
000000001
010
000
000
010111
23
000000011
000
000
000
000001
24
000000000
010
000
000
011000
25
000001110
000
101
000
000001
26
000000001
101
000
110
000001
27
000001110
000
101
000
010000
30
000001101
000
101
000
010001
(3)机器指令格式如表4.3所示:
表4.3
二、实验内容及步骤
1、实验内容
(1)按图4-3连接实验线路,检查无错后通电。
图4-3基本模型机接线图
(2)实验程序
用基本的五条机器指令编写实验程序。
该实验程序作为例子已存在磁盘里,文件名为1,该程序包括机器指令程序和微指令程序,机器指令程序如下:
(地址和内容都是十六进制,机器指令的前4位为操作码。
)
例子:
微指令的微代码如下:
(内容是十六进制)
说明:
十六进制微指令程序的微代码的表示法是按照表4.2微指令二进制代码表中从左到右分成3个8位,将此3个8位的二进制代码化为相应的十六进制数即可。
脱机手动输入微代码时,请将十六进制的微代码的第1字节和第3字节内容对换后输入,即从开关24开始,先输第3字节,再输第2字节,最后输第1字节。
而十六进制的地址要转化为八进制输入,内容要转化为二进制输入。
2、实验步骤
与机联机将上面的实验程序
(1)下载到实验仪里,该程序包括机器指令程序和微指令程序,机器指令程序装入6116存储器()里,微指令程序装入E22816控制存储器()里,然后运行程序。
(1)实验程序下载操作步骤:
[1]开机后,启动系统,双击桌面上的“组成原理实验”快捷图标,即可进入组成原理实验系统主画面。
[2]单击该系统第三行的打开图标,即可出现文件框,选择文件名1并打开之。
[3]此时左边的编辑窗口“新文件”变为“1”,在该窗口里显示1的源文件,它包括机器指令程序和微指令程序的微代码,$P开头是机器指令程序,$M开头是微指令程序的微代码。
[4]单击“调试”图标,把打开的源文件下载到实验仪里,在下载过程中屏幕上方出现“正在传送文件”的提示,当文件传送完毕,提示消失。
[5]文件传送完毕,要检查源文件是否正确传送到实验仪(6116存储器)和(E22816控制存储器)里,首先检查实验仪的内容,单击“
程序”打开该窗口,查看此时显示的地址和内容与实验程序中机器指令的地址和内容是否一致,若不一致,重复[4]的操作,若一致,就单击菜单栏中“调试”菜单,然后选择并单击“刷新数据”或按“F5”热键对“程序”窗口显示的程序进行刷新。
刷新完后,再查看此时显示的地址和内容与实验程序中机器指令程序是否一致,若不一致,则要检查用户接线是否正确或实验仪其他问题。
[6]然后再检查实验仪的内容,单击“程序”打开该窗口,查看此时显示的地址和内容与实验程序中机器指令的地址和内容是否一致,若不一致,重复[4]的操作,若一致,就单击菜单栏中“调试”菜单,然后选择并单击“刷新数据”或按“F5”热键对“程序”窗口显示的程序进行刷新。
刷新完后,再查看此时显示的地址和内容与实验程序中机器指令程序是否一致,若不一致,则要检查用户接线是否正确或实验仪其他问题。
[7]经过上面[5]、[6]操作的检查后,若程序正确,就可以运行程序。
(2)运行程序时要求:
[1]程序运行前必须要求对微地址清零。
拨动实验仪右下角清零开关(1-0-1)后,观看实验仪右上方的微地址显示灯(05)是否全为零,若全为零,则正确,若不全为零,说明有问题,要检查。
[2]使用单步微指令运行程序,单击该系统第三行的“单步微指令”图标即可。
[3]在每次单步执行一条微指令的过程中,都要观察屏幕动态流线显示的运行结果,根据屏幕显示的结果分析该条微指令的格式和功能是否一致。
若不一致,必须检查原因。
(3)程序
P0020;从数据开关输入数据
P0160;>【0B】将R0中的内容存储到【0B】单元
P020B
P0340;R0+【09】->R0将R0中的内容加上【09】单元中的内容
的结果放入中
P040B
P0560;>【0C】将R0中的内容存储到【0C】单元
P060C
P0780;【】将【】中的内容输出显示
P080C
P09A0;【00】跳转到【00】重新执行
P0A00
P0B00;这里是【0B】单元,初始化为00H
P0C00;这里是【0C】单元,初始化为00H
(4)微程序
M0000000080
M0120006040
M0200801012
M0900000281
M0A200060C0
M0300804020
M04008008A0
M0580000460
M0640
M0B200060E0
M0700804068
M1680800180
M0C200060C8
M1300804028
M1403800080
M0D200060A8
M1500C02080
M0800000080
【注释】其写法是根据基本模型机
系统数据通路框图以及微指令流程图,将每条微指令代码化,译成二进制代码表,在译成二进制代码时要根据基本模型机系统通路图来定哪些开关有效,根据是否有效置1或0对应写入微指令格式中,并将二进制代码表转换成十六进制格式文件。
3、实现情况及记录
将实验箱与电脑连接,然后打开计算机组成原理教学实验系统,然后输入以上的程序和微程序,按装载,如果装载成功后,通过按微单步,一步步实现微程序,观察每一步数据的变化.实验中是程序计数器,用来计程序运行的步数执行记录情况:
0000
01->00
20->20
02->01
06->06
40->40
03->02
00->09
00->2=00
03->1=03
06->06
04->03
60->60
05->04
00->0B
03->03
06->05
80->80
07->06
03->0B
03->03
08->07
0->0
09->08
00->00
三、总结体会
不知不觉的,三个星期很快就过去了,通过三个星期的计算机组成原理课程设计实践,我对计算机的基本组成,计算机各个部件的基本功能,各个部件间的连接方法,微程序控制器的设计,微指令和微程序的编制都有了一定的了解,同时也增强了我的实际动手能力。
从遇到难题到解决难题,是对自己能力的肯定,自信心大增。
课程设计实践是结束了,不过这次实践教会了我许多,包括知识,包括能力。
通过这次课程设计,我不仅应用到了许多的理论知识,同时更多的是理论和实践相结合,本次课程设计真的不是很简单,需要很多人一起配合才能很好的完成,我们大家都很努力,不管是查资料还是其他的的部分,我们都能很好的配合,而且我们的团队意识都很强。
这次课程设计中,我也发现自身的不足之处,对于太多细节的不注重和学的东西太少,直接导致了我在设计中遇到很多困难,基础知识的不牢固,也是我自身的缺陷之一。
四、参考文献
《计算机组成原理》,科学出版社,白中英著
《计算机组成原理实验指导书》,清华大学出版社,王诚,宋佳兴,董长洪编著
《计算机组成原理课程设计指导》,长安大学出版社,周立著
《计算机组成原理学习指导与训练》,中国水利水电出版社,旷海兰等编著
《计算机组成原理与系统结构实验教程》,西安唐都科教仪器公司著
《计算机组成原理实验及课程设计指导》,重庆大学出版社,张庸编著