微程序控制器实验报告

微程序控制器实验报告

ID:38949140

大小:95.50 KB

页数:7页

时间:2019-06-22

微程序控制器实验报告_第1页
微程序控制器实验报告_第2页
微程序控制器实验报告_第3页
微程序控制器实验报告_第4页
微程序控制器实验报告_第5页
资源描述:

《微程序控制器实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、实验目的1、通过实验,进一步理解微程序控制器的组成结构。理解微程序控制器的控制原理2、加深理解微程序控制器的工作原理。掌握指令流程与功能3、理解掌握微程序控制器的设计思路与方法二、实验内容与步骤1、微程序控制器的组成原理控制存储器:实现整个指令系统的所有微程序,一般指令系统是规定的由高速半导体存储器构成,容量视机器指令系统而定,取决于微程序的个数,其长度就是微指令字的长度。微指令寄存器:存放从控存读出的当前微指令。微操作控制字段将操作控制信号送到控制信号线上,微地址字段指出下一条微地址的形成。微地址寄存器:存放将要访问的下一条微指令地址地址

2、转移逻辑:形成将要执行的微指令地址,形成方式:取指令公操作所对应的微程序一般从控存的0地址开始,所以微程序的人口地址0是由硬件控制的。当出现分支时,通过判别测试字段、微地址字段、和执行部件的反馈信息形成后即微地址。Cpu设计步骤:1.拟定指令系统2.确定总体结构(数据通路)3.安排时序4.拟定指令流程。根据指令系统,写出对应所有机器指令的全部微操作机器节拍安排,然后列出操作时间表5.确定微指令的控制方式、下地址形成方式、微指令格式及微指令字长,编写全部的微指令的代码,最后将编写的微指令放入控制存储器中。微程序控制器的设计步骤(1)设计微程序确定

3、微程序流程图,也就是控制算法流程图。(2)确定微指令格式微指令格式中的操作控制字段取决于执行部件的子系统需要多少微指令。假定采用直接控制方式,执行部件需要10个微命令,则操作控制字段需要10位。   测试判别字段取决于微程序流程图中有多少处分支转移。假定有3处分支,则测试判别字段需要3位。下址字段取决于微程序流程图的规模。假定微程序共用50条微指令,则下址字段至少需要6位。这是因为ROM地址译码时,26=64,6位地址可容纳64条微指令。(3)将微程序编译成二进制代码(4)微程序写入控制存储器(5)设计硬件电路三、实验现象--CPU头文件cpu

4、_defsLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;PACKAGEcpu_defsIS--定义程序包,包头,包体TYPEopcodeIS(load,store,add,sub,bne);--这个语句适合于定义一些用std_logic等不方便定义的类型,综合器自动实现枚举类型元素的编码,一般将第一个枚举量(最左边)编码为0CONSTANTword_w:NATURAL:=8;CONSTANTop_w:NATURAL:=3;CONSTANTrfill:STD_LOGIC_VECTOR(op_w-1downto0):

5、=(others=>'0');--FUNCTIOnslv2op(slv:INSTD_LOGIC_VECTOR)RETURNopcode;FUNCTIONop2slv(op:inopcode)RETURNSTD_LOGIC_VECTOR;ENDPACKAGEcpu_defs;PACKAGEBODYcpu_defsISTYPEoptableISARRAY(opcode)OFSTD_LOGIC_VECTOR(op_w-1DOWNTO0);--数组有5个元素,其他均0CONSTANTtrans_table:optable:=("000","001","

6、010","011","100");FUNCTIONop2slv(op:INopcode)RETURNSTD_LOGIC_VECTORISBEGINRETURNtrans_table(op);ENDFUNCTIONop2slv;ENDPACKAGEBODYcpu_defs;--实验7-8微程序控制器实验LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL,IEEE.NUMERIC_STD.ALL;USEWORK.CPU_DEFS.ALL;--使用自己定义的程序包ENTITYCPUISPORT(clock:INSTD_LO

7、GIC;--时钟reset:INSTD_LOGIC;--复位mode:INSTD_LOGIC_VECTOR(2DOWNTO0);--查看用mem_addr:INUNSIGNED(word_w-op_w-1DOWNTO0);--地址output:OUTSTD_LOGIC_VECTOR(word_w-1DOWNTO0);data_r_out:OUTSTD_LOGIC_VECTOR(19DOWNTO0);--微指令Rop_out:OUTSTD_LOGIC_VECTOR(op_w-1DOWNTO0);--操作码add_r_out:OUTUNSIGNED

8、(4DOWNTO0)--微地址R);ENDENTITY;ARCHITECTURErtlOFCPUISTYPEmem_arrayISARRAY(0TO2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。