实验四 微程序控制器实验
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 按键,控制器就会执行一条微指令,请在 实验前看懂以下微指令,在实验中验证每条微指令,并记录每条微指令执行时微地址、微 下址指示灯的状态。
表4-6
微地址 00H 01H 02H 03H 04H 30H 操作功能 0PC、DI#=0 PCAR 、 PC+1PC MEMIR /MAP R0+R1R0 STR → Q 、 CC#=INT# 下址 00H 00H 00H 00H 30H 3AH CI3~0 1110 1110 1110 0010 0011 0011
加法指令ADD R0 , R1的微程序
MRW 100 100 001 100 100 100 I2~0 001 011 000 000 001 111 I8~3 011 001 010 000 001 000 001 000 011 000 000 000 B口 0101 0101 0000 0000 0000 0000 A口 0101 0101 0000 0000 0001 0000 SST 000 000 000 000 001 000
图 4-2 微程序控制器内部结构
微程序控制器的工作过程是:对于指令寄存器 IR 中的机器指令,由地址映射部件产生 该指令所对应微程序的入口地址, 通过 Am2910 送给控制存储器。 取出的一条微指令送入微 指令寄存器,其中的微命令字段用于发出控制信号,控制各部件的执行,下址字段与条件判 定线路的各测试信号一起送给 Am2910,由其确定下条微指令的地址,继续执行。
SSH\SCI DC2
SCC3~0 0000 0000 0000 0000 0000 0010
001 001 000 000 000 000
111 011 001 000 000 000
DC1 000 000 000 000 000 011
(1)公操作微指令(0PC、DI#=0) 该微指令在控制存储器中位于第一个单元, 即微地址为 00H, 是程序运行时的初始操作。 本实验中由于是脱机单步运行状态,因此每条指令执行时都需要该微指令。 该操作中的 PC 清零是通过运算器的 PC 本身相减得到的,因此这里与运算器相关的控 制信号应选择 I2~0=001(选择 A、B 锁存器输入) 、I8~6=011(FB,结果保存到 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,选择关中断实现。 本条微指令执行完成后应进入指令的取指周期,因此要转向执行 PCAR 微指令,因 此,CI 应选择 1110(顺序寻址) ,则下条微指令的地址应在本条微指令地址(00H)的基础 上加 1,即 01H。顺序寻址方式下,SCC 无效,直接写 0000。 (2)送指令地址微指令(PCAR、PC+1PC) 本条微指令首先要做的是 PCAR 的操作,这里使用 A 口地址指定 PC,即 0101,并 设置 I8~6=010(使 A 口指定内容输出到内部总线上) ,DC2=011(指定 AR 接收内部总线上的 数据) 。 本条微指令中要完成的 PC+1PC,仍然通过运算器做加法,加上 Cin 来实现,故控制 信号 I2~0=011(选择 0、B 数据) ,B 口=0101(B 口指定 PC) ,I8~6=010(FB,运算结果送 PC) ,I5~3=000(加法运算) ,SST=000(标志位保持不变) 、SSH SCI=001(增量运算中使用 最低进位位 Cin 提供加数) 。 该操作中不需要访存,或访问 IO,因此 MRW 为 100(无读写) 。DC1 无用,选择 000。 本条微指令将所要访问主存单元的地址送给 AR, 则接下来应从主存中读出机器指令字, 即本条微指令之后的微指令一定是 MEMIR,因此,CI 应选择 1110(顺序寻址) ,则下条 微指令的地址应在本条微指令地址(01H)的基础上加 1,即 02H。顺序寻址方式下,SCC 无效,直接写 0000。 (3)读指令字微指令(MEMIR) 本条微指令需要做访存读取机器指令, 因此运算器相关的命令可设置无效, 即 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 条微指令是适用于所有指令的取指操作的。
实验原理
1、TEC-XP 教学机的控制器基本原理
TEX-XP 教学机中包含组合控制逻辑和微程序控制逻辑两种不同结构的控制器。 本实验 中使用的是微程序控制器,与微程序控制器相关的机器结构如图 4-1 所示。控制器中使用程 序计数器 PC 跟踪机器指令的执行,使用 PC 中的内容访存获取机器指令,得到的机器指令 送入控制器中的指令寄存器 IR 暂存,并由微程序控制器分析执行,执行过程中的所有控制 信号均由微程序控制器中的微命令寄存器μ IR 发出。
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 给出。
2、地址映射部件
地址映射部件,即微指令地址映射部件,它是由一片 E2PROM 构成的,一般称为 MAPROM。指令寄存器 IR 将其中的高 8 位指令操作码送给 MAPROM,MAPROM 根据操 作码与微地址之间的映射关系,给出该指令对应微程序的入口地址。 TEC-XP 教学机中的指令操作码与微地址之间的映射关系如附录表 4-1 所示。
实验四
微程序控制器实验
实验目的
1、深入理解微程序控制器的功能和组成结构; 2、学习教学计算机各类指令的指令格式、寻址方式及执行流程; 3、学习微程序控制器的设计过程和相关技术。
实验内容
1、分析基本指令的执行流程,在教学机上验证其对应的微指令; 2、设计几条指令的功能、格式和指令流程,并在教学计算机上进行测试。
6、TEC-XP 教学机的数据通路与微命令的关系
微指令的操作控制字段直接用于控制 TEC-XP 教学机中的各个执行部件, 顺序控制字段 分别送微程序控制器中的微地址寄存器和转移控制逻辑,用于产生微下址,寻址微指令。图 4-4 中给出了微指令中的各个字段与 TEC-XP 教学机数据通路的对应关系,可帮助理解微指 令的应用。
b) c) d)
e)
4、控制存储器
控制存储器字长 48 位,用来存放 TEC-XP 教学机的所有微指令。硬件实现时,是使用 两片 EEPROM 芯片(58C64)存放 16 位下地址字段信息,而 32 位操作控制字段信息存放 在 MACH 器件内。 每次读控制存储器时,从这三个芯片中读出一条微指令。48 位的微指令寄存器也分为 两段,即 16 位的下地址信息,和 32 位的微命令信息。
ቤተ መጻሕፍቲ ባይዱ图 4-1
TEC-XP 教学机的基本结构
TEC-XP 教学机的微程序控制器详细内部结构如图 4-2 所示。该控制器中包含指令寄存 器 IR(存放当前执行的指令) 、地址映射部件(确定不同指令对应的微程序入口地址) 、微 程序定序器 Am2910 (根据微指令中的下址字段和判断测试条件, 产生下一条微指令的地址) 、 条件判定线路(用于微程序流向控制) 、控制存储器 CM(包含所有的微指令) 、微指令寄存 器μ IR(存放当前微指令的操作控制字段)等部件。
实验要求
1、实验之前,认真准备,对于该实验的基本原理、微指令格式、以及相关机器指令的 微程序等内容预先做好分析和设计; 2、实验过程中,应认真进行实验操作,仔细思考实验有关内容,把难点内容通过实验 理解清楚,争取最好的实验效果; 3、实验之后,应认真思考,写出实验总结,包括实验中遇到的主要问题和分析、解决 方法。
c)
4 位的转移条件编码 SCC3~0 当 CI3~0=0011 时,由这四位编码决定转移判断测试的条件,若选中条件不满足, 则使用微下址寻址下一条微指令,否则做顺序寻址,同 CI3~0=1110。 下址字段的这 3 部分控制信号与形成微地址的关系详如附录表 4-2 所示。
(2)操作控制字段 a) MIQ、REQ、WE 这 3 位控制信号用于对存储器或 I/O 接口进行读写操作时的控制。 具体定义如附录 表 4-3 所示。 I8-I6、I5-I3、I2-I0、A 口和 B 口、SST2-0:具体定义参考实验二。 SSH、SCI1-0:本实验中控制方式如附录表 4-3 所示。 DC1 用于选择把哪一组数据发送到 CPU 的内部总线(IB)上。在微指令执行过程中, 若不使用内部总线,则通常将其设置为 000,可认为是无效状态。 DC2 用于控制数据接收及相关的内部功能。 DC1 和 DC2 的控制方式如附录表 4-4 所示。