版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 <="1010111100000000000000000001" when address="00000" else -SW->PC"111111100000
9、1000000000000010" when address="00001" else -PC->AR,PC=PC+1"1001111100000100000001101000" when address="00010" else -RAM->IR"1111111000001000000000010101" when address="01001" else -LDA1:PC->AR,PC=PC+1"1001111100001000000001010110&
10、quot; when address="10101" else -LDA2:RAM->AR"1001111110000000000001000001" when address="10110" else -LDA3:RAM->R5"1111111000001000000000010111" when address="01010" else -STA1:PC->AR,PC=PC+1"1001111100001000000001011000" when add
11、ress="10111" else -STA2:RAM->AR"1001101100000000000000000001" when address="11000" else -STA3:R5->RAM"1111111000001000000000011001" when address="01011" else -OUT1:PC->AR,PC=PC"1001111100001000000001011010" when address="11001
12、" else -OUT2:RAM->AR"1001111100000000000001000001" when address="11010" else -OUT3:RAM->BUS"1001101100010000000000011011" when address="01100" else -COM1:R5->DR1"1001110110000010000000000001" when address="11011" else -COM2:/A
13、LU->R5"1111111000001000000000011100" when address="01101" else -JMP1:PC->AR,PC=PC"1011111100000000000001000001" when address="11100" else -JMP2:RAM->PC"1111111000001000000000000011" when address="01110" else -ADD1:PC->AR,PC=PC&q
14、uot;1001111100001000000001000100" when address="00011" else -ADD2:RAM->AR"1001111100100000000001000101" when address="00100" else -ADD3:RAM->DR2"1001101100010000000000000110" when address="00101" else -ADD4:R5->DR1"1001110110000001
15、100100000001" when address="00110" else -ADD5:ALU->R5 加"1111111000001000000000011101" when address="01111" else -AND1:PC->AR,PC=PC"1001111100001000000001011110" when address="11101" else -AND2:RAM->AR"1001111100100000000001011111&q
16、uot; when address="11110" else -ADD3:RAM->DR2"1001101100010000000000000111" when address="11111" else -ADD4:R5->DR1"1001110110000010101100000001" when address="00111" else -ADD5:ALU->R5 101011 and"1010111100000000000000010001" when
17、 address="10000" else -KWE1:SW->BUS"1111111000001000000000010010" when address="10001" else -KWE2:PC->AR,PC=PC"1000111100000000000010010001" when address="10010" else -KWE3:SW->RAM"1010111100000000000000010011" when address="0
18、1000" else -KWE1:SW->BUS"1111111000001000000000010100" when address="10011" else -KWE2:PC->AR,PC=PC"1001111100000000000001010011" when address="10100" else -KWE3:RAM->BUS"1001111100001000000000000000"后来发现自己写的微代码的顺序和书上电路图部分那几个端口的顺序不太一样,不
19、想再改代码了,于是把端口的顺序改来将就微代码。Vhdl编译时老是提醒出错,但是我找了好久都不知道到底错在哪里,后来发现是process的问题,原来用了process,编译时就会报错,后来直接把process删掉了,编译就通过了,好像是并行和串行的问题。11月22号在将时序电路的电路图放到本次实验的工程中的时候,也出现了一点问题,只copy了状态图文件和状态图的bsf文件到当前工程中,对当前工程进行编译的时候,报了错,才想起来是不可以直接对状态图进行编译的,于是又把vhd文件拷贝了过来。完成了绘制电路图。并检查了一些错误,进行了仿真。图中的pc能实现生成下址,并正确显示微代码,因此电路设计是正确
20、的。11月23日添加数码管模块,下载到实验箱上,验证每一步都正确执行了,并解释每一步的有效信号。用模拟机实现老师给的运算:(非C非D)(非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 1BH->R511HE0HAND12H1DHR5 AND 1DH->R513H40HSTA14H1EHSTA R5->1EH15H16H17H18H01H存放D19H02H存放C1AH0AH存放B1BH05H存放A1CH存放非D1DH存放非D非C1EH存放(非C非D)(非B加A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大同市城区网格员招聘考试备考试题及答案解析
- 2026年甘肃省兰州大学网络与继续教育学院编制外人员招聘笔试备考试题及答案详解
- 2026上海浦东新区新城幼儿园招聘笔试参考题库及答案详解
- 2026浙江台州淑江区三甲街道办事处招聘工作人员4人笔试备考题库及答案详解
- 2025年沈阳市于洪区街道办人员招聘考试试题及答案解析
- 2026江苏徐州市新盛集团下属国通公司招聘3人笔试备考题库及答案详解
- 2026国网河北省电力有限公司高校毕业生招聘(第三批)笔试参考试题及答案详解
- 2026河北石家庄市政建设集团有限责任公司招聘项目周期制工作人员10人笔试参考试题及答案详解
- 2026年衡阳市南岳区街道办人员招聘笔试备考题库及答案解析
- 2026年桂林市七星区街道办人员招聘笔试备考题库及答案解析
- 2026《智能体安全标准化研究》
- 2025年湖南岳阳市地理生物会考真题试卷(含答案)
- 2026贵州省农业发展集团有限责任公司招录(第一批)岗位65人备考题库(含答案详解)
- 2026年重庆市地理生物会考真题试卷+解析及答案
- (二模)济南市2026届高三第二次模拟考试英语试卷(含答案)+听力音频
- 2025年甘肃省平凉市庄浪县老年大学选聘专业授课教师笔试备考试题及答案解析
- 2024年上海文化广场剧院管理有限公司招聘笔试参考题库含答案解析
- 事件、生命政治与异托邦-福柯的电影批评
- 基于人工智能的临床决策支持系统的发展与应用
- 生产线平衡实验报告-3
- 压力容器焊工考试题
评论
0/150
提交评论