微程序控制器实验97216
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(每题2分)
北京科技大学计算机与通信工程学院
实验报告
实验名称: 微程序控制器实验
学生姓名:
专业:
班级:
学号:
指导教师:
实验成绩:
实验地点:
实验时间:年月日
一、实验目的与实验要求
1、实验目的
(1) 掌握微程序控制器的组成原理。
(2) 掌握微程序的编制、写入方法。
(3) 观察并掌握微程序的运行过程。
2、实验要求
(1)利用实验箱和联机软件,观察使用4条指令编写的微程序执行流程,深入理解微程序控制器的组成原理,并完成其验证性实验。
(2)在完成加法的验证实验后,更改指令,完成减法实验。
二、实验设备(环境)及要求
CM3+实验环境、QuartusⅡ8.0环境
三、实验内容与步骤
1、实验一
(1)实验原理
微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个由多条微指令组成的序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如下图所示。
核心微控器主要是接收机器指令译码器送来的代码,使控制转向相应机器指令对应的首条微代码程序,对机器指令的功能进行解释或执行的工作。具体来讲,就是通过接收CPU指令译码器发来的信号,找到该机器指令对应的首条微代码的入口微地址,再通过由T1引入的时序节拍脉冲的控制,逐条读出微代码。然后,其中几位经过译码,一并产生实验平台所需的控制信号,将它们加到数据通路中相应的控制位,可对该机器指令的功能进行解释和执行。指令解释到最后,再继续接收下一条机器指令代码,并使控制转到对应的入口微地址,这样周而复始,即可实现机器指令程序的运行。微程序控制器原理图如下。
(2)主要步骤
①实验接线
按下图连线方式完成实验箱接线部分。
②写入微程序
用联机软件的“转储”->“装载”功能将该格式(*.TXT )文件装载入实验系统。装入过程中,在软件的输出区的“结果”栏会显示装载信息,如当前正在装载的是机器指令还是微指令,还剩多少条指令等。
③校验微程序
选择联机软件的“转储”->“刷新指令区”可以读出下位机所有的机器指令和微指令,并在指令区显示。检查微控器相应地址单元的数据是否和下表中
的十六进制数据相同,如果不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先用鼠标左键单击指令区的“微存”TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。
④联机运行
联机运行时,进入软件界面,在菜单上选择“实验”->“微控器实验”,打开本实验的数据通路图。将MC单元的编程开关置为“运行”档,MEM单元的编程开关也置为“运行”档,按动CON单元的总清开关后,按动软件中单节拍按钮,当后续微地址(通路图中的MAR)为000001时,置CON单元SD27~SD20,产生相应的机器指令,该指令将会在下个T2被打入指令寄存器(IR),在后面的节拍中将执行这条机器指令。
仔细观察每条机器指令的执行过程,体会后续微地址被强置转换的过程,这是计算机识别和执行指令的根基。也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。按本机运行的顺序给出数据和指令,观查最后的运算结果是否正确。
⑤减法实验
完成上面的加法实验后,更改机器指令,使其能完成减法实验。
四:实验结果与分析
1、实验一
(1)加法实验
机器指令:
; //*************************************// ; // // ; // 微控器实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //*************************************//
; //***** Start Of Main Memory Data *****// ;
;
; //***** End Of Main Memory Data *****//
; //** Start Of MicroController Data **//
$M 00 000001 ; NOP
$M 01 007070 ; CON(INS)->IR, P<1>
$M 04 002405 ; R0->B
$M 05 04B201 ; A加B->R0
$M 30 001404 ; R0->A
$M 32 183001 ; IN->R0
$M 33 280401 ; R0->OUT
$M 35 000035 ; NOP
; //** End Of MicroController Data **//
实验结果:
(2)减法实验
机器指令:
; //*************************************// ; // // ; // 微控器实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //*************************************//
; //***** Start Of Main Memory Data *****// ;