收藏 分享(赏)

微程序控制器组与微程序设计实验报告.doc

上传人:weiwoduzun 文档编号:4465440 上传时间:2018-12-29 格式:DOC 页数:10 大小:1.87MB
下载 相关 举报
微程序控制器组与微程序设计实验报告.doc_第1页
第1页 / 共10页
微程序控制器组与微程序设计实验报告.doc_第2页
第2页 / 共10页
微程序控制器组与微程序设计实验报告.doc_第3页
第3页 / 共10页
微程序控制器组与微程序设计实验报告.doc_第4页
第4页 / 共10页
微程序控制器组与微程序设计实验报告.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、第 1 页 共 10 页数学学院实验报告课程名称:计算机组成原理 实验项目名称:微程序控制器组成与微程序设计实验 一、实 验 目 的 (1) 掌握微程序控制器的组成原理。(2) 掌握微程序的编制、写入,观察微程序的运行过程。二、实验设备与器件PC 机一台, TD-CMA 实验系统一套。三、实 验 原 理 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑 部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数 字代码的形式表示,这种表示称为微指令。这样就可以用一个

2、微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为 控制存储器,微程序控制器原理框图如图 3-2-1 所示。OP 地 址 转 移 逻 辑P字 段指 令 寄 存 器 IR .状 态 条 件微 地 址 寄 存 器控 制 字 段 .控 制 存 储 器地 址 译 码 微 命 令 信 号图 3-2-1 微程序控制器组成原理框图控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录 2。微程序控制器的组成

3、见图 3-2-2,其中控制存储器采用 3 片 2816 的 E2PROM,具有掉电保护功能,微命令寄存器 18 位,用两片 8D 触发器(273)和一片 4D(175)触发器 组成。微地址寄存器 6 位,用三片正沿触发的双 D 触发器( 74)组成,它们带有清“0 ”端和预置端。在不判别测试的情况下,T2 时刻打入微地址寄存器的内容 即为下一条微指令地址。当 T4 时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。成 绩:指导老师(签名):第 2 页 共 10 页G74LS24574LS273G74LS24574LS24574LS27374L

4、S175MA5MA4MA3MA2MA1MA0SE12SE374LS245ALU_B4GRD_BSE5SSP_B0I138 译码PCP3LDCSTIRDWS3IOM2S01LDARM23LDALDRiBOSPCLRKCLRKCLRKCRA-DECGNDCLB-DECC-DECM6M8M9M14 MA5.MA0GSA5 . SA074LS245G. .SD07 . SD0SD17 . SD10SD27 . SD20. . . . . . . .M23-M0微代码显示RCMA5.MA0. . .138译码138 译码GND微地址显示灯MA5.MA0I1 Y7Y1Y1Y6Y7Y1. .CLRON单元P

5、2.1P2.0单片机P2.D7 . D02816A5A0CSOEWED7 . D02816A5A0CSOEWED7 . D02816A5A0CSOEWE 编程逻辑T2INTA图 3-2-2 微程序控制器原理图在实验平台中设有一组编程控制开关 KK3、KK4、KK5(位于时序与操作台单元) ,可实现对存储 器(包括存储器和控制存储器)的三种操作:编程、校验、运行。考虑到对于存储器(包括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实 验平台提供了便利的手动操作方式。以向00H 单元中写入 332211 为例,对于控制存储器进行编辑的具体操作步骤如下:首先将 KK1 拨至停止档、

6、KK3 拨至编程 档、KK4 拨至控存档、KK5 拨至置数档,由 CON 单元的 SD05SD00 开关给出需要编辑的控存单元首地址 (000000 ) ,IN 单元开关给出该控存单元数据的低 8 位第 3 页 共 10 页(00010001) ,连续两次按动时序与操作台单元的开关 ST(第一次按动后 MC 单元低 8 位 显示该单元以前存储的数据,第二次按动后显示当前改动的数据) ,此时 MC 单元的指示灯 MA5MA0 显示当前地址(000000) ,M7M0 显示当 前数据(00010001) 。然后将 KK5 拨至加 1档,IN 单元开关给出该控存单元数据的中 8 位(00100010

7、) ,连续两次按动开关 ST,完成对 该控存单元中 8 位数据的修改,此时 MC 单元的指示灯 MA5MA0 显示当前地址(000000 ) ,M15M8 显示当前数据(00100010) ;再 由 IN 单元开关给出该控存单元数据的高 8 位(00110011) ,连续两次按动开关 ST,完成对该控存单元高 8 位数据的修改此时 MC 单元的指示灯 MA5 MA0 显示当前地址(000000) ,M23M16 显示当前数据(00110011) 。此时被编辑的控存单元地址会自动加 1(01H) ,由 IN 单 元开关依次给出该控存单元数据的低 8 位、中 8 位和高 8 位配合每次开关 ST

8、的两次按动,即可完成对后续单元的编辑。C O N 单元置地址( 0 0 0 0 0 0 )S D 0 5 - S D 0 0 = 0 0 0 0 0 0I N 单元置数据低 8 位( 0 0 0 1 0 0 0 1 )I N = 0 0 0 1 0 0 0 1K K 3 = 编程K K 4 = 控存K K 5 = 置数S T = I N 单元置数据中 8 位( 0 0 1 0 0 0 1 0 )I N = 0 0 1 0 0 0 1 0K K 3 = 编程K K 4 = 控存K K 5 = 加 1S T = I N 单元置数据高 8 位( 0 0 1 1 0 0 1 1 )K K 1 = 停止

9、I N = 0 0 1 1 0 0 1 1K K 3 = 编程K K 4 = 控存K K 5 = 加 1S T = K K 1 = 停止K K 1 = 停止编辑完成后需进行校验,以确保编辑的正确。以校验 00H 单元为例,对于控制存储器进行校验的具体操 作步骤如下:首先将 KK1 拨至停止档、KK3 拨至校验档、KK4 拨至控存档、KK5 拨至置数档。由 CON 单元的 SD05SD00 开关 给出需要校验的控存单元地址(000000) ,连续两次按动开关 ST,MC 单元指示灯 M7M0 显示该单元低 8 位数据(00010001) ;KK5 拨至 加 1档,再连续两次按动开关 ST,MC

10、单元指示灯 M15M8 显示该单元中 8 位数据(00100010) ;再连续两次按动开关 ST,MC 单元指示灯 M23M16 显示该单元高 8 位数据(00110011) 。再连续两次按动开关ST,地址加 1,MC 单元指示灯 M7M0 显示 01H 单元低 8 位数据。 如校验的微指令出错,则返回输入操作,修改该单元的数据后再进行校验,直至确认输入的微代码全部准确无误为止,完成对微指令的输入。C O N 单元置地址( 0 0 0 0 0 0 )S D 0 5 - S D 0 0 = 0 0 0 0 0 0= 0 0 0 1 0 0 0 1K K 3 = 校验K K 4 = 控存K K 5

11、 = 置数S T = M C 单元 M 1 5 M 8 显示数据中 8 位( 0 0 1 0 0 0 1 0 )M 1 5 M 8 = 0 0 1 0 0 0 1 0K K 3 = 校验K K 4 = 控存K K 5 = 加 1S T = M C 单元 M 7 M 0 显示数据中 8 位( 0 0 0 1 0 0 0 1 )M 7 M 0M C 单元 M 2 3 M 1 6 显示数据高 8 位( 0 0 1 1 0 0 1 1 )M 2 3 M 1 6 = 0 0 1 1 0 0 1 1K K 3 = 校验K K 4 = 控存K K 5 = 加 1S T = K K 1 = 停止K K 1 =

12、 停止 K K 1 = 停止位于实验平台 MC 单元左上角一列三个指示灯 MC2、MC1、MC0 用来指示当前操作的微程序字段, 分别对应 M23M16、M15M8、M7M0 。实验平台提供了比较灵活的手动操作方式,比如在上述操作中在对地址置数后将开关 KK4 拨至减 1档,则每次随着开关 ST 的两次拨动操作,字节数依次从高 8 位到低 8 位递减,减至低 8 位后,再按动两次开关 ST,微地址会自动减一,继续对下一个单元的 操作。微指令字长共 24 位,控制位顺序如表 3-2-1:表 3-2-1 微指令格式第 4 页 共 10 页A字 段 B字 段 C字 段141312选 择000001L

13、DA010LDB011LDR0100保 留10111023M23221201918-1514-121-98-65-0WRRDIOM A字 段 B字 段 C字 段 MA5-MA0S3-S0NOP111LDIR保 留保 留1109选 择000001ALU_B010R0_B011保 留100保 留101110NOP111保 留保 留保 留876选 择000001P010保 留011保 留100保 留101110NOP111保 留保 留保 留M2其中 MA5MA0 为 6 位的后续微地址,A 、B 、C 为三个译码字段,分别由三个控制位译码出多位。C 字段中 的 P为测试字位。其功能是根据机器指令及相

14、应微代码进行译码,使微程序转入相应的微地址入口,从而实现完成对指令的识别,并实现微程序 的分支,本系统上的指令译码原理如图 3-2-3 所示,图中 I7I2 为指令寄存器的第 72 位输出,SE5 SE0 为微控器单元微地址锁存器的强置端输出,指令译码逻辑在 IR 单元的 INS_DEC(GAL20V8 )中实现。从图 3-2-2 中也可以看出,微控器产生的控制信号比表 3-2-1 中的要多,这是因为实验的不同,所需的控制信号也不一样,本实验只用了部分的控制信号。本实验除了用到指令寄存器(IR)和通用寄存器 R0 外,还要用到 IN 和 OUT 单元,从微控器出来的 信号中只有 IOM、WR

15、和 RD 三个信号,所以对这两个单元的读写信号还应先经过译码,其译码原理如图 3-2-4 所示。 IR 单元的原理图如图 3-2-5 所 示,R0 单元原理如图 3-2-7 所示,IN 单元的原理图见图 2-1-3 所示, OUT 单元的原理图见图 3-2-6 所示。SE3T4PI7SE2T4PI6SE0T4I4I672P SE1T4I5I673P图 3-2-3 指令译码原理图X M R DX M W RX I O WX I O RR DT 3W RI O M锁存 ( 2 7 3 )I 7 . . . I 2 I 3 . . . I 0I N S _ D E C R E G _ D E C.

16、. .B 7 . . . B 0 8 线排针I 7. . .I 08 线排针L D I RT 3图 3-2-4 读写控制逻辑 图 3-2-5 IR 单元原理图第 5 页 共 10 页锁存 ( 2 7 3 )七段数码管 ( H ) 七段数码管 ( L )a . . . ga . . . gL E D _ BI O WD 7 . . . D 4 D 3 . . . D 0译码电路 译码电路数据总线D 7 . . . D 0. . .锁存 ( 3 7 4 ). . .C P U 内总线D 7 . . . D 0D 7 . . . D 0Q 7 . . . Q 0. . .L D R 0R 0 _ B

17、T 4图 3-2-6 OUT 单元原理图 图 3-2-7 R0 原理图本实验安排了四条机器指令,分别为 ADD(0000 0000) 、IN(0010 0000) 、OUT(0011 0000)和HLT(0101 0000 ) ,括号中为各指令的二进制代码,指令格式如下: 助 记 符 机 器 指 令 码 说 明IN01 0 IN R0AD R0 + R0OUT01 0 OUTHL 停 机实验中机器指令由 CON 单元的二进制开关手动给出,其余单元的控制信号均由微程序控制器自动产生,为此可以设计出相应的数据通路图,见图 3-2-8 所示。几条机器指令对应的参考微程序流程图如图 3-2-9 所示。

18、图中一个矩形方框表示一条微指令,方框中的内容为该指令执行的微操作,右上角的数字是该条指令的微地址,右下角的数字是该条指令的后续微地址,所有微地址均用 16 进制表示。向下的箭头指出了下一条要执行的指令。P为测试字,根据条件使微程序产生分支。图 3-2-8 数据通路图第 6 页 共 10 页NOP0指 令 译 码PIN-R0R0-OUTNOPR0-AR0-BA+B-R0 013032045 33530ADINOUTHLT010101 35图 3-2-9 微程序流程图将全部微程序按微指令格式变成二进制微代码,可得到表 3-2-2 的二进制代码表。表 3-2-2 二进制微代码表地址 十六进制 高五位

19、 S3-S0 A 字段 B 字段 C 字段 MA5-MA000 00 00 01 00000 0000 000 000 000 00000101 00 70 70 00000 0000 111 000 001 11000004 00 24 05 00000 0000 010 010 000 00010105 04 B2 01 00000 1001 011 001 000 00000130 00 14 04 00000 0000 001 010 000 00010032 18 30 01 00011 0000 011 000 000 00000133 28 04 01 00101 0000 00

20、0 010 000 00000135 00 00 35 00000 0000 000 000 000 110101四、实 验 内 容 与 步 骤 1. 按图 3-2-10 所示连接实验线路,仔细查线无误后接通电源。如果有滴报警声,说明总线有竞争现象,应关闭电源,检查接线,直到错误排除。M C单元A L U _ BA L U _ BL D AL D BL D AL D BA L U /* /; / /第 8 页 共 10 页; / 微控器实验指令文件 /; / /; / By TangDu CO.,LTD /; / /; /* /; /* Start Of MicroController Dat

21、a * /$M 00 000001 ; NOP$M 01 007070 ; CON(INS)-IR, P$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 * /3. 运行微程序运行时也分两种情况:本机运行和联机运行。1) 本机运行 将时序与操作台单元的开关 KK1、KK3 置为运行档,按动 CON 单元的 CLR 按钮,将微地址寄存器(MAR

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

23、元的开关 KK2 置为单步档。 置 IN 单元数据为 00100011,按动 ST 按钮,当 MC 单元后续微地址显示为 000001 时,在 CON 单元的 SD27SD20 模拟给出 IN 指令 00100000 并继续单步执行,当 MC 单元后续微地址显示为 000001 时,说明当前指令已执行完;在 CON 单元的 SD27SD20 给出 ADD 指令 00000000,该指令将会在下个 T3 被打入指令寄存器(IR) ,它将 R0 中的数据和其自身相加后送 R0;接下来在 CON 单元的 SD27SD20 给出 OUT 指令 00110000 并继续单步执行,在 MC 单元后续微地址

24、显示为 000001 时,观查 OUT 单元的显示值是否为01000110。2) 联机运行联机运行时,进入软件界面,在菜单上选择【实验】【微控器实验】 ,打开本实验的数据通路图,也可以通过工具栏上的下拉框打开数据通路图,数据通路图如图 3-2-8 所示。将时序与操作台单元的开关 KK1、KK3 置为运行档,按动 CON 单元的总清开关后,按动软件中单节拍按钮,当后续微地址(通路图中的 MAR)为 000001 时,置 CON 单元 SD27SD20,产生相应的机器指令,该指令将会在下个 T3 被打入指令寄存器(IR) ,在后面的节拍中将执行这条机器指令。仔细观察每条机器指令的执行过程,体会后续

25、微地址被强置转换的过程,这是计算机识别和执行指令的根基。也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。按本机运行的顺序给出数据和指令,观查最后的运算结果是否正确。5、实 验 结 果 及 分 析给一个 20 指令,存入数据 00000111,单周期调试,按 4 下;指令 00,将刚输入的两个数据相加,再存入 R0 中;指令 30,将 R0 输出;指令 50,停止运行。第 9 页 共 10 页上面截图显示的是将输入的数据赋值给 R0 的操作,这里要记得将 OUT 单元的输入门关上,不然就会显示出很神奇的画面。将 R0 的值赋 A,将 R0 的值赋给 B,进行算数逻辑运算 A+B,将结果赋给 R0:第 10 页 共 10 页这是停机指令的操作,由此也可得出, 01010000 就是停机指令六、实 验 总 结这个实验开始的时候就觉得还好,因为接线已经难不倒我了,但是在实验操作过程中,有点困难了,主要是对原理没有很清楚,不过经过请教别人的后,实验完成的还算顺利。这个微命令的实验操作起来还是感觉挺神奇的,特别是逻辑运算的那边。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报