




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 一、实验目的1、通过实验,进一步理解微程序控制器的组成结构。理解微程序控制器的控制原理2、加深理解微程序控制器的工作原理。掌握指令流程与功能3、理解掌握微程序控制器的设计思路与方法二、实验内容与步骤 1、微程序控制器的组成原理 控制存储器:实现整个指令系统的所有微程序,一般指令系统是规定的由高速半导体存储器构成,容量视机器指令系统而定,取决于微程序的个数,其长度就是微指令字的长度。 微指令寄存器:存放从控存读出的当前微指令。微操作控制字段将操作控制信号送到控制信号线上,微地址字段指出下一条微地址的形成。 微地址寄存器:存放将要访问的下一条微指令地址 地址转移逻辑:形成将要执行的微指令地址,形
2、成方式:取指令公操作所对应的微程序一般从控存的0地址开始,所以微程序的人口地址0是由硬件控制的。当出现分支时,通过判别测试字段、微地址字段、和执行部件的反馈信息形成后即微地址。Cpu设计步骤:1. 拟定指令系统2. 确定总体结构(数据通路)3. 安排时序4. 拟定指令流程。根据指令系统,写出对应所有机器指令的全部微操作机器节拍安排,然后列出操作时间表5. 确定微指令的控制方式、下地址形成方式、微指令格式及微指令字长,编写全部的微指令的代码,最后将编写的微指令放入控制存储器中。微程序控制器的设计步骤(1)设计微程序 确定微程序流程图,也就是控制算法流程图。(2)确定微指令格式微指令格式中的操作控
3、制字段取决于执行部件的子系统需要多少微指令。假定采用直接控制方式,执行部件需要10个微命令,则操作控制字段需要10位。 测试判别字段取决于微程序流程图中有多少处分支转移。假定有3处分支,则测试判别字段需要3位。下址字段取决于微程序流程图的规模。假定微程序共用50条微指令,则下址字段至少需要6位。这是因为ROM地址译码时,26=64,6位地址可容纳64条微指令。(3)将微程序编译成二进制代码(4)微程序写入控制存储器(5)设计硬件电路 三、实验现象-CPU 头文件 cpu_defs LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;PACKAGE cpu_defs
4、 IS -定义程序包,包头,包体TYPE opcode IS (load, store, add, sub, bne);-这个语句适合于定义一些用std_logic 等不方便定义的类型,综合器自动实现枚举类型元素的编码,一般将第一个枚举量(最左边)编码为0CONSTANT word_w: NATURAL :=8;CONSTANT op_w: NATURAL :=3;CONSTANT rfill: STD_LOGIC_VECTOR(op_w-1 downto 0):=(others =0);-FUNCTIOn slv2op(slv:IN STD_LOGIC_VECTOR) RETURN opco
5、de;FUNCTION op2slv(op:in opcode) RETURN STD_LOGIC_VECTOR;END PACKAGE cpu_defs;PACKAGE BODY cpu_defs ISTYPE optable IS ARRAY(opcode) OF STD_LOGIC_VECTOR(op_w-1 DOWNTO 0);-数组有5个元素,其他均0CONSTANT trans_table:optable :=(000, 001, 010, 011, 100);FUNCTION op2slv(op:IN opcode) RETURN STD_LOGIC_VECTOR ISBEGIN
6、RETURN trans_table(op);END FUNCTION op2slv;END PACKAGE BODY cpu_defs;-实验 7-8 微程序控制器实验 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL,IEEE.NUMERIC_STD.ALL;USE WORK.CPU_DEFS.ALL;-使用自己定义的程序包ENTITY CPU ISPORT( clock : IN STD_LOGIC;-时钟 reset : IN STD_LOGIC;-复位 mode : IN STD_LOGIC_VECTOR(2 DOWNTO 0); -查看用 mem_a
7、ddr : INUNSIGNED(word_w-op_w-1 DOWNTO 0);-地址 output : OUT STD_LOGIC_VECTOR(word_w-1 DOWNTO 0); data_r_out : OUT STD_LOGIC_VECTOR(19 DOWNTO 0);-微指令Rop_out : OUT STD_LOGIC_VECTOR(op_w-1 DOWNTO 0);-操作码add_r_out : OUT UNSIGNED(4 DOWNTO 0) -微地址R ); END ENTITY;ARCHITECTURE rtl OF CPU ISTYPE mem_array IS A
8、RRAY (0 TO 2*(word_w-op_w)-1) OF STD_LOGIC_VECTOR(word_w-1 DOWNTO 0);-定义RAMSIGNAL mem : mem_array;CONSTANT prog : mem_array:=(0= op2slv(load) & STD_LOGIC_VECTOR(TO_UNSIGNED(4,word_w-op_w),1= op2slv(add) & STD_LOGIC_VECTOR(TO_UNSIGNED(5,word_w-op_w),2= op2slv(store) & STD_LOGIC_VECTOR(TO_UNSIGNED(6,w
9、ord_w-op_w),3= op2slv(bne) & STD_LOGIC_VECTOR(TO_UNSIGNED(7,word_w-op_w),-TO_UNSIGNED转换函数将4转换为5位“00100”4= STD_LOGIC_VECTOR(TO_UNSIGNED(2,word_w),5= STD_LOGIC_VECTOR(TO_UNSIGNED(3,word_w),OTHERS = (OTHERS =0);TYPE microcode_array IS ARRAY (0 TO 14) OF STD_LOGIC_VECTOR(19 DOWNTO 0);CONSTANT code : mic
10、rocode_array:=(-控制存储器0= ,1= ,2= ,3= ,4= ,5= ,6= ,7= ,8= ,9= ,10= ,11= ,12= , 13= , 14= );SIGNAL count : UNSIGNED(word_w-op_w-1 DOWNTO 0);SIGNAL op : STD_LOGIC_VECTOR(op_w-1 DOWNTO 0);SIGNAL z_flag : STD_LOGIC; SIGNAL mdr_out : STD_LOGIC_VECTOR(word_w-1 DOWNTO 0); SIGNAL mar_out : UNSIGNED(word_w-op_
11、w-1 DOWNTO 0); SIGNAL IR_out : STD_LOGIC_VECTOR(word_w-1 DOWNTO 0); SIGNAL acc_out : UNSIGNED(word_w-1 DOWNTO 0); SIGNAL sysbus_out : STD_LOGIC_VECTOR(word_w-1 DOWNTO 0); EGINPROCESS(reset,clock)VARIABLE instr_reg : STD_LOGIC_VECTOR(word_w-1 DOWNTO 0);VARIABLE acc : UNSIGNED(word_w-1 DOWNTO 0);CONST
12、ANT zero : UNSIGNED(word_w-1 DOWNTO 0):=(OTHERS =0)VARIABLE mdr : STD_LOGIC_VECTOR(word_w-1 DOWNTO 0);VARIABLE mar : UNSIGNED(word_w-op_w-1 DOWNTO 0);VARIABLE sysbus : STD_LOGIC_VECTOR(word_w-1 DOWNTO 0);VARIABLE microcode : microcode_array;VARIABLE add_r : UNSIGNED(4 DOWNTO 0); VARIABLE data_r : ST
13、D_LOGIC_VECTOR(19 DOWNTO 0);VARIABLE temp : STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINIF reset=0 THENadd_r:=(OTHERS =0); count 0);instr_reg := (OTHERS =0);acc := (OTHERS =0);mdr := (OTHERS =0);mar := (OTHERS =0);z_flag =0;mem 0);ELSIF RISING_EDGE(clock) THEN-microprogram controllerdata_r := code(TO_INTEGER(
14、add_r);IF data_r(4 DOWNTO 0)=01111 THEN -判断下地址 temp:=01 & op(2 DOWNTO 0);add_r := UNSIGNED(temp);ELSIF data_r(4 DOWNTO 0)=10000 THENIF z_flag=1 THENadd_r:=01110;ELSEadd_r :=01101;END IF;ELSEadd_r := UNSIGNED(data_r(4 DOWNTO 0);END IF;data_r_out =data_r;add_r_out = add_r;-PCIF data_r(16)=1 THEN -PC_b
15、us=1sysbus := rfill & STD_LOGIC_VECTOR(count);END IF;IF data_r(19)=1 THEN -load_PC=1count = UNSIGNED(mdr(word_w-op_w-1 DOWNTO 0);ELSIF data_r(10)=1 THEN -INC_PC=1count = count+1;ELSE count = count;END IF;-IRIF data_r(15)=1 THEN -load_IRinstr_reg := mdr;END IF;IF data_r(9)=1 THEN -Addr_bus=1sysbus :=
16、 rfill & instr_reg(word_w-op_w-1 DOWNTO 0);END IF;op = instr_reg(word_w-1 DOWNTO word_w-op_w);IR_out = instr_reg;op_out =op;-ALUIF data_r(17)=1 THEN -load_ACC=1acc:=UNSIGNED(mdr);END IF;IF data_r(11)=1 THEN -ALU_ACC=1IF data_r(6)=1 THEN -ALU_add=1acc := acc + UNSIGNED(mdr);ELSIF data_r(5)=1 THEN -AL
17、U_sub=1 acc := acc - UNSIGNED(mdr);END IF;END IF;IF data_r(18)=1 THEN -ACC_bus=1sysbus := STD_LOGIC_VECTOR(acc);END IF;IF acc=zero THENz_flag =1;ELSEz_flag =0;END IF;acc_out= acc;-RAMIF data_r(14)=1 THEN -load_MAR=1mar := UNSIGNED(sysbus(word_w-op_w-1 DOWNTO 0);ELSIF data_r(12)=1 THEN -load_MDR=1mdr
18、 := sysbus;ELSIF data_r(8)=1 THEN -CS=1IF data_r(7)=1 THEN -R_NW=1mdr := mem(TO_INTEGER(mar);ELSEmem(TO_INTEGER(mar)=mdr;END IF;END IF;IF data_r(13)=1 THEN -MDR_bus=1sysbus:=mdr;END IF;mdr_out = mdr;mar_out = mar;END IF;sysbus_out sysbus -mode=1 - PC-mode=2 - result of ALU-mode=3 - IR-mode=4 - MAR-m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国双沟弹珠挂锁市场调查研究报告
- 2025至2030年中国双层百页风口行业投资前景及策略咨询报告
- 2025-2030年中国大提花色织布项目投资可行性研究分析报告
- 2018-2024年中国章鱼寿司行业市场评估分析及投资发展盈利预测报告
- 2025年中国pvc软座马桶盖行业市场发展前景及发展趋势与投资战略研究报告
- 职业健康安全管理体系运行情况报告范文
- 中国指纹传感器行业发展监测及投资战略研究报告
- 2025年中国铁路机车专用电线电缆市场供需格局及未来发展趋势报告
- 2025年中国汽车电容器行业市场深度评估及投资战略规划报告
- 美容院职业暴露处置流程
- (二模)温州市2025届高三第二次适应性考试历史试卷(含答案)
- 全国高职单招时事政治历史题库
- 冷库货物储存合同范本
- 第15课《青春之光》课件-2024-2025学年统编版语文七年级下册
- 世界给予我的 课件-2024-2025学年高二下学期开学第一课主题班会
- 个体诊所申请书范文
- LNG加气站施工方案
- 互动式医学课堂教学设计
- 某大型三甲医院智能化设计方案
- 2024年社会工作者之初级社会综合能力考试题库含答案
- 短视频运营(初级)营销师-巨量认证考试题(附答案)
评论
0/150
提交评论