微程序处理器

#微程序处理器

姓名: 学号: 班级:计科1602班
课程: 微程序控制性质:验证型实验 时间:12.11

一、实验名称:

微程序控制器

二、实验目的:

掌握微程序控制器的组成原理。

掌握微程序的编制,写入,观察微程序的运行过程。

三、实验性质:

验证性实验

四、实验原理与内容:

实验原理:

微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令-样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一-条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器。

实验步骤

按图所示连接实验线路,仔细检查无误后接通电源。

对微控器进行读写操作,分两种情况:手动读写和联机读写。

1)手动读写

(1)手动对微控器进行编程(写)

①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控存’档,KK5置为‘置数’档。

②使用CON单元的SD05—SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。

③将时序与操作台单元的开关KK5置为‘加1’档。

④IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的中8位。IN单元给出高8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的高8位。

⑤重复①、②、③、④四步,将微代码写入2816芯片中。

(2)手动对微控器进行校验(读)

①将时序与操作台单元的开关KK1置为‘停止’档,
KK3置为‘校验’档, KK4置为‘控存’档,KK5置为‘置数’档。

②使用CON单元的SD05–SD00给出微地址,连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M7一- M0 显示该单元的低8位。

③将时序与操作台单元的开关KK5置为‘加1’档。

④连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M15一-M8显示该单元的中8位,MC单元的指数据指示灯M23— M16 显示该单元的高8位。

⑤重复①、②、③、④四步,完成对微代码的校验。如果校验出微代码写入错误,重新写入、校验,直至确认微指令的输入无误为止。

2)联机读写

(1)将微程序写入文件

联机软件提供了微程序下载功能,以代替手动读写微控器,但微程序得以指定的格式写入到以TXT为后缀的文件中,微程序的格式如下:

如$M 1F

112233,表示微指令的地址为1FH,微指令值为I1H
(高)、22H (中)、33H (低),本次实验的微程序如下,其中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉。

(2)写入微程序

用联机软件的“I转储]一[装载”功能将该格式(*.TXT)
文件装载入实验系统。装入过程中,在软件的输出区的‘结果’栏会显示装载信息,如当前正在装载的是机器指令还是微指令,还剩多少条指令等。

(3)校验微程序

选择联机软件的“I转储1一[刷新指令区1”可以读出下位机所有的机器指令和微指令,并在指令区显示。检查微控器相应地址单元的数据是否和表3-2-2中的十六进制数据相同,如果不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先用鼠标左键单击指令区的‘微存’TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。

运行微程序

运行时也分两种情况:本机运行和联机运行。

本机运行

①将时序与操作台单元的开关KK1、KK3置为‘运行’ 档,按动CON单元的CLR按钮,将微地址寄存器(MAR)清零,同时也将指令寄存器(IR)、 ALU单元的暂存器A和暂存器B清零。

②将时序与操作台单元的开关KK2置为‘单拍’档,然后按动ST按钮,体会系统在T1、T2、T3、T4节拍中各做的工作。T2节拍微控器将后续微地址(下条执行的微指令的地址)打入微地址寄存器,当前微指令打入微指令寄存器,并产生执行部件相应的控制信号; T3、 T4节拍根据T2节拍产生的控制信号做出相应的执行动作,如果测试位有效,还要根据机器指令及当前微地址寄存器中的内容进行译码,使微程序转入相应的微地址入口,实现微程序的分支。

③按动CON单元的CLR按钮,清微地址寄存器(MAR)等,并将时序与单元的开关KK2置为‘单步’档。

④置IN单元数据为00100011, 按动ST按钮,当MC单元后续微地址显示为00001时,在CON单元的SD27…SD20模拟给出IN指令00100000并继续单步执行,当MC单元后续微地址显示为00001 时,说明当前指令已执行完;在CON单元的SD27. .SD20给出ADD指令0000000该指令将会在下个T3被打入指令寄存器(IR),它将RO中的数据和其自身相加后送RO;接下来在CON单元的SD27…SD20给出OUT指令00110000并继续单步执行,在MC单元后续微地址显示为00001时,观查OUT单元的显示值是否为01000110。

  2)联机运行

联机运行时,进入软件界面,在菜单上选择[实验]一[ 微控器实验],打开本实验的数据通路图,也可以通过工具栏上的下拉框打开数据通路图。

将时序与操作台单元的开关KK1、KK3置为‘运行’ 档,按动CON单元的总清开关后,按动软件中单节拍按钮,当后续微地址(通路图中的MAR)为00001时,置CON单元SD27… SD20,产生相应的机器指令,该指令将会在下个T3被打入指令寄存器(IR), 在后面的节拍中将执行这条机器指令。仔细观察每条机器指令的执行过程,体会后续微地址被强置转换的过程,这是计算机识别和执行指令的根基。也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。

按照本机运行的顺序给出数据和指令,观察最后的运算结果是否正确。

在这里插入图片描述

五、总结与讨论:

在本次试验中我的感受就是实验电路比较起第一次实验的电路复杂了很多,在实验过程中我总是担心会不会把线路接错,虽然我很小心,但是难免有错。在实验过程中,我发现控制部分的参数一直不正确, 求教了老师之后发现是有一根线接的反了。我感觉实验之前一-定要弄清楚实验原理,这样在实验过程中只需要看哪一部分不正确,检查哪-部分线路即可。.

猜你喜欢

转载自blog.csdn.net/bianbianshaonian/article/details/85231847