微程序控制器实验97216
实验四 微程序控制器实验
3、TEC-XP 教学机的微指令格式
TEC-XP 教学机的微指令共 48 位,由 16 位的下址字段和 32 位的操作控制字段形成, 其格式如图 4-3 所示。
图 4-3
TEC-XP 教学机的微指令格式
(1)下址字段 a) 8 位的微下址 用于给出下一条将要执行的微指令的地址。 微程序顺序执行, 即把已增 1 后的微指 令地址作为下地址 b) 4 位的测试控制码 CI3~0 用于决定微程序中的微指令寻址方式(顺序寻址、跳跃寻址) 。本实验中只使用到 0000(初始化,使微下址=0) 、0010(指令功能分支,做 MAPROM 映射) 、0011 (条件转移,由 SCC 决定是否转移) 、1110(顺序寻址,将当前微地址加 1 作为微 下址)这四个命令码。
图 4-4
TEC-XP 教学机的数据通路与微命令
实验步骤
请根据每个步骤的详细要求,完成本实验内容。
1、设定工作方式
接通 TEC-XP 教学机的电源,将功能开关拨为 11010,即设为单步、手动执行指令,使 用微程序控制器,联机操作。
2、验证 A 组基本指令——加法指令 ADD R0,R1 的微程序
根据如下所示的 ADD 指令格式,可得到指令 ADD R0 , R1 的机器代码为 00000000 00000001,其中高 8 位为 ADD 指令的操作码(详见代码表 4-1) ,接下来的两个 4 位分别对 应 R0 和 R1 寄存器。
先按下 RESET 按键,复位系统,然后通过 16 位的数据开关 SW 拨入指令代码,再按 下 RESET 按键,此时指示灯 Microp 亮,其它灯全灭。 注意:在本实验中,选择的是微程序控制器,Microp 指示灯会一直点亮。 由附录图 4-5 所示的基本指令流程可知,加法指令 ADD R0 , R1 的整个指令周期包含 6 个 CPU 周期,其中前 3 个 CPU 周期是取指阶段,所有指令都是一样的,第 4 个 CPU 周期 用于指令操作码的地址映射,第 5 个 CPU 周期完成加法指令的功能,第 6 个 CPU 周期用于 判断是否需要执行中断周期, 从而决定该加法指令执行结束后的流向。 该加法指令的微程序 如表 4-6 所示。 在完成以上设置后,接下来每次按下 START 按键,控制器就会执行一条微指令,请在 实验前看懂以下微指令,在实验中验证每条微指令,并记录每条微指令执行时微地址、微 下址指示灯的状态。
微程序控制器实验报告
计算机组成原理实验及课程设计报告书系别:计算机系专业:计算机科学与技术课程:计算机组成原理指导教师:实验人:班级:实验时间:2009.5.28-2009.6.7 编制时间:2009.6.14微程序控制器实验报告(一) 实验目的通过看懂教学计算机中已经设计好并正常运行的数条基本指令(例如:ADD,MVRR,OUT,MVRD,JR,RET 等命令)的功能、格式和执行流程,然后自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。
其最终要达到的目的是: 1. 深入理解计算机微程序控制器的功能、组成知识; 2. 深入的学习计算机各类典型指令的执行流程;3. 对指令的格式、寻址方式、指令系统、指令分类等建立具体的总体的概念;4. 学习微程序控制器的设计工程和相关技术。
(二)实验过程 RCL 指令 一、指令设计a)指令格式及功能:汇编格式: RCL DR机器指令: 00101010 00000000功能:带进位C 循环左移,最高位移入C ,C 移入最低位 b)指令流程图:c)控制信号表: MAPROM MP1 MP2 MP3MP4MP5 MP6 MP7 微指下指CI 3-0 SCC 3-0 0 /MR/W 0 I 2-0 SA I 8-6 SB I 5-3 B 口 A 口 0 SST SSHSCI DC2 DC1 50H 01H30H43H78H00H64H00H说明:把地址位2AH 单元内容修改为50H ,实现译码,找到为程序的入口地址。
二、实验操作:修改MAPROM 和控存 a)MAPROM 的修改:1、 试验箱断电2、取下M APROM ,插入扩展槽,连片选信号(6000H-7FFFH )3、试验箱开电,PC 机开机4、设置试验机工作模式为:连续、内存区、组合逻辑、16位、联机5、运行PCEC16,进行PC 机与试验箱联机取地址带进位C 循环左移6、>E 602BXXXX: 0050提示:修改完之后检查是否破坏了基本指令内存。
微程序控制器实验
__计算机__学院___ _专业___ __班__学号_ _____ 姓名______协作者___________ 教师评定_____________ 实验题目_微程序控制器实验_______________________1.实验目的与要求:1.理解时序产生器的原理,了解时钟和时序信号的波形2.掌握微程序控制器的功能.组成知识.3.掌握微指令格式和各字段功能.4.掌握微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程2.实验方案:1.按照各组的要求将二进制代码表的代码输入2.根据微程序流程图将程序通过机器指令执行3.通过手动操作将程序执行完毕3.实验结果分析:通过二进制代码表将微指令输入到RAM当中,并通过机器指令将这些微程序根据流程执行完,以达到执行程序的目的.4.写出你掌握了的控制信号的作用存数(STA)是将数据向RAM里面装入OUT(输出)是将RAM里面的数据取出,通过LED灯的形式显示出来5.结论微指令就是把同时发出的控制信号的有关信息汇集起来形成的。
将一条指令分成若干条微指令,按次序执行就可以实现指令的功能。
一条机器指令的功能是若干条微指令组成的序列来实现的。
6.问题与讨论及实验总结在微指令操作时需要将八进制的微地址转化成二进制,而且将它们输入到机器里面,在输入过程令我有时会混淆了一些二进制代码,从而操作出错,不过找到规律后就可以准确无误了.在执行程序时,要注意清零,不然会出错.7.思考选择题:(单选题)1、( A )2、( B)3、( B )4、( A )5、( B ) 6 、( C ) 7、( B ) 8、( A )9、( A ) 10、( B ) 11、( D )。
微程序控制器原理实验报告
微程序控制器原理实验报告一、引言微程序控制器作为计算机系统的重要组成部分,扮演着指挥和控制计算机操作的关键角色。
本实验报告将对微程序控制器的原理进行探讨,并描述相关实验的设计、步骤、结果和分析。
二、微程序控制器的原理2.1 微程序控制器的概念微程序控制器是一种控制计算机操作的技术,通过将指令集中的每个指令分解为一系列微操作,并以微指令的形式存储在控制存储器中,从而实现指令的执行控制。
2.2 微指令的组成和格式微指令由多个字段组成,每个字段代表一个微操作控制信号。
常见的微指令格式包括微地址字段、条件码字段、操作码字段等。
2.3 微指令的执行过程微指令的执行过程包括指令的取指、译码、执行和写回等阶段。
每个阶段对应微指令的不同部分,通过控制信号的转换和传递,完成相应的操作。
三、微程序控制器的设计与实验3.1 设计思路在进行微程序控制器实验前,需要明确实验的目标和设计思路。
实验通常包括以下几个步骤:确定指令集、确定微指令格式、设计控制存储器、设计控制逻辑电路等。
3.2 实验步骤1.确定指令集:根据实验需求,确定需要支持的指令集。
2.确定微指令格式:根据指令集的要求,设计适合的微指令格式。
3.设计控制存储器:根据微指令格式,设计控制存储器的结构和内容。
4.设计控制逻辑电路:根据微指令的执行过程,设计控制逻辑电路,实现指令的控制和转换。
5.构建实验平台:将设计的控制存储器和控制逻辑电路构建成实验平台,并与计算机系统相连。
6.进行实验:在实验平台上执行指令,观察和记录实验结果。
3.3 实验结果与分析根据实验步骤中的设计和操作,得到了相应的实验结果。
通过比对实验结果和预期效果,可以对微程序控制器的设计和实验进行分析和评估。
四、总结与展望微程序控制器作为计算机系统的关键组成部分,通过微操作的方式实现指令的执行控制。
本实验报告对微程序控制器的原理进行了探讨,并描述了相关实验的设计、步骤、结果和分析。
通过实验,我们深入理解了微程序控制器的工作原理和设计方法。
计算机组成原理实验报告三微程序控制器实验
微程序控制器实验报告一、实验目的(1)掌握微程序控制器的功能、组成知识。
(2)掌握为程序的编制、写入、观察微程序的运行二、实验设备:PC机一台,TD-CM3+实验系统一套三、实验原理:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件的为命令序列,完成数据传送和个汇总处理操作,他的执行方法是将控制各部件的微命令的集合进行编码,即将微命令的集合仿照及其指令一眼,用数字代码的形式表示,这种表示陈伟微指令。
这样就可以用一个微指令序列表示一条机器指令,这种为指令序列称作为程序。
微程序存储在一种专用的存储器中,成为控制储存器四、实验步骤1.对为控制器进行读写操作:(1)手动读写:①按图连线:②将MC单元编程开关置为“编程”档,时序单元状态开关置为“单步”档,ADDR 单元状态开关置为“置数”档③使用ADDR单元的低六位SA5…SA0给出微地址MA5…MA0,微地址可以通过MC 单元的MA5…MA0微地址灯显示④CON单元SD27…SD20,SD17…SD10,SD07…SD00开关上置24位微代码,待写入值由MC单元的M23…M024位LED灯显示⑤启动时序电路(按动一次TS按钮),即将微代码写入到E2PROM2816的相应地址对应单元中⑥重复③④⑤三步,将下图微代码写入2816芯片中二进制代码表(2)联机读写:①将微程序写入文件,联机软件提供了微程序下载功能,以代替手动读写微控制器,但微程序得以指定的格式写入本次试验的微程序如下:://************************************************************// :// // :// 微控器实验指令文件 // :// // ://************************************************************// ://***************Start Of MicroController Data****************//$M 00 000001;NOP$M 01 007070;CON(INS)->IR,P<1>$M 04 002405;R0->A$M 05 04B201;R0->B$M 30 001404;A加B->RO$M 32 183001;IN->R0$M 33 280401;R0->OUT$M 35 000035;NOP;//***************End Of MicroController Data*******************// ②写入微程序用联机软件的“【转存】-【装载数据】”功能将改格式文件装载入试验系统。
微程序控制器实验报告
一、实验目的1、通过实验,进一步理解微程序控制器的组成结构。
理解微程序控制器的控制原理2、加深理解微程序控制器的工作原理。
掌握指令流程与功能3、理解掌握微程序控制器的设计思路与方法二、实验内容与步骤1、微程序控制器的组成原理控制存储器:实现整个指令系统的所有微程序,一般指令系统是规定的由高速半导体存储器构成,容量视机器指令系统而定,取决于微程序的个数,其长度就是微指令字的长度。
微指令寄存器:存放从控存读出的当前微指令。
微操作控制字段将操作控制信号送到控制信号线上,微地址字段指出下一条微地址的形成。
微地址寄存器:存放将要访问的下一条微指令地址地址转移逻辑:形成将要执行的微指令地址,形成方式:取指令公操作所对应的微程序一般从控存的0地址开始,所以微程序的人口地址0是由硬件控制的。
当出现分支时,通过判别测试字段、微地址字段、和执行部件的反馈信息形成后即微地址。
Cpu设计步骤:1.拟定指令系统2.确定总体结构(数据通路)3.安排时序4.拟定指令流程。
根据指令系统,写出对应所有机器指令的全部微操作机器节拍安排,然后列出操作时间表5.确定微指令的控制方式、下地址形成方式、微指令格式及微指令字长,编写全部的微指令的代码,最后将编写的微指令放入控制存储器中。
微程序控制器的设计步骤(1)设计微程序确定微程序流程图,也就是控制算法流程图。
(2)确定微指令格式微指令格式中的操作控制字段取决于执行部件的子系统需要多少微指令。
假定采用直接控制方式,执行部件需要10个微命令,则操作控制字段需要10位。
测试判别字段取决于微程序流程图中有多少处分支转移。
假定有3处分支,则测试判别字段需要3位。
下址字段取决于微程序流程图的规模。
假定微程序共用50条微指令,则下址字段至少需要6位。
这是因为ROM地址译码时,26=64,6位地址可容纳64条微指令。
(3)将微程序编译成二进制代码(4)微程序写入控制存储器(5)设计硬件电路三、实验现象--CPU 头文件cpu_defsLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;PACKAGE cpu_defs IS --定义程序包,包头,包体TYPE opcode IS (load, store, add, sub, bne); --这个语句适合于定义一些用std_logic 等不方便定义的类型,综合器自动实现枚举类型元素的编码,一般将第一个枚举量(最左边)编码为0 CONSTANT 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 opcode;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 ISBEGINRETURN 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_addr : 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 ARRAY (0 TO 2**(word_w-op_w)-1) OF STD_LOGIC_VECTOR(word_w-1DOWNTO 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,word_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 : microcode_array:=(--控制存储器0=> "00010100010000000001",1=> "00000000000110000010",2=> "00001010000000000011",3=> "00000100001000001111",4=> "00100010000000000000",5=> "00000000000100000000",6=> "00000010100001000000",7=> "00000010100000100000",8=> "00000000000110000100",9=> "01000001000000000101",10=> "00000000000110000110",11=> "00000000000110000111",12=> "00000000000110010000",13=> "10000010000000000000",14=> "00000000000000000000");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_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);CONSTANT 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 : STD_LOGIC_VECTOR(19 DOWNTO 0);VARIABLE temp : STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINIF reset='0' THENadd_r:=(OTHERS =>'0');count <= (OTHERS =>'0');instr_reg := (OTHERS =>'0');acc := (OTHERS =>'0');mdr := (OTHERS =>'0');mar := (OTHERS =>'0');z_flag <='0';mem <= prog;sysbus :=(OTHERS =>'0');ELSIF RISING_EDGE(clock) THEN--microprogram controllerdata_r := code(TO_INTEGER(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_bus='1'sysbus := rfill & STD_LOGIC_VECTOR(count);END IF;IF data_r(19)='1' THEN --load_PC='1'count <= UNSIGNED(mdr(word_w-op_w-1 DOWNTO 0));ELSIF data_r(10)='1' THEN --INC_PC='1'count <= count+1;ELSEcount <= count;END IF;--IRIF data_r(15)='1' THEN --load_IRinstr_reg := mdr;END IF;IF data_r(9)='1' THEN --Addr_bus='1'sysbus := 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='1'acc:=UNSIGNED(mdr);END IF;IF data_r(11)='1' THEN --ALU_ACC='1'IF data_r(6)='1' THEN --ALU_add='1'acc := acc + UNSIGNED(mdr);ELSIF data_r(5)='1' THEN --ALU_sub='1'acc := acc - UNSIGNED(mdr);END IF;END IF;IF data_r(18)='1' THEN --ACC_bus='1'sysbus := 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='1'mar := UNSIGNED(sysbus(word_w-op_w-1 DOWNTO 0));ELSIF data_r(12)='1' THEN --load_MDR='1'mdr := sysbus;ELSIF data_r(8)='1' THEN --CS='1'IF data_r(7)='1' THEN --R_NW='1'mdr := mem(TO_INTEGER(mar));ELSEmem(TO_INTEGER(mar))<=mdr;END IF;END IF;IF data_r(13)='1' THEN --MDR_bus='1'sysbus:=mdr;END IF;mdr_out <= mdr;mar_out <= mar;END IF;sysbus_out <=sysbus;END PROCESS;PROCESS(mode,mem_addr)BEGIN--mode=0 -> sysbus--mode=1 -> PC--mode=2 -> result of ALU--mode=3 -> IR--mode=4 -> MAR--mode=5 -> MDR--mode=6 -> memoutput <= (OTHERS =>'0');CASE mode isWHEN "000" =>output<=sysbus_out;WHEN "001" =>output(word_w-op_w-1 DOWNTO 0)<= STD_LOGIC_VECTOR(count);WHEN "010" =>output <= STD_LOGIC_VECTOR(acc_out);WHEN "011" =>output <= IR_out;WHEN "100" =>output(word_w-op_w-1 DOWNTO 0) <= STD_LOGIC_VECTOR(mar_out);WHEN "101" =>output <= mdr_out;WHEN "110" =>output <= mem(TO_INTEGER(mem_addr));WHEN others =>output <= (OTHERS =>'Z');END CASE;END PROCESS;END ARCHITECTURE;现象结果:四、实验体会原本对于控制器的设计还是一片空白,通过实验初步理解微程序控制器的组成结构。
微程序控制器实验报告
微程序控制器实验报告微程序控制器实验报告引言微程序控制器是一种常见的计算机控制器,它采用微程序的方式来实现指令的执行。
在本次实验中,我们将学习和探索微程序控制器的工作原理,并通过实验验证其功能和性能。
实验目的本次实验的主要目的是通过设计和实现一个简单的微程序控制器,来深入理解微程序控制器的工作原理和原理图设计。
实验过程1. 设计微指令集在设计微程序控制器之前,首先需要确定微指令集。
微指令集是由一系列微指令组成的,每个微指令对应一个控制信号,用于控制计算机的各个组件的操作。
在本次实验中,我们选择了常见的微指令集,包括存储器读写、算术逻辑运算、数据传输等指令。
2. 设计微指令控制存储器微指令控制存储器是微程序控制器的核心组件,用于存储微指令集。
在本次实验中,我们使用了静态随机存储器(SRAM)来实现微指令控制存储器。
通过将微指令集编码为二进制数,并将其存储在SRAM中的不同地址位置,实现对微指令的存储和读取。
3. 设计微指令解码器微指令解码器用于解析微指令,并产生相应的控制信号。
在本次实验中,我们使用了组合逻辑电路来实现微指令解码器。
通过将微指令的不同位与控制信号相连,实现对微指令的解码和控制信号的生成。
4. 设计微程序计数器微程序计数器用于控制微程序的执行顺序。
在本次实验中,我们使用了计数器和触发器来实现微程序计数器。
通过将微程序计数器的输出与微指令控制存储器的地址输入相连,实现对微指令的顺序读取。
实验结果通过实验,我们成功设计并实现了一个简单的微程序控制器。
在实验中,我们编写了微指令集,并将其存储在微指令控制存储器中。
通过微指令解码器和微程序计数器的协作,我们成功实现了对微指令的解码和执行。
实验结果表明,微程序控制器能够准确地控制计算机的各个组件的操作,并实现指令的执行。
实验总结通过本次实验,我们深入了解了微程序控制器的工作原理和原理图设计。
微程序控制器作为一种常见的计算机控制器,具有灵活性和可扩展性。
微程序控制器原理实验
微程序控制器原理实验微程序控制器是一种基于微程序理论的控制器,被广泛应用于计算机系统的控制部分。
微程序控制器利用微指令来完成对计算机硬件的控制,通过将控制指令以微指令的形式存储在控制存储器中,再通过微程序计数器和指令寄存器的协作来实现对计算机中相关硬件的控制。
微程序控制器通过微指令的方式将指令的信息分解成若干微操作,每个微操作对应一个微指令。
每个微指令又由多个微操作组成,通过控制存储器中的微指令的读出来实现对相应的微操作的控制。
在微程序控制器的设计过程中,需要进行微指令的编码和微操作的选择,确保微操作的实现顺序和时序满足设计要求。
微程序控制器的实验可以通过设计一个简单的微程序控制器来进行验证。
首先,需要设计一个微指令的格式,其中包括操作码、操作数、地址等字段。
然后,根据需要控制的硬件模块设计相应的微操作,并将这些微操作编码成微指令。
通过控制存储器将微指令存储起来,并设计一个微程序计数器和指令寄存器来控制微指令的读取和执行过程。
在实验中,可以选择一些简单的指令例如加法指令来进行设计。
首先,设计一个微指令的格式,其中包括操作码字段和操作数字段。
然后,根据加法指令的功能设计相应的微操作,例如从寄存器中读取操作数、将操作数累加等。
将这些微操作编码成微指令,并将微指令存储在控制存储器中。
通过微程序计数器和指令寄存器来控制微指令的读取和执行过程,实现对加法指令的控制。
在实验中,需要设计相应的硬件电路来实现微程序控制器的功能。
这些电路包括控制存储器、微程序计数器、指令寄存器等。
可以使用逻辑门、触发器等基本的数字电路元件来实现这些电路。
通过将这些电路连接起来,形成一个完整的微程序控制器实验样机。
在实验过程中,需要根据设计的微指令格式和微操作进行编码和存储。
通过控制存储器将微指令读取并执行,控制相应的硬件模块进行操作。
通过示波器或LED 等辅助工具来监测和验证微程序控制器的工作状态和正确性。
微程序控制器原理实验可以帮助学生深入理解微程序的工作原理和实现方式。
实验三:微程序控制器实验
《计算机组成原理》实验报告实验三:微程序控制器实验学院:专业:班级:学号:学生姓名:实验日期:指导老师:成绩评定:计算机学院计算机组成原理实验室实 验 三一、 实验名称:微程序控制器实验二、 实验目的:掌握微程序的编制、写入、观察微程序的运行情况 ,了解微程序流程原理。
三、 实验原理:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,该存储器称为控制存储器。
微程序流程图:NOP00指令译码P<1>IN->R0R0->OUT NOPR0->AR0->BA+B->R00130320405333530ADDINOUTHLT01010135四、实验设备:TD-CMA实验系统一套五、实验步骤:1、对微控器进行编程(写)(1)将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控存’档,KK5置为‘置数’档。
(2)使用CON单元的SD05-SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。
(3)将时序与操作台单元的开关KK5置为‘加1’档。
(4)IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的中8位。
IN单元给出高8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的高8位。
(5)重复(1)(2)(3)(4)四步,将二进制代码表的微地址(地址和十六进制)写入芯片中。
2、对微控器进行校验(读)(1)将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘校验’档,KK4置为‘控存’档,KK5置为‘置数’档。
微程序控制器实验报告
组成原理No.4实验---微程序控制器实验组员:组号:21号时间:周二5、6节【实验目的】(1)掌握时序发生器的组成原理。
(2)掌握微程序控制器的组成原理。
(3)掌握微程序的编制、写入、观察微程序的运行情况【实验设备】TDN-CM++,【实验原理】微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,该存储器称为控制存储器。
实验所用的时序控制电路框图如图1可产生四个等间隔的时序信号TS1~TS4。
在图1中,为时钟信号,由实验台左上方的方波信号源提供,可产生频率及脉宽可调额方波信号;STEP是来自实验板上方中部的一个二进制开关STEP的模拟信号;START键是来自实验板上方左部的一个微动开关START的按键信号。
当STEP开关为EXEC(0TS1~TS4将周而复始地发送出去。
当STEP为STEP(1)时,按下START启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机了。
利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。
另外,如果STEP开关置“STEP”,会使机器停机,CLR开关执行1→0→1操作可以使时序清零。
时序状态图如下图所示。
由于时序电路的内部线路已经连好,因此只需将时序电路与方波信号源连接,即将时序电路的时钟脉冲输入端接至方波信号发生器输入端H23上,按动启动键START后,就可产生时序信号TS1~TS4.时序电路的CLR已接至CLR模拟开关上。
编程开关具有三种状态:PROM(编程)、READ(校验)和RUN(运行)。
微程序控制器的实验报告
计算机科学与技术系实验报告专业名称计算机科学与技术课程名称计算机组成与结构项目名称微程序控制器实验一、实验目的1.掌握微程序控制器的组成原理;2.掌握微程序的编制、写入、观察微程序的运行情况。
二、实验逻辑原理图与分析2.1 实验逻辑原理图及分析微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,该存储器称为控制存储器,如图所示:微程序控制器组成原理框图控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理。
本实验所用的时序单元来提供,分为四拍TS1、TS2、TS3、TS4。
在微程序控制器的组成中,控制器采用3片2816的E^2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。
为地址寄存器6位,用三篇正沿触发的双D触发器(74)组成,他们带有清“0”端和预置端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为吓一条微指令地址。
当T4时刻惊醒测试判别式,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。
三、数据通路图及分析(画出数据通路图并作出分析)本实验安排了四条机器指令,分别为ADD(00000000)、IN(00100000)、OUT(00110000)和HLT(01010000),括号中为各指令的二进制代码,指令格式如下:助记符机器指令码说明IN 0010 0000 IN->ROADD 0000 0000 RO+RO->ROOUT 0011 0000 RO->OUTHLT 0101 0000 停机试验中机器指令由CON单元的二进制开关手动给出,其余单元的控制信号均由微程序控制器自动产生,为此可以设计出相应的数据通路图,如下图所示:数据通路图几条机器指令对应的参考微程序流程图如下图所示。
微程序控制器实验报告
微程序控制器实验组员:组号:21号时光:周二5.6节【实验目标】(1)控制时序产生器的构成道理.(2)控制微程序控制器的构成道理.(3)控制微程序的编制.写入.不雅察微程序的运行情形【实验装备】TDNCM,【实验道理】图中,微指令格局如下:【实验步调】将全体微程序指令格局变成二进制代码,可得到如下图所示的二进制代码表.(一)衔接电路图:按照下图所示衔接实验电路图.(3)不雅察时序旌旗灯号不雅察方波旌旗灯号源的输出端H23,调节电位器W1,使输出波形的频率最慢.将时序电路中的“STOP”开关置为“RUN”,“STEP”开关置为“EXEC”.按动START键,测量TS1~TS4各点的波形,比较他们的互相关系,画出波形,并标注测量所得的脉冲宽度,见下图:注:个中TS2~TS4的高电平宽度所测成果与TS1的雷同,在图中未标注.(四)现实操纵①编程:将编程开关置为PROM(编程状况).将“STATE UNIT”单元中的STEP开关置为“STEP”,STOP开关置为“RUN”状况.用二进制模仿开关置微地址UA5~UA0.在MK24~MK1开关上置微代码,置0显示灯亮,置1灭.按动START键,则将微代码写入到对应的地址单元中.反复后三步操纵,将须要的微代码写入到芯片中.②校验:将编程开关READ(校验)状况.将“STATE UNIT”单元中的STEP开关置为“STEP”,STOP开关置为“RUN”状况.用二进制开关置好微地址UA5~UA0.按动START键,读出微代码,不雅察显示灯的状况是否与写入的雷同.若不合,则编写错误,从新编程.③单步运行:将编程开关置于“RUN(运行)”状况.将“STATE UNIT”单元中的STEP开关置为“STEP”,S TOP开关置为“RUN”状况.使CLR开关从1→0→1,此时微地址存放器MA5-MA0清“0”,从而给出运行微指令的进口地址为000000(二进制).按动START键,启动时序电路,则每按动一次,读出一条微指令后停机,微地址显示灯和微敕令显示灯将显示所读出的一条指令.④强置运行:经由过程UA5~UA0端口工资置分支地址,实验中置微地址为001010(12)⑤持续运行:将编程开关置于“RUN(运行)”状况.将单步开关“STEP”置为“EXEC”状况.使CLR开关从1→0→1,此时微地址存放器清“0”,从而给出运行微指令的进口地址为000000(二进制).按动START键,则可持续读出微指令.【实验成果】实验中所置微地址为001010(12),持续运行后,就得出持续的000111(07)和001101(15).可知操纵准确.【问题剖析】。
计算机组成原理实验报告3 微程序控制器实验
实验三微程序控制器实验一.实验目得与要求:实验目得:1.理解时序产生器得原理,了解时钟与时序信号得波形;2.掌握微程序控制器得功能,组成知识;3.掌握微指令格式与各字段功能;4.掌握微程序得编制,写入,观察微程序得运行,学习基本指令得执行流程.实验要求:1.实验前,要求做好实验预习,并复习已经学过得控制信号得作用;2.按练习一要求完成测量波形得操作,画出TS1,TS2,TS3,TS4得波形,并测出所用得脉冲Ф周期。
按练习二得要求输入微指令得二进制代码表,并单步运行五条机器指令. 二.实验方案:按实验图在实验仪上接好线后,仔细检查无误后可接通电源.1.练习一:用联机软件得逻辑示波器观测时序信号,测量Ф,TS1,TS2,TS3,TS4信号得方法如下:(1)TATEUNIT 中STOP开关置为“RUN”状态(向上拨),STEP开关置为“EX EC”状态(向上拨)。
(2) 将SWITCH UNIT中右下角CLR开关置为“1”(向上拨)。
(3)按动“START"按钮,即可产生连续脉冲。
(4)调试"菜单下得“显示逻辑示波器窗口,即可出现测量波形得画面。
(5)探头一端接实验仪左上角得CH1,另一端接STATE UNIT中得Ф插座,即可测出时钟Ф得波形。
(6)探头一端接实验仪左上角得CH2,另一端接STATE UNIT中得TS1插座,即可测出TS1得波形;(7)探头一端接实验仪左上角得CH1,另一端接STA TE UNIT中得TS2插座,即可测出TS2得波形.(8)将红色探头一端接实验仪左上角得CH1,另一端接STATE UNIT中得TS3插座,即可测出TS3得波形。
(9)将红色探头一端接实验仪左上角得CH1,另一端接STATE UNIT中得TS4插座,即可测出TS4得波形。
2.观察微程序控制器得工作原理:①关掉实验仪电源,拔掉前面测时序信号得接线;②编程写入E2PROM 2816A.将编程开关(MJ20)置为PROM(编程)状态;B.将实验板上STA TE UNIT 中得STEP置为STEP状态,STOP置为RUN状态,SWITCHUNIT中CLR开关置为1状态;C.在右上角得SWITCHUNIT中UA5—UA0开关上置表3、2中某个要写得微地址;D.在MK24-MK1开关上置表3、2中要写得微地址后面得24位微代码,24位开关对应24位显示灯,开关置为1时灯亮,为0时灯灭;E.启动时序电路,即将微代码写入到E2PROM 2816得相应地址对应得单元中;F.重复C—E步骤,将表3、2得每一行写入E2PROM 2816。
微程序控制器实验
微程序控制器实验一、实验目的1、掌握微程序控制器的原理2、掌握TEC-8模型计算机中微程序控制器的实现方法,微地址转移逻辑的实现方法。
3、理解条件转移对计算机的重要性。
二、实验仪器或设备1、TEC-8计算机硬件综合实验系统2、直流万用表3、逻辑测试笔三、总体设计(设计原理、设计方案及流程等)微程序控制器与硬连线控制器相比,由于其规整性、易于设计以及需要的时序发生器相对简单,在上世纪七、八十年代得到广泛应用。
本实验通过一个具体微程序控制器的实现使学生从实践上掌握微程序控制器的一般实现方法,理解控制器在计算机中的作用。
1、微指令格式根据机器指令功能、格式和数据通路所需的控制信号,TEC-8采用如图4.1所示的微指令格式。
微指令字长40位,顺序字段11位(判别字段P4~P0,后继微地址NµA5~NµA0),控制字段29位,微命令直接控制。
图4.1 微指令格式NµA5~NµA0 下址,在微指令顺序执行的情况下,它是下一条微指令的地址P0=1时,根据后继微地址NµA5~NµA0和模式开关SWC、SWB、SWA确定下一条微指令的地址。
见图4.2微程序流程图P1 =1 时,根据后继微地址NµA5~NµA0 和指令操作码 IR7~IR4 确定下一条微指令的地址。
见图4.2微程序流程图P2 =1 时,根据后继微地址NµA5~NµA0 和进位 C 确定下一条微指令的地址。
见图4.2微程序流程图P3 =1 时,根据后继微地址NµA5~NµA0和结果为0标志Z确定下一条微指令的地址。
见图4.2微程序流程图P4=1 时,根据后继微地址NµA5~NµA0 和中断信号 INT 确定下一条微指令的地址。
模型计算机中,中断信号INT由时序发生器在接到中断请求信号后产生STOP=1时,在T3结束后时序发生器停止输出节拍脉冲T1、T2、T3LIAR=1时,在T3的上升沿,将PC7~PC0写入中断地址寄存器IARINTDI=1时,置允许中断标志(在时序发生器中)为0,禁止TEC-8模型计算机响应中断请求INTEN=1时,置允许中断标志(在时序发生器中)为1,允许TEC-8模型计算机响应中断请求IABUS=1时,将中断地址寄存器中的地址送数据总线DBUSPCADD=1时,将当前的PC值加上相对转移量,生成新的PC由于TEC-8 模型计算机有微程序控制器和硬连线控制器2个控制器,因此微程序控制器产生的控制信号以前缀“A-”标示,以便和硬连线控制器产生的控制信号区分。
微程序控制器实验
实验4 微程序控制器实验一实验目的(1) 掌握微程序控制器的组成原理。
(2) 掌握微程序的编制、写入,观察微程序的运行过程。
二实验设备PC机一台,TD-CMA实验系统一套。
三实验原理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器微程序控制器组成原理框图控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4。
在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储器(包括存储器和控制存储器)的三种操作:编程、校验、运行。
考虑到对于存储器(包括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实验平台提供了便利的手动操作方式。
编辑完成后需进行校验,以确保编辑的正确。
以校验00H 单元为例,对于控制存储器进行校验的具体操作步骤如下:首先将KK1拨至‘停止’档、KK3拨至‘校验’档、KK4拨至‘控存’档、KK5拨至‘置数’档。
由CON 单元的SD05——SD00开关给出需要校验的控存单元地址(000000),连续两次按动开关ST ,MC 单元指示灯M7——M0显示该单元低8位数据(00010001);KK5拨至‘加1’档,再连续两次按动开关ST ,MC 单元指示灯M15——M8显示该单元中8位数据(00100010);再连续两次按动开关ST ,MC 单元指示灯M23——M16显示该单元高8位数据(00110011)。
计算机组成原理微程序控制器实验报告
计算机组成原理实验报告三:微程序控制器实验2011-05-06 01:00:09|分类:实验报告| 标签:实验微程序字段微指令信号|字号大中小订阅实验三:微程序控制器实验一、实验目的与要求:实验目的:1、掌握时序产生器的原理和具体操作。
2、掌握微程序控制器的功能、组成知识。
3、掌握微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。
要求:做好实验预习,掌握进位控制运算器的原理。
实验之前,应认真准备,写出实验步骤和具体分析内容,否则实验效率会特别低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说学懂了些什么重要教学内容。
二、实验方案:【1】、连接好实验线路,检查无误后接通电源。
【2】、编程:(1)将编程开关(MJ20)置为PROM(编程)状态;(2)将STATE UNIT中的STEP置为"STEP"状态,STOP置为"RUN"状态;(3)在UA5-UA0开关上置要写的某个微地址(八进制);(4)在MK24-MK1开关上置要写的微地址相应的24位微代码,24位开关对应24位显示灯,开关量为"1"灯亮,为"0"灯灭;(5)启动时序电路(按动启动按钮START),即将微代码写入到E2PROM2816的相应地址对应的单元中;(6)重复(3)~(5)步骤将每一条微指令写入E2PROM2816。
【3】、校验:(1)将编程开关置为READ状态;(2)将STEP开关置为"STEP"状态,STOP开关置为"RUN"状态;(3)在开关UA5~UA0上置好要读的某个微地址;(4)按动START键,启动时序电路,观察显示灯MD24-MD1的状态,检查读出的微代码是否已写入的相同。
如果不同在将开关置于PROM编程状态,重新执行编程步骤;(5)重复(3)、(4)步骤将每一条微指令从E2PROM2816中读出。
微程序控制器实验.doc
微程序控制器实验.doc微程序控制器是计算机的核心控制部件之一,它的作用是根据指令要求,控制计算机各个部件的操作和协调整个系统的工作。
本文介绍了微程序控制器实验的背景、实验目的、实验内容、实验原理、实验步骤和实验结果等相关内容。
一、背景微程序控制器是由微命令序列控制数据通路执行指令的计算机控制器。
一个微程序控制器由微指令存储器、微程序计数器、微操作控制逻辑和通用寄存器等组成。
微程序控制器采用了基于流水线的执行方式,能够实现高效、低延迟的指令处理能力。
微程序控制器广泛应用于计算机控制器中,是计算机实现指令集架构的关键部件之一。
二、实验目的了解微程序控制器的工作原理和基本结构,掌握微指令、微命令和微程序的概念和基本组成,能够通过实验演示微程序控制器的原理和操作方式,加深对计算机控制器的认识。
三、实验内容本实验中,我们将使用Verilog HDL语言设计并仿真一个微程序控制器,通过实验平台进行验证和测试。
具体实验内容包括:1. 设计微指令格式和微指令存储器的组成;2. 根据微指令,设计微命令编码和微程序逻辑,包括微程序计数器和微程序计算器的实现;3. 完成微程序控制器的RTL级别设计,并进行功能仿真和时序仿真;4. 测试实验平台,验证微程序控制器的工作原理和操作方式;5. 编写实验报告,总结实验结果和体会,进一步加深对微程序控制器的理解和掌握。
四、实验原理微程序控制器的工作原理可以分为以下几个步骤:1. 按照指令格式,将指令转化成二进制编码;2. 根据指令编码,从微指令存储器中读取对应的微指令;3. 解码微指令,获取对应的微命令编码;4. 根据微命令编码,执行相应的微程序逻辑,控制计算机的操作;5. 根据微程序逻辑,通过微操作控制逻辑生成对应的控制信号,控制数据通路完成指令执行。
微程序控制器的核心是微程序计算机,它是根据微指令和微命令编码,执行相应的微程序逻辑,控制计算机的操作。
微程序计算机包括微程序计数器和微程序计算器两个部分,微程序计数器用于控制微程序的执行顺序,微程序计算器用于根据微指令生成微命令编码,并执行微程序逻辑。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(每题2分)
北京科技大学计算机与通信工程学院
实验报告
实验名称: 微程序控制器实验
学生姓名:
专业:
班级:
学号:
指导教师:
实验成绩:
实验地点:
实验时间:年月日
一、实验目的与实验要求
1、实验目的
(1) 掌握微程序控制器的组成原理。
(2) 掌握微程序的编制、写入方法。
(3) 观察并掌握微程序的运行过程。
2、实验要求
(1)利用实验箱和联机软件,观察使用4条指令编写的微程序执行流程,深入理解微程序控制器的组成原理,并完成其验证性实验。
(2)在完成加法的验证实验后,更改指令,完成减法实验。
二、实验设备(环境)及要求
CM3+实验环境、QuartusⅡ8.0环境
三、实验内容与步骤
1、实验一
(1)实验原理
微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个由多条微指令组成的序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如下图所示。
核心微控器主要是接收机器指令译码器送来的代码,使控制转向相应机器指令对应的首条微代码程序,对机器指令的功能进行解释或执行的工作。
具体来讲,就是通过接收CPU指令译码器发来的信号,找到该机器指令对应的首条微代码的入口微地址,再通过由T1引入的时序节拍脉冲的控制,逐条读出微代码。
然后,其中几位经过译码,一并产生实验平台所需的控制信号,将它们加到数据通路中相应的控制位,可对该机器指令的功能进行解释和执行。
指令解释到最后,再继续接收下一条机器指令代码,并使控制转到对应的入口微地址,这样周而复始,即可实现机器指令程序的运行。
微程序控制器原理图如下。
(2)主要步骤
①实验接线
按下图连线方式完成实验箱接线部分。
②写入微程序
用联机软件的“转储”->“装载”功能将该格式(*.TXT )文件装载入实验系统。
装入过程中,在软件的输出区的“结果”栏会显示装载信息,如当前正在装载的是机器指令还是微指令,还剩多少条指令等。
③校验微程序
选择联机软件的“转储”->“刷新指令区”可以读出下位机所有的机器指令和微指令,并在指令区显示。
检查微控器相应地址单元的数据是否和下表中
的十六进制数据相同,如果不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先用鼠标左键单击指令区的“微存”TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。
④联机运行
联机运行时,进入软件界面,在菜单上选择“实验”->“微控器实验”,打开本实验的数据通路图。
将MC单元的编程开关置为“运行”档,MEM单元的编程开关也置为“运行”档,按动CON单元的总清开关后,按动软件中单节拍按钮,当后续微地址(通路图中的MAR)为000001时,置CON单元SD27~SD20,产生相应的机器指令,该指令将会在下个T2被打入指令寄存器(IR),在后面的节拍中将执行这条机器指令。
仔细观察每条机器指令的执行过程,体会后续微地址被强置转换的过程,这是计算机识别和执行指令的根基。
也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。
按本机运行的顺序给出数据和指令,观查最后的运算结果是否正确。
⑤减法实验
完成上面的加法实验后,更改机器指令,使其能完成减法实验。
四:实验结果与分析
1、实验一
(1)加法实验
机器指令:
; //*************************************// ; // // ; // 微控器实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //*************************************//
; //***** Start Of Main Memory Data *****// ;
;
; //***** End Of Main Memory Data *****//
; //** Start Of MicroController Data **//
$M 00 000001 ; NOP
$M 01 007070 ; CON(INS)->IR, P<1>
$M 04 002405 ; R0->B
$M 05 04B201 ; A加B->R0
$M 30 001404 ; R0->A
$M 32 183001 ; IN->R0
$M 33 280401 ; R0->OUT
$M 35 000035 ; NOP
; //** End Of MicroController Data **//
实验结果:
(2)减法实验
机器指令:
; //*************************************// ; // // ; // 微控器实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //*************************************//
; //***** Start Of Main Memory Data *****// ;
; //***** End Of Main Memory Data *****// ; //** Start Of MicroController Data **//
$M 00 000001 ; NOP
$M 01 007070 ; CON(INS)->IR, P<1>
$M 04 002405 ; R0->B
$M 05 05B201 ; A减B->R0
$M 30 001404 ; R0->A
$M 32 183001 ; IN->R0
$M 33 280401 ; R0->OUT
$M 35 000035 ; NOP
; //** End Of MicroController Data **//实验结果:
五:结论(讨论)
1、实验结论
利用实验箱和联机软件,观察到了微程序指令的操作执行流程,完成了其验证性实验,深刻理解了微程序控制器的组成原理,掌握了微程序的编制、写入方法。
在此基础之上,通过更改指令代码,使其能够由加法功能变为减法功能,加深了对微程序控制器的理解。
2、讨论
在此次实验的接线过程中,我接了很多次线都未能达到预期的实验效果,耽误了实验进程。
在检查接线情况后,发现了部分接线存在接错、接线不牢固等情况。
在以后的实验中,已经每接完一对线,就要检查其接线是否正确,这样可以大大保证实验接线的正确率,提高实验的效率。
六、教师评审
一、选择题(每题2分)页脚内容11。