资源描述
《计算机组成原理》
实 验 报 告
实验三:微程序控制器实验
学 院:
专 业:
班 级:
学 号:
学生姓名:
实验日期:
指导老师:
成绩评定:
计算机学院计算机组成原理实验室
实 验 三
一、 实验名称:
微程序控制器实验
二、 实验目的:
掌握微程序的编制、写入、观察微程序的运行情况 ,了解微程序流程原理。
三、 实验原理:
微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器。
微程序流程图:
二进制代码表:
地址
十六进制
高五位
S3-S0
A字段
B字段
C字段
MA5-MA0
00
00 00 01
00000
0000
000
000
000
000001
01
00 70 70
00000
0000
111
000
001
110000
04
00 24 05
00000
0000
010
010
000
000101
05
04 B2 01
00000
1001
011
001
000
000001
30
00 14 04
00000
0000
001
010
000
000100
32
18 30 01
00011
0000
011
000
000
000001
33
28 04 01
00101
0000
000
010
000
000001
35
00 00 35
00000
0000
000
000
000
110101
四、 实验设备:
TD-CMA实验系统一套
五、 实验步骤:
1、 对微控器进行编程(写)
(1) 将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控存’档,KK5置为‘置数’档。
(2) 使用CON单元的SD05-SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。
(3) 将时序与操作台单元的开关KK5置为‘加1’档。
(4) IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的中8位。IN单元给出高8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的高8位。
(5) 重复(1)(2)(3)(4)四步,将二进制代码表的微地址(地址和十六进制)写入芯片中。
2、 对微控器进行校验(读)
(1) 将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘校验’档,KK4置为‘控存’档,KK5置为‘置数’档。
(2) 使用CON单元的SD05-SD00给出微地址,连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M7-M0显示该单元的低8位。
(3) 将时序与操作台单元的开关KK5置为‘加1’档。
(4) 连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M15-M8显示该单元的中8位,MC单元的指数据指示灯M23-M16显示该单元的高8位,
(5) 重复(1)(2)(3)(4)四步,完成对微代码的校验,如果校验出微代码写入错误,重新写入,校验,直至确认微指令的输入无误为止。
3、 运行微程序
(1) 将时序与操作台单元的开关KK1,KK3置为‘运行’档,按动CON单元的CLR按钮,将微地址寄存器(MAR)清零,同时也将指令寄存器(IR)、ALU单元的暂存器A和暂存器B清零。
(2) 将时序与操作台的单元的开关KK2置为‘单拍’档,然后按动ST按钮,观察T1,T2,T3,T4节拍变化。
(3) 按动CON单元的CLR按钮,清微地址寄存器等,并将时序与操作台的开关KK2置为‘单步’档。
(4) 置IN单元的数据为00000001,按动ST按钮,当MC单元后续地址显示为0000001时,在CON单元的SD27-SD20模拟给出IN指令00100000并继续单步执行,当MC单元后续地址显示为0000001时,说明当前指令已经执行完成,在CON单元的SD27-SD20给出ADD指令00000000,接下来在CON单元的SD27-SD20给出OUT指令00110000,并继续单步执行,当MC单元后续地址显示为0000001时,观察OUT单元显示数据是否为02。
六、 实验结果
置IN单元数据
OUT
ADD指令
OUT
01010000
50
00000000
AF
01010011
53
00000000
A6
七、 分析讨论
指令的输入和时序的控制对数据结果的影响很重要,所以对微地址的输入要进行校验,时序控制几乎在每一个步骤中都要进行,所以把握好微地址和时序信号,是实验结果正确的前提。根据程序流程图可以知道,经过了IN、ADD、OUT指令的执行后,输出的数据为原来数据的两倍,所以写入数据为00000001,读出的数据为02。
八、 心得体会
通过本次实验,我了解了微程序控制器的功能、组成知识,知道了指令格式和各字段功能,掌握了微程序的编制、写入、观察微程序的运行,学习了基本指令的执行流程。这次实验的原理比较难以理解,但是实施起来其实是不难的。在实验过程中,不知道是因为接线的问题还是仪器的问题一度不能成功,录入了数据但是跳转不到要去的地方。我们以为是输入数据时出错,重新输了好多遍,但是都还是一样的结果。经过请教同学的帮助之后终于得出了正确的结果。随后就很顺利地完成了实验。这次实验使我懂得要认真弄清楚每一步实验的原理和所需要的知识点,这样才可以较好地完成实验。
展开阅读全文