微程序控制器 计算机组成实验

实验旨在掌握微程序控制器的工作原理,特别是TEC-8模型中的实现,包括微地址转移逻辑。通过设置不同的操作模式,如读寄存器、写寄存器和运算器实验,详细记录微地址、控制信号的变化,理解每一步微指令的作用。同时,强调了条件转移在计算机中的重要性,并要求通过手工设置指令码来追踪非STP指令的执行过程。
摘要由CSDN通过智能技术生成

目的:

(1)掌握微程序控制器的原理

(2)掌握TEC-8模型计算机中微程序控制器的实现方法,尤其是微地址转移逻辑的实现方法

(3)理解条件转移对计算机的重要性

要求:

(1)掌握TEC-8模型计算机微控制器的工作原理。

实验任务

(1) 设置SWC/SWB/SWA,用单微指令方式跟踪控制台操作运算器组成实验等的执行过程,记录每一步的微地址uA5-uA0、P4-P0和有关控制信号的值,写出每一步所执行的微指令的作用。

(2)手工设置操作码IR7-IR4,用单微指令方式跟踪STP以外指令的执行过程,记录每一步的微地址uA5-uA0、P4-P0和有关控制信号的值,写出每步所执行的微指令的作用。

实验步骤

(1)将控制器转换开关拨到微程序位置,将编程开关设置为正常位置,将开关DP拨到向上位置打开电源。

(2)跟踪控制台操作读寄存器、写寄存器、运算器组成实验的执行。

a) 按下CLR复位键,注意此时uA5-uA0全灭,表示当前执行的是CM中的0号微指令,按一次QD键执行一条微指令。

b) 请预先填写下表内容,在实验箱上验证所写信号是否正确。如果不一致,请分析原因。按QD结束每个操作。记录每一步的微地址uA5-uA0、P4-P0和有关控制信号的值,写出每一步所执行的微指令的作用。

操作1:读寄存器(操作模式:1011)

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

复位

00H

0

0

0

0

1

01H

SWC SWB SWA=011,07H

实验现象解释:

此时29个控制信号处于无效状态,

在复位状态下当前微指令地址为00H,判别字段P4-P0为00001,理论下地址字段为01H,但实际上由于P0=1,SWB=1,SWA=1,根据微程序控制电路可知在P0=1,SWB=1,SWA=1的情况下NuA2=1,NuA1=1,所以实际下地址NuA5-0为000111即实际下地址为07H。

读寄存器

 A/B指示灯上显示R0和R1

07H

RD1-0=00

RS1-0=01

SELCTL=1,STOP=1

0

0

0

0

0

06H

SWC SWB SWA=011,06H

实验现象解释:

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

RD1-0=00表示A口显示R0,RS1-0表示B口显示R1

操作2:写寄存器(操作模式:1100)

操作

当前微指令地址

uA5-uA0

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

复位

00H

0

0

0

 0

1

01H

SWC SWB SWA=100,09H

实验现象解释:

此时29个控制信号处于无效状态,

在复位状态下当前微指令地址为00H,判别字段P4-P0为00001,理论下地址字段为01H,但实际上由于P0=1,SWC=1,根据微程序控制电路可知在P0=1,SWC=1的情况下NuA3=1,所以实际下地址NuA5-0为001001即实际下地址为09H。

写R0

09H

RD1-0=00,RS1-0=01

SBUS=1,STOP=1

DRW=1

0

0

0

0

0

08H

SWC SWB SWA=100,08H

写R1

08H

RD1-0=01,RS1-0=00

SBUS=1,STOP=1

DRW=1

0

0

0

0

0

0AH

SWC SWB SWA=100,0AH

写R2

0AH

RD1-0=10,RS1-0=01

SBUS=1,STOP=1

DRW=1

0

0

0

0

0

0CH

SWC SWB SWA=100,0CH

写R3

0CH

RD1-0=11,RS1-0=10

SBUS=1,STOP=1

DRW=1

0

0

0

0

0

00H

SWC SWB SWA=100,00H

实验现象解释:

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。因此写R0、R1、R2、R3的地址为09H、08H、0AH、0CH;

SBUS=DRW=1:允许外界数据通过数据总线输送入寄存器R0-R3

RD1-0 设置数据允许数据进入的相应寄存器。如值为00为R0,01为R1,10为R2,11为R3.

RS1-0 可检查相应寄存器存入数据的正确性,如值为00为R0,01为R1,10为R2,11为R3

操作3:运算器组成实验(操作模式:1101)

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

复位

00H

0

0

0

0

1

01H

SWC SWB SWA=101,0BH

实验现象解释:

此时29个控制信号处于无效状态

在复位状态下当前微指令地址为00H,判别字段P4-P0为00001,理论下地址字段为01H,但实际上由于P0=1,SWB=1,SWA=1,根据微程序控制电路可知在P0=1,SWC=1,SWA=1的情况下NuA3=1,NuA1=1,所以实际下地址NuA5-0为001011即实际下地址为0BH。

写R0

0BH

RD1-0=00,RS1-0=01

SBUS=1,DRW=1

STOP=1

0

0

0

0

0

15H

SWC SWB SWA=101,15H

写R1

15H

RD1-0=01,RS1-0=00

SBUS=1,DRW=1

STOP=1

0

0

0

0

0

16H

SWC SWB SWA=101,16H

实验现象解释:

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

SBUS=1表示数据可以送往DBUS;DRW=1表示允许数据写入到寄存器

当指示灯uA5--uA0显示0BH时,此时RD1-0=00,在数据开关S70~SD0上设置R0。设置数据正确后,按一次QD按钮,将SD7~SD0上的数据写入R0,进入下一步。

微指令地址为15H,RD1-0为01,在数据开关S70~SD0上设置R1。设置数据正确后,按一次QD按钮,将SD7~SD0上的数据写入R1。此时RS1-0=00,B端口显示R0的值。

R0+R1

16H

RD1-0=00,RS1-0=01

ABUS=1,STOP=1

M=0,S3-S0=1001

CIN=1,LDC=LDZ=1

0

0

0

0

0

17H

SWC SWB SWA=101,17H

实验现象解释:

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

指示灯uA5--uA0显示16H。指示灯A7~A0显示被加数R0,指示灯B0~B7显示加数R1,D7~D0指示灯显示运行结果R0+R1;M=0表示算术运算,S3~S0=1001表示进行的加法运算,CIN=1表示低进位输入,LDC=1表示保存C标志,LDZ=1表示保存Z标志;此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

R0-R1

17H

RD1-0=00,RS1-0=01

ABUS=1,STOP=1

M=0,S3-S0=0110

CIN=1,LDC=LDZ=1

0

0

0

0

0

18H

SWC SWB SWA=101,18H

实验现象解释:

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

指示灯uA5--uA0显示17H。指示灯A7~A0显示被减数R0,指示灯B0~B7显示减数R1,D7~D0指示灯显示运行结果R0-R1;M=0表示算术运算,S3~S0=0110表示进行的减法运算,CIN=0表示低位不进位输入,LDC=1表示保存C标志,LDZ=1表示保存Z标志;此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

R0 and R1

18H

RD1-0=00,RS1-0=01

ABUS=1,STOP=1

M=1,S3-S0=1011

CIN=0,LDC=0,LDZ=1

0

0

0

0

0

19H

SWC SWB SWA=101,19H

实验现象解释:

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

指示灯uA5--uA0显示18H。指示灯A7~A0显示R0,指示灯B0~B7显示R1,D7~D0指示灯显示运行结果R0 and R1;M=1表示逻辑运算,S3~S0=1011表示进行与逻辑运算,CIN=0表示低位不进位输入,LDC=0表示不保存C标志,LDZ=1表示保存Z标志;SBUS=0此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

R0 or R1

19H

RD1-0=00,RS1-0=01

ABUS=1,STOP=1

M=1,S3-S0=1110

CIN=0,LDC=0,LDZ=1

0

0

0

0

0

00H

SWC SWB SWA=101,00H

实验现象解释:

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

指示灯uA5--uA0显示19H。指示灯A7~A0显示R0,指示灯B0~B7显示R1,D7~D0指示灯显示运行结果R0 or R1;M=1表示逻辑运算,S3~S0=1110表示进行的或运算,CIN=0表示低位不进位输入,LDC=0表示保存C标志,LDZ=1表示保存Z标志;此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

(3)验证机器指令对应的微指令

将实验箱上信号C-I、Z-I、IR7-I、IR6-I、IR5-I、IR4-I与开关K6-K0接起来,用单微指令方式跟踪STP以外指令的执行过程,记录每一步的微地址uA5-uA0、P4-P0和有关控制信号的值,写出每一步所执行的微指令的作用。

要求:至少跟踪3条机器指令的微指令,表格行数根据具体指令的微指令条数进行增删。

指令1: JMP                     操作码IR7-IR4 = 1001          

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

复位

00H

0

0

0

0

1

01H

SWC SWB SWA=000,01H

 

取指

01H

STOP=1,

PCINC=1

0

0

0

1

0

20H

SWC SWB SWA=000,29H

实验现象解释:

此时29个控制信号处于无效状态,

复位的微地址为00H;P0=1表示根据后继微地址NuA5~NuA0=01H和模式开关SWC、SWB、SWA=000确定下一条微指令的地址是01H。然后按QD,进入下一条微指令。

P1=1表示根据后继微地址NuA5-0=20H和指令操作码IR7~IR4= 1001确定下一条微指令的地址是29H。然后按QD,进入下一条微指令。

执行第1步:

进入ADD

21H

S3-S0=1001,CIN=1

LDC=1,LDZ=1,ABUS=1,DRW=1

1

0

0

0

0

01H

SWC SWB SWA=000,01H

实验现象解释:

P4=1表示根据后继微地址NuA5-0=01H和中断信号INT=0确定下一条微指令的地址是01H.

指令2:JC                        操作码IR7-IR4 =0111           

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA’5- NuA’0

执行第1步:

进入JZ

28H

0

1

0

0

0

12H

SWC SWB SWA=000,13H

实验现象解释:

   地址28H中没任何控制信号,当P3=1时,根据下地址字段NuA5-0和结果为0标志Z确定下一条微指令的地址。此时设Z=1,根据微程序流程图可知,下一条地址为13H。

执行第2步:

读出指令JC

13H

PCADD=1

1

0

0

0

0

01H

SWC SWB SWA=000,01H

实验现象解释:

该指令设置PCADD=1让PC值加上相对转移量。

P4=1表示根据后继微地址NuA5-0和中断信号INT确定下一条微指令的地址;此时地址字段NuA5~NuA0=01且INT=0,根据微程序控制器电路图可以得出下一条微指令地址是01H.

指令3:ST                   操作码IR7-IR4 =0110           

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

执行第1步:

读入指令ST

26H

M=1、S=1111

ABUS=1、LAR=1

0

0

0

0

0

10H

SWC SWB SWA=000,10H

实验现象解释: 

ST指令的第一步地址为26H,置M=1、S=1111、ABUS=1、LAR=1,判定字段全为0,表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

执行第2步:

10H

M=1、S=1010

ABUS=1、MEMW=1

1

0

0

0

0

01H

SWC SWB SWA=000,01H

实验现象解释:

ST指令的第二步地址为10H,置M=1、S=1010、ABUS=1、MEMW=1,P4=1表示根据后继微地址NuA5-0和中断信号INT确定下一条微指令的地址;此时地址字段NuA5~NuA0=01且INT=0,根据微程序控制器电路图可以得出下一条微指令地址是01H.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值