【计算机组成与体系结构Ⅰ】实验1 运算器组成实验

一、实验目的

(1)掌握算术逻辑运算加、减、乘、与的工作原理。

(2)熟悉简单运算器的数据传送通路。

(3)验证实验台运算器的8位加、减、与、直通功能。

(4)验证实验台的4位乘4位功能。

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

二、实验设备

(1)TEC 4A计算机组成原理实验系统1台。

(2)导线若干。

三、实验内容和原理框图

实验内容:

(1)按图6所示,正确连接运算器模块与实验台上的电平开关K0-K15。由于运算器的C和C指示灯、8位数据开关SW0-SW7、T3、T4的连线已由印制电路板连好,故接线任务仅仅是完成有关控制信号与电平开关K0-K15的连线,仿真系统参照仿真环境的连线与设置要求。在实验室的实验箱正确需要设置开关DZ、DB、DP。用数据开关SW7-SW0向DRl和DR2寄存器置数。在实验过程中将拨动开关与被控制信号对应连接关系和操作步骤、信号变化记录下来。

【1】置ALU_BUS=0,关闭ALU向数据总线DBUS的输出;置SW_ BUS#=0,开启数据开关SW7-SW0向数据总线DBUS的输出。注意,对于数据总线DBUS(或者其他任何总线),在任一时刻,只能有一个数据源向它输出。置IR/DBUS开关于DBUS位置,在数据开关SW7-SW0上设置各种数据,观察数据指示灯状态是否与数据开关状态一致。

【2】置M1=1,选择DBUS作为DRl的数据源;置LDDRl=l,按QD按钮,则将DBUS的数据打入DRl。置M2=1,选择DBUS作为DR2的数据源;置LDDR2=1,按QD按钮,则将DBUS的数据打入DR2。向DRl存入01010101,向DR2存入10101010

【3】置SW_BUS#=1,关闭数据开关SW7-SW0对数据总线DBUS的输出;置ALU_BUS=l,开启ALU对DBUS的输出。选择S2=0、S1=0、S0=1,便运算器进行直通运算,通过DBUS指示灯验证DR2中的内容是否为第2步设置的值。令S2=0、S1=1、S0=0,使运算器进行加运算,通过DBUS指示灯验证DR1中的内容是否为第2步设置的值。令S2=0、S1=1、S0=1,使运算器进行减法运算,通过DBUS指示灯验证结果。

(2)验证运算器的算术运算和逻辑运算功能。令DRl=01010101B,DR2=10101010B,正确选择S2、S1、S0,依次进行与-乘法实验,记下实验结果(数据和进位)并对结果进行分析。

(3)在不外接电路的情况下(不修改任何连线),将A、B中的内容互换。(若DRl=01010101B、DR2=10101010,则交换后为DRl=10101010B、DR2=01010101B)

 


原理框图:

 

     图6示出了本实验所用的运算器数据通路图(接在运算器和存储器部分所标出接线孔上)。ALU由l片ispLSIl024构成。四片4位的二选一输入寄存器74HC298构成两个操作数寄存器DRl和DR2,保存参与运算的数据。DRl接ALU的B数据输入端口,DR2接ALU的A数据输入端口,ALU的输出在ISPLSIl024内通过三态门发送到数据总线DBUS7-DBUS0上,进位信号C保存在ispLSI1024内的一个D寄存器中。当实验台下部的IR/DBUS开关拨到DBUS位置时,8个红色发光二极管指示灯接在数据总线DBUS上,可显示运算结果或输入数据。另有一个指示灯C显示运算器进位信号状态。由ISPLSIl024构成的8位运算器的运算类型由选择端S2、S1、S0选择,功能表如下:

选择

操作

S2

S1

S0

0

0

0

A&B

0

0

1

A&A

0

1

0

A+B

0

1

1

A-B

1

0

0

A(低 4 位)*B(低 4 位)

 

进位C只在加法运算和减法运算时产生,与、乘、直通操作不影响进位C的状态,即进位C保持不变。减法运算采用加减数的反码再加以1实现。在加法运算中,C代表进位:在减法运算中,C代表借位。运算产生的进位在T4的上升沿送入ispLSI1024内的C寄存器保存。

在SW_BUS#信号为0时(SW_BUS#表示低电平有效),参与运算的数据通过一个三态门74HC244(SW_BUS#)送到DBUS总线上,进而送至DR1或DR2操作数寄存器。输入数据可由实验台上的8个二进制数据开关SW7-SW0来设置,其中SW0是最低位,SW7是最高位。开关向上时为l,开关向下时为0。

图中尾巴上带粗短线标识的信号都是控制信号,控制信号均为电位信号。T3、T4是脉冲信号,印制板上已连接到实验台的时序电路产生的T3、T4信号上,实验中不用连线。S2、Sl、S0、ALU_BUS、LDDR2、LDDRl、Ml、M2、SW_BUS#各电位控制信号用电平开关K0-K15来模拟,若使用仿真系统,则需要仿真面板的连接与设置要求完成。K0-K15是一组用于模拟各控制电平信号的开关,开关向上时为l,开关向下时为0,每个开关无固定用途,可根据实验具体情况选用。S2、Sl、S0、ALU_BUS、LDDR2、LDDRl为高电平有效,SW_BUS#为低电平有效。M1=l时(高电平时),DRl选择Dl-Al作为数据输入端;M1=0时,DRl选择D0-A0作为数据输入端。当LDDRl=1时,在T3的下降沿,选中的数据被打入DRl寄存器。M2=1时,DR2选择D1-Al。作为数据输入端; M2=0时,DR2选择D0-A0作为数据输入端。当LDDR2=1时,在T3的下降沿,选中的数据被打入DR2寄存器。

数据总线DBUS有5个数据来源: 运算器ALU,寄存器堆RF控制台开关SW0-SW7,双端口存储器IDT7132和中断地址寄存器IAR。在任何时刻,都不允许2个或者2个以上的数据源同时向数据总线DBUS输送数据,只允许1个(或者没有)数据源向数据总线DBUS输送数据。在本实验中,为了保证数据的正确设置和观察,请令RS_BUS#=l, LRW=0,IAR_BUS#=1。

为了在实验中,每次只产生一组Tl、T2、T3、T4脉冲,需将实验台上的DP、DB、DZ开关进行正确设置。将DP开关置l,将DB、DZ开关置0,每按一次QD按钮,则顺序产生Tl、T2、T3、T4各一个单脉冲。本实验中采用单脉冲输出。

 

四、调试结果

(1)拨动开关与被控制信号的联系

开关

K6

K5

K4

K3

K2

K1

K0

SW7-SW0

QD

被控制信号

LDDR2

LDDR1

S2

S1

S0

ALU_BUS

SW_BUS

D7-D0
 

操作数送寄存器DR1

0

1

0

0

0

0

0

01010101

1

操作数送寄存器DR2

1

0

0

0

0

0

0

10101010

1

(2)初始时DRl、DR2设置值的检查与运算

ALU_BUS

SW_BUS#

寄存器内容

S2   S1  S0

运算

DBUS

1

1

DR1=01010101

DR2=10101010

0、0、1

直通

10101010

1

1

DR1=01010101

DR2=10101010

0、1、0

加法

11111111

1

1

DR1=01010101

DR2=10101010

0、1、1

减法

01010101

1

1

DR1=01010101

DR2=10101010

0、0、0

00000000

1

1

DR1=01010101

DR2=10101010

1、0、0

乘法

00110010

(3)交换DR1和DR2内容的操作步骤

步骤序号

K6

K5

K4

K3

K2

K1

K0

DBUS

QD

1

1

0

0

1

0

1

1

01010100

1

2

0

1

0

1

1

1

1

10101010

1

3

1

0

0

1

1

1

1

10101011

1

交换两个寄存器值的实验思路:

0:初始阶段时,DR2的值为A,DR1的值为B。

1:将DR2+DR1的运算结果存入DR2,此时DR2的值为A+B,DR1的值为B。

2:将DR2-DR1的运算结果存入DR1,此时DR2的值为A+B,DR1的值为A。

3:将DR2-DR1的运算结果存入DR2,此时DR2的值为B,DR1的值为A。

至此,DR2中的值与DR1中的值交换完毕。

(4)交换后DRl、DR2设置值的检查与运算

ALU_BUS

SW_BUS#

寄存器内容

S2   S1  S0

运算

DBUS

1

1

DR2=01010101

DR1=10101010

0、0、1

直通

01010101

1

1

DR2=01010101

DR1=10101010

0、1、0

加法

11111111

1

1

DR2=01010101

DR1=10101010

0、1、1

减法

10101011

1

1

DR2=01010101

DR1=10101010

0、0、0

00000000

1

1

DR2=01010101

DR1=10101010

1、0、0

乘法

00110010

  • 实验小结
  1. ALU是算术逻辑单元,即arithmetic and logic unit。ALU由1个算术单元和1个逻辑单元构成,通常可以完成整数算术运算、位逻辑运算、移位运算,并且ALU只负责处理数据而不负责存储数据。整数算术运算包括加法运算、减法运算、乘法运算、除法运算;位逻辑运算包括与、或、异或、非运算等;移位运算包括左移和右移运算,左移与乘2等价,右移与除2等价。
  2. 在此实验中,由ISPLSIl024构成的8位运算器通过对一根功能选择线设置不同的电平来实现算术运算功能和逻辑运算功能的选择。
    功能选择线的控制端有S0、S1、S2,通过将S0、S1、S2设置不同的电平实现了对运算类型选择,如下表所示。

选择

操作

S2

S1

S0

0

0

0

A&B

0

0

1

A&A

0

1

0

A+B

0

1

1

A-B

1

0

0

A(低 4 位)*B(低 4 位)

  1. 在数字系统中,各个子系统通过数据总线连接形成的数据传送部件和路径称为数据通路。数据通路越多,数字系统的速度越高、成本也越高。数据通路的设计直接影响到控制器的设计,同时也影响到数字系统的速度指标和成本。
  2. 在本实验中,ALU中的减法所采用的机器码为补码。
  3. ALU_BUS:当它为1时,将开关数据送数据总线 DBUS ;当它为0时,禁止开关数据送数据总线 DBUS 。
    SW_BUS#:当它为0时,将运算结果送数据总线 DBUS ;当它为1时,禁止运算结果送数据总线 DBUS 。
  4. 在本实验中的每个操作步骤中,所有控制信号并没有被完全使用。此外,ALU_BUS和SW_BUS#只能同时为0或同时为1,即只有一类处于有效状态。否则会出现数据总线上的错误。
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MorleyOlsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值