计算机组成原理实验报告材料四基本模型机设计与实现.docx
《计算机组成原理实验报告材料四基本模型机设计与实现.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告材料四基本模型机设计与实现.docx(10页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验报告材料四基本模型机设计与实现
计算机组成原理实验报告
学院:
计算机科学与信息专业:
班级:
姓名
学号
实验组
实验时间
指导教师
成绩
实验项目名称
实验四、基本模型机设计与实现
实验目的
1.在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。
2.为其定义五条机器指令,并编写相应的微程序,上机调试掌握整机概念。
实验原理
本次实验将在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本实验采用五条机器指令:
IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前八位为操作码):
助记符机器指令码说明
INR0,SW00000000"INPUTDEVICE"
ADDR0,addr00010000××××××××R0+[addr]-->R0
STAaddr,R000100000××××××××R0-->[addr]
OUTBUS,addr00110000××××××××[addr]-->BUS
JMPaddr01000000××××××××addr-->PC
其中IN为单字节(8位),其余为双字节指令,××××××××为addr对应的二进制地址码。
根据以上要求设计数据通路框图,系统涉及到的微程序流程见下图,当拟定“取指”微指令时,该微指令的判别测试字段为P
(1)测试。
由于“取指”微指令是所有微程序都使用的公用微指令,因此P
(1)的测试结果出现多路分支。
本机用指令寄存器的前四位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定微地址单元,最多可出现16路分支。
当全部微程序设计完毕后,应将每条微指令代码化,实验书P63-64表
(一)即为将下图的微程序流程图按微指令格式转化而成的“二进制微代码表”。
指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P
(1),通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器”根据指令中的操作码译码,强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUTDEVICE);另一种是LED块,它作为输出设备(OUTPUTDEVICE)。
本实验设计机器指令程序如下:
地址(二进制)内容(二进制)助记符号说明
000000000000INR0,SW"INPUTDEVICE"-->R0
000100010000ADDR0,09HR0+「09H」-->R0
001000001001
001100100000STA0BH,R0R0-->「0BH」
010000001011
010100110000OUTBUS,0AH「0AH」-->BUS
011000001010
011101000000JMP00H00H-->PC
100000000000
100101010101自定
101010101010自定
1011求和结果
实验内容
1.将机器程序和其对应的微控制程序写入。
2.记录①单步微程序②单步机器程序③程序运行与暂停三种方式下所得的实验结果,其中“程序运行与暂停”方式,随机取其中5次运行结果进行记录即可。
3.根据如下给出的机器指令助记符,结合“实验十基本模型机设计与实现”中的机器程序及微程序的代码,①写出与该机器指令助记符相对应的机器程序及微程序的代码,②并记录下在“单步机器程序”方式下的运行结果。
助记符号说明
INR1,SW“INPUTDEVICE”R1
SUBR1,09HR1-[09H]R1
STAOAH,R1R1[0AH]
OUTBUS,OCH[0CH]BUS
JMP00H00HPC
其中由SW输入R1的值为“8F”,09H单元的值为“30”,0CH单元的值为“22”。
实验环境
DICE-CH2000增强型计算机组成原理实验仪一台+排线若干
实验步骤
1.将本实验所需连接信号:
S3、S2、S1、S0、M,/CN,LOAD,/CE,WE,LDR0,LDDR1,LDDR2,LDIR,LDPC,LDAR,LDCZY,/PC-B,/ALU-B,/SW-B,LDR1,LDR2,/R0-B,/R1-B,/SR-B,CZ,LDARH,A8,A9,CS1→IOCS,G→E6(J1),G→EA(J2),Cn+4→Cn+4I,CZ1→CZ2,CZL→CZQ一一进行连接,检查无误后接通电源进入实验。
2.机器程序和其对应的微控制程序的写入
1)用按键输入法手动写入机器程序,即在“P态”按起始地址00H,然后再按下“主存(ME)”命令键(即程序存储器读写键),将程序手动写入。
2)用“装载”(LOAD)命令键快捷完成,其操作方法是:
在闪动的“P.”下,键入数字键“1”(基本模型机代号),然后再键入“装载”(LOAD)命令键,实验装置自动装载由数字键定义的基本模型机对应的微控制程序,装载完毕自动返“P.”待令。
程序:
P0000机器指令格式说明:
P0110P※※※※
P0209地址机器代码
P0320P※※※※
P040B机器代码
P0530程序地址
P060A机器指令
P0740
P0800
P0955
P0AAA
M0000000080M※※※※※※※※※※
M0100600640地址微指令代码
M0280100804M※※※※※※※※※※
M038040002032位微控制代码
M04800800A0微程序地址(偏移地址)
M0500040160微指令
M0629820280
M0780400010
M0880010180
M0980400050
M0A80000080
M0BC0200080
M0C080007B0
M2000020480
M21006006C0
M22006006E0
M2300600690
M24006006D0
注意:
控存实际地址=段地址+偏移地址,四个控存的段地址为00,40H,80H,C0H,这在键盘输入微程序时要注意控存实际地址计算。
SW输入值为F0,0B单元存储内容为FF。
3.运行程序
①单步微程序
键入数字键00(PC地址从00H开始),然后每按动一次“单步”(STEP)命令键,运行一条微指令。
其运行结果见实验结果部分。
②单步机器程序
键入数字键00H(PC地址),然后每按动一次“宏单”(SCAL)命令键,运行一条机器指令。
其运行结果见实验结果部分。
③程序运行与暂停
键入数字键00H(PC地址),然后按动“运行”(EXEC)命令键使模型机进入实时运行状态;在实时运行状态按动“PAUSE”键(暂停键)执行暂停命令,使模型机进入停机状态。
其运行结果见实验结果部分。
4.根据如下给出的机器指令助记符,写出与该机器指令助记符相对应的机器程序及微程序的代码,并记录下在“单步机器程序”方式下的运行结果。
助记符号说明
INR1,SW“INPUTDEVICE”R1
SUBR1,09HR1-[09H]R1
STAOAH,R1R1[0AH]
OUTBUS,OCH[0CH]BUS
JMP00H00HPC
其中由SW输入R1的值为“8F”,09H单元的值为“30”,0CH单元的值为“22”。
1)用按键输入法手动写入机器程序,即在“P态”按起始地址00H,然后再按下“主存(ME)”命令键(即程序存储器读写键),将程序手动写入。
程序如下:
P0000机器指令格式说明:
P0110P※※※※
P04OA地址机器代码
P060CP※※※※
P0740机器代码
即应吧原先存在
机器中的微程序进
手动修改。
程序地址
机器指令
2)用按键输入法手动写入微程序。
以下以向C0H单元输入数据80H为例,其它操作类似。
M0000000080M※※※※※※※※※※
M0100600640地址微指令代码
M0280100804M※※※※※※※※※※
M038040002032位微控制代码
M04800800A0微程序地址(偏移地址)
微指令
修改后的微程序为:
M2000001480
M0500041160M0606801280
M0880010580
M00042160M06161880
M0BC0200080
5.运行程序
单步机器程序运行:
键入数字键00H(PC地址),然后每按动一次“宏单”(SCAL)命令键,运行一条机器指令。
其运行结果见实验结果部分。
实验结果
1.原实验代码单步微程序运行结果:
(填入具体实验结果)
μA(微地址)
PC地址
存储器地址
当前总线内容
01
00
0A
FF
02
01
00
01
20
01
00
00
01
01
00
00
02
02
01
02
21
02
01
10
03
03
02
03
04
03
09
55
05
03
09
55
06
03
09
FF
01
03
09
55
02
04
03
04
22
04
03
20
01
05
04
05
08
05
06
00
01
05
06
FF
02
06
05
06
23
06
05
30
09
07
06
07
0A
07
0A
AA
01
07
0A
AA
02
08
07
08
24
08
07
40
0B
09
08
09
01
00
08
00
02
01
00
01
20
01
00
00
2.原实验代码机器程序运行结果:
μA(微地址)
PC地址
存储器地址
当前总线内容
02
01
00
01
06
03
09
FF
22
04
03
20
09
07
06
07
01
00
08
00
3.原实验代码“程序运行与暂停”方式运行结果:
(随机五条)
4.修改要求后实验代码机器程序运行结果:
μA(微地址)
PC地址
存储器地址
当前总线内容
01
01
00
01
01
03
59
06
01
05
06
56
01
07
0A
AA
01
00
08
00
μA(微地址)
PC地址
存储器地址
当前总