数据通路实验

实验详细描述了在微程序控制器方式下,如何对TEC-8模型计算机的通用寄存器R0-R3赋值、写入内存及从内存读出,并涉及数据通路中控制信号的作用和数据流动路径。实验步骤包括设置寄存器值、写入内存、读取内存等多个阶段,展示了数据在不同组件间的转移和操作过程。
摘要由CSDN通过智能技术生成

实验目的

(1)熟悉TEC-8模型计算机的数据通路结构

(2)掌握数据通路中各控制信号的作用和用法

(3)掌握数据通路中数据流动的路径

实验要求

(1)熟悉TEC-8模型计算机的数据通路及各种操作下数据流动路径和流动方向。

实验任务

(1)给R0-R3赋值(比如75H、28H、89H和32H)

(2)将R0-R3依次写入存储器20H-23H单元中(也可以是其他地址)

(3)将存储器20H-23H单元中的数据依次从内存读出,并写入R3-R0

实验步骤

A. 微程序控制器方式

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

(2)进行通用寄存器和存储器的读、写实验(操作模式设为1111

在微程序控制器方式下,计算机的操作依次为:

复位 → 设置R0 → 设置R1 → 设置R2 → 设置R3 → 设置PC和AR → 将R0写入内存 → 将R1写入内存 →将R2写入内存 →将R3写入内存 → 重新设置PC和AR→读内存到R3 → 读内存到R2 → 读内存到R1 → 读内存到R0

a) 按下CLR复位键,注意此时uA5-uA0全灭,再按QD键。

b) 请预先填写下表内容,在实验箱上验证所写信号是否正确。如果不一致,请分析原因。按QD结束每个操作。(表中需写出每个操作步骤相关控制信号的0/1取值,并解释该步骤所执行的操作、实验现象,只需写出并解释与相应操作相关的控制信号和数据信号)

表1  微程序控制方式下数据通路实验(操作模式设为1111)

第一步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

开关设置R0

0FH

0

0000

00

01

1

0

75H

00H

00H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

1

0

0

0

0

0

0

0

0

0

0

0FH

第二步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

开关设置R1

32H

0

0000

01

00

1

0

28H

00H

75H

75H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

1

0

0

0

0

0

0

0

0

0

0

0FH

第三步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

开关设置R2

33H

0

0000

10

01

1

0

89H

00H

28H

75H

28H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

1

0

0

0

0

0

0

0

0

0

0

0FH

第四步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

开关设置R3

34H

0

0000

11

10

1

0

32H

00H

89H

75H

28H

89H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

1

0

0

0

0

0

0

0

0

0

0

0FH

实验操作及现象解释:

实验操作:观察uA5-0是否符合每步地址,通过数据开关分别将75H(0111 0101),28H(0010 1000),89H(1000 1001),32H(0011 0010)输入数据总线。输入后立即观察D7-D0是否与输入一致,数设置正确后,按一次QD按钮,将数据分别写入寄存器R0,R1,R2,R3。

现象解释:

第一到四步里,用到与寄存器相关的信号控制

即:MBUS,MEMW,LAR,ARINC,LPC,PCINC,PCADDR,LIR,AR7-0,PC7-0,为RAM部分,在这四步里未使用,其值均为0,INS7-0为任意值,无意义。

设置R0-R3的值用不到运算器,所以M=0,S3-S0=0,ABUS=0禁止将运算结果送往DBUS。

SBUS=1数据开关输入的数据允许输送到DBUS

DRW=1表示可以将数据总线的值写入寄存器。

RD1-0 设置A端口读取的寄存器。如00为R0,01为R1,10为R2,11为R3.

A7-A0显示A端口的值。

RS1-0 设置B端口读取的寄存器。如00为R0,01为R1,10为R2,11为R3.

B7-B0显示B端口的值。

第五步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

开关设置PC和AR初值

35H

0

0000

00

11

0

0

20H

75H

32H

75H

28H

89H

32H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

1

0

0

1

0

1

0

0

0

00H

00H

0FH

实验操作及现象解释:

实验操作:观察uA5-0是否为35H,此时B7-B0显示寄存器R3的值即0011 0010,数据开关上输入20H(即拨数据开关为0010 0000)设置地址,D7-D0显示20H,按一次QD按钮,数据开关上输入的数据写入AR7-0和PC7-0

现象解释:

未使用到运算器,因此M=0,S3-S0=0

ABUS=0禁止将运算结果送往DBUS。

D7-D0显示数据总线的值

RD1-0 /RS1-0表示A/B端口读取的寄存器。如00为R0,01为R1,10为R2,11为R3.

A7-A0/B7-B0显示此步骤A/B端口的值。

此时RS1-0为11,表示B端口读取R3存储器。因此B7-B0为0011 0010

SBUS=1数据开关输入的数据允许输送到DBUS

因此数据开关输入0010 0000被输送到DBUS,由于DRW=0不允许将数据总线的值写入寄存器,20H不会被存入寄存器中。LAR=LPC=1,允许DBUS数据写入AR7-0和PC7-0,但此时MBUS和MEMW为0,禁止RAM进行读写操作。所以AR7-0和PC7-0为0

LIR=0表示IR寄存器不使用

ARINC=PCINC=0表示AR和PC不自加1

第六步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

将R0写入内存

36H

1

1010

00

00

0

1

75H

75H

75H

75H

28H

89H

32H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

0

0

1

0

1

0

0

0

0

20H

20H

2FH

第七步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

将R1写入内存

37H

1

1010

00

01

0

1

28H

75H

28H

75H

28H

89H

32H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

0

0

1

0

1

0

1

0

0

21H

20H

75H

第八步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

将R2写入内存

38H

1

1010

00

10

0

1

89H

75H

89H

75H

28H

89H

32H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

0

0

1

0

1

0

1

0

0

22H

21H

28H

第九步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

将R3写入内存

39H

1

1010

00

11

0

1

32H

75H

32H

75H

28H

89H

32H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

0

0

1

0

1

0

1

0

0

23H

22H

89H

实验操作及现象解释:

实验操作:观察uA5-0是否符合每步地址,比对数据,按一次QD按钮。AR7-0显示要存入的地址,INS7-0读取PC7-0的地址存入的数据(如:第七步中INS7-0显示20H存入的R0数据)

现象解释:

M=1,S3-S0=1010,ABUS=1,MEMW=1:形成通路(F=B),让数据通过ALU传送入RAM中AR7-0显示的地址中

RD1-0 设置A端口读取的寄存器。如00为R0,01为R1,10为R2,11为R3.

A7-A0显示A端口的值。

RS1-0 设置B端口读取的寄存器。如00为R0,01为R1,10为R2,11为R3.

B7-B0显示B端口的值。

D7-0:数据总线上的值,表示将要存入内存的数据

ARINC=PCINC=1:AR,PC地址自20H递增

AR7-0:数据要存入的地址  IN7-0:显示PC7-0地址的数据

第十步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

重新开关设置PC和AR初值

3AH

0011

1010

0

0000

00

11

0

0

20H

75H

32H

75H

28H

89H

32H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

1

0

0

1

0

1

0

0

0

24H

23H

32H

实验操作及现象解释:

实验操作:观察uA5-0是否符合3AH,在数据开关中输入20H,观察D7-D0是否为20H,按一次QD按钮

现象解释:

设置PC,AR初值时与ALU无关,其控制信号为0,此时内存20H存R0数据,21H存R1数据,22H存R2数据,23H存R3数据

RD1-0 设置A端口读取的寄存器。如00为R0,01为R1,10为R2,11为R3.

A7-A0显示A端口的值。

RS1-0 设置B端口读取的寄存器。如00为R0,01为R1,10为R2,11为R3.

B7-B0显示B端口的值。

LAR=1,LPC=1允许DBUS数据写入AR,PC

第十一步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

读内存到R3

3BH

0011

1011

0

0000

11

00

1

0

75H

32H

75H

75H

28H

89H

32H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

0

1

0

0

1

0

0

0

0

20H

20H

75H

第十二步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

读内存到R2

3CH

0011

1100

0

0000

10

11

1

0

28H

89H

75H

75H

28H

89H

75H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

0

1

0

0

1

0

1

0

0

21H

20H

75H

第十三步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

读内存到R1

3DH

0011

1101

0

0000

01

10

1

0

89H

28H

28H

75H

28H

28H

75H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

0

1

0

0

1

0

1

0

0

22H

21H

28H

第十四步操作

uA5-0

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

读内存到R0

3EH

0011

1110

0

0000

00

01

1

0

32H

75H

89H

75H

89H

28H

75H

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCINC

PCADDR

LIR

AR7-0

PC7-0

INS7-0

0

1

0

0

1

0

1

0

0

23H

22H

89H

实验操作及现象解释:

实验操作:观察uA5-0是否符合每步地址,将内存地址20H、21H、22H、23H的数据分别写入到R3,R2,R1,R0中,按一次QD按钮数据写入。

现象解释:

将AR7-0对应的内存数据(此时已显示在D7-0)写入RD1-0选中的寄存器中,并在A端口显示原寄存器存储的值,B端口检验是否将AR7-0对应的内存数据写入对应寄存器中(如第十三步中B7-0显示为28H,RS1-0=10,表示选中R2数据在B端口显示,R2在第十二步写入内存为21H对应数据28H,数据一致)

未使用到运算器,因此M=0,S3-S0=0

ABUS=0禁止将运算结果送往DBUS。

D7-D0显示数据总线的值

RD1-0 /RS1-0表示A/B端口读取的寄存器。如00为R0,01为R1,10为R2,11为R3.

A7-A0/B7-B0显示此步骤A/B端口的值。

SBUS=0数据开关输入的数据不允许输送到DBUS

ARINC=1表示AR自增

B. 独立方式

(1)先将电平控制开关K15-K0与运算器、存储器的各控制信号连接好,若开关不够,可用实验箱上的GND/VCC提供低电平0/高电平1。

控制器转换开关拨到中间“独立”位置,将编程开关设置为正常位置,将开关DP拨到向上位置。打开电源。

(2)在模型机上完成0FFH和01H相加,并把运算结果存入内存30H单元。请写出操作过程,并说明每个操作步骤所需的控制信号以及数据的流向。以下操作序列仅供参考。

请预先填写下表内容,在实验箱上验证所写信号是否正确。如果不一致,请分析原因。按QD结束每个操作。(只需写出并解释与相应操作相关的控制信号和数据信号)

第一步和第二步:设置两个操作数

操作

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCADDR

LIR

所接开关

K10-K9

K8-K7

K6

K5

K4

K3

K2

K1

K0

K14

K13

K12

开关设置R0值0FFH

00

00

1

0

1

0

0

0

0

0

0

0

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

AR7-0

PC7-0

INS7-0

1111

1111

1111

1111

1111

1111

操作

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCADDR

LIR

所接开关

K10-K9

K8-K7

K6

K5

K4

K3

K2

K1

K0

K14

K13

K12

开关设置R1值01H

01

00

1

0

1

0

0

0

0

0

0

0

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

AR7-0

PC7-0

INS7-0

0000

0001

1111

1111

0FFH

实验操作及现象解释:

实验操作:将所需操作连接上开关,将RD1-0向上拨设置为00,RS1-0为00,DRW,SBUS向下拨设置为1,ABUS设置为0,ALU等价于关闭,因此与ALU相关的操作均可不用设置,双端口存储器相关操作均设置为0,即MBUS,MEMW,LAR,ARINC,LPC,PCADDR,LIR设置为0.

通过数据开关拨送数据1111 1111进入数据总线,观察D7-D0数据是否正确,正确则按QD按钮将数据写入R0.

再次拨动数据开关输入0000 0001进入数据总线,观察D7-D0数据是否正确,正确则按QD按钮将数据写入R1

现象解释:

A7-A0/B7-B0显示A/B端口的数据

AR7-0、PC7-0、INS7-0均显示为0,双端口存储器相关操作均被设置为0因此双端口没有数据进入

SBUS=1 允许数据开关输入的数据送入数据总线

DRW=1,RD1-0 表示在T3上升沿对RD1、RD0选中的寄存器输送数据总线上数D7-D0的数据

ABUS=0禁止将ALU数据输送入数据总线

MEMW=0在T2=1期间不允许将数据总线上的数据写入RAM中

MBUS=0禁止将RAM的左端口数据送入数据总线上

LPC=LAR=0禁止数据总线的数据写入PC和AR

PCINC=0禁止在T3的上升沿PC加一

ARICN=0禁止在T3的上升沿AR加一

PCADDR=0禁止PC+IR低四位

第三步:执行加法

操作

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCADDR

LIR

所接开关

K15

K14-k11

K10-K9

K8-K7

K6

K5

K4

K3

K2

K1

K0

R1+R0→R1

0

1001

01

00

1

1

0

0

0

0

0

0

0

0

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

AR7-0

PC7-0

INS7-0

0000

0000

0000

0001

1111

1111

0FFH

01H

实验操作及现象解释:

实验操作:

需使用ALU运算器相关操作,将M拨为0,S3-S0拨为1001,ABUS为1,不需要从数据开关获取数据,将SBUS设为0,仍不需要用到双端口存储器,其余操作不用改变

现象解释:

M=0,S3-S0=1001表示在为算术模式下结果F=A加B

ABUS=1,DRW=1,RD1-0=01 表示允许将ALU运算结果F在T3上升沿对RD1、RD0选中的寄存器R1输送数据总线上数D7-D0的数据即将运算结果F放入R1中

D7-0显示运算结果

第四步:设置内存地址

操作

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCADDR

LIR

所接开关

K15-k14

K13-k12

K11

K12

K10

K9

K8

K7

K6

K5

K4

K3

开关设置AR初值30H

01

00

0

0

1

0

0

1

0

0

0

0

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

AR7-0

PC7-0

INS7-0

0011

0000

0000

0000

1111

1111

0FFH

00H

实验操作及现象解释:

实验操作:

与ALM相关的均设置为0,即M=0,S3-S0=00,允许数据开关输送数据进入数据总线,设置SBUS为1,打开地址寄存器AR即将LAR设置为1.不允许RAM将数据输送到数据总线送入ALU,寄存器中即ABUS、DRW设置为0,其他不变。

现象解释:

M=0,S3-S0=00,ABUS=0禁止运算器结果输送入数据总线,等同于ALU关闭,其相关操作均为0

SBUS=1,LAR=1允许将地址数据通过数据开关输送入数据总线后进入AR地址寄存器中

第五步:写入内存

操作

M

S3-S0

RD1-0

RS1-0

DRW

ABUS

SBUS

MBUS

MEMW

LAR

ARINC

LPC

PCADDR

LIR

所接开关

K15

K14-k11

K10-k9

K8

K7

K6

K5

K4

K3

K2

K1

K0

R1→(30H)

1

1010

01

0

1

0

0

1

0

0

0

0

D7-D0

A7-A0

B7-B0

R0

R1

R2

R3

AR7-0

PC7-0

INS7-0

0000

0000

1111

1111

0000

0000

0FFH

00H

0011

0000

实验操作及现象解释:

实验操作:

将M设置为0,S3-S0设置为1010,RS1-0设置为01,将SBUS设置为0禁止通过数据开关输送数据ABUS设置为1,MEMW设置为1,LAR、ARINC设置为0,其余不变

现象解释:

M=1,S3-S0=1010 表示F=B,显示B端口数据

ABUS=1,RS1-0=01允许将B端口选择的R1寄存的数据输送入数据总线

MEMW=1,AR7-0=0011 0000表示将数据总线上的数据00H写入RAM30H的存储单元

总结:

将操作模式设为1111,复位,按一次QD进入本次实验,观察到地址与表中一致,拨动数据开关将数据75H,28H,89H,32H通过数据总线分别存入寄存器R0,R1,R2,R3中,再通过ALU设置成通路、设置AR和PC初值为20H,将寄存器R0,R1,R2,R3中数据分别存入内存地址为20H,21H,22H,23H的内存单元中。最后通过数据总线将内存地址20H,21H,22H,23H的数据分别再存入R3,R2,R1,R0中

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值