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