计算机组成原理实验运算器组成实验报告范文.docx

上传人:b****5 文档编号:7413350 上传时间:2023-01-23 格式:DOCX 页数:11 大小:80.57KB
下载 相关 举报
计算机组成原理实验运算器组成实验报告范文.docx_第1页
第1页 / 共11页
计算机组成原理实验运算器组成实验报告范文.docx_第2页
第2页 / 共11页
计算机组成原理实验运算器组成实验报告范文.docx_第3页
第3页 / 共11页
计算机组成原理实验运算器组成实验报告范文.docx_第4页
第4页 / 共11页
计算机组成原理实验运算器组成实验报告范文.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

计算机组成原理实验运算器组成实验报告范文.docx

《计算机组成原理实验运算器组成实验报告范文.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验运算器组成实验报告范文.docx(11页珍藏版)》请在冰豆网上搜索。

计算机组成原理实验运算器组成实验报告范文.docx

计算机组成原理实验运算器组成实验报告范文

 

计算机组成原理课程实验报告

 

9.3运算器组成实验

 

姓名:

曾国江

学号:

系别:

计算机工程学院

班级:

网络工程1班

指导老师:

完成时间:

评语:

 

得分:

 

9.3运算器组成实验

一、实验目的

1.熟悉双端口通用寄存器堆的读写操作。

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

3.验证运算器74LS181的算术逻辑功能。

4.按给定数据,完成指定的算术、逻辑运算。

二、实验电路

图3.1示出了本实验所用的运算器数据通路图。

参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。

RF(U30)由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。

双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选择从A端口(左端口)读出的通用寄存器。

而WR1、WR0用于选择写入的通用寄存器。

LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。

RF的A、B端口分别与操作数暂存器DR1、DR2相连;另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF中的数据可以直接通过B端口送到DBUS上。

DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。

DR1接ALU的A输入端口,DR2接ALU的B输入端口。

ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。

实验台上的八个发光二极管DBUS7-DBUS0显示灯接在DBUS上,可以显示输入数据或运算结果。

另有一个指示灯C显示运算器进位标志信号状态。

图中尾巴上带粗短线标记的信号都是控制信号,其中S3、S2、S1、S0、M、Cn#、LDDR1、LDDR2、ALU_BUS#、SW_BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0都是电位信号,在本次实验中用拨动开关K0—K15来模拟;T2、T3为时序脉冲信号,印制板上已连接到实验台的时序电路。

实验中进行单拍操作,每次只产生一组T1、T2、T3、T4时序脉冲,需将实验台上的DP、DB开关进行正确设置。

将DP开关置1,DB开关置0,每按一次QD按钮,则顺序产生T1、T2、T3、T4一组单脉冲。

三、实验设备

1.TEC-5计算机组成实验系统1台

2.逻辑测试笔一支(在TEC-5实验台上)

3.双踪示波器一台(公用)

4.万用表一只(公用)

四、实验任务

1、按图3.1所示,将运算器模块与实验台操作板上的线路进行连接。

由于运算器模块内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号模拟开关、与运算器模块的外部连线。

注意:

为了建立清楚的整机概念,培养严谨的科研能力,手工连线是绝对必要的。

2.用开关SW7—SW0向通用寄存器堆RF内的R0—R3寄存器置数。

然后读出R0—R3的内容,在数据总线DBUS上显示出来。

3.验证ALU的正逻辑算术、逻辑运算功能。

令DR1=55H,DR2=0AAH,Cn#=1。

在M=0和M=1两种情况下,令S3—S0的值从0000B

变到1111B,列表表示出实验结果。

实验结果包含进位C,进位C由指示灯显示。

意:

进位C是运算器ALU最高位进位Cn+4#的反,即有进位为1,无进位为0。

五、实验要求

1.做好实验预习,掌握运算器的数据传输通路及其功能特性,并熟悉本实验中所用的模拟开关的作用和使用方法。

2.写出实验报告,内容是:

(1)实验目的。

(2)按实验任务3的要求,列表表示出实验结果。

(3)按实验任务4的要求,在表中填写各控制信号模拟开关值,以及运算结果值。

六、实验步骤和实验结果

(1)、实验任务2的实验步骤和结果如下:

(假定RO=66H,R1=99H)

1.置DP=1,DB=0,编程开关拨到正常位置。

接线表如下:

数据通路

WR0

WR1

RS0

RS1

SW_BUS#

RS_BUS#

LDRi

电平开关

K0

K1

K2

K3

K3

K5

K6

2.打开电源

以下2条是将66H、99H分别写入R0、R1

3.置K0(WR0)=0,K1(WR1)=0,K4(SW_BUS#)=0,K5(RS_BUS#)=1,K6(LDRi)=1,

SW7-SW0=66H.在DBUS上将观察到DBUS=66H.按QD按钮将66H写入R0。

4.置K0(WR0)=1,K1(WR1)=0,K4(SW_BUS#)=0,K5(RS_BUS#)=1,K6(LDRi)=1,

SW7-SW0=99H.在DBUS上将观察到DBUS=99H.按QD按钮将99H写入R1。

R0,拨动SW7-SW0开关如下:

SW7

SW6

SW5

SW4

SW3

SW2

SW1

SW0

0

1

1

0

0

1

1

0

拨动数据通路开关如下:

数据通路

WR0

WR1

SW-BUS#

RS-BUS#

LDRi

电平开关

0

0

0

1

1

DBUS观察情况:

01100110

按动QD,将66H数据写入R0。

R1,拨动SW7-SW0开关如下:

SW7

SW6

SW5

SW4

SW3

SW2

SW1

SW0

1

0

0

1

1

0

0

1

拨动数据通路开关如下:

数据通路

WR0

WR1

SW-BUS#

RS-BUS#

LDRi

电平开关

1

0

0

1

1

DBUS观察情况:

10011001

按动QD,将99H数据写入R1。

以下2条是在DBUS总线上显示R0、R1的值

5.置K2(RS0)=0,K3(RS1)=0,K4(SW_BUS#)=1,K5(RS_BUS#)=0,K6(LDRi)=0,在

DBUS上将观察到DBUS=66H。

6.置K2(RS0)=1,K3(RS1)=0,K4(SW_BUS#)=1,K5(RS_BUS#)=0,K6(LDRi)=0,在

DBUS上将观察到DBUS=99H。

显示R0

数据通路

RS0

RS1

SW-BUS#

RS-BUS#

LDRi

电平开关

0

0

1

0

0

DBUS观察情况:

01100110

显示R1

数据通路

RS0

RS1

SW-BUS#

RS-BUS#

LDRi

电平开关

1

0

1

0

0

DBUS观察情况:

10011001

 

(2)实验任务3的实验步骤和实验结果如下:

1.置DP=1,DB=0,编程开关拨开到正常位置。

接线图如下:

数据通路

WR0

WR1

RD0

RD1

RS0

RS1

LDRi

电平开关

K0

K1

K2

K3

K4

K5

K6

数据通路

LDDR1

LDDR2

S0

S1

S2

S3

M

电平开关

K7

K7

K8

K9

K10

K11

K12

数据通路

ALU_BUS#

SW_BUS#

电平开关

K13

K14

数据通路的信号Cn#接VCC。

2.接通电源

以下2条是向R0写入66H,向R1写入99H。

3.置K0(WP0)=0,K1(WR1)=0,K6(LDRi)=1,K13(ALU_BUS#)=1,K14(SW_BUS#)=0。

设置SW7-SW0为66H,按下QD按钮,将66H写入到R0中。

4.置K0(WP0)=1,K1(WR1)=0,K6(LDRi)=1,K13(ALU_BUS#)=1,K14(SW_BUS#)=0。

设置SW7-SW0为99H,按下QD按钮,将99H写入到R1中。

 

R0

数据开关

SW7

SW6

SW5

SW4

SW3

SW2

SW1

SW0

0

1

1

0

0

1

1

0

数据通路

数据通路

WR0

WR1

SW-BUS#

ALU-BUS#

LDRi

开关名称

K0

K1

K14

K13

K6

电平开关

0

0

0

1

1

按动QD

R1

数据开关

SW7

SW6

SW5

SW4

SW3

SW2

SW1

SW0

1

0

0

1

1

0

0

1

数据通路

数据通路

WR0

WR1

SW-BUS#

ALU-BUS#

LDRi

开关名称

K0

K1

K14

K13

K6

电平开关

1

0

0

1

1

按动QD

以下1条是将R0写入DR1,将R1写入DR2。

5.置K2(RD0)=0,K3(RD1)=0,K4(RS0)=1,K5(RS1)=0,K6(LDRi)=0,

K7(LDDR1和LDDR2)=1,按下QD按钮,将R0写入DR1,将R1写入DR2。

这时DR1=66H,DR2=99H。

数据通路

RD0

RD1

RS0

RS1

LDRi

LDDR1

LDDR2

开关名称

K2

K3

K4

K5

K6

K7

K7

电平开关

0

0

1

0

0

1

1

M=H(即:

M=1),逻辑运算部分

6.置K6(LDRi)=1,K7(LDDR1和LDDR2)=0,K8(S0)=0,K9(S1)=0,K10(S2)=0,K11(S3)=0,K12(M)=1,K13(ALU_BUS#)=0,K14(SW_BUS#)=1。

在数据总线DBUS上观察到逻辑运算结果99H。

按下QD按钮,观察到进位C为0。

7.在其他开关设置都不变的情况下,只改变K8(S0),K9(S1),K10(S2),K11(S3)的设置,观察其他15种逻辑运算结果,并按下QD按钮,观察到进位C的变化。

开关如下:

数据通路

LDRi

LDDR1

LDDR2

M

ALU-BUS#

SW-BUS#

开关名称

K6

K7

K7

K12

K13

K14

电平开关

1

0

0

1

0

1

M=L(即:

M=0),算术运算部分

8.置K6(LDRi)=1,K7(LDDR1和LDDR2)=1,K8(S0)=0,K9(S1)=0,K10(S2)=0,K11(S3)=0,K12(M)=0,K13(ALU_BUS#)=0,K14(SW_BUS#)=1。

在数据总线DBUS上观察到算数运算结果66H。

按下QD按钮,观察到进位C为0。

9..在其他开关设置都不变的情况下,只改变K8(S0),K9(S1),K10(S2),K11(S3)的设置,观察其他15种逻辑运算结果,并按下QD按钮,观察到进位C的变化。

 

工作方式输入选择

S3S2S1S0

逻辑运算(M=H,Cn#=1)

算术运算(M=L,Cn#=1)

运算结果

进位C

运算结果

进位C

0000

99H

0

66H

0

0001

00H

0

0FFH

0

0010

99H

0

66H

0

0011

00H

0

0FFH

0

0100

0FFH

0

0CCH

0

0101

66H

0

65H

1

0110

0FFH

0

0CCH

1

0111

66H

0

65H

1

1000

99H

0

66H

0

1001

00H

0

0FFH

0

1010

99H

0

66H

0

1011

00H

0

0FFH

0

1100

0FFH

0

32H

1

1101

66H

0

65H

1

1110

0FFH

0

0CCH

0

1111

66H

0

65H

1

实验结果分析与结论:

DR1=66H=01100110DR2=99H=10011001

1.当M=1时,所有指令都执行逻辑运算

0000取反参加运算的只有来自DR1的数据!

DR1=10011001=99H

0001或非!

(DR1+DR2)=!

(01100110+10011001)=!

()==00H

0010(!

DR1&DR2)=10011001&10011001=10011001=99H

0011F=0

0100与非!

(DR1&DR2)=!

(01100110&10011001)==0FFH

0101取反参加运算的只有来自DR2的数据!

DR2=!

(10011001)=01100110=66H

0110异或(DR1XORDR2)=(01100110XOR10011001)==0FFH

0111(DR1&!

DR2)=(01100110&01100110)=01100110=66H

1000(!

DR1+DR2)=(10011001+10011001)=10011001=99H

1001同或!

(DR1XORDR2)=!

(01100110XOR10011001)==00H

1010F=B=99H

1011与(DR1ANDDR2)=(01100110AND10011001)==00H

1100F=1=0FFH

1101(DR1+!

DR2)=(01100110+01100110)=01100110=66H

1110或(DR1+DR2)=(01100110+10011001)==0FFH

1111F=DR1=66H

由于以上都是逻辑运算,所以没有进位

2.当M=0时,所有指令都执行算术运算

0000F=DR1=66HC=0

0001F=DR1+DR2=01100110+10011001==0FFH,C=0

0010F=DR1+!

DR2=01100110=66H,C=0

0011F=F-1=+==0FFH,C=0

0100F=DR1+DR1!

DR2=01100110+01100110=11001100=0CCH,C=0

0101F=(DR1+DR2)+DR1!

DR2=()+(01100110)=(01100101)=65H,C=1

0110F=(DR1-DR2-1)=(01100110-10011001+11111111)=0CCH,C=1

0111F=DR1!

DR2-1=01100110+=01100101=64H,C=1

1000F=DR1+DR1DR2=01100110+=01100110=66H,C=0

1001F=DR1+DR2==0FFH,C=0

1010F=(DR1+!

DR2)+DR1DR2=01100110=66H,C=0

1011F=DR1DR2–1==0FFH,C=0

1100F=DR1+2DR1=01100110+11001100=00110010=32H,C=1

1101F=(DR1+DR2)+DR1=11111111+01100110=01100101=65H,C=1

1110F=(DR1+!

DR2)+DR1=01100110+01100110==0CCH,C=0

1111F=DR1-1=01100110+=65H,C=1

 

七总结

在本次实验中,我熟悉了双端口通用寄存器堆的读写操作和运算器的数据传送通路。

通过本次的实验,我们发现了如下几个问题:

1.在数据开关输入数据存入寄存器后,为了能在数据显示灯查看所输入的数据,需要将RS-BUS#设置为低电平0,SW-BUS#和ALU-BUS#设置为高电平1。

否则会出现数据冲突,显示结果与输入的数据不一致。

2.在进行算数、逻辑运算后,要使结果显示在数据灯上,就要将ALU-BUS#设置为低电平0,SW-BUS#和RS-BUS#设置为高电平1。

3.在实验过程中,ALU-BUS#,SW-BUS#和RS-BUS#不能同时为低电平,否则会出错。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1