ELJYⅡ计算机组成原理第二套实验六DOC.docx
《ELJYⅡ计算机组成原理第二套实验六DOC.docx》由会员分享,可在线阅读,更多相关《ELJYⅡ计算机组成原理第二套实验六DOC.docx(12页珍藏版)》请在冰豆网上搜索。
ELJYⅡ计算机组成原理第二套实验六DOC
(芙蓉学院)
组成原理及系统结构实验报告
实验名称:
简单模型机组成原理实验
姓名:
刘楠
学号:
201117010239
同组姓名:
李祥阳、宋琦、李扬
专业班级:
计科11102班
指导教师:
黄铁
设计时间:
评阅意见:
评定成绩:
指导老师签名:
年月日
实验六、简单模型机组成原理实验
一、实验目的:
1.在掌握各部件功能的基础上,组成一个简单的计算机整机系统—模型机;
2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程;
3.定义五条机器指令,编写相应微程序并具体上机调试。
二、实验设备:
EL-JY-II型计算机组成原理实验系统一套,排线若干。
三、模型机结构:
模型机结构框图见图6-1。
图中运算器ALU由U7—U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。
微控器部分控存由U13—U15三片2816构成。
除此之外,CPU的其它部分都由EP1K10集成(其原理见系统介绍部分)。
存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H—FFH。
输出设备由底板上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。
在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。
在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。
图6-1模型机结构框图
四、实验内容
本实验采用五条机器指令,根据上面所说的工作原理,设计参考实验程序如下:
地址(二进制)机器指令(二进制)助记符说明
0000000000000000INAX,KIN数据输入电路AX
0000000100100001MOVBx,01H0001HBx
0000001000000001
0000001100010000ADDAx,BxAx+BxAx
0000010000110000OUTDISP,AxAx输出显示电路
0000010101000000JMP00H00HPC
0000011000000000
表6-2为根据本实验程序流程图设计的二进制微代码表:
微地址(二进制)
S3S2S1S0MCNWE1A1B
F1
F2
F3
UA5...UA0
000000
000000000
111
111
110
010000
000001
000000000
101
101
101
000010
000010
000000010
110
111
111
011001
000011
000000000
010
100
111
000110
000110
100101000
000
001
111
000001
000111
000000010
000
111
111
000001
001000
000000011
000
111
000
000001
001001
000000000
100
000
111
000011
001010
000000000
101
101
101
000111
001011
000000101
111
000
111
000001
001100
000000000
101
101
101
001101
001101
000000010
001
111
101
000001
010000
000000000
101
101
101
010010
010001
000000000
101
101
101
010100
010010
000000010
100
111
111
010111
010011
000000000
111
111
111
000001
010100
000000011
100
111
111
011000
010111
000001101
111
001
111
010000
011000
111111110
111
001
111
010001
011001
000000010
110
111
000
001000
五、实验步骤:
Ⅰ、单片机键盘操作方式实验
在进行单片机键盘控制实验时,必须把K4开关置于“OFF”状态,否则系统处于自锁状态,无法进行实验。
1、实验连线:
实验连线图如图6-3所示。
连线时应按如下方法:
对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
2、写微代码:
(1)将开关K1K2K3K4拨到写状态即K1off、K2on、K3off、K4off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上。
在监控指示灯滚动显示【CLASSSELECt】状态下按【实验选择】键,显示【ES--__】输入06或6,按【确认】键,显示为【ES06】,再按下【确认】键。
(2)监控显示为【CtL1=_】,输入1显示【CtL1_1】,按【确认】。
(3)监控显示【U-Addr】,此时输入【000000】6位二进制数表示的微地址,然后按【确认】键,监控指示灯显示【U_CodE】,显示这时输入微代码【007F90】,该微代码是用6位十六进制数来表示前面的24位二进制数,注意输入微代码的顺序,先右后左,按【确认】键则显示【PULSE】,按【单步】完成一条微代码的输入,重新显示【U-Addr】提示输入第二条微代码地址。
(4)按照上面的方法输入表6-3微代码,观察微代码与微地址显示灯的对应关系(注意输入微代码的顺序是由右至左)。
微地址(八进制)
微地址(二进制)
微代码(十六进制)
00
000000
007F90
01
000001
005B42
02
000010
016FD9
03
000011
0029C6
06
000110
9403C1
07
000111
010FC1
10
001000
018E01
11
001001
0041C3
12
001010
005B47
13
001011
02F1C1
14
001100
005B4D
15
001101
011F41
20
010000
005B52
21
010001
005B54
22
010010
014FD7
23
010011
007FC1
24
010100
01CFD8
25
010101
06F3C1
26
010110
011F41
27
010111
06F3D0
30
011000
FF73D1
31
011001
016E08
3.读微代码及校验微代码:
(1)先将开关K1K2K3K4拨到读状态即K1off、K2off、K3on、K4off,按【RESET】按钮对单片机复位,使监控指示灯滚动显示【CLASSSELECt】状态。
(2)按【实验选择】键,显示【ES--__】输入06或6,按【确认】键,显示【ES06】。
按【确认】键。
(3)监控显示【CtL1=_】时,输入2,按【确认】显示【U_Addr】,此时输入6位二进制微地址,进入读代码状态。
再按【确认】显示【PULSE】,此时按【单步】键,微地址指示灯显示输入的微地址,同时微代码显示电路上显示该地址对应的微代码,至此完成一条微指令的读过程。
(4)此时监控显示【U_Addr】,按上述步骤对照表6-3表检查微代码是否有错误,如有错误,可按步骤2重新输入微代码。
4.写机器指令
(1)先将K1K2K3K4拨到运行状态即K1on、K2off、K3on、K4off,按【RESET】按钮对单片机复位,使监控指示灯滚动显示【CLASSSELECt】状态。
(2)按【实验选择】键,显示【ES--__】输入06或6,按【确认】键,显示【ES06】,再按【确认】。
(3)监控显示【CtL1=_】,按【取消】键,监控指示灯显示【CtL2=_】,输入1显示【CtL2_1】表示进入对机器指令操作状态,此时拨动CLR清零开关(在控制开关电路上,注意对应的JUI应短接)对地址寄存器、指令寄存器清零,清零结果是微地址指示灯(uA5—uA0)和地址指示灯(A7—A0)全灭,清零步骤是使其电平高-低-高即CLR指示灯状态为亮-灭-亮。
如不清零则会影响机器指令的输入!
!
!
确定清零后,按【确认】。
(4)监控显示闪烁的【PULSE】,连续按【单步】键,当微地址显示灯显示“010100”,时按【确认】键,监控指示灯显示【data】,提示输入机器指令“00”或“0000”(两位或四位十六进制数),输入后按【确认】,显示【PULSE】,再按【单步】,微地址显示灯显示“011000”,数据总线显示灯显示“0000000000000000”,即输入的机器指令。
(5)再连续按【单步】,当微地址显示灯再次显示“010100”时,按【确认】输入第二条机器指令。
依此规律逐条输入表6-4的机器指令,输完后,可连续按【取消】或【RESET】退出写机器指令状态。
表6-4机器指令表
地址(十六进制)
机器指令(十六进制)
00
0000
01
0021
02
0001
03
0010
04
0030
05
0040
06
0000
5.读机器指令:
在监控指示灯显示【CtL2=_】状态下,输入2,显示【CtL2_2】,表示进入读机器指令状态,按步骤4的方法拨动CLR开关对地址寄存器和指令寄存器进行清零,然后按【确认】键,显示【PULSE】,连续按【单步】键,微地址显示灯从“000000”开始,然后按“010000”、“010010”、“010111”方式循环显示。
当微地址灯再次显示为“010000”时,输出显示数码管上显示写入的机器指令。
读的过程注意微地址显示灯,地址显示灯和数据总线指示灯的对应关系。
如果发现机器指令有误,则需重新输入机器指令。
注意:
机器指令存放在RAM里,掉电丢失,故断电后需重新输入。
6.运行程序
在监控指示灯显示【CtL2=_】状态下,输入3,显示【CtL2_3】,表示进入运行机器指令状态,按步骤4的方法拨动CLR开关对地址寄存器和指令寄存器进行清零,使程序入口地址为00H,可以【单步】运行程序也可以【全速】运行,运行过程中提示输入相应的量,运行结束后从输出显示电路上观察结果。
7.实验结果说明
1).单步运行结果
在监控指示灯显示【runCodE】状态下,连续按【单步】键,可以单步运行程序。
当微地址显示灯显示“001000”时,监控显示【dAtA】,提示输入数据,即被加数,输入1234,按【确认】,再连续按【单步】,在微地址灯显示“010101”时,按【单步】,此时可由输出显示电路的数码管观察结果为1235,即1234+0001=1235,同时数据显示灯显示“0001001000110101”。
表示结果正确。
2).全速运行结果
在监控指示灯显示【runCodE】状态下,按【全速】键,则开始自动运行程序,在监控指示灯显示【dAtA】时输入数据,按【确定】键,程序继续运行,此时可由输出显示电路的数码管显示加1运算结果。
Ⅱ、采用控制操作方式实验
本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。
连线时应注意:
对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
1.在图6-3接线图上更改如下接线:
断开控制总线C1——C6和F4——F1上的接线
数据输入电路DIJ1接数据总线BD7-----BD0
数据输入电路DIJ2接数据总线BD15-----BD8
数据输入电路DIJ-G接I/O控制电路Y3
微控器接口UAJ1接控制开关电路UA5---UA0
脉冲源及时序电路fin接脉冲源及时序电路f/8
脉冲源及时序电路T4—T1接控制总线T4---T1
控制开关电路CA1接控制总线E4
控制开关电路CA2接控制总线E5
2.实验步骤:
1)写微代码(以写表6-2的微代码为例):
首先将微程序控制电路上的开关K1K2K3拨到写入状态,即K1off、K2on、K3off,然后将24位微代码输入及显示电路上的开关K4拨到on状态。
置控制开关UA5……UA0=“000000”,输入微地址“000000”,置24位微代码开关MS24---MS1为:
“000000000111111110010000”,输入24位二进制微代码,按【单步】,微地址灯显示“000000”,写入微代码。
保持K1K2K3K4状态不变,写入表6-2的所有微代码。
2)读微代码并验证结果:
将微程序控制电路上的开关K1K2K3拨到读出状态,即K1off、K2off、K3on,然后将24位微代码输入及显示电路上的开关K4拨到off状态。
置控制开关UA5……UA0=“000000”,输入微地址“000000”,按【单步】,微地址灯显示“000000”,24位微代码显示“000000000111111110010000”,即第一条微代码。
保持K1K2K3K4状态不变,改变UA5……UA0微地址的值,读出相应的微代码,并和表6-2的微代码比较,验证是否正确。
如发现有误,则需重新输入该微地址相应的微代码。
3)写机器指令
(1)将微程序控制电路上的开关K1K2K3拨到运行状态,即K1on、K2off、K3on,然后将24位微代码输入及显示电路上的开关K4拨到off状态。
拨动控制开关电路上的清零开关CLR,对地址寄存器、指令寄存器清零。
(2)确定清零后,把控制开关CA1、CA2置为“10”,按动一次【单步】按钮,微地址显示灯显示“010001”,再按动一次【单步】,微地址灯显示“010100”,此时通过数据输入电路的开关输入要写入的机器指令,置D15----D0=“0000000000000000”,按【单步】,微地址显示灯显示“011000”,数据总线显示灯显示“0000000000000000”,即输入的机器指令。
这样就完成本实验的第一条机器。
(3)再连续按【单步】,微地址显示灯再次显示“010100”时,按上面的方法通过数据输入电路的开关输入第二条机器指令指令“0000000000010000”,直至写完表6-4的所有二进制机器指令。
4)读机器指令及校验机器指令:
拨动控制开关电路上的清零开关CLR,对地址寄存器、指令寄存器清零,清零结果是微地址指示灯和地址指示灯全灭,置CA1、CA2开关置为“00”,连续按【单步】键,微地址显示灯显示从“000000”开始,然后按“010000”、“010010”、“010111”方式循环显示。
当微地址灯再次显示为“010000”时,输出显示数码管上显示写入的机器指令。
读的过程注意微地址显示灯,地址显示灯和数据总线指示灯的对应关系。
如果发现机器指令有误,则需重新输入机器指令。
注意:
机器指令存放在RAM里,掉电丢失,故断电后需重新输入。
5)运行程序
将微程序控制电路上的开关K1K2K3拨到运行状态,即K1on、K2off、K3on,然后将24位微代码输入及显示电路上的开关K4拨到off状态。
拨动控制开关电路上的清零开关CLR,对地址寄存器、指令寄存器清零,清零结果是微地址指示灯(和地址指示灯全灭,使程序的入口地址位00H。
置CA1CA2=“11”,连续按【单步】,当微地址显示灯显示“001000”时,通过数据输入电路输入二进制数据“0001001000110101”,再连续按【单步】,在微地址灯显示“010101”时,按【单步】,此时可由输出显示电路的数码管观察结果为1235H,同时数据显示灯显示“0001001000110101”,表示结果正确。
六、实验心得
本次实验,我们了解微程序控制器是如何控制模型机运行的,掌握了整机动态工作过程。
最重要的是在掌握各部件功能的基础上,组成一个简单的计算机整机系统—模型机;此外还定义五条机器指令,编写相应微程序并具体上机调试。
实验过程中,我们也遇到了一些困难,谢谢老师的指导。
总而言之,本次实验增强了我们对所学理论知识的理解,也感受到了动手实践的乐趣。