计算机组成原理-运算器实验(1)

发布时间 2023-07-06 16:32:20作者: 三年代码五年模拟

实验2 运算器实验1

学号:      姓名:

一、 实验目的

1.掌握开源数字电路模拟软件Logisim的使用;

2.掌握有符号数加减运算溢出检测的基本方法;

3.掌握运算器的组成及其工作原理;

4.验证4位函数发生器74181的组合功能

 

二、实验设备

EL-JY-II型计算机组成原理实验系统一套,排线若干。            

 

三、实验内容

1.利用Logisim软件设计一个全加器;

2.利用Logisim软件设计一个行波进位的补码加法/减法器;

 

四、实验步骤

  1. 74181功能验证

(1) 参考EL-JY-II型实验仪配套的实验指导(实验一),EL-JY-II型实验仪上完成运算器实验的线路连接;

(2) 74181的功能表如下:

 

方式

M=1逻辑运算

M=0算术运算

S3 S2 S1 S0

逻辑运算

CN=1(无进位)

CN=0(有进位)

0  0  0  0

F=/A

F=A

F=A1

0  0  0  1

F=/(A+B)

F=A+B

F=(A+B)1

0  0  1  0

F=(/A)B

F=A+/B

F=(A+/B)1

0  0  1  1

F=0

F=1

F=0

0  1  0  0

F=/(AB)

F=AA(/B)

F=AA/B1

0  1  0  1

F=/B

F=(A+B)A/B

F=(A+B)A/B1

0  1  1  0(异或)

F=AB

F=AB1

F=AB

0  1  1  1

F=A/B

F=A(/B)1

F=A(/B)

1  0  0  0

F=/A+B

F=AAB

F=AAB1

1  0  0  1

F=/(AB)

F=AB

F=AB1

1  0  1  0

F=B

F=(A+/B)AB

F=(A+/B)AB1

1  0  1  1

F=AB

F=AB1

F=AB

1  1  0  0

F=1

F=AA

F=AA1

1  1  0  1

F=A+/B

F=(A+B)A

F=(A+B)A1

1  1  1  0(或)

F=A+B

F=(A+/B)A

F=(A+/B)A1

1  1  1  1

F=A

F=A1

F=A

 

(3) 参考EL-JY-II型实验仪配套的实验指导(实验一),从74181功能表中选择部分功能进行测试,同时记录测试数据与测试结果。

 

A

B

S3 S2 S1 S0 M Cn

F

00000011

00000010

011000

00000001

00000101

00000001

100101

00000110

00000110

00000010

011010

00000100

00000101

00000001

111010

00000101

2运算器数据传输通路分析与模拟

 

 

 

 

(1) 学习Logisim中分割器(Splitter)、通道(Tunnel)组件、寄存器(Rigister)等组件,分析电路图lab1-3中运算器的数据通路;

 

 

  

(2) 设计一个操作流程,要求通过该流程能够在电路图lab1-3上模拟两个16位数的算术或逻辑运算,并将运算结果显示在输出灯上。

 

 

 

 

操作

说明

 

 

先分别输入两个16位数,每输入一个数时,先打开C-G,然后点LDR1按钮暂存第一个数,然后点灭C-GLDR1;第二个数输入后,按打开C-G,然后点LDR2按钮暂存第二个数。此时,两个数据均储存在ALU里,点击ALU-G,再根据表格依次点击,完成对应运算

 

 

 

1

输入第一个16位数:0000000000000101,先打开C-G,然后点LDR1按钮暂存第一个数,然后点灭C-GLDR1

2

第二个数:0000000000000001输入后,按打开C-G,然后点LDR2按钮暂存第二个数

3

点击ALU-G,依次点亮S0S3Cn,点击AR,实现两个数的加法算数运算

4

计算结果可知:

0000000000000101+0000000000000001=0000000000000110

最终结果

(截图)

 

 

 

 

问:该实验如何实现多种不同运算的控制?

答:运算器部件要实现多种不同的功能,必须由控制器提供控制信号,运算器只是一个被动执行的部件。S0,S1, S2,S3是功能选择控制端,决定是做加、减、逻辑与、逻辑或、逻辑异或、移位等运算,表一的实验结果与手工验算完全一致,从而验正了整个ALU的算术/逻辑运算功能和移位处理功能。灵活运用SO,S1, S2,S3的不同组合可以实现许多其它功能,如通过移位运算可以实现数据的乘2(左移一位)和除2运算(右移一位)此外选择S3S2S1S0=0000或S3S2S1 S0=0001将操作数A或B可以直接送到ALU的输出,这样可以直接验证输入数据是否正确。