微程序控制实验报告 北京交通大学
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微程序控制器实验报告
北京交通大学
一、实验目的
通过看懂教学计算机中已经设计好并正常运行的数条基本指令(例如:ADD、MVRR、RET等指令)的功能、格式和执行流程,然后自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。其最终要达到:
1.深入理解计算机微程序控制器的组成和运行原理;
2.深入地学习计算机各类典型指令的执行流程;
3.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;
4.学习微程序控制器的设计过程和相关技术。
二、实验内容
综合型实验
思考题1:在进行56页到59页的实验时,你可能已经发现不同指令在执行的过程中都会经过相同的微地址,也就是说,不同指令的微程序也有公用部分。请你找出这些公共的微指令,说明它们所做的工作。
答:公共指令如下:
(1)微址为00下址为00的指令,所做工作为:给出微程序的首地址并在启动时执行;
(2)微址为30下址为3A的指令,所做工作为:完成检查中断请求。
思考题2:总结机器指令和微程序之间的关系。
答:机器指令和微程序之间的关系总结如下:
(1)一条机器指令对应一个微程序,这个微程序是由若干条微指令构成的。即,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令编成的微程序进行解释和执行;
(2)从指令与微指令,程序与微程序,地址与微地址的一一对应关系上看,前者与内存储器有关,
而后者与控制存储器有关,与此相关也有相对应的硬设备;
(3)机器指令是把程序员编写的程序经编译以后成为机器能执行的以二进制码形式表示的指令;在微程序控制的计算机中通过执行一串微指令完成一条指令的功能;
思考题3:总结指令的一般流程。
答:流程如下图:
设计型实验1
设计几条指令的功能、格式和执行流程,设计每条微指令各字段的具体编码值,包括控制码的各字段、下地址字段、形成下址用到的条件码。写出指令格式、指令功能、执行流程及对应的微程序,确定各步的控制信号。
设计一条新的机器指令,该指令的功能是把一个通用寄存器的内容与一个内存单元ADR中的内容相加,结果保存到另外一个通用寄存器中,即:DR <- [ADR] + SR
1.实验课的分组组号:
第1组;
2.小组要求使用的操作码和微程序首地址:
操作码71H,微程序首地址51H;
3.新指令的指令格式:
双字长指令:
1-8位操作码:01110001;
9-12位DR:0000;
13-16位SR:0000;
17-32位ADR:0000 0000 0000 0000。
4.指令功能:
把一个通用寄存器SR中的内容与一个内存单元ADR中的内容相加,并将结果保存到另外一个通用寄存器DR中。
5.每一个执行步骤的说明:
(1)SR->Q:将SR寄存器中的数据转至Q寄存器中;
(2)PC->AR,PC+1->PC:读指令,PC+1;
(3)MEM->AR:直接寻址,将ADR中存储的数据转存至临时存储器中;
(4)MEM+Q->Q:将MEM中数据与Q中数据求和,将结果存在Q寄存器中;
(5)Q->DR:将Q寄存器中的数据存入DR中。
6.完整的微程序如下表:
7.以及每一条微指令控制信号和下地址的解释说明;
(1)SR->Q
微址 51H:入口地址为51H;
下址 00H:顺序执行;
CI3-0 1110:顺序执行;
SCC3-0 0000:CI3-0不为0011时无效;MRW 100:无读写;
I2-0 100:从A口读SR的值;
I8-6 000:输出SR寄存器的值到Q寄存器;I5-3 000:加法功能实现R+S;
SST 000:CZVS的值保持不变;
SSH SCI 000:无进位;
DC2 000:不操作;
DC1 000:送开关内容到内部总线。
(2)PC->AR,PC+1->PC
微址52H 入口地址为52H;
下址00H:顺序执行;
CI3-0 1110:顺序执行;
SCC3-0 0000:CI3-0不为0011时无效;MRW 100:无读写;
I2-0 011:从B口读PC的值;
I8-6 010:A口与输出Y相连;
I5-3 000:加法功能实现R+S;
B口 0101:PC为R5,B口内容+1送到B口;A口 0101:输出A口的内容到AR;
SST 000:CZVS的值保持不变;
SSH SCI 001:进位;
DC2 011:地址寄存器接收;
DC1 000:送开关内容到内部总线。
(3)MEM->AR
微址 53H:入口地址为53H;
下址 00:顺序执行;
CI3-0 1110:顺序执行;
SCC3-0 0000:CI3-0不为0011时无效;MRW 001:读内存;
I2-0 111:从R端读数据;
I8-6 001:直接将ADR地址输出;
I5-3 000:加法功能实现R+S;
SST 000:CZVS的值保持不变;
SSH SCI 000:加法功能;
DC2 011:地址寄存器接收;
DC1 000:送开关内容到内部总线。
(4)MEM+Q->Q
微址 54H:入口地址为54H;
下址 00H:顺序执行;