计算机组成原理实验指导-2012-1 - 图文(6)

2019-08-30 19:21

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

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

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

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

2、地址映射部件

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

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

2

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的微程序

微地操作功能 址 00H 01H 02H 03H 04H 30H 0?PC下址 CI3~0 SCC3MRW ~0 I2~0 I8~3 001 011 001 011 010 000 000 001 000 000 001 000 001 011 000 111 000 000 B口 A口 SST SSH\\SCI DCDC2 1 111 000 011 00001 000 000 000 0 000 000 000 011 、00H 1110 0000 100 0101 0101 000 001 0101 0101 000 001 0000 0000 000 000 0000 0000 000 000 0000 0001 001 000 0000 0000 000 000 DI#=0 PC?AR、00H 1110 0000 100 PC+1?PC MEM?IR 00H 1110 0000 001 /MAP 00H 0010 0000 100 R0+R1?R30H 0011 0000 100 0 STR→Q、3AH 0011 0010 100 CC#=INT# (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(将标志位送到内部总线上),用以判断中断。


计算机组成原理实验指导-2012-1 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:国际金融完整考试题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: