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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的:

(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: 根据题意,当前指令地址μA5〜μA00FH开始寄存器R0写入数据。因此,此B端口应该显示的是写入的数据。 在微程序信号控制方式中,数据通路的操作由指令控制。指令由一组操作控制信号组成,每个操作控制信号控制一种操作。在进行数据写入操作,需要先向地址总线输出寄存器地址,然后向数据总线输出要写入的数据,最后发出写使能信号,将数据写入寄存器中。 根据题意,当前指令地址μA5〜μA00FH开始寄存器R0写入数据。因此,微程序中应该包含以下操作控制信号: - 地址总线输出R0地址 - 数据总线输出要写入的数据 - 写使能信号使能 当指令地址0FH地址总线输出R0地址,数据总线输出要写入的数据,写使能信号使能,将要写入的数据写入寄存器R0中。因此,B端口应该显示的是写入的数据。 ### 回答2: 在“微程序信号控制方式进行数据通路实验当前指令地址μA5〜μA00FH,表示微程序控制的指令地址0F。开始寄存器R0写入数据,B端口显示的值取决于操作控制信号和操作钟的状态。 根据问题描述,当前指令地址0F,可以推测其对应的操作为写操作。我们来分析一下此操作控制信号和操作加以: 1. 操作控制信号:根据问题描述,当前指令地址0F,对应的操作为写操作,因此操作控制信号中的写使能信号应为高电平(1),表示允许将数据写入到寄存器R0中。 2. 操作钟:操作钟是控制数据处理的主要信号。在写操作进行,操作钟应处于写操作的钟周期中,由于提供的信息中没有具体描述操作钟的状态,所以无法确定操作钟的状态。 综上所述,如果操作钟处于写操作的钟周期中,B端口应该显示写入到寄存器R0的数据值。然而,在给出的信息中没有提供写入的具体数据值,因此无法确定B端口显示的具体数值是多少。 ### 回答3: 在“微程序信号控制方式进行数据通路实验,当当前指令地址μA5~μA00FH开始寄存器R0写入数据。根据给定的指令地址,该指令对应的操作控制信号会被激活。 在这种情况下,B端口显示的值取决于操作控制信号及其对应的操作。 首先,我们需要知道B端口显示的内容是通过寄存器B来实现的。在开始寄存器R0写入数据,我们可以推断出寄存器B应该接受的数据是来自R0。 接下来,需要分析操作控制信号。在微程序中,每个指令地址对应的操作信号是不同的。在此情况下,微程序的设计可能是这样的: 1. 将指令地址加载到指令寄存器中。 2. 根据指令寄存器的内容,将相应的操作信号激活。 3. 执行操作。 因此,当指令地址0FH,相应的操作信号将被激活。根据操作的设计,我们可以假设其中包含一个将R0数据传输到寄存器B的操作。 综上所述,当当前指令地址0FH开始寄存器R0写入数据,B端口显示的值将显示寄存器R0中的数据。这是因为操作控制信号会将R0中的数据传输到寄存器B,并将其显示在B端口上。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值