微程序控制器设计_第1页
微程序控制器设计_第2页
微程序控制器设计_第3页
微程序控制器设计_第4页
微程序控制器设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA第六次实验日志 微程序控制器实验实验预习:1. 微程序控制器的组成和工作原理是什么?2. 微程序、微指令、微命令之间有什么关系?3. 微指令、微程序如何设计与调试?预习解答:1.微程序控制器的组成和工作原理是什么?微程序控制器的原理图如图所示。微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。(1)控制寄存器控制寄存器用来存放实现全部指令系统的所有微程序,它是一种只读型存储器。一旦微程序固化,机器运行时则只读不写。其工作过程是:读出一条微指令并执行;重复上面动作知道微程序结束。读出一条微指令并执行微指令的时间总和称

2、为一个微指令周期。通常在串行方式的微程序控制器中,微指令周期就是只读寄存器是的工作周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制寄存器的要求是读出周期要短,因此通常采用双极型半导体只读寄存器。(2)微指令寄存器微指令寄存器用来存放由控制器读出的一条微指令信息。其中微指令寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。(3)地址转移逻辑在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常简称为微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一

3、条微指令的地址就直接由微地址寄存器给出,当程序出现分支时,意味着微程序出现条件转移,在这种情况下,通过判别测试字段P和执行内部的“状态条件”反馈信息,去修改微地址寄存器的内容;并按照改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。其工作原理分为:一、将程序和数据通过输入设备送入存储器;二、启动运行后,从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事;三、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回到存储器指定的单元中;四、运算任务完成后,就可以根据指令将结果通过输出设备输出。2.微程序

4、、微指令、微命令之间有什么关系?实现一条机器指令功能的许多条微指令组成微程序。在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合构成一条微指令。控制部件通过控制线像执行部件发出的各种控制命令叫做微命令。所以总的说来:微程序包含微指令,而每条微指令包含微命令。4. 微指令、微程序如何设计与调试?在微程序流程图中,根据每个状态的微指令,将其进行编码,设计出所需硬件及执行效率较高的微程序控制电路,然后进行调试。课后习题:1. 举例说明实验中出现的基本概念:微命令、微操作、微指令、微程序?微命令:控制器发出的每个控制信号,如对运算单元的控制 m cn s3 s2 s1 s0 发出的01010

5、1等。微操作:由微命令控制实现的最基本的操作称为微操作。如发出运算器家运算的微命令后,运算器进行假发运算,就称为微操作。微指令:完成一个或几个微操作的指令。如控制器进行存数据命令后,需要we信号有效,pc保持,来控制这些的指令即为微指令。微程序:微程序包含微指令。如微程序流程中包括很多微指令控制,进行一些加减运算,存储数据,地址自加一等等。2. 解释并比较微程序控制器的几种设计方法?为序列控制器通过把控制信号存储在一个查找ROM(1) 用水平编码生成微操作(2) 用垂直代码生成微操作(3) 用伪代码直接产生控制信号3. 微程序控制器的功能是什么?如何取指令、分析指令、执行指令?控制器的功能:它

6、根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作(包括中断处理),然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。通过下址取得指令,根据控制信号进行不同的信号的开启或关闭也就是分析指令,然后再在控制信号的作用下执行指令。4. 常用的下址产生方法有哪些?实验中用到了哪些?常用的下址产生方法有:A 计数器方式B 增量方式与断定方式的结合C 多路转移方式实验中用到了多路转移方式。5. 每条机器指令的指令码如何与其入口微地址对应?通过编码方式,将指令码的状态分成不同的 几个,再运用微地址进行编码,对不同的微指令变成

7、不同的地址,一一对应。6. 如何简化微程序流程图中的ADD、AND指令?只对ALU部分的下址进行区分,其他部分用同样的下址即可,这样可以省去一个IR的编码状态。7. 电路设计过程中如果出现多个状态机怎么办?将不同的状态机的控制信号加以区分,在不同控制信号作用下进行多个状态机的控制。日志部分11月16号之前看了实验,但由于忙着写其他课程的作业的原因,没有仔细把实验原理看懂,看到了一堆复杂的微指令之后就茫然了,不知所措。实验课时,老师讲解了本次实验的实验原理和实验内容,并举例说明了如何实现微指令,对微指令又复习了一遍。11月17号老师讲完课之后我就知道了ROM是用来存放微指令的,但实际如何实现我还

8、不知道。ROM部分由于是lpm定制的,需要对mif文件进行初始设置,开始不知道怎么弄,后来问了同学明白了,ROM中存储微指令的功能实际上是通过将输入的地址映射到相应地址单元去读取单元中的二进制码与输出一一对应来实现的存储微指令功能。完成了设计微代码。ROM部分开始是用lpm定制的,后来看了ppt好像是要求用代码,就又写了ROM的代码。列出微代码如下:(ROM部分)output <=后来发现自己写的微代码的顺序和书上电路图部分那几个端口的顺序不太一样,不想再改代码了,于是把端口的顺序改来将就微代码。Vhdl编译时老是提醒出错,但是我找了好久都不知道到底错在哪里,后来发现是process的问

9、题,原来用了process,编译时就会报错,后来直接把process删掉了,编译就通过了,好像是并行和串行的问题。11月22号在将时序电路的电路图放到本次实验的工程中的时候,也出现了一点问题,只copy了状态图文件和状态图的bsf文件到当前工程中,对当前工程进行编译的时候,报了错,才想起来是不可以直接对状态图进行编译的,于是又把vhd文件拷贝了过来。完成了绘制电路图。并检查了一些错误,进行了仿真。图中的pc能实现生成下址,并正确显示微代码,因此电路设计是正确的。11月23日添加数码管模块,下载到实验箱上,验证每一步都正确执行了,并解释每一步的有效信号。用模拟机实现老师给的运算:(非C非D)(非

10、B加A)其中A=05H B=0AH C=01H D=02H设计程序表:RAM地址内容说明00H20HLDA01H18HLDA 18H->R502H80HCOM R5->R503H40HSTA04H1CHSTA R5->1CH05H20HLDA06H19HLDA 19H->R507H80HCOM R5->R508HE0HAND09H1CHR5 AND 1CH ->R50AH40HSTA0BH1DHSTA R5->1DH0CH20HLDA0DH1AHLDA 1AH->R50EH80HCOM R5->R50FHC0HADD10H1BHR5 ADD

11、 1BH->R511HE0HAND12H1DHR5 AND 1DH->R513H40HSTA14H1EHSTA R5->1EH15H16H17H18H01H存放D19H02H存放C1AH0AH存放B1BH05H存放A1CH存放非D1DH存放非D非C1EH存放(非C非D)(非B加A)HexEdit文件:运行模拟机:Memory中的数据都是在HexEdit文件中设置好了的,在模拟机中,不断地按下回车,就可以模拟CPU操作的每一步,跟踪CPU每一如何执行,以及显示每一步寄存器中的值。今天学会了如何写程序表来进行复合运算,而且得到了正确的结果:运行完后,得到正确的结果,并且相应内存单

12、元的值也做了更改。实验中遇到的问题:1. 在设计微代码时,发现了有一个微指令是RAM->AR,不明白这是为什么?后来用模拟机模拟的时候知道了,最开始送到PC中的是指令操作,进一步RAM送到AR的是操作数的地址,将操作数地址送过去,然后再读到R5中。这是一个对CPU流程的理解问题。2. 微代码中有一个信号叫做P1,不太明白其用法?P1好像就是标记IR是否装载的,到分支的时候,P1有效了一下,且只有在流程到IR读取指令的时候才有效。3. ROM的VHDL代码调试时出错。后来经同学帮忙检查,查出是process用得不得当的原因,后来查了一下资料,process(a)是指当a发生变化时才执行process

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论