TEC-2机微程序设计实验

TEC-2机微程序设计实验

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

二.实验原理
1.TEC-2机的控制器部件的组成
TEC2机控制器部件的关键内容包括:
(1)由7片S6116随机读写存储器芯片组成的56位字长的徽程序控制存储器,用于存放TEC-2机的微程序。其内容在刚加电时不定,加电后将首先从2片ROM(LS2716芯片)中读出固化的、用于实现53条机器指令的做程序,经组织后写入这一控制存器,这一过程称为装入微码。装入完成后,将从监控程序的零地扯执行指令,完成TEC-2机的启动过程。这之后,还可以用LDMC指令按規定的办法向控制存俙器写入新的微程序,以实现新的机器指令。从简化逻辑框图上可以看到,控制存儲器的地址为µRA9~O,读出的信息送微指令流水线寄存器PLR。
(2)做指令寄存器PLR由7片8位的寄存器芯片(6片LS374和1片LS273)组成,用于存放当前做指令的内容,更具体的说明将在后面给出。
(3)微程序定序器AM2910芯片(其内部结构、引脚信号和运行原理等稍候详细说明),是做程序控制器中非常关鍵、也是稍微难懂一点的部分。在学习中要正确理解。它的核心功能是依据机器的运行状态与当前微指令的有关内容等,正确地形成下一条微指令的地址,以保证微程序按要求的微指令序列关系自动地逐条衔接执行。
(4)程序计数器PC和当前指令地址寄存器IP,是用运算器通用寄存器组中的两个选定的寄存器R5和R6实现的,这在图上见不到。
(5)指令寄存器IR,用于存放当前正在执行的指令内容。
(6)为AM2910提供输入地址信号的配套线路,包括
①由两片S2716ROM芯片组成的MAPROM,它变指令寄存器中的操作码转换成一段微程序的入口地;
②由片S125和1片S244组成的接收内部总线的IB9~O信号的选择门电路,它把由水平板上的开关提供的微指令地址送AM2910的地址输入端;
③由1片LS125和微指令寄存器的PLR55~48组成的一组地址输入,把当前微指令中的后续地址B55~46送入AM2910的地址输入端:请注意,1片LS125(共4位独立的输入和输出端)分成两组(每组两位)分别用于②和③两项用途。
这三组信号均为10位宽,且为互斥关系,分别由AM2910芯片提供的3个互斥控制信号/MAP、/VECT和/PL加以选通。
(7)由AM2910芯片的10位地址输出信号驱动的配套电路,包括
①由一片LSI75和一片LS374寄存器组构成的记亿电路,用于保存当前微指令的地址,其输出仅送往显示灯部分,以显示当前微指令的地址
②由3片LS257(四位的二选一电路)芯片构成的微控存的地址选择形成电路,它实现在AM2910的10位输出地址与存储器地址寄存器的低10位地址之间的选择,结果送往微控存的地址输入端,用于完成微控存单元的读写操作;选择信号是Smux。
③与此有关的还有3片计数器芯片1s161组成的地址计数器电路,其输出(共10位)通过两片LS244与刚提到的3片LS257的10位输出形成“线或"关系,用计数器的一个输出端Y11实现二者之间的选择,Y11为0时,pRA9pRAO是计数器的输出信号,提供完成装入微码过程的微控存的地址,Y11为1时,表明装入微码的过程已结束,微控存的地址uRA9uRA0为3片LS257的输出信号,以完成机器指令运行过程中的微控存的读、写(写仅用于LDMC指令)操作。
(8)由2片LS2716ROM芯片组成的、固化的微码保存电路及读写控制电路。这是为机器加电后完成装入微码所配备的专用线路,除2片LにS2716外,还有前边提到的3片LS161芯片(计数器),1片LS61芯片,2片LS244、1片Gal20v8、1片LS74、1片LS23和1片LS00.其连接关系在逻辑线路图(二)的右下部分。
2.TEC-2机控制器部件实现中的一些技术问题
这部分内容叙述较多,详见《实验指导书》P96。
3.具体实现的微程序微代码
(1)加法
MEM->AR,PC+1->PC: 0000 0E00 A0B5 5402
MEM->AR: 0000 0E00 10F0 0002
MEM->Q: 0000 0E00 00F0 0000
PC->AR,PC+1->: 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
(2)减法
MEM->AR,PC+1->PC: 0000 0E00 A0B5 5402
MEM->AR: 0000 0E00 10F0 0002
MEM->Q: 0000 0E00 00F0 0000
PC->AR,PC+1->: 0000 0E00 A0B5 5402
MEM->AR: 0000 0E00 10F0 0002
MEM-Q->Q: 0000 0E01 02E0 0000
Q->MEM,CC#=0: 0029 0300 1020 0010

三.实验内容:
1.选定指令操作码,指令格式,设计一条指令,其功能是把用绝对地址表示的内存单元A中的内容与内存单元B中的内容相加,结果存放在B单元中。
(1)用“E”命令输入微码
在命令行提示符状态下输入:
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
(2)用“A”命令输入加载微码的程序
在命令行提示符状态下输入:
A800
屏幕将显示:
0800:
之后继续输入:
MOV R1,900
MOV R2,7
MOV R3,100
LDMC
RET
(3)用“G”命令运行加载微码的程序
在命令行提示符状态下输入:
G800
(4)用“A”命令输入程序
在命令行提示符状态下输入:
A820
屏幕将显示:
0820
之后继续输入:
MOV R0,0023
MOV [A00],R0
MOV [A01],R0
NOP
NOP
NOP
RET
(5)用“E”命令输入新指令
在命令行提示符状态下输入:
E826
屏幕将显示:
0826
之后继续输入:
D400 0A00 0A01
(6)用“G”命令运行程序
在命令行提示符状态下输入:
G820
(7)用“D”命令察看运行结果
在命令行提示符状态下输入:
DA00
2.选定指令操作码,指令格式,设计一条指令,其功能是把用绝对地址表示的内存单元B中的内容减去内存单元A中的内容相加,结果存放在B单元中。
(1)用“E”命令输入微码
在命令行提示符状态下输入:
E900
屏幕上将显示:
0900:
之后继续输入:
0000 0E00 A0B5 5402 0000
0E00 10F0 0002 0000 0E00
00F0 0000 0000 0E00 A0B5
5402 0000 0E00 10F0 0002
0000 0E01 02E0 0000 0029
0300 1020 0010
(2)用“A”命令输入加载微码的程序
在命令行提示符状态下输入:
A800
屏幕将显示:
0800:
之后继续输入:
MOV R1,900
MOV R2,7
MOV R3,100
LDMC
RET
(3)用“G”命令运行加载微码的程序
在命令行提示符状态下输入:
G800
(4)用“A”命令输入程序
在命令行提示符状态下输入:
A820
屏幕将显示:
0820
之后继续输入:
MOV R0,0023
MOV [A00],R0
MOV [A01],R0
NOP
NOP
NOP
RET
(5)用“E”命令输入新指令
在命令行提示符状态下输入:
E826
屏幕将显示:
0826
之后继续输入:
D400 0A00 0A01
(6)用“G”命令运行程序
在命令行提示符状态下输入:
G820
(7)用“D”命令察看运行结果
在命令行提示符状态下输入:
DA00

五. 实验结果分析
1.加法
在这里插入图片描述
在这里插入图片描述
加法符合结果
2.减法
在这里插入图片描述
在这里插入图片描述
减法符合结果

六. 实验心得
通过本次实验,我了解了计算机如何实现算术和逻辑运算,学会了自己设计一些简单的微码来实现特定功能的微程序;另外,我深刻体会到要想学好计组这门课,必须要有耐心和细心。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值