组成原理基本模型机的设计与实现实验报告.docx
《组成原理基本模型机的设计与实现实验报告.docx》由会员分享,可在线阅读,更多相关《组成原理基本模型机的设计与实现实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
![组成原理基本模型机的设计与实现实验报告.docx](https://file1.bdocx.com/fileroot1/2022-12/14/aaef162d-4ed3-4582-90fe-02858d70366c/aaef162d-4ed3-4582-90fe-02858d70366c1.gif)
组成原理基本模型机的设计与实现实验报告
甘肃政法学院
本科学生实验报告
(五)
姓名:
学院:
—
专业:
—
班级:
2011级专升本班
实验课程名称:
计算机组成原理
试验时间2011年12月_5_日
指导教师及职称—
实验成绩:
开课时间2011学年第一学期
甘肃政法学院实验管理中心印制
实验题目
基本模型机的设计与实现实验
小组合作
是
姓名
班级
学号
一、实验目的:
1.掌握部件单兀电路头验的基础上,进步将其组成系统构造台基本模型计算机。
2.为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
二、实验环境:
CCT-TV计算机组成原理教学实验系统台,排线若干。
三、实验内容与步骤:
1.实验原理:
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU
从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即条机器指令对应个微程序。
本实验采用五条机器指令:
IN(输入)、AD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):
助记符机器指令码说明
IN00000000“INPUTDEVICE中的开关状
态R0
ADDaddr00010000““R0+[addr]->R0
STAaddr00100000““R0t[addr]
JMPaddr01000000XXXXXXXXaddrPC
其中IN为单字长(8位),其余为双字长指令,nxxxx为addr
对应的二进制地址码。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执
行,还必须设计三个控制台操作微程序。
时,
启动程序:
拨动总清开关CLF后,控制台开关SWBSWA为“11”
按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制台指令用两个开关SWBSWA勺状态来设置,其定义如
下:
SWB
SWA
控制台指令
0
0
读内存(KRD
0
1
写内存(KWE
1
1
启动程序(RP
根据以上要求设计数据通路框图,如图5—1。
微代码定义如表5—1
所示
2
23
22
21
20
19
18
17
16
1514
4
13
S
S2
S1
S0
M
CN
WE
A9
A8
A
3
121113
98归
6
5p
3
A
0
P
NA1卫
15*
13*
0q
p
加
LDRi
LWR+
1
1q
LDDR勿
A
LTIM
h
帥
k
呃
A
3
LM
A字段昨股C字甌
图5----1
系统涉及到的微程序流程见图5—2,当拟订“取指”微指令时,该微指令的判别测试字段为P
(1)测试。
由于“取指”微指令是所有微程序都使用的公用微指令,因此P
(1)的测试结果出现多路分支。
本机用指令寄存器的前4位(IR7—IR4)作为测试条件,出现五路分支,占用五个固定微地址单元。
控制台操作为P(4)测试,它以控制台开关SWBSWA乍为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。
注意:
微程序流程图上的单元地址为8进制。
当全部微程序设计完毕后,应将每条微指令代码化,表5—2即为将
图5—2的微程序流程图按微指令格式转化而成的“二进制微代码表”
运行微程序
图5---2
条指令。
当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。
指令划分为操作码和地址码字段,由二进制数构成,
为了执行任何给定的指令,必须对操作码进行测试[P
(1)],通过节拍
脉冲T4的控制以便识别所要求的操作。
“指令译码器”(实验板上标有
“INSDECODE的芯片)根据指令中的操作码译码强置微控器单元的微
地址,使下一条微指令指向相应的微程序首地址。
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设
备(INPUTDEVIC日;另一种是数码块,它作为输出设备(OUTPUT
DEVICE。
例如:
输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到外部数据总线上,当写信号(W/R有效时,将数据打入输出锁存器,驱动数码块显示。
本实验设计机器指令程序如下:
地址(二进制)
内容(二进制)
助记符
说
明
00000000
00000000
IN
“INPUTDEVICE
R0
00000001
00010000
ADD[0AH]
R0+[0AH]
>R0
00000010
00001010
00000011
00100000
STA
[0BH]
R0
>[0BH]
00000100
00001011
00000101
00110000
OUT
[0BH]
[0BH]
>BUS
00000110
00001011
00000111
01000000
JMP
[00H]
00H
>PC
00001000
00000000
00001001
00001010
0000
0001
自定
1011
0000
求和结果
2、实验步骤:
⑴.按图5—3连接实验线路
(2).写程序:
1先将机器指令对应的微代码正确的写入2816中,由于在实验三实验中已将微代码写入E2PRO芯片中。
2使用控制台KWE®KRD微程序进行机器指令程序的装入和检查。
A:
使编程开关处于“RUN,STEP为“STEP状态,STOP为“RUN状态。
B:
拨动总清开关CLR(0-1),微地址寄存器清零,程序计数器清零。
然后使控制台SWBSWAf关置为“01”按动一次启动开关START微地址显示“010001"
再按动一次START微地址灯显示“010100”此时数据开关的内容置为要写入的机器指令,按动一次START键,即完成该条指令的写入。
若仔细阅读KWE的流程,就不难发现,机器指令的首地址只要第一次给入即可,PC会自动加1,所以,每次按动START只有在微地址灯显示“010100”时,才会设置内容,直到所有的机器指令写完。
⑶.运行程序
1.单步运行程序
A.使编程开关处于“RUN状态,STEP为“STEP状态,STOP为“RUN状态。
B.动总清开关CLR(31),微地址清零,PC计数器清零,程序首地址为00Ho
C.单步运行一条微指令,每按动一次START键即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
D.运行结束后,可检查存数单元(0B)中的结果是否和理论值一致。
2.若连机运行时,进入DEBUG调试界面,总清开关CLR(0>1)清零后,程序首地址为00H,按相应功能键即可联机运行、调试程序。
记录每条机器指令执行后的结果。
四、实验过程与分析
做这个实验的过程中我真的体会到了什么叫做一步一步脚踏实地,做这个实验我真的体会到什么都是循序渐进的不可能一步就完成的。
我们做实验五的时候很艰辛。
实验五是在实验四的基础上做的,没有实验四的基础是不可能,因为实验四的微指令是必须存到机箱里的,为了实现我们的加法运算,我们实验四的微指令输了七八遍,刚开始输微指令的时候真的很粗心,我们一遍一遍的输入,输入微指令的时候一个一定一个数都不能错,错了就必须重新输,真是把我和我的搭档整死了。
这个微指令就是我们的砍,终于做出来后我们就开始连线,刚开始光看那个图那么多的线,后面连的次数多了就觉得这没什么了。
五、实验总结:
这个实验在我所做的实验中给我的感觉是最难的。
由于我们的操作仪器的问题,我们的微地址输了三遍都不合适,我们以为我们的输入有问题,但是我们都验证完都没有任何错误,但是在做实验五的时候微地址灯只显示三个灯,最后才发行我们的仪器有问题。
通过这次实验,我对存储器有了进一步的了解,理解它的功能特性和使用方法。
这次实验要注意的是:
在进行读操作时,必须先写第一个地址,然后读出第一个地址单元的内容,再写第二个地址,然后读出第二个地址单元的内容。
如此类推。
不能先连续输入所有的地址,再连续输入所有的内容或连续读出所有的内容。
在做这次的实验我把实验原理弄清楚了,做起实验来自然顺手不少,但还是需要极大的细心和耐心。
以前觉得这是个不可能完成的事实,但
是我们却做到了,我觉得自己还是要认真的学习更多的东西,看更多的书籍。
六、指导教师评语及成绩:
实验过程与结果完整,分析总结得当。
教师签名
成绩
批阅日期