实验四 微程序控制器实验.doc
《实验四 微程序控制器实验.doc》由会员分享,可在线阅读,更多相关《实验四 微程序控制器实验.doc(17页珍藏版)》请在三一办公上搜索。
1、实验四 微程序控制器实验实验目的1、深入理解微程序控制器的功能和组成结构;2、学习教学计算机各类指令的指令格式、寻址方式及执行流程;3、学习微程序控制器的设计过程和相关技术。实验内容1、分析基本指令的执行流程,在教学机上验证其对应的微指令;2、设计几条指令的功能、格式和指令流程,并在教学计算机上进行测试。实验要求1、实验之前,认真准备,对于该实验的基本原理、微指令格式、以及相关机器指令的微程序等内容预先做好分析和设计;2、实验过程中,应认真进行实验操作,仔细思考实验有关内容,把难点内容通过实验理解清楚,争取最好的实验效果;3、实验之后,应认真思考,写出实验总结,包括实验中遇到的主要问题和分析、
2、解决方法。实验学时4学时实验原理1、TEC-XP教学机的控制器基本原理TEX-XP教学机中包含组合控制逻辑和微程序控制逻辑两种不同结构的控制器。本实验中使用的是微程序控制器,与微程序控制器相关的机器结构如图4-1所示。控制器中使用程序计数器PC跟踪机器指令的执行,使用PC中的内容访存获取机器指令,得到的机器指令送入控制器中的指令寄存器IR暂存,并由微程序控制器分析执行,执行过程中的所有控制信号均由微程序控制器中的微命令寄存器IR发出。图4-1 TEC-XP教学机的基本结构TEC-XP教学机的微程序控制器详细内部结构如图4-2所示。该控制器中包含指令寄存器IR(存放当前执行的指令)、地址映射部件
3、(确定不同指令对应的微程序入口地址)、微程序定序器Am2910(根据微指令中的下址字段和判断测试条件,产生下一条微指令的地址)、条件判定线路(用于微程序流向控制)、控制存储器CM(包含所有的微指令)、微指令寄存器IR(存放当前微指令的操作控制字段)等部件。图4-2 微程序控制器内部结构微程序控制器的工作过程是:对于指令寄存器IR中的机器指令,由地址映射部件产生该指令所对应微程序的入口地址,通过Am2910送给控制存储器。取出的一条微指令送入微指令寄存器,其中的微命令字段用于发出控制信号,控制各部件的执行,下址字段与条件判定线路的各测试信号一起送给Am2910,由其确定下条微指令的地址,继续执行
4、。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后的微指令地
5、址作为下地址b) 4位的测试控制码CI30用于决定微程序中的微指令寻址方式(顺序寻址、跳跃寻址)。本实验中只使用到0000(初始化,使微下址=0)、0010(指令功能分支,做MAPROM映射)、0011(条件转移,由SCC决定是否转移)、1110(顺序寻址,将当前微地址加1作为微下址)这四个命令码。c) 4位的转移条件编码SCC30当CI30=0011时,由这四位编码决定转移判断测试的条件,若选中条件满足,则使用微下址寻址下一条微指令,否则做顺序寻址,同CI30=1110。下址字段的这3部分控制信号与形成微地址的关系详如附录表4-2所示。(2)操作控制字段a) MIQ、REQ、WE这3位控制信
6、号用于对存储器或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
7、位下地址字段信息,而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组中的指令,
8、在取指后可三步完成:其中CALR在用两步读写内存后,第三步执行寄存器间的数据传递;而其它指令在第一步置地址寄存器ARH、ARL,第二步读内存(即取地址操作数)、计算内存地址、置地址寄存器ARH、ARL,第三步读、写内存。D组中的指令,完成两次读、写内存操作,在取指之后可四步完成。TEC-XP教学机的基本指令、扩展指令执行流程分别由附录中图4-4和4-5给出。6、TEC-XP教学机的数据通路与微命令的关系微指令的操作控制字段直接用于控制TEC-XP教学机中的各个执行部件,顺序控制字段分别送微程序控制器中的微地址寄存器和转移控制逻辑,用于产生微下址,寻址微指令。图4-4中给出了微指令中的各个字段与
9、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位的数据开关S
10、W拨入指令代码,再按下RESET按键,此时指示灯Microp亮,其它灯全灭。注意:在本实验中,选择的是微程序控制器,Microp指示灯会一直点亮。由附录图4-5所示的基本指令流程可知,加法指令ADD R0 , R1的整个指令周期包含6个CPU周期,其中前3个CPU周期是取指阶段,所有指令都是一样的,第4个CPU周期用于指令操作码的地址映射,第5个CPU周期完成加法指令的功能,第6个CPU周期用于判断是否需要执行中断周期,从而决定该加法指令执行结束后的流向。该加法指令的微程序如表4-6所示。在完成以上设置后,接下来每次按下START按键,控制器就会执行一条微指令,请在实验前看懂以下微指令,在实验
11、中验证每条微指令,并记录每条微指令执行时微地址、微下址指示灯的状态。表4-6 加法指令ADD R0 , R1的微程序微地址操作功能下址CI30SCC30MRWI20I83B口A口SSTSSHSCIDC2DC100H0PC、DI#=000H11100000100001011 0010101010100000111100001HPCAR、PC+1PC00H11100000100011010 0000101010100000101100002HMEMIR00H11100000001000001 0000000000000000000100003H/MAP00H00100000100000001 00
12、00000000000000000000004HR0+R1R030H00110000100001011 0000000000100100000000030HSTRQ、CC#=INT#3AH00110010100111000 00000000000000000000011(1)公操作微指令(0PC、DI#=0)该微指令在控制存储器中位于第一个单元,即微地址为00H,是程序运行时的初始操作。本实验中由于是脱机单步运行状态,因此每条指令执行时都需要该微指令。该操作中的PC清零是通过运算器的PC本身相减得到的,因此这里与运算器相关的控制信号应选择I20=001(选择A、B锁存器输入)、I86=011(
13、FB,结果保存到B口指定寄存器)、I53=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,选择关中断实现。本条微指令执行完成后应进入指令的取指周期,因此要转向执行PCAR微指令,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(00H)的基础上加1,即01H。顺序寻址方式下,SCC无效,直
14、接写0000。(2)送指令地址微指令(PCAR、PC+1PC)本条微指令首先要做的是PCAR的操作,这里使用A口地址指定PC,即0101,并设置I86=010(使A口指定内容输出到内部总线上),DC2=011(指定AR接收内部总线上的数据)。本条微指令中要完成的PC+1PC,仍然通过运算器做加法,加上Cin来实现,故控制信号I20=011(选择0、B数据),B口=0101(B口指定PC),I86=010(FB,运算结果送PC),I53=000(加法运算),SST=000(标志位保持不变)、SSH SCI=001(增量运算中使用最低进位位Cin提供加数)。该操作中不需要访存,或访问IO,因此MR
15、W为100(无读写)。DC1无用,选择000。本条微指令将所要访问主存单元的地址送给AR,则接下来应从主存中读出机器指令字,即本条微指令之后的微指令一定是MEMIR,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(01H)的基础上加1,即02H。顺序寻址方式下,SCC无效,直接写0000。(3)读指令字微指令(MEMIR)本条微指令需要做访存读取机器指令,因此运算器相关的命令可设置无效,即I20=000,I86=001,I53=010,A口=0000,B口=0000,SST=000(标志位保持不变)、SSH SCI=000。访存获取的指令字应存放于指令寄存器IR中,
16、因此,MRW=001(内存读),DC2=001(IR接收)。DC1无用,选择000。本条微指令执行后,控制器应进行操作码的译码,做微地址映射,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(02H)的基础上加1,即03H。顺序寻址方式下,SCC无效,直接写0000。注意:以上3条微指令是适用于所有指令的取指操作的。(4)地址映射微指令(/MAP)本条微指令主要是由地址映射部件,根据指令操作码给出对应的指令周期微程序的入口地址,故,本条微指令中有关运算器和访存的控制信号均无效,即I20=000,I86=001,I53=010,A口=0000,B口=0000,SST=0
17、00(标志位保持不变),SSH SCI=000,DC1=000,DC2=000。微地址的映射用CI的2号命令控制,即CI30=0010(指令功能分支),SCC30=0000(必转)。下址字段无效,写00H。根据地址映射表4-1可知,ADD指令的微程序入口地址为04H,故该微指令执行后,下址指示灯显示为0000 0100。(5)加法微指令(R0+R1R0)本条微指令主要完成两个通用寄存器的加法运算,由实验二可知,运算器相关的控制信号为:I20=001(选择AB口数据),I86=011(FB),I53=000(加法运算),A口=0001(R1作为源操作数),B口=0000(R0作为目的操作数),S
18、ST=001(运算影响标志位),SSH SCI=000(Cin=0)。本条微指令无访存控制,因此DC1=000,DC2=000。本条微指令执行结束时,ADD指令功能已完成,即指令的执行周期完成,按照指令周期的流程,这里需要检查系统是否有中断请求。因此,本条微指令执行结束即应转向中断判断微指令,CI30=0011码(条件转移),SCC30=0000(必转),下址字段给出中断判断微指令的地址,30H。(6)中断判断微指令(STRQ、CC#=INT#)本条微指令用于判断当前系统是否有中断请求,若有,则转去处理中断(地址为3AH的微指令),否则顺序执行下一条机器指令(地址为31H的微指令)。因此,CI
19、30=0011码(条件转移),所依据的条件应为SCC30=0010(若有中断请求时转移),下址=3AH。在进行中断判断时,需要使用到标志位状态,因此,本条微指令需要做的另一个操作是DC1=011(将标志位送到内部总线上),用以判断中断。3、验证B组基本指令传送指令MVRD R0,D的微程序指令MVRD是将立即数传送到指定寄存器的数据传送类指令,该指令是双字长双操作数指令。其指令格式如下所示,则指令MVRD R0 , D的机器代码的高16位为10001000 00000000,其中高8位为MVRD指令的操作码(详见代码表4-1),接下来的4位对应目的寄存器R0。本次实验中,只是验证指令的微程序,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 微程序控制器实验 实验 微程序 控制器
链接地址:https://www.31ppt.com/p-4145051.html