实验1 运算器组成

一、实验目的与要求

 实验目的:

(1)熟悉TEC-8模型计算机的节拍脉冲T1\T2\T3

(2)熟悉TEC-8模型机双端口通用寄存器组的读写操作

(3)熟悉TEC-8模型机运算器的数据传送通路

(4)验证74181的加、减、与、或功能

(5)按给定的数据,完成几种指定的算术运算和逻辑运算

 实验要求:

(1)熟悉运算器的数据传输通路及其功能特性。

(2)做好实验预习,按要求预先填写实验步骤中各表格。

二、实验内容(包括题目、调试过程、调试结果与分析)

1.实验设备:TEC-8实验系统

2.实验电路

(1)运算器组成实验电路框图

 

(2)运算器控制信号和数据信号

运算功能

数据来源选择

运算结果处理

数据指示灯

M

S3-S0

RD1-0

RS1-0

CIN

SBUS

LDC

LDZ

DRW

ABUS

D7-D0

A7-A0

B7-B0

1-逻辑运算

0-算术运算

算术加/减

逻辑与/或

选择送往A端口的寄存器

选择送往B端口的寄存器

低进位输入

开关数据送往DBUS

保存C标志

保存Z标志

在T3上升沿写入RD1-RD0指定寄存器

ALU运算结果送往DBUS

数据总线DBUS上的数据

ALU A端口数据

ALU B端口数据

备注:对于M、S3-0等控制信号,实验箱上直接提供了指示灯。

对于RD1-0和RS1-0这4个信号,在微程序控制器控制方式下会在SEL3-0指示灯上显示。

(3)操作模式

操作模式

DP SWC SWB SWA

实验功能

1 0 0 0

启动程序运行

1 0 0 1

写存储器

1 0 1 0

读存储器

1 0 1 1

读寄存器

1 1 0 0

写寄存器

1 1 0 1

运算器组成实验

1 1 1 0

双端口存储器实验

1 1 1 1

数据通路实验

3.实验任务

(1)熟悉写运算器内部寄存器的控制信号和让运算器内部的ALU做加、减、与、或运算时的控制信号

(2)理解微程序控制器方式下,验证运算器对下述6组数据进行加、减、与、或运算。

①A=0F0H,B=10H ②A=0FFH,B=0AAH

③A=10H,B=0F0H ④A=55H,B=0AAH

⑤A=03H,B=05H ⑥A=0C5H,B=61H

⑦A=0AH,B=0AH

4.实验步骤

A. 微程序控制器方式

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

(2)理解运算器执行加、减、与、或运算的控制信号

在微程序控制器方式下,计算机的操作依次为:复位 -> 通过数据开关设置R0 -> 通过数据开关设置R1→  R0 + R1→ R0 - R1→  R0 and R1→  R0 or R1,请分析每个运算器控制信号的作用。(操作模式设为1101

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

 

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

微程序控制方式下运算器实验操作序列控制信号

操作模式设为1101以R0=FOH,R1=10H为例

步骤1

uA5-uA0

M

S3-S0

CIN

LDC

LDZ

SBUS

DRW

ABUS

RD1-0

RS1-0

开关拨数设置R0

0BH

0

0000

0

0

0

1

1

0

00

01

实验操作及现象解释:

实验操作:当指示灯uA5--uA0显示0BH时,在数据开关S70~SD0上设置R0。在数据总线DBUS指示灯D7~D0 上可以看到数据是否设置正确,发现错误需及时改正。设置数据正确后,按一次QD按钮,将SD7~SD0上的数据写入R0,进入下一步。

现象解释:设置R0时,74LS181不需要运转,因此它的指示灯全为0;SBUS=1表示数据可以送往DBUS;DRW=1表示允许数据写入到寄存器;ABUS=0表示禁止将ALU运算结果送往DBUS;RD1-RD0值取00表示选择R0的数据送往A端口,RS1-RS0值取01表示选择R1的数据送往B端口。

步骤2

uA5-uA0

M

S3-S0

CIN

LDC

LDZ

SBUS

DRW

ABUS

RD1-0

RS1-0

开关拨数设置R1

15H

0

0000

0

0

0

1

1

0

01

00

实验操作及现象解释:

实验操作:在数据开关S70~SD0上设置R1。设置数据正确后,按一次QD按钮,将SD7~SD0上的数据写入R1,进入下一步。

现象解释:指示灯uA5--uA0显示15H,这时R0已经写,在指示灯B7~B0上可以观察到设置的R0数值;设置R1时,74LS181不需要运转,因此它的指示灯全为0;SBUS=1表示数据可以送往DBUS;DRW=1表示允许数据写入到寄存器;ABUS=0表示禁止将ALU运算结果送往DBUS;RD1-RD0值取01表示选择R1的数据送往A端口,RS1-RS0值取00表示选择R0的数据送往B端口。

步骤3

uA5-uA0

M

S3-S0

CIN

LDC

LDZ

SBUS

DRW

ABUS

RD1-0

RS1-0

进行R1+R2运算

16H

0

1001

1

1

1

0

0

1

00

01

实验操作及现象解释:

实验操作:观察并记录加法结果和相应的指示灯信息,完成后按一次QD按钮,进入下一步。

现象解释:指示灯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标志;SBUS=0表示数据不可以送往DBUS;DRW=0表示不允许数据写入到寄存器,此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

步骤4

uA5-uA0

M

S3-S0

CIN

LDC

LDZ

SBUS

DRW

ABUS

RD1-0

RS1-0

进行R1-R2运算

17H

0

0110

0

1

1

0

0

1

00

01

实验操作及现象解释:

实验操作:观察并记录减法结果和相应的指示灯信息,完成后按一次QD按钮,进入下一步。

现象解释:指示灯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标志;SBUS=0表示数据不可以送往DBUS;DRW=0表示不允许数据写入到寄存器,此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

步骤5

uA5-uA0

M

S3-S0

CIN

LDC

LDZ

SBUS

DRW

ABUS

RD1-0

RS1-0

进行R1 and R2运算

18H

1

1011

0

0

1

0

0

1

00

01

实验操作及现象解释:

实验操作:观察并记录与运算结果和相应的指示灯信息,完成后按一次QD按钮,进入下一步。

现象解释:指示灯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表示数据不可以送往DBUS;DRW=0表示不允许数据写入到寄存器,此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

步骤6

uA5-uA0

M

S3-S0

CIN

LDC

LDZ

SBUS

DRW

ABUS

RD1-0

RS1-0

进行R1 or R2运算

19H

1

1110

0

0

1

0

0

1

00

01

实验操作及现象解释:

实验操作:观察并记录或运算结果和相应的指示灯信息,完成后按一次QD按钮,进入下一步。

现象解释:指示灯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标志;SBUS=0表示数据不可以送往DBUS;DRW=0表示不允许数据写入到寄存器,此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

 

(3)验证运算器的加、减、与、或运算功能

请预先填好下列表格,并在实验箱上验证所写的数据结果、C、Z标志输出是否正确,分析每个运算的运算结果、CZ标志位

微程序控制方式下运算器实验结果数据(操作模式设为1101

A口

B口

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

0F0H

10H

00H

1

1

E0H

1

0

10H

1

0

0F0H

1

0

实验操作及现象解释:

实验操作:在微程序控制器方式下,计算机的操作依次为:复位 -> 通过数据开关设置R0(A) -> 通过数据开关设置R1(B)→  R0 + R1→ R0 - R1→  R0 and R1 →  R0 or R1;通过按钮QD进行下一步。

现象解释:

加:C=1表示0F0H+10H产生了进位,Z=1表示0F0H+10H的结果为0;

减:C=1表示0F0H-10H够减,即前者大于后者,Z=0表示0F0H-10H的结果不为0;

与:进行逻辑运算时,C指示灯保持不变,Z=0表示0F0H and 10H的结果不为0;

或:进行逻辑运算时,C指示灯保持不变,Z=0表示0F0H or 10H的结果不为0。

A口

B口

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

0FFH

0AAH

A9H

1

0

55H

1

0

AAH

1

0

FFH

1

0

实验操作及现象解释:

实验操作:在微程序控制器方式下,计算机的操作依次为:复位 -> 通过数据开关设置R0(A) -> 通过数据开关设置R1(B)→  R0 + R1→ R0 - R1→  R0 and R1 →  R0 or R1;通过按钮QD进行下一步。

现象解释:

加:C=1表示两数相加产生了进位,Z=0表示两数相加的结果不为0;

减:C=1表示两数相减够减,即前者大于后者,Z=0表示两数相减的结果不为0;

与:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相与的结果不为0;

或:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相或的结果不为0。

A口

B口

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

10H

0F0H

00H

1

1

20H

0

0

10H

0

0

F0H

0

0

实验操作及现象解释:

实验操作:在微程序控制器方式下,计算机的操作依次为:复位 -> 通过数据开关设置R0(A) -> 通过数据开关设置R1(B)→  R0 + R1→ R0 - R1→  R0 and R1 →  R0 or R1;通过按钮QD进行下一步。

现象解释:

加:C=1表示两数相加产生了进位,Z=1表示两数相加的结果为0;

减:C=0表示两数相减不够减,即前者小于后者,Z=0表示两数相减的结果不为0;

与:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相与的结果不为0;

或:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相或的结果不为0。

A口

B口

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

55H

0AAH

FFH

0

0

ABH

0

0

00H

0

1

FFH

0

0

实验操作及现象解释:

实验操作:在微程序控制器方式下,计算机的操作依次为:复位 -> 通过数据开关设置R0(A) -> 通过数据开关设置R1(B)→  R0 + R1→ R0 - R1→  R0 and R1 →  R0 or R1;通过按钮QD进行下一步。

现象解释:

加:C=0表示两数相加没有产生进位,Z=0表示两数相加的结果不为0;

减:C=0表示两数相减不够减,即前者小于后者,Z=0表示两数相减的结果不为0;

与:进行逻辑运算时,C指示灯保持不变,Z=1表示两数相与的结果为0;

或:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相或的结果不为0。

A口

B口

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

03H

05H

08H

0

0

FEH

0

0

01H

0

0

07H

0

0

实验操作及现象解释:

实验操作:在微程序控制器方式下,计算机的操作依次为:复位 -> 通过数据开关设置R0(A) -> 通过数据开关设置R1(B)→  R0 + R1→ R0 - R1→  R0 and R1 →  R0 or R1;通过按钮QD进行下一步。

现象解释:

加:C=0表示两数相加没有产生进位,Z=0表示两数相加的结果不为0;

减:C=0表示两数相减不够减,即前者小于后者,Z=0表示两数相减的结果不为0;

与:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相与的结果不为0;

或:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相或的结果不为0。

A口

B口

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

0C5H

61H

26H

1

0

64H

1

0

41H

1

0

E5H

1

0

实验操作及现象解释:

实验操作:在微程序控制器方式下,计算机的操作依次为:复位 -> 通过数据开关设置R0(A) -> 通过数据开关设置R1(B)→  R0 + R1→ R0 - R1→  R0 and R1 →  R0 or R1;通过按钮QD进行下一步。

现象解释:

加:C=1表示两数相加产生了进位,Z=0表示两数相加的结果不为0;

减:C=1表示两数相减够减,即前者大于后者,Z=0表示两数相减的结果不为0;

与:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相与的结果不为0;

或:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相或的结果不为0。

A口

B口

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

数据结果

C

Z

0AH

0AH

14H

0

0

00H

1

1

0AH

1

0

0AH

1

0

实验操作及现象解释:

实验操作:在微程序控制器方式下,计算机的操作依次为:复位 -> 通过数据开关设置R0(A) -> 通过数据开关设置R1(B)→  R0 + R1→ R0 - R1→  R0 and R1 →  R0 or R1;通过按钮QD进行下一步。

现象解释:

加:C=0表示两数相加没有产生进位,Z=0表示两数相加的结果不为0;

减:C=1表示两数相减够减,即前者大于后者,Z=1表示两数相减的结果为0;

与:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相与的结果不为0;

或:进行逻辑运算时,C指示灯保持不变,Z=0表示两数相或的结果不为0。

B. 独立方式

(1)先将电平控制开关K15-K0与运算器的各控制信号连接好。

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

(2)用开关SD7-SD0向通用寄存组R0-R3设置数据,并通过读到数据总线上验证数据设置是否正确。

(3)请预先填好下列表格,并在实验箱上验证所写信息是否正确,分析每个操作中有关控制信号所起的作用以及控制效果。

独立方式下写运算器寄存器(操作模式设为1100

(先用导线按下表中开关和控制信号的对应关系连接起来)

操作

SBUS

DRW

RD1-RD0

RS1-RS0

数据开关状态

DBUS指示灯

数据A指示灯

数据B指示灯

K6

K4

K3-K2

K1-K0

开关拨数送R0

1

1

00

00

1

AAH

AAH

AAH

开关拨数送R1

1

1

01

01

1

05H

05H

05H

开关拨数送R2

1

1

10

10

1

10H

10H

10H

开关拨数送R3

1

1

11

11

1

01H

01H

01H

实验操作及现象解释:

把操作模式设为1100—写寄存器功能;把数据开关SBUS和允许写入寄存器开关DRW打开,这样才能向寄存器写入数据;RD1-RD0值取00表示选择R0的数据送往A端口,依此类推;RS1-RS0值取00表示选择R0的数据送往B端口,依此类推。

注意:直接通过开关更改RD1-RD0 / RS1-RS0的取值,在数据灯A7-A0 / B7-B0上可查看对应寄存器内容。

(4)验证74181的正逻辑加、减、与、或运算功能。

请预先填好下列表格,在实验箱上验证所写信息是否正确,并分析每个操作中有关控制信号所起的作用以及控制效果。

独立方式下运算器实验(控制方式设为1101

操作

M

S3-S0

CIN

LDC

LDZ

SBUS

ABUS

DRW

RD1-RD0

RS1-RS0

DBUS指示灯

数据A指示灯

数据B指示灯

K14

K13-K10

K9

K8

K7

K6

K5

K4

K3-K2

K1-K0

设置R1

0

0000

0

0

0

1

0

1

00

01

0FH

0FH

~

设置R2

0

0000

0

0

0

1

0

1

01

00

10H

10H

0FH

R1 + R2

0

1001

1

1

1

0

1

0

00

01

00H

0FH

10H

实验现象解释(相加的两个数自行设置,但要求产生溢出):

设置R1=0FH,R2=10H:设置数值时74LS181不需要运作,所以与74LS181相关的信号灯全为0;将数据开关SBUS和允许向寄存器写入数据开关DRW打开,即设为1,这样数据才能写进寄存器;ABUS关闭,不能将ALU运算结果送往数据总线DBUS;①要将R1=0FH送入到A端口,要让A端口接收R0寄存器的数值,所以RD1-RD0=00,RS1-RS=01;此时DBUS指示灯显示输入的数据,ALU的A端口指示灯显示0FH,B端口还没有值;②要将R2=10H送入到B端口,所以RD1-RD0=01,RS1-RS=00;此时DBUS指示灯显示输入的数据,ALU的A端口指示灯显示10H,B端口显示0FH,A、B端口的值暂时换位。

R1+R2:设置M=0、S3-S0=1001:此时表示进行的算数加法,CIN=1:表示低位74181有进位输入;LDC=1:表示在 T 3的上升沿将运算得到的进位保存到 C 标志寄存器;LDZ=1:表示如果运算结果为0,在 T 3的上升沿,将1写入到 Z 标志寄存器;如果运算结果不为0,将0保存到 Z 标志寄存器;SBUS=DRW=0,表示此时禁止写入;ABUS打开,表示允许将ALU运算结果送往DBUS;RD1-RD0、RS1-RS0在进行算数时无意义,DBUS指示灯显示加法结果,数据A指示灯显示R1,数据B指示灯显示R2。

操作

M

S3-S0

CIN

LDC

LDZ

SBUS

ABUS

DRW

RD1-RD0

RS1-RS0

DBUS指示灯

数据A指示灯

数据B指示灯

K14

K13-K10

K9

K8

K7

K6

K5

K4

K3-K2

K1-K0

设置R1

0

0000

0

0

0

1

0

1

00

01

03H

03H

~

设置R2

0

0000

0

0

0

1

0

1

01

00

05H

05H

03H

R1 - R2

0

0110

0

1

1

0

1

0

00

01

FEH

03H

05H

实验现象解释(相减的两个数自行设置,但要求C标志为0):

设置R1=03H,R2=05H:设置数值时74LS181不需要运作,所以与74LS181相关的信号灯全为0;将数据开关SBUS和允许向寄存器写入数据开关DRW打开,即设为1,这样数据才能写进寄存器;ABUS关闭,不能将ALU运算结果送往数据总线DBUS;①要将R1=03H送入到A端口,要让A端口接收R0寄存器的数值,所以RD1-RD0=00,RS1-RS=01;此时DBUS指示灯显示输入的数据,ALU的A端口指示灯显示03H,B端口还没有值;②要将R2=05H送入到B端口,所以RD1-RD0=01,RS1-RS=00;此时DBUS指示灯显示输入的数据,ALU的A端口指示灯显示05H,B端口显示03H,A、B端口的值暂时换位。

R1-R2:设置M=0、S3-S0=0110:此时表示进行的算数减法,CIN=0:表示低位74181无进位输入;LDC=1:表示在 T 3的上升沿将运算得到的进位保存到 C 标志寄存器;LDZ=1:表示如果运算结果为0,在 T 3的上升沿,将1写入到 Z 标志寄存器;如果运算结果不为0,将0保存到 Z 标志寄存器;SBUS=DRW=0,表示此时禁止写入;ABUS打开,表示允许将ALU运算结果送往DBUS;RD1-RD0、RS1-RS0在进行算数时无意义,DBUS指示灯显示加法结果,数据A指示灯显示R1,数据B指示灯显示R2。

操作

M

S3-S0

CIN

LDC

LDZ

SBUS

ABUS

DRW

RD1-RD0

RS1-RS0

DBUS指示灯

数据A指示灯

数据B指示灯

K14

K13-K10

K9

K8

K7

K6

K5

K4

K3-K2

K1-K0

设置R1

0

0000

0

0

0

1

0

1

00

01

04H

04H

~

设置R2

0

0000

0

0

0

1

0

1

01

00

02H

02H

04H

R1 and R2

1

1011

0

0

1

0

1

0

00

01

00H

04H

02H

实验现象解释:

设置R1=04H,R2=02H:设置数值时74LS181不需要运作,所以与74LS181相关的信号灯全为0;将数据开关SBUS和允许向寄存器写入数据开关DRW打开,即设为1,这样数据才能写进寄存器;ABUS关闭,不能将ALU运算结果送往数据总线DBUS;①要将R1=04H送入到A端口,要让A端口接收R0寄存器的数值,所以RD1-RD0=00,RS1-RS=01;此时DBUS指示灯显示输入的数据,ALU的A端口指示灯显示0FH,B端口还没有值;②要将R2=02H送入到B端口,所以RD1-RD0=01,RS1-RS=00;此时DBUS指示灯显示输入的数据,ALU的A端口指示灯显示02H,B端口显示04H,A、B端口的值暂时换位。

R1 and R2:设置M=1、S3-S0=1011:此时表示进行的逻辑与,CIN=0:表示低位74181无进位输入;LDC=0:表示不需要C 标志寄存器;LDZ=1:表示如果运算结果为0,在 T 3的上升沿,将1写入到 Z 标志寄存器;如果运算结果不为0,将0保存到 Z 标志寄存器;SBUS=DRW=0,表示此时禁止写入;ABUS打开,表示允许将ALU运算结果送往DBUS;DBUS指示灯显示与结果,数据A指示灯显示R1,数据B指示灯显示R2。

操作

M

S3-S0

CIN

LDC

LDZ

SBUS

ABUS

DRW

RD1-RD0

RS1-RS0

DBUS指示灯

数据A指示灯

数据B指示灯

K14

K13-K10

K9

K8

K7

K6

K5

K4

K3-K2

K1-K0

设置R1

0

0000

0

0

0

1

0

1

00

01

04H

04H

~

设置R2

0

0000

0

0

0

1

0

1

01

00

02H

02H

04H

R1 or R2

1

1110

0

0

1

0

1

0

00

01

06H

04H

02H

实验现象解释(相异或的两个数自行设置,但要求能用于将某一位取反):

设置R1=04H,R2=02H:设置数值时74LS181不需要运作,所以与74LS181相关的信号灯全为0;将数据开关SBUS和允许向寄存器写入数据开关DRW打开,即设为1,这样数据才能写进寄存器;ABUS关闭,不能将ALU运算结果送往数据总线DBUS;①要将R1=04H送入到A端口,要让A端口接收R0寄存器的数值,所以RD1-RD0=00,RS1-RS=01;此时DBUS指示灯显示输入的数据,ALU的A端口指示灯显示0FH,B端口还没有值;②要将R2=02H送入到B端口,所以RD1-RD0=01,RS1-RS=00;此时DBUS指示灯显示输入的数据,ALU的A端口指示灯显示02H,B端口显示04H,A、B端口的值暂时换位。

R1 or R2:设置M=1、S3-S0=1110:此时表示进行的逻辑或,CIN=0:表示低位74181无进位输入;LDC=0:表示无进位,不需要保存;LDZ=1:表示如果运算结果为0,在 T 3的上升沿,将1写入到 Z 标志寄存器;如果运算结果不为0,将0保存到 Z 标志寄存器;SBUS=DRW=0,表示此时禁止写入;ABUS打开,表示允许将ALU运算结果送往DBUS;RD1-RD0、RS1-RS0在进行算数时无意义,DBUS指示灯显示与结果,数据A指示灯显示R1,数据B指示灯显示R2。

5.思考题

(1)ALU有记忆功能吗?理由是什么?

答:没有;ALU只负责处理数据而不负责存储数据;

  1. 在利用ALU做算术或逻辑运算时,为什么ALU的A端口和B端口的数据确定后,在数据总线DBUS上能够直接看到,而标志C/Z的值要在下一步才能看到?

答:运算器 ALU 由 2 片 74LS181 算术逻辑器件构成。运算器 ALU 的输出 发送到数据总线 DBUS 上,进位信号 C、标志位为零 Z,分别保存在寄存器 74LS74 中,另外 C、Z 还配置了两个二极管作为运算器进位与标志的状态。运算器参与 运算的数据分别来自于双端口寄存器的 A、B 两个端口。74LS181 构成的 8 位运 算器的运算类型由选择端口 S3-S0 选择完成,按一次 QD 才显示 C,Z
    参与运算的数据,数据通过实验台操作板上的 8 个二进制数据开 关 SD7-SD0 来设置,然后输入到双端口通用寄存器堆 RF 中。数据开关 SD7-SD0 是 8 个双位开关。用手拨动这些开关,能够生成需要的 SD7-SD0 的值。数据开关 驱动器 SWD 是 1 片 74LS244(U58)。在信号 SBUS 为 1 时,SD7-SD0 通过 SWD 送往 数据总线 DBUS.

  1. 运算器相关的控制信号共有15个,这些控制信号各起什么作用?在每个操作步骤中,是否所有控制信号均会被使用到?请举例说明之。

答:15个控制信号如下:

M 、S3、S2、S1、S0:控制74181的算术逻辑运算类型。

CIN:低位74181的进位输入。

RD1-RD0:选择送 ALU 的 A 端口的寄存器。

RS1-RS0:选择送 ALU 的 B 端口的寄存器。

DRW:为1时,在 T 3上升沿对 RDI 、RD0选中的寄存器进行写操作,将数据总线 DBUS 上的数D7~D0写入选定的寄存器。

 LDC :当它为1时,在 T 3的上升沿将运算得到的进位保存到 C 标志寄存器。

 LDZ :当它为1时,如果运算结果为0,在 T 3的上升沿,将1写入到 Z 标志寄存器;如果运算结果不为0,将0保存到 Z 标志寄存器。

 ABUS:当它为1时,将开关数据送数据总线 DBUS ;当它为0时,禁止开关数据送数据总线 DBUS 。

 SBUS:当它为1时,将运算结果送数据总线 DBUS ;当它为0时,禁止运算结果送数据总线 DBUS 。

   在每个操作步骤中,所有控制信号并没有被完全使用,比如在进行数值设置时,与74LS181有关的控制都没用到。

  1. 在做加法运算时,若两数相加有进位,C标志输出1还是0?

答:输出1;比如A的第一组数据 0F0H+10H=00H。

(5)在做减法运算时,若两数相减不够减,C标志输出1还是0?请分析原因,并举例说明之。

答:不够减时C标志输出0;计算机巧妙的用补码来表示负数,然后通过和一个负数(补码)相加,来实现减法的操作,如果不够减的话,即不会产生进位;比如 55H-0AAH=ABH;

三、总结以及心得体会

    通过本次实验,我比较熟悉掌握了运算器的组成以及它是如何进行工作的,同时提高了我的动手能力和思考能力。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值