《计算机组成原理》实验报告——TEC-2实验系统——微程序控制器实验

实验名称: TEC-2机微程序控制器实验

实验地点:10-413

一.实验目的

比较深入透彻地学懂计算机各种指令的执行过程,以及控制器的组成、设计的具体知识。理解动态微程序设计的概念。

 

二.实验原理

1、TEC -2机的控制器部件的关键内容包括:

(1) 7片LS6116RAM组成的56位字长的微程序控制存储器

(2) 微指令寄存器PLR,由7片8位的寄存器芯片(6片LS374和1片LS273)

(3) 微程序定序器AM2910芯片

(4) 程序计数器PC和当前指令地址记忆寄存器IP

(5) 指令寄存器IR

(6) AM2910输入的配套线路,包括:

  • 两片LS2716ROM组成的MAPROM
  • 1片LS125和1片LS244组成的接收内部总线IB9-0选择门电路
  • 1片LS125和微指令寄存器PLR55-48组成的地址输入

(7) AM2910输出的配套电路,包括:

  • 1片LS175和1片LS374寄存器组构成的记忆电路
  • 3片LS257芯片构成的微控存地址选择形成电路
  • 3片计数器芯片LS161组成的地址计数器电路

(8) 2片LS2716ROM组成的固化微码保存电路和读写控制电路

TEC-2机支持64条基本机器指令,已实现53条指令,保存在2片ROM芯片中。2片ROM组成一个2K-16位固定存储器,每4个相邻的字存放一条56字长的微指令,最高8位未用,用0填充。

每条微指令由56位组成,具体如图:

18位微码用于控制与给出每条微指令的下地址,供控制器使用,其中:

B55-B46的10位微码是下址字段;B45、B44备用;B43-40为CI3-0;B39-37、B36分别为3为SCC和一位SC。

提供给运算器的控制信号共26位,包括:

A口地址、B口地址与对应地址选择控制信号SA、SB供10位;

3组3位的AM2910控制信号MI8-6、MI5-3、MI2-0共9位;

控制标志寄存器写入SST、最低位控制信号SCi、移位信号形成SSH三个字段共7位。

最后三位微码/MI0、REQ和/WE控制内存的读写、外设接口的读写与微码的装入。

2、TEC-2机微程序设计说明

(1)写出要实现新指令的格式与功能。包括寻址方式、地址、字长,设计该指令的微操作执行步骤。

(2)确定对应的微指令字各字段的编码。

(3)选择操作码(OP码)和微程序入口地址时查看附录1各条指令的操作码及微程序入口地址表格。

(4)不对存储器和IO端口操作时,MIO、REQ、/WE的编码为10X。

(5)装入微码程序,使用特殊命令LDMC时,要求:

R1为微程序在内存中的始地址; R2为微程序指令长度; R3为微程序在控存中的入口地址。

3、装入微指令到控制存储器的两种操作方法。

(1)在程序中用LDMC指令装入微指令

具体方法见实验步骤,本实验用这种方法。

(2) 通过水平板_上开关手工拨入

此种方法不作要求,只作参考。

三.实验内容:

选定指令操作码,指令格式,设计一条指令,其功能是把用绝对地址表示的内存单元

A中的内容与内存单元B中的内容相加,结果存放在B单元中。

1、通过以下实例熟悉微指令的装入、新指令的运行及测试。

例:用绝对地址表示的内存单元ADDR1的内容与内存单元ADDR2中的内容相加,结果存放到内存单元ADDR2中。

确定指令格式:

⑴ 编写微程序

PC→AR,PC+1→PC;  0000 0E00 A0B5 5402

MEM→AR;           0000 0E00 10F0 0002

MEM→Q;            0000 0E00 00F0 0000

PC→AR,PC+1→PC;  0000 0E00 A0B5 5402

MEM→AR;          0000 0E00 10F0 0002

MEM+Q→Q;         0000  0E01 00E0 0000

Q→MEM,CC#=0;0029 0300 1020 0010

⑵ 启动TEC-2机,进入监控程序状态,输入微程序到内存中。写入微码时,每条微指

令的前8位补全0,补齐64位。

① 用“E”命令将微码写入内存, 本例写入0900H开始的内存区域。

>E900↙

屏幕显示:(每个数值间空格键隔开,回车键结束。)

0900:  0000  0E00  A0B5  5402   0000

0E00  10F0  0002  0000   0E00

00F0  0000  0000  0E00   A0B5

5402  0000  0E00  10F0   0002

0000  0E01  00E0  0000   0029

0300  1020  0010↙

② 用“D”命令检查写入是否正确

>D900↙

屏幕显示:

0900 0000  0E00  A0B5  5402  0000  0E00  10F0  0002

0908 0000  0E00  00F0  0000  0000   0E00  A0B5 5402

0910 0000  0E00  10F0  0002  0000   0E01  00E0 0000

0918 0029  0300  1020   0010  ┉

⑶ 装入微码

将内存存放的微程序装入到控制存储器中,由专用指令LDMC完成。

① 用“A”命令输入用于装入微程序的汇编程序

>A800↙

0800:MOV     Rl,900   ;900:微码在内存的起始地址

MOV     R2,7 ;7:微程序长度

MOV     R3,100   ;100:微程序在控存的起始地址(为什么是“100”)

LDMC    ;装入微码指令

RET

② 用“G”运行上述程序

>G800↙

执行后,微码便装入到起始地址为0100H的微程序控制存储器中

⑷ 输入验证程序,运行新指令

① 用“A”命令输入程序

>A820

0820:MOV     R0,0023

MOV     [A00],R0

MOV     [A01],R0

0826:NOP

NOP

NOP

0829:RET

② 用“E”命令将 NOP填充位置改为新指令码

>E826↙

屏幕显示:

0826:

之后输入:

D400 0A00 0A01↙

③ 用“U”命令查看输入的程序

>U820↙

屏幕显示:

0820: 2C00 0023   MOV   R0,0023

0822: 3400 0A00   MOV   [0A00],R0

0824: 3400 0A01   MOV   [0A01],R0

0826: D400       DW     D400

0827: 0A00       ADC    R0,R0

0828: 0A01       ADC R0,R1

0829: AC00       RET

④ 用“G”命令执行验证程序

>G820↙

⑸ 观察运算结果

由“D”命令检查  0A00、0A01单元内容

>DA00↙

屏幕显示:

0A00

0023 0046┉

0A01单元内容为  0046,结果正确。

四.  实验器材

1.    TEC-2机一台,电脑一台

2.    TEC-2模拟软件一套

五.  实验结果分析

一、将微码输入到由900H开始的内存单元中

(一)用“E”命令输入微码

(二)用“D”命令查看输入的微码

      

二、将微码加载到微控存中

(一)用“A”命令输入加载微码的程序

(二)用“G”命令运行加载微码的程序

三、输入程序,运行新指令

(一)用“A”命令输入程序

(二)用“E”命令输入新指令

(三)用“U”命令查看输入的程序

(四)用“G”命令运行程序

四、观察运算结果

用“D”命令查看运行结果

 

                           

 

 

六.  实验心得

本次实验中,我跟着书上的步骤,在TEC-2机仿真软件中学习了如何设计一条机器指令,设计所需的微指令与如何装入微码,运行自己编写的指令。我学习了如何利用E命令在主存中写入微指令,然后使用A命令编写装入微码的程序,并执行程序装入微码。装入微码后,又学习了如何编写程序和指令,完成自己规定的操作。在本次实验的操作中,我比较深入透彻地学懂计算机各种指令的执行过程,以及控制器的组成、设计的具体知识。理解动态微程序设计的概念。

 

 

参考文章

https://wenku.baidu.com/view/d234b70dba1aa8114431d9e6.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章