微程序控制器实验报告

2019-06-05 10:41

微程序控制器实验

预习报告

1. 微程序控制器的组成和工作原理。

微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。其工作原理分为:一、将程序和数据通过输入设备送入存储器; 二、启动运行后,从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事; 三、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中;四、运算任务完成后,就可以根据指令将结果通过输出设备输出

2.微程序、微指令、微命令之间的关系。 一系列微指令的有序集合称为微程序。

在微程序控制方式之下,从控制存储器中取出,完成一个或几个微操作的命令称为微指令。

控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令。

所以总的来说:微程序包含微指令,而每条微指令包含的微命令控制。

3.微指令、微程序的设计及调试。

在微程序流程图中,根据每个状态的微指令,将其进行编码,设计出所需硬件及执行效率较高的微程序控制电路,然后进行调试。

思考题:

1. 举例说明实验中出现的基本概念:微命令、微操作、微指令、微程序? 微命令:控制器发出的每个控制信号,如对运算单元的控制m cn s3 s2 s1 s0发出的010101等。

微操作:由微命令控制实现的最基本的操作称为微操作。如发出运算器加运算的微命令后,运算器进行加法计算,就称为微操作。

微指令:完成一个或几个微操作的指令。如控制器进行存数据的命令后,需要有we信号有效,pc保持,来控制这些的指令即为微指令。

微程序:微程序包含微指令。如微程序流程中包括很多微指令控制,进行一些加减运算,存储数据,地址自加一等等。 2. 解释并比较微程序控制器的几种设计方法?

微序列控制器通过吧控制信号存储在一个查找Rom,(1)用水平编码生成微操作(2)用垂直编码生成微操作(3)从微代码直接产生控制信号。 3. 微程序控制器的控制对象、手段及方法?控制器如何取指令?

微程序控制器控制对象分为硬件方面和软件方面,硬件方面为数据通路的控制信号,软件方面为测试程序的控制信号。

控制器根据状态机的不同状态进行指令读取,在不同状态下取得的指令也不同。

4. 控制器的功能?如何取指令、分析指令、执行指令?

通过下址取得指令,根据控制信号进行不同信号的开启或关闭也就是分析指令,然后再在控制信号的作用下执行指令。

5. 下址的产生方法?常用的有哪些,实验中用到了哪些?

A:计数器方式――在顺序执行微指令时,后续微指令地址由现行微指令加上一个增量来产生;在非顺序执行微指令时,必须在执行现行微指令后,转去执行指定后续微指令地址的下一条微指令。

B:增量方式与断定方式的结合――微指令的顺序控制字段分成两部分:条件选择字段与转移地址字段. 由这两个字段结合,当转移条件满足时,将转移地址字段作下一个微地址;若无转移要求,则直接从微程序计数器中取得下一条微指令. 一般用于微指令执行时,需要外部判断条件的场合。

C:多路转移方式――当微程序不产生分支时,后续微地址直接由微指令的顺序控制字段给出;否则有若干个后续地址可以选择,此时必须由顺序控制字段的"判别测试"和"状态条件"信息来选择其中一个微地址. 一般用于有多个转移且可以使用组合逻辑设计转移地址逻辑的场合。 实验中用到了多路转移方式。

6. 每条机器指令的指令码如何与其入口微地址对应?微程序分支如何处理?

通过编码方式,将指令码的状态分成不同的几个,再运用微地址进行编码,对不同的指令码编程不同的地质,一一对应。

在不同分支出现时利用临时寄存器IR对几个分支进行编码,映射为不同状态。

7. 如何简化微程序流程图,使其ADD、AND指令在部分微指令中合并?(如AR→RAM、RAM→DR2、R5→DR1)

只对ALU部分的下址进行区分,其他部分用同样的下址即可,这样可以省去一个IR的编码状态。

8. 电路设计过程中如果出现多个状态机怎么办?

将不同状态机的控制信号进行区分,在不同控制信号作用下进行多个状态机的控制。

实验日志

11月10日

对微指令的复习和理解,明白了下址的控制方法但是对电路中P1的意义不太理解。

经过看微程序流程图,发现P1在ldir需要进行下载时有效,所以P1即为控制临时存储器IR的控制信号,该控制信号由流程图中第四步中有效,来控制IR的下址是否有效。

11月12日

编写ROM时发现P1具体为1的状态不同会出现不能强读强写,所以将P1为1改为当RAM数据传到IR时令其有效,得到正确波形。

11月18日

仿真时发现ar的第一个地址不正确,应该为00H但是却是个不是个确定的值。 经分析发现第一个ar值应该为sw输入到总线上,而总线的值没有k输入,所以将k的输入设定为00H,得到的仿真结果正确。

实验报告

ROM部分代码(只显示编码部分):

Sw r4b r5b alu pcbus dr1 dr2 r4l r5l m cn s3 s2 s1 s0 we rd pclr pcld pcen ldar ldir p1 下址五位

\

\\

\\\

\\\

\\\\\\\

\\\\\加

\\\\

\when address=\ELSE--AND5:ALU--R5 101011and \

\\\

\\\

没有加数据通路部分时的仿真波形:

波形分析:

将状态机定为单步运行状态,dp为1,qd每次进行启动。

CLR由1->0->1,清零作用使微地址A4~0为00000。 执行第一个单拍,执行将输入值传给pc,得到下址00001

执行第二个单拍,执行微地址为00001的微指令,PC->AR,pc自加一,地址计数加1变为01H,得到下址00010。

执行第三个单拍,将00地址的值读出来赋给IR,在T3时序信号到来时,执行将RAM中存放的数据(指令)送到IR(指令寄存器),此处运用手动输入的方法,同时给出判别信号P及下一条微指令的地址01000,在T4有效时,P1 为1,IR7,IR6,IR5可以手动输入010将微地址改为01010,产生下条微指令的地址。然后即可进入STA指令操作。

然后下址为10111,开始执行RAM-〉AR操作。从其他输出信号看产生的输出也是正确的。

下一个操作进行强读信号的执行。在之前将CLR信号置为0,进行清零才行,得到00000地址。然后将KRD信号从1到0再到1,使得a[3]强置数为1,可以将地址从00000变为01000,该地址产生下址10011,即为强读控制信号。

加入数据通路部分进行仿真:

说明:数据通路加上后应该修改部分控制信号,以满足状态机在不同状态下控制ar,alu,pc等的正确执行。修改如下:


微程序控制器实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:法治知识竞赛题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: