《计算机组成原理》实验指导书.docx

上传人:b****8 文档编号:9948068 上传时间:2023-02-07 格式:DOCX 页数:111 大小:420.35KB
下载 相关 举报
《计算机组成原理》实验指导书.docx_第1页
第1页 / 共111页
《计算机组成原理》实验指导书.docx_第2页
第2页 / 共111页
《计算机组成原理》实验指导书.docx_第3页
第3页 / 共111页
《计算机组成原理》实验指导书.docx_第4页
第4页 / 共111页
《计算机组成原理》实验指导书.docx_第5页
第5页 / 共111页
点击查看更多>>
下载资源
资源描述

《计算机组成原理》实验指导书.docx

《《计算机组成原理》实验指导书.docx》由会员分享,可在线阅读,更多相关《《计算机组成原理》实验指导书.docx(111页珍藏版)》请在冰豆网上搜索。

《计算机组成原理》实验指导书.docx

《计算机组成原理》实验指导书

第二章分部实验

为掌握计算机的基本组成和工作原理,并为课程设计做准备,本章安排了四个分部实验,这些实验均在COP2000计算机组成原理实验仪上进行。

§2.1分部实验1

本实验包括寄存器的验证实验及运算器的验证、设计实验。

2.1.1寄存器实验

寄存器是一种重要的数字电路部件,常用来暂时存放数据、指令等。

一个触发器可以存储一位二进制代码,存放N位二进制代码,用N个触发器即可。

因为我们的模型机是8位的,因此在本模型机中大部分寄存器是8位的,标志位寄存器(Cy,Z)是二位的。

在COP2000实验仪中,寄存器由74HC574构成,它可以存放8位二进制代码,其中的一位二进制代码是由一个D触发器来存储的。

首先,我们先介绍一下74HC574的工作原理。

图2-1是74HC574的原理图。

 

 

图2-174HC574原理图

我们可以看到,在CLK的上升沿,输入端的数据被打入到8个触发器中。

当OC=1时,触发器的输出被关闭,当OC=0时,触发器输出数据。

表2-1列出了74HC574的使用方法。

表2-174HC574使用方法

图2-2为74HC574的工作波形图。

 

图2-274HC574工作波形图

 

一、实验一:

A,W寄存器实验

1、实验器材

COP2000计算机组成原理实验仪、万用表。

2、实验目的

(1)了解并掌握74HC574的工作原理及使用方法。

(2)掌握寄存器A,W的工作原理。

3、实验要求

分别验证A,W寄存器的功能。

4、实验原理

A,W寄存器是作用于ALU输入端的两个寄存器,两个参与运算的数分别来自A或W。

图2-3、图2-4分别为寄存器A,W的原理图。

 

 

图2-3寄存器A原理图

 

 

 

图2-4寄存器W原理图

A,W寄存器的写工作波形如图2-5所示。

 

图2-5寄存器A,W写工作波形图

其中,AEN、WEN分别为A选通和B选通。

5、实验步骤与内容

(1)按照表2-2连线

表2-2A,W寄存器实验连线表

 

(2)将数据55H写入A寄存器

首先将二进制开关K23-K16用于数据总线DBUS[7:

0]的数据输入,置数据55H。

然后,置如下控制信号:

接下来,按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据55H被写入A寄存器。

(3)将数据66H写入W寄存器

首先将二进制开关K23-K16用于数据总线DBUS[7:

0]的数据输入,置数据66H。

然后,置如下控制信号:

接下来,按住CLOCK脉冲键,CLOCK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据66H被写入W寄存器。

可以看到,数据是在放开CLOCK键后改变的,也就是CLOCK的上升沿数据被打入。

另外,WEN,AEN为高时,即使CLOCK有上升沿,寄存器的数据也不会改变。

 

二、寄存器组R(R0-R4)实验

1、实验器材

COP2000计算机组成原理实验仪、万用表。

2、实验目的

掌握寄存器组的工作原理。

3、实验要求

验证寄存器组的功能。

4、实验原理

本模块的设置,为实验仪提供了4个8位通用寄存器。

它对运算器结构、运算速度、指令系统的设计等都有密切的关系。

我们可以通过SB、SA进行4个寄存器的选择。

寄存器组的原理见图2-6。

 

图2-6寄存器组R原理图

寄存器组R的读、写工作波形图如图2-7及图2-8所示。

 

 

图2-7寄存器组R的写工作波形图

 

图2-8寄存器组R的读工作波形图

5、实验内容与步骤

在本实验中,我们会将不同的数据分别写入寄存器组的不同寄存器中,并分别读出。

(1)首先,按照表2-3连线。

 

表2-3寄存器组实验连线表

(2)分别将数据11H、22H、33H、44H写入寄存器R0、R1、

R2和R3。

具体步骤如下:

1)将11H写入R0寄存器

首先,二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据11H。

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

0

0

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器R0的黄色选择指示灯亮,表明选择R0寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据11H被写入R0寄存器。

2)将22H写入R1寄存器

二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据22H

K23

K22

K21

K20

K19

K18

K17

K16

0

0

1

0

0

0

1

0

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

0

1

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器R1的黄色选择指示灯亮,表明选择R1寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据22H被写入R1寄存器。

3)将33H写入R2寄存器

二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据33H

K23

K22

K21

K20

K19

K18

K17

K16

0

0

1

1

0

0

1

1

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

1

0

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器R2的黄色选择指示灯亮,表明选择R2寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据33H被写入R2寄存器。

4)将44H写入R3寄存器

二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据44H

K23

K22

K21

K20

K19

K18

K17

K16

0

1

0

0

0

1

0

0

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

1

1

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器R3的黄色选择指示灯亮,表明选择R3寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据44H被写入R3寄存器。

我们可以看到,K1(SB),K0(SA)用于选择寄存器。

K1(SB)

K0(SA)

选择

0

0

R0

0

1

R1

1

0

R2

1

1

R3

(3)分别将寄存器组R中R0、R1、R2、R3中的内容读出。

1)读R0寄存器

置控制信号为:

K11(RK11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

0

0

这时寄存器R0的红色输出指示灯亮,R0寄存器的数据送上数据总线。

此时液晶显示DBUS:

1100010001.然后将K11(RRD)置为1,关闭R0寄存器输出.

2)读R1寄存器

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

0

1

这时寄存器R1的红色输出指示灯亮,R1寄存器的数据送上数据总线。

此时液晶显示DBUS:

2200100010.然后将K11(RRD)置为1,关闭R1寄存器输出.

3)读R2寄存器

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

1

0

这时寄存器R2的红色输出指示灯亮,R2寄存器的数据送上数据总线。

此时液晶显示DBUS:

3300110011.然后将K11(RRD)置为1,关闭R2寄存器输出.

4)读R3寄存器

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

1

1

这时寄存器R3的红色输出指示灯亮,R3寄存器的数据送上数据总线。

此时液晶显示DBUS:

4401000100.然后将K11(RRD)置为1,关闭R3寄存器输出.

我们可以看到,数据在K11(RRD)为0时输出,不是沿触发,与数据打入不同。

 

 

三、MAR地址寄存器,ST堆栈寄存器,OUT输出寄存器实验

1、实验器材

COP2000计算机组成原理实验仪、万用表。

2、实验目的

掌握MAR地址寄存器,ST堆栈寄存器,OUT输出寄存器的工作原理。

3、实验要求

验证上述三种寄存器的功能。

4、实验原理

MAR为存储器地址寄存器,其功能是存储操作数在内存中的地址。

其原理图见图2-9。

 

图2-9MAR地址寄存器原理图

图中,信号MAREN的功能是将数据总线DBUS上数据MAR,信号MAROE的功能是将MAR的值送到地址总线ABUS上。

ST堆栈寄存器的作用,是出现中断或子程序调用时,保存断点处PC的值,以便中断或子程序结束时,能继续执行原程序。

其原理图见2-10。

 

图2-10ST堆栈寄存器原理图

图中,信号STEN的作用是将数据总线DBUS上数据存入堆栈寄存器ST中。

OUT寄存器为输出端口寄存器,其原理图见图2-11。

 

图2-11寄存器OUT原理图

图中,信号OUTEN作用是将数据总线DBUS上的数据送到输出端口寄存器OUT中。

寄存器MAR,ST,OUT的写工作波形见图2-12所示。

 

图2-12寄存器MAR,ST,OUT写工作波形图

5、实验内容与步骤

本实验中,我们会将不同的数据写入寄存器MAR、ST和OUT。

(1)首先,按照表2-4连线。

 

表2-4寄存器MAR,ST,OUT实验连线路表

(3)将数据12H写入MAR寄存器

二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据12H

K23

K22

K21

K20

K19

K18

K17

K16

0

0

0

1

0

0

1

0

置控制信号为:

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器MAR的黄色选择指示灯亮,表明选择MAR寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据12H被写入MAR寄存器。

我们看到,信号K14(MAROE)为0,MAR寄存器中的地址输出到地址总线ABUS上,此时,MAR红色输出指示灯亮。

然后,我们将信号K14(MAROE)置为1,从而关闭MAR输出。

(4)将34H写入ST寄存器

二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据34H

K23

K22

K21

K20

K19

K18

K17

K16

0

0

1

1

0

1

0

0

置控制信号为:

K14(MAROE)

K15(MAREN)

K12(STEN)

K13(OUTEN)

1

1

0

1

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器ST的黄色选择指示灯亮,表明选择ST寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据34H被写入ST寄存器。

(5)将56H写入OUT寄存器

二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据56H

K23

K22

K21

K20

K19

K18

K17

K16

0

1

0

1

0

1

1

0

置控制信号为:

K14(MAROE)

K15(MAREN)

K12(STEN)

K13(OUTEN)

1

1

1

0

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器OUT的黄色选择指示灯亮,表明选择OUT寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据56H被写入OUT寄存器。

 

2.1.2运算器实验

运算器是计算机的执行部件,计算机中所有的算术运算和逻辑运算都是由运算器来执行的。

COP2000的运算器模块包括ALU部件、寄存器组(R0-R3)、累加器A、工作寄存器W、移位电路和数据通路等。

其中,ALU为算术逻辑单元,是运算器的核心部件,可实现8种算术和逻辑运算。

运算器结构图见图2-13。

数据总线

寄存器组(R0-R3)

寄存器W

寄存器A器器

L

R

D

图2-13COP2000运算器结构

COP2000中的算术逻辑单元ALU是利用大规模可编程逻辑器件实现,具体是由一片XC9572-PLCC44实现的。

它是运算器的核心,可以对两个8位二进制数进行8种算术或逻辑运算,并通过S2,S1,S0来选择。

参与运算的操作数来自寄存器A和W,运算结果输出到直通门D。

一、运算器验证实验

1、实验器材

COP2000计算机组成原理实验仪、万用表。

2、实验目的

了解8位模型机中,算术、逻辑单元(ALU)的工作原理和实验方法。

3、实验要求

验证运算器功能。

4、实验原理

COP2000实验仪运算器中的ALU是利用大规模可编程逻辑器件实现,具体是由一片XC9572-PLCC44实现的。

该实验仪提供了8种算术运算和逻辑运算,并通过S2,S1,S0来选择。

参与运算的操作数来自寄存器A和寄存器W,运算结果输出到直通门D。

表2-5列出了实验仪提供的8种运算。

表2-5运算器提供的8种运算

S2S1S0

功能

000

A+W加

001

A-W减

010

A|W或

011

A&W与

100

A+W+C带进位加

101

A-W-C带进位减

110

~AA取反

111

A输出A

 

5、实验内容与步骤

(1)按照表2-6连线。

表2-6运算器验证实验连线表

连接

信号孔

接入孔

作用

有效电平

1

J1座

J3座

将K23-K16接入DBUS[7:

0]

2

S0

K0

运算器功能选择

3

S1

K1

运算器功能选择

4

S2

K2

运算器功能选择

5

AEN

K3

选通A

低电平有效

6

WEN

K4

选通W

低电平有效

7

CyIN

K5

运算器进位输入

8

ALUCK

CLOCK

ALU工作脉冲

上升沿打入

 

(2)将55H写入A寄存器

二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据55H

K23

K22

K21

K20

K19

K18

K17

K16

0

1

0

1

0

1

0

1

置控制信号为:

K5(CyIN)

K4(WEN)

K3(AEN)

K2(S2)

K1(S1)

K0(S0)

0

1

0

0

0

0

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据55H被写入A寄存器。

(3)将33H写入W寄存器

二进制开关K23-K16用于DBUS[7:

0]的数据输入,置数据33H

K23

K22

K21

K20

K19

K18

K17

K16

0

0

1

1

0

0

1

1

置控制信号为:

K5(CyIN)

K4(WEN)

K3(AEN)

K2(S2)

K1(S1)

K0(S0)

0

0

1

0

0

0

按住CLOCK脉冲键,CLOCK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据33H被写入W寄存器。

(4)检验运算器的运算结果

置如下的控制信号,检验运算器的运算结果

K5(CyIN)

K2(S2)

K1(S1)

K0(S0)

结果(直通门D)

注释

X

0

0

0

88H

加运算

X

0

0

1

22H

减运算

X

0

1

0

77H

或运算

X

0

1

1

11H

与运算

0

1

0

0

88H

带进位加运算

1

1

0

0

89H

带进位加运算

0

1

0

1

22H

带进位减运算

1

1

0

1

21H

带进位减运算

X

1

1

0

AAH

取反运算

X

1

1

1

55H

输出A

我们看到,运算器在加上控制信号及数据(A,W)后,立刻给出结果,不须时钟。

二、运算器验证实验

1、实验器材

COP2000计算机组成原理实验仪、万用表。

2、实验目的

学习用ABEL及VHDL语言描述硬件逻辑,学习使用EDA开发环境。

3、实验要求

将实现ALU功能的ABEL程序用VHDL程序代替,并验证结果,具体的ABEL程序见6。

(1)

4、实验原理

COP2000实验仪运算器中的ALU是由一片XC9572-PLCC44实现的,该实验仪提供了8种算术运算和逻辑运算,并通过S2,S1,S0来选择。

参与运算的操作数来自寄存器A和寄存器W,运算结果输出到直通门D。

我们知道,目前常用的硬件描述语言有AHDL、ABEL、VHDL、VerilogHDL等等。

COP2000实验仪当中的运算器由一片EPLD实现,采用的硬件描述语言是ABEL。

5、实验内容与步骤

COP2000实验仪运算器中的ALU是由一片XC9572-PLCC44实现,具体采用的硬件描述语言是ABEL,相关的ABEL程序见6。

要求在分析的基础上,用VHDL语言编程实现相同的运算器功能。

6、附录(运算器的ABEL程序清单)

ModuleALU

Declarations

ALU1interface(S2,S1,S0,CI,A,B->S,CO);//一位运算器

T7..T0functional_blockALU1;

DIn7..DIn0PIN25,26,27,28,29,34,33,36;

A_ENpin20;

W_ENpin22;

F_ENpin24;

ALU_CKpin18;

A7..A0nodeistype'reg';

W7..W0nodeistype'reg';

O7..O0PIN5,4,3,2,1,44,43,42istype'com';

X1pin37;

X0pin38;

RZpin13istype'reg';

RCypin14istype'reg';

RL0pin6istype'com';

RR7pin40istype'com';

CNPIN39;

S2PIN9;

S1PIN11;

S0PIN12;

CInnode;

Cynode;

C6..C0node;

Equations

[A7..A0]:

=[DIn7..DIn0];

[A7..A0].CLK=A_EN#ALU_CK;

[W7..W0]:

=[DIn7..DIn0];

[W7..W0].CLK=W_EN#ALU_CK;

CIn=RCy;//CinconnecttoRCyoutput

RL0=CN&CIn;

RR7=CN&CIn;

RZ:

=!

O7&!

O6&!

O5&!

O4&!

O3&!

O2&!

O1&!

O0;

RZ.CLK=F_EN#ALU_CK;

RCy:

=!

X1&!

X0&Cy#//directCout=Cy

X1&X0&Cy#//directCout=Cy

CN&!

X1&X0&O0#//shiftrightwithC

!

CN&!

X1&X0&RCy#//shiftrightwithoutC

CN&X1&!

X0&O7#//shiftleftwithC

!

CN&X1&!

X0&RCy;//shiftleftwithoutC

RCy.CLK=F_EN#ALU_CK;

T0.S1=S1;

T0.S0=S0;

T0.S2=S2;

T0.CI=S2&(!

F_OE&CIn#F_OE&PCIn);

T0.A=A0;

T0.B=W0;

O0=T0.S;

C0=T0.CO;

T1.S1=S1;

T1.S0=S0;

T1.S2=S2;

T1.CI=C0;

T1.A=A1;

T1.B=W1;

O1=T1.S;

C1=T1.CO;

T2.S1=S1;

T2.S0=S0;

T2.S2=S2;

T2.CI=C1;

T2.A=A2;

T2.B=W2;

O2=T2.S;

C2=T2.CO;

T3.S1=S1;

T3.S0=S0;

T3.S2=S2;

T3.CI=C2;

T3.A=A3;

T3.B=W3;

O3=T3.S;

C3=T3.CO;

T4.S1=S1;

T4.S0=S0;

T4.S2=S2;

T4.CI=C3;

T4.A=A4;

T4.B=W4;

O4=T4.S;

C4=T4.CO;

T5.S1=S1;

T5.S0=S0;

T5.S2=S2;

T5.CI=C4;

T5.A=A5;

T5.B=W5;

O5=T5.S;

C5=T5.CO;

T6.S1=S1;

T6.S0=S0;

T6.S2=S2;

T6.CI=C5;

T6.A=A6;

T6.B=W6;

O6=T6.S;

C6=T6

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

当前位置:首页 > 农林牧渔 > 林学

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

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