文档库

最新最全的文档下载
当前位置:文档库 > 实验四 微程序控制器实验

实验四 微程序控制器实验

实验四微程序控制器实验

实验目的

1、深入理解微程序控制器的功能和组成结构;

2、学习教学计算机各类指令的指令格式、寻址方式及执行流程;

3、学习微程序控制器的设计过程和相关技术。

实验内容

1、分析基本指令的执行流程,在教学机上验证其对应的微指令;

2、设计几条指令的功能、格式和指令流程,并在教学计算机上进行测试。

实验要求

1、实验之前,认真准备,对于该实验的基本原理、微指令格式、以及相关机器指令的微程序等内容预先做好分析和设计;

2、实验过程中,应认真进行实验操作,仔细思考实验有关内容,把难点内容通过实验理解清楚,争取最好的实验效果;

3、实验之后,应认真思考,写出实验总结,包括实验中遇到的主要问题和分析、解决方法。

实验学时

4学时

实验原理

1、TEC-XP教学机的控制器基本原理

TEX-XP教学机中包含组合控制逻辑和微程序控制逻辑两种不同结构的控制器。本实验中使用的是微程序控制器,与微程序控制器相关的机器结构如图4-1所示。控制器中使用程序计数器PC跟踪机器指令的执行,使用PC中的内容访存获取机器指令,得到的机器指令送入控制器中的指令寄存器IR暂存,并由微程序控制器分析执行,执行过程中的所有控制信号均由微程序控制器中的微命令寄存器μIR发出。

实验四 微程序控制器实验

图4-1 TEC-XP教学机的基本结构

TEC-XP教学机的微程序控制器详细内部结构如图4-2所示。该控制器中包含指令寄存器IR(存放当前执行的指令)、地址映射部件(确定不同指令对应的微程序入口地址)、微程序定序器Am2910(根据微指令中的下址字段和判断测试条件,产生下一条微指令的地址)、条件判定线路(用于微程序流向控制)、控制存储器CM(包含所有的微指令)、微指令寄存器μIR(存放当前微指令的操作控制字段)等部件。

实验四 微程序控制器实验

图4-2 微程序控制器内部结构

微程序控制器的工作过程是:对于指令寄存器IR中的机器指令,由地址映射部件产生该指令所对应微程序的入口地址,通过Am2910送给控制存储器。取出的一条微指令送入微指令寄存器,其中的微命令字段用于发出控制信号,控制各部件的执行,下址字段与条件判定线路的各测试信号一起送给Am2910,由其确定下条微指令的地址,继续执行。

2、地址映射部件

地址映射部件,即微指令地址映射部件,它是由一片E2PROM构成的,一般称为MAPROM。指令寄存器IR将其中的高8位指令操作码送给MAPROM,MAPROM根据操作码与微地址之间的映射关系,给出该指令对应微程序的入口地址。

TEC-XP教学机中的指令操作码与微地址之间的映射关系如附录表4-1所示。

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作为微

下址)这四个命令码。

c)4位的转移条件编码SCC3~0

当CI3~0=0011时,由这四位编码决定转移判断测试的条件,若选中条件满足,则

使用微下址寻址下一条微指令,否则做顺序寻址,同CI3~0=1110。

下址字段的这3部分控制信号与形成微地址的关系详如附录表4-2所示。

(2)操作控制字段

a)MIQ、REQ、WE

这3位控制信号用于对存储器或I/O接口进行读写操作时的控制。具体定义如附录

表4-3所示。

b)I8-I6、I5-I3、I2-I0、A口和B口、SST2-0:具体定义参考实验二。

c)SSH、SCI1-0:本实验中控制方式如附录表4-3所示。

d)DC1

用于选择把哪一组数据发送到CPU的内部总线(IB)上。在微指令执行过程中,

若不使用内部总线,则通常将其设置为000,可认为是无效状态。

e)DC2

用于控制数据接收及相关的内部功能。

DC1和DC2的控制方式如附录表4-4所示。

4、控制存储器

控制存储器字长48位,用来存放TEC-XP教学机的所有微指令。硬件实现时,是使用两片EEPROM芯片(58C64)存放16位下地址字段信息,而32位操作控制字段信息存放在MACH器件内。

每次读控制存储器时,从这三个芯片中读出一条微指令。48位的微指令寄存器也分为两段,即16位的下地址信息,和32位的微命令信息。

5、A、B、C、D组指令执行流程

TEC-XP教学计算机中,按照每条指令的功能和实际的执行步骤,将指令分成了A、B、C、D共4组,每条指令的所属组详见具体的指令描述。

A组中的指令执行时,一般只是完成通用寄存器间的数据运算或传送,在取指后可一步完成。

B组中的指令,一般需要完成一次内存或I/O读、写操作,在取指后可两步完成:第一步把要使用的地址传送到地址寄存器AR中,第二步执行内存或I/O读写操作。

C组中的指令,在取指后可三步完成:其中CALR在用两步读写内存后,第三步执行寄存器间的数据传递;而其它指令在第一步置地址寄存器ARH、ARL,第二步读内存(即取地址操作数)、计算内存地址、置地址寄存器ARH、ARL,第三步读、写内存。

D组中的指令,完成两次读、写内存操作,在取指之后可四步完成。

TEC-XP教学机的基本指令、扩展指令执行流程分别由附录中图4-4和4-5给出。

6、TEC-XP教学机的数据通路与微命令的关系

微指令的操作控制字段直接用于控制TEC-XP教学机中的各个执行部件,顺序控制字段分别送微程序控制器中的微地址寄存器和转移控制逻辑,用于产生微下址,寻址微指令。图4-4中给出了微指令中的各个字段与TEC-XP教学机数据通路的对应关系,可帮助理解微指令的应用。

实验四 微程序控制器实验

图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按键,控制器就会执行一条微指令,请在实验前看懂以下微指令,在实验中验证每条微指令,并记录每条微指令执行时微地址、微下址指示灯的状态。

表4-6 加法指令ADD R0 , R1的微程序

微地址操作功能下址CI3~0SCC3

~0

MR

W

I2~0I8~3B口A口SST SSH\SCI DC

2

DC

1

00H 0→PC、

DI#=0 00H 1110 0000 100 001 011

001

0101 0101 000 001 111 00

01H PC→AR、

PC+1→PC 00H 1110 0000 100 011 010

000

0101 0101 000 001 011 00

02H MEM→IR 00H 1110 0000 001 000 001

000 0000 0000 000 000 00

1

00

03H /MAP 00H 0010 0000 100 000 001

000 0000 0000 000 000 00

00

04H R0+R1→R

0 30H 0011 0000 100 001 011

000

0000 0001 001 000 00

00

30H STR→Q、

CC#=INT# 3AH 0011 0010 100 111 000

000

0000 0000 000 000 00

011

(1)公操作微指令(0→PC、DI#=0)

该微指令在控制存储器中位于第一个单元,即微地址为00H,是程序运行时的初始操作。本实验中由于是脱机单步运行状态,因此每条指令执行时都需要该微指令。

该操作中的PC清零是通过运算器的PC本身相减得到的,因此这里与运算器相关的控制信号应选择I2~0=001(选择A、B锁存器输入)、I8~6=011(F→B,结果保存到B口指定寄存器)、I5~3=001(S-R,减法运算)、B口=0101(指定R5,即PC)、A口=0101(指定R5,即PC)、SST=000(标志位保持不变)、SSH SCI=001(减法运算的最低位进位Cin=1)。

该操作中不需要访存,或访问IO,因此MRW为100(无读写)。DC1无用,选择000。

本条微指令的另一个操作DI#=0,使用DC2=111,选择关中断实现。

本条微指令执行完成后应进入指令的取指周期,因此要转向执行PC→AR微指令,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(00H)的基础上加1,即01H。顺序寻址方式下,SCC无效,直接写0000。

(2)送指令地址微指令(PC→AR、PC+1→PC)

本条微指令首先要做的是PC→AR的操作,这里使用A口地址指定PC,即0101,并设置I8~6=010(使A口指定内容输出到内部总线上),DC2=011(指定AR接收内部总线上的数据)。

本条微指令中要完成的PC+1→PC,仍然通过运算器做加法,加上Cin来实现,故控制信号I2~0=011(选择0、B数据),B口=0101(B口指定PC),I8~6=010(F→B,运算结果送PC),I5~3=000(加法运算),SST=000(标志位保持不变)、SSH SCI=001(增量运算中使用

最低进位位Cin提供加数)。

该操作中不需要访存,或访问IO,因此MRW为100(无读写)。DC1无用,选择000。

本条微指令将所要访问主存单元的地址送给AR,则接下来应从主存中读出机器指令字,即本条微指令之后的微指令一定是MEM→IR,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(01H)的基础上加1,即02H。顺序寻址方式下,SCC 无效,直接写0000。

(3)读指令字微指令(MEM→IR)

本条微指令需要做访存读取机器指令,因此运算器相关的命令可设置无效,即I2~0=000,I8~6=001,I5~3=010,A口=0000,B口=0000,SST=000(标志位保持不变)、SSH SCI=000。

访存获取的指令字应存放于指令寄存器IR中,因此,MRW=001(内存读),DC2=001(IR接收)。DC1无用,选择000。

本条微指令执行后,控制器应进行操作码的译码,做微地址映射,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(02H)的基础上加1,即03H。顺序寻址方式下,SCC无效,直接写0000。

注意:以上3条微指令是适用于所有指令的取指操作的。

(4)地址映射微指令(/MAP)

本条微指令主要是由地址映射部件,根据指令操作码给出对应的指令周期微程序的入口地址,故,本条微指令中有关运算器和访存的控制信号均无效,即I2~0=000,I8~6=001,I5~3=010,A口=0000,B口=0000,SST=000(标志位保持不变),SSH SCI=000,DC1=000,DC2=000。

微地址的映射用CI的2号命令控制,即CI3~0=0010(指令功能分支),SCC3~0=0000(必转)。下址字段无效,写00H。根据地址映射表4-1可知,ADD指令的微程序入口地址为04H,故该微指令执行后,下址指示灯显示为0000 0100。

(5)加法微指令(R0+R1→R0)

本条微指令主要完成两个通用寄存器的加法运算,由实验二可知,运算器相关的控制信号为:I2~0=001(选择AB口数据),I8~6=011(F→B),I5~3=000(加法运算),A口=0001(R1作为源操作数),B口=0000(R0作为目的操作数),SST=001(运算影响标志位),SSH SCI=000(Cin=0)。

本条微指令无访存控制,因此DC1=000,DC2=000。

本条微指令执行结束时,ADD指令功能已完成,即指令的执行周期完成,按照指令周期的流程,这里需要检查系统是否有中断请求。因此,本条微指令执行结束即应转向中断判断微指令,CI3~0=0011码(条件转移),SCC3~0=0000(必转),下址字段给出中断判断微指令的地址,30H。

(6)中断判断微指令(STR→Q、CC#=INT#)

本条微指令用于判断当前系统是否有中断请求,若有,则转去处理中断(地址为3AH 的微指令),否则顺序执行下一条机器指令(地址为31H的微指令)。因此,CI3~0=0011码(条件转移),所依据的条件应为SCC3~0=0010(若有中断请求时转移),下址=3AH。

在进行中断判断时,需要使用到标志位状态,因此,本条微指令需要做的另一个操作是DC1=011(将标志位送到内部总线上),用以判断中断。

3、验证B组基本指令——传送指令MVRD R0,D的微程序

指令MVRD是将立即数传送到指定寄存器的数据传送类指令,该指令是双字长双操作数指令。其指令格式如下所示,则指令MVRD R0 , D的机器代码的高16位为10001000 00000000,其中高8位为MVRD指令的操作码(详见代码表4-1),接下来的4位对应目的寄存器R0。本次实验中,只是验证指令的微程序,至于该指令所传送的数据D可采用存储单元中的随机值。

实验四 微程序控制器实验

先按下RESET按键,复位系统,然后通过16位的数据开关SW拨入指令代码,再按下RESET按键,此时指示灯Microp亮,其它灯全灭。

由附录图4-5所示的基本指令流程可知,传送指令MVRD R0 , D的指令周期共包含7个CPU周期,比A组指令在执行阶段多一个CPU周期,主要用于访存获取操作数。这里MVRD的源操作数是立即数寻址方式,其值保存于指令的第二个字上,而TEC-XP教学机是16位机,在取指阶段仅读出该指令的第一个字,所以,在访存取操作数时应使用PC中的地址寻址存储单元,执行1DH的微指令。该传送指令的微程序如表4-6所示。

在完成以上设置后,接下来每次按下START按键,控制器就会执行一条微指令,请在实验前看懂以下微指令,在实验中验证每条微指令。

表4-6 传送指令MVRD R0 , D的微程序

微地址操作功能下址CI3~0SCC3

~0

MR

W

I2~0I8~3B口A口SST SSH\SCI DC

2

DC

1

00H 0→PC、

DI#=0 00H 1110 0000 100 001 011

001

0101 0101 000 001 111 00

01H PC→AR、

PC+1→PC 00H 1110 0000 100 011 010

000

0101 0101 000 001 011 00

02H MEM→IR 00H 1110 0000 001 000 001

000 0000 0000 000 000 00

1

00

03H /MAP 00H 0010 0000 100 000 001

000 0000 0000 000 000 00

00

1DH PC→AR、

PC+1→PC

、CC#=0 1CH 0011 0000 100 011 010

000

0101 0101 000 001 011 00

1CH MEM→

DR、CC#=0 30H 0011 0000 001 111 011

000

0000 0000 000 000 00

00

30H STR→Q、

CC#=INT# 3AH 0011 0010 100 111 000

000

0000 0000 000 000 00

011

在传送指令MVRD R0 , D执行过程中,前3条取指相关的微指令和最后1条中断处理微指令与ADD之前完全相同,这里只对不同的3条微指令进行介绍。

(1)地址映射微指令(/MAP)

本条微指令主要是由地址映射部件,根据指令操作码给出对应的指令周期微程序的入口地址,故,本条微指令中有关运算器和访存的控制信号均无效,即I2~0=000,I8~6=001,I5~3=010,

A口=0000,B口=0000,SST=000(标志位保持不变),SSH SCI=000,DC1=000,DC2=000。

微地址的映射用CI的2号命令控制,即CI3~0=0010(指令功能分支),SCC3~0=0000(必转)。下址字段无效,写00H。根据地址映射表4-1可知,MVRD指令的微程序入口地址为1DH,故该微指令执行后,下址指示灯显示为0001 1101。

(2)取机器指令的第二个字节微指令(PC→AR、PC+1→PC、CC#=0)

由于MVRD指令是双字指令,在取指阶段仅从主存中取得了指令中包含操作码的高字部分,这里要执行该指令时,必须获取指令的第二个字数据,即指令中的16位立即数。因此,在完成地址映射后,应执行该微指令,再次读取主存。

本条微指令的执行与取指阶段PC→AR、PC+1→PC微指令的操作控制部分完全相同,但顺序控制部分,根据指令的执行流程可知,下条微指令应将使用主存中读得的立即数给目的寄存器赋值。因此CI3~0=0011(条件转移),SCC3~0=0010(必转),所要转向的地址由下址字段给出,即1CH。

(3)访存赋值微指令(MEM→DR、CC#=0)

本条微指令是将存储单元中读得的立即数给目的寄存器赋值。这里使用运算器D+0→R 操作实现,其中D为从存储单元中读出的操作数。因此,MRW=001(内存读),I2~0=111(选择外部数据D和0),I8~6=011(F→B),I5~3=000(加法),A口未用,B口=0000(指定目的寄存器R0),SST=000(标志位保持不变),SSH SCI=000(Cin=0)。

本条微指令中DC1=000(无效),DC2=000(无操作)。

本条微指令执行结束时,MVRD指令功能已完成,即指令的执行周期完成,按照指令周期的流程,这里需要检查系统是否有中断请求。因此,本条微指令执行结束即应转向中断判断微指令,CI3~0=0011码(条件转移),SCC3~0=0000(必转),下址字段给出中断判断微指令的地址,30H。

4、分析D组基本指令——子程序调用指令CALA ADR的微程序

指令CALA是将立即数传送到指定寄存器的数据传送类指令,该指令是双字长双操作数指令。其指令格式如下所示,则指令CALA ADR的机器代码的高16位为11001110 00000000,其中高8位为CALA指令的操作码(详见代码表4-1),接下来的4位对应目的寄存器R0。本次实验中,只是验证指令的微程序,至于该指令所用到的直接地址可采用存储单元中的随机值。

实验四 微程序控制器实验

先按下RESET按键,复位系统,然后通过16位的数据开关SW拨入指令代码,再按下RESET按键,此时指示灯Microp亮,其它灯全灭。

由附录图4-5所示的基本指令流程可知,子程序调用指令CALA ADR的指令周期共包含9个CPU周期,执行阶段比B类指令多用2个CPU周期。CALA指令的微程序如表4-7所示。在完成以上设置后,接下来每次按下START按键,控制器就会执行一条微指令,请在实验前完成对表4-7中每条微指令的分析,在实验中验证,并分析每条微指令的具体功能。

表4-7 子程序调用指令CALA ADR的微程序

微地址操作功能下址CI3~0SCC3

~0

MR

W

I2~0I8~3B口A口SST SSH\SCI DC

2

DC

1

00H 0→PC、00H 1110 0000 100 001 011 0101 0101 000 001 111 00

DI#=0 001 0

01H PC→AR、

PC+1→PC 00H 1110 0000 100 011 010

000

0101 0101 000 001 011 00

02H MEM→IR 00H 1110 0000 001 000 001

000 0000 0000 000 000 00

1

00

03H /MAP 00H 0010 0000 100 000 001

000 0000 0000 000 000 00

00

1FH PC→AR、

PC+1→PC 00H 1110 0000 100 011 010

000

0101 0101 000 001 011 00

20H MEM→Q 00H 1110 0000 001 111 000

000 0000 0000 000 000 00

00

21H SP-1→SP、

SP→AR 00H 1110 0000 100 011 011

001

0100 0000 000 000 011 00

22H PC→

MEM、

Q→PC、

CC#=0 30H 0011 0000 000 010 010

000

0101 0101 000 000 00

00

1

30H STR→Q、

CC#=INT# 3AH 0011 0010 100 111 000

000

0000 0000 000 000 00

011

5、设计扩展指令ADC、STC、LDRA、CALR的微程序

TEC-XP教学机支持动态微程序设计,即允许用户把自己设计的微程序写入控制存储器中,当扩展指令需要执行时,直接从控制存储器中读取对应的微指令执行即可。但写控制存储器时,需要用到硬件描述语言VHDL,故在本次实验中,对于扩展实验直接采用出厂已设计好的扩展指令进行验证。

扩展指令ADC、STC、LDRA、CALR的执行周期相关微指令如表4-8所示,请在实验时以单步方式进行验证。

表4-8 若干扩展指令的执行周期微程序

指令微地

址操作功

CI3~0SCC3

~0

MR

W

I2~0I8~3B口A口SST SSH\SCI DC

2

DC

1

ADC 50H DR+SR

+CF→

DR 30H 0011 0000 100 001 011

000

0000 0000 001 010 00

00

STC 57H 1→CF 30H 0011 0000 100 000 001

000 0000 0000 100 000 00

00

LDR A 5BH PC→A

R

PC+1→

PC

00H 1110 0000 100 011 010

000

0101 0101 000 001 011 00

5CH MEM→

AR

1C

H

0011 0000 001 111 001

000

0000 0000 000 000 011 00

CAL R 64H SP-1→S

P

00H 1110 0000 100 011 011

001

0100 0000 000 000 011 00

SP→AR

65H PC→M

EM 00H 1110 0000 000 100 001

000

0000 0101 000 000 00

00

1

66H SR→PC 30H 0011 0000 100 100 011

000 0101 0000 000 000 00

00

6、测试扩展指令

扩展指令在使用时与基本指令不同,基本指令可以在监控环境下使用汇编命令A以汇编指令格式输入存储单元中,而扩展指令只能使用存储单元修改命令E以机器指令的形式写入存储单元中。相关扩展指令的操作码编码见表4-1。

(1)设置功能开关

测试扩展指令之前,先将TEC-XP的功能开关设置为00010,即连续运行程序、采用微程序控制器、联机、16位机。运行“D:\大板可编程器件内容\”路径下的PCEC16.EXE文件,进入TEC-XP的监控环境。

(2)测试STC、ADC指令

①将如下测试程序段输入到主存2000H开始的存储区域中。

MVRD R0 , 0101

MVRD R1 , 1010

*STC

*ADC R0 , R1

RET

注意:带*号的指令为扩展指令,只能使用E命令写入,请先对照指令的操作码编码表4-1和指令格式写出对应指令的机器代码。

②使用如下格式的G命令连续运行该程序段:

G 2000↙

③使用如下格式的R命令察看寄存器的内容:

R↙

可观察到运行结果应为R0=1112,R1=1010。

(3)测试CALR 指令

对CALR指令的测试需要设计一个有读写内存和子程序调用指令的程序。下面使用一个功能是读出内存中的字符,将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域的程序进行测试。

①从地址2080H开始输入下列主程序段:

MVRD R3 , 6

MVRD R2 , 20F0

LDRR R0 , [R2]

MVRD R8 , 2100

*CALR R8

DEC R3

JRZ 208C

INC R2

JR 2084

RET

②从地址2100H开始输入下列子程序段:

OUT 80

MVRD R1 , 20

ADD R0 , R1

STRR [R2] , R0

IN 81

SHR R0

JRNC 2105

RET

③使用E命令将‘A’~‘F’这6个字符送入到存储单元20F0H~20F5H中。

④使用如下格式的G命令连续运行2080H中的程序段:

G 2080↙

屏幕显示运行结果为:

ABCDEF

56

⑤使用如下格式的D命令,查看20F0H~20F5H单元中的内容:

D 20F0↙

屏幕上显示查看结果应为:

0061 0062 0063 0064 0065 0066

(4)测试指令LDRA

编写一个使用LDRA指令将存储单元2100H和2101H中的内容通过R0输出的程序段,测试扩展指令LDRA的功能。

①从地址2000H开始输入下列程序段:

*LDRA R0 , [2100]

OUT 80

IN 81

SHR R0

JRNC 2003

*LDRA R0 , [2101]

OUT 80

RET

②使用E命令将要显示的两个字符“A”、“B”写入存储单元2100H和2101H中。

③在如下格式的G命令,连续运行以上程序段:

G 2000↙

屏幕上将会显示预设置字符‘A’、‘B’。

实验报告要求

本次实验需完成实验报告一份,本次实验报告内容写出以下两个内容:

1、D组基本指令——程序调用指令CALA的微程序分析;

2、扩展指令LDRA的设计和测试。

附录

表4-1 指令机器编码和微程序入口地址对应表

指令操作码编码微程序入口地址

基本指令ADD DR , SR 0000 0000 04H SUB DR , SR 0000 0001 05H AND DR , SR 0000 0010 06H OR DR , SR 0000 0110 07H XOR DR , SR 0000 0100 08H CMP DR , SR 0000 0011 09H TEST DR , SR 0000 0101 0AH MVRR DR , SR 0000 0111 0BH INC DR 0000 1001 0CH DEC DR 0000 1000 0DH SHL DR 0000 1010 0EH SHR DR 0000 1011 0FH JRC OFFSET 0100 0100 10H JRNC OFFSET 0100 0101 10H JRZ OFFSET 0100 0110 10H JRNZ OFFSET 0100 0111 10H JR OFFSET 0100 0001 11H IN PORT 1000 0010 12H OUT PORT 1000 0110 12H PSHF 1000 0100 15H PUSH DR 1000 0101 15H POP DR 1000 0111 17H POPF 1000 1100 17H STRR [DR] , SR 1000 0011 19H LORR DR , [SR] 1000 0001 1BH MVRD DR , DATA 1000 1000 1DH JMPA ADR 1000 0000 1EH CALA ADR 1100 1110 1FH RET 1000 1110 23H

扩展ADC DR , SR 0010 0000 50H SBB DR , SR 0010 0001 51H NOT DR 0010 1101 52H ASR DR 0010 1100 53H RCL DR 0010 1010 54H RCR DR 0010 1011 55H CLC 0110 1100 56H STC 0110 1101 57H

指 令

EI 0110 1110 58H DI 0110 1111 59H JMPR SR 0110 0000 5AH LDRA DR , [ADR] 1110 0100 5BH LDRX DR , OFFSET[SR] 1110 0101 5DH STRA [ADR] , SR 1110 0111 5FH STRX DR , OFFSET[SR] 1110 0110 61H CALR SR 1110 0000 64H IRET

1110 1111 67H JRS OFFSET 0110 0100 69H JRNS OFFSET

0110 0101

69H

表4-2 微指令中的下址确定

CI 3~0 SCC 3~0 判断条件

微下址 0000 0000(无效) 00H 0010

0000(无效)

MAP 映射 映射获得

0011

0000

必转

微下址字段值 0010 有中断请求时转移

微下址字段值/顺序寻址 0100 JRC 、JRNC 、JRZ 、JRNZ 指令测试

微下址字段值/顺序寻址 0101 JRS 、JRNS 指令测试

微下址字段值/顺序寻址 0110 IN 指令测试 微下址字段值/顺序寻址 0111

入出栈指令测试

微下址字段值/顺序寻址

1110 0000(无效)

顺序寻址

表4-3 MEW 信号功能 表4-4 SSH 和SCI 控制信号

实验四 微程序控制器实验

实验四 微程序控制器实验

表4-5 DC1和DC2控制方式

实验四 微程序控制器实验

实验四 微程序控制器实验

实验四 微程序控制器实验

图4-5 基本指令流程图

实验四 微程序控制器实验

图4-6 扩展指令流程

实验四 微程序控制器实验

实验四 微程序控制器实验

实验四 微程序控制器实验

图4-7 微指令表

注:该表中的微指令为56位的,只需要将每条微指令的MRW 、I2~0、I8~6、I5~3、SST 、SSH 、DC2、DC1这8个字段的首位0除去即为48位的微指令。

实验地点 信息楼 A115 实验四 微程序控制器实验 同组同学 李翔 24012...
实验四 微程序控制器实验.
实验地点 信息楼 A115 实验四 微程序控制器实验同组同学 李翔 240121...
实验四 微程序控制器实验
预习情况 操作情况 考勤情况 数据处理情况 实验(四)项目名称: 微过程控制器实验 一、实验项目名称 微过程控制器实验 二、实验目的和要求 (1)掌握时序发生器的组成......
实验四 微程序控制器实验
实验四 微程序控制器实验实验目的 1、深入理解微程序控制器的功能和组成结构; 2...
实验四 微程序控制器原理实验
2015 年 5 月 24 日课程名称: 计算机组成原理 班级: 学号: 实验名称:微程序控制器原理实验 姓名: 签名:___ 指导教师评定:___ 一、实验目的: 1.掌握微程序......
微程序控制器实验报告
组成原理 No.4 实验--- 微程序控制器实验 组员: 组号:21 号时间:周二 5、6 节 【实验目的】 (1)掌握时序发生器的组成原理。 (2)掌握微程序控制器的组成......
实验四 微程序控制器
计科092 张敏敏 200900814209 实验四 COP2000 微程序控制器实验一、实验目的 掌握微程序控制器的工作原理,并学会汇编指令和反汇编指 令的运用。 二、实验要求 运用......
实验四 微程序控制器及指令部件实验
掌握指令寄存器(IR)的打入操作,以及程序 计数器(PC)的置数与计数操作。 二、实验任务及要求 ? ? ? ? ? ? (一)微程序控制器实验 使用驻机键盘进行微程序的......
微程序控制器 实验报告
计算机科学与技术系实 验报告 专业名称 课程名称 项目名称 班学姓级号名 计算机科学与技术 计算机组成与结构 微程序控制器实验 同组人员 实验日期 无 2015-11-......
实验四 常规型微程序控制器组成实验
图4 时序电路 本次实验不涉及硬联线控制器,因此时序产生器中的相关内容也可根据需要放到硬联线 控制器实验中进行。 微程序控制器只使用时序信号 T1-T4,产生 T......
微程序控制器实验
实验项目 实验四:微程序控制器实验 实验环境 TEC-2000A 实验箱模拟软件...
计算机组成原理实验4-微程序控制器.ppt
计算机组成原理实验4-微程序控制器.ppt_其它课程_初中教育_教育专区。微程序控制器实验任课教师:郝尚富 信息科学与工程学院 Email: zjkcxh5656@ Tel: ......
计算机组成原理实验报告微程序控制器实验
掌握微指令格式和各字段功能; 4. 实验微程序控制器实验一. 实验目的与要求: 实验目的: 1. 理解时序产生器的原理,了解时钟和时序信号的波形; 2. 掌握微......
微程序控制器实验
实用文档计算机科学与技术系实验报告 专业名称 课程名称 项目名称 班级 学号 姓名 同组人员 实验日期 计算机科学与技术 计算机组成原理微程序控制器实验 文案大全 ......
实验四 微程序控制器实验
实验四 微程序控制器实验 实验目的 1、深入理解微程序控制器的功能和组成结构; ...
实验四 微程序控制器实验_计算机软件及应用_IT/计算机_专业资料。 文档贡献者...
实验四 微程序控制器实验 实验目的 1、深入理解微程序控制器的功能和组成结构; ...
实验四 微程序控制器实验
实验四 微程序控制器实验 实验目的 1、深入理解微程序控制器的功能和组成结构; ...
实验四 微程序控制器实验
计科 10A 上机内容:微程序控制器实验 ■ 验证实验 实验设备:ZY15Comp12BB 实验系统 实验地点: 睿智 4 号 102 实验报告:(包括目的、方法、原理、结果或实验小节......
微程序控制器实验报告
--实验 7-8 微程序控制器实验 LIBRARY IEEE; USE IEEE...