计算机体系结构实验指导书.docx

上传人:b****6 文档编号:12152072 上传时间:2023-06-04 格式:DOCX 页数:16 大小:64.83KB
下载 相关 举报
计算机体系结构实验指导书.docx_第1页
第1页 / 共16页
计算机体系结构实验指导书.docx_第2页
第2页 / 共16页
计算机体系结构实验指导书.docx_第3页
第3页 / 共16页
计算机体系结构实验指导书.docx_第4页
第4页 / 共16页
计算机体系结构实验指导书.docx_第5页
第5页 / 共16页
计算机体系结构实验指导书.docx_第6页
第6页 / 共16页
计算机体系结构实验指导书.docx_第7页
第7页 / 共16页
计算机体系结构实验指导书.docx_第8页
第8页 / 共16页
计算机体系结构实验指导书.docx_第9页
第9页 / 共16页
计算机体系结构实验指导书.docx_第10页
第10页 / 共16页
计算机体系结构实验指导书.docx_第11页
第11页 / 共16页
计算机体系结构实验指导书.docx_第12页
第12页 / 共16页
计算机体系结构实验指导书.docx_第13页
第13页 / 共16页
计算机体系结构实验指导书.docx_第14页
第14页 / 共16页
计算机体系结构实验指导书.docx_第15页
第15页 / 共16页
计算机体系结构实验指导书.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机体系结构实验指导书.docx

《计算机体系结构实验指导书.docx》由会员分享,可在线阅读,更多相关《计算机体系结构实验指导书.docx(16页珍藏版)》请在冰点文库上搜索。

计算机体系结构实验指导书.docx

计算机体系结构实验指导书

 

《计算机体系结构》

实验指导书

唐山学院计算科学与技术实验教学中心

2011年12月

前言:

十六位机(FPGA)扩展实验板

通过选配的十六位机(FPGA)扩展板,就可以在COP2000计算机组成原理实验仪上做十六位、三十二位模型机的实验。

FPGA扩展板上有:

50万门大规模FPGA芯片,学生将设计好的电路下载到芯片上,来完成模型机的功能。

可以根据难易程度,可以先设计8位,再到16位,再到32位逐步完成,灵活多变,开放性好。

学生在设计过程中,能充分理解模型机中各部件,各电路的实现方法,强化学习效果。

64Kx16位存储器,能保存大容量的程序。

12位八段数码管,用于显示模型机内部的寄存器、总线值,学生在设计时,可将需要观察的内部寄存器、总线等值接到这些八段管上,直观地观察模型机运行时内部状态变化。

16位发光管,用于显示模型机内部的状态,例如进位标志、零标志、中断申请标志等等。

四十路开关,用于输入外部信号,例如在做单步实验时,这些开关可用来输入地址总线值、数据总线值、控制信号等。

在COP2000的主界面上,按“打开FPGA扩展板窗口”按钮,打开FPGA扩展板的界面,此窗口有两个页面,“结构图”页面和“存储器”页面。

在“结构图”页面上,显示出与实际FPGA扩展板相同的器件及各器件与FPGAXC3S500E相连接的管脚号,在实验时,只要将想观察的值从相应的管脚输出,就会在八段数码管或发光二极管上显示出来,注意用八段数码管观察值时,只需直接在管脚上输出数据即可,无需另加译码逻辑电路将数据值译成八段码格式。

需要读入键盘值时,就直接从该键盘相连的管脚读入。

RAM与XC3S500E相连的地址线数据线及读写控制线所对应的管脚也显示在图上,当有存储器读写操作时,各信号所对应的值会在图上显示。

“CLOCK”“INT”状态灯显示单脉冲信号和中断申请信号的状态,在做模型机总体实验时,学生可以在COP2000的主板上按下单脉冲或中断申请按键,键的状态会在此显示。

“时钟选择”用于选择总体实验时,模型机的时钟是单脉冲还时连续的高速时钟脉冲。

“结构图”页面内各器件接到XC3S500E芯片的管脚如下表

拨码开关

K0.0

P174

K1.0

P142

K2.0

P51

K3.0

P72

K4.0

P54

K0.1

P204

K1.1

P136

K2.1

P50

K3.1

P71

K4.1

P47

K0.2

P194

K1.2

P130

K2.2

P49

K3.2

P69

K4.2

P43

K0.3

P184

K1.3

P124

K2.3

P48

K3.3

P68

K4.3

P32

K0.4

P175

K1.4

P118

K2.4

P78

K3.4

P65

K4.4

P26

K0.5

P169

K1.5

P110

K2.5

P80

K3.5

P64

K4.5

P20

K0.6

P154

K1.6

P101

K2.6

P87

K3.6

P58

K4.6

P14

K0.7

P148

K1.7

P97

K2.7

P91

K3.7

P57

K4.7

P6

数码管

S0.0

P4

S1.0

P18

S2.0

P31

S3.0

P42

S4.0

P74

S5.0

P126

S0.1

P5

S1.1

P19

S2.1

P33

S3.1

P45

S4.1

P75

S5.1

P127

S0.2

P8

S1.2

P22

S2.2

P34

S3.2

P55

S4.2

P89

S5.2

P129

S0.3

P9

S1.3

P23

S2.3

P35

S3.3

P56

S4.3

P90

S5.3

P180

S0.4

P11

S1.4

P24

S2.4

P36

S3.4

P60

S4.4

P93

S5.4

P181

S0.5

P12

S1.5

P25

S2.5

P39

S3.5

P61

S4.5

P94

S5.5

P185

S0.6

P15

S1.6

P28

S2.6

P40

S3.6

P62

S4.6

P96

S5.6

P186

S0.7

P16

S1.7

P29

S2.7

P41

S3.7

P63

S4.7

P112

S5.7

P102

发光管、系统时钟、中断输入

A0

P192

B0

P100

CLK

P183

A1

P193

B1

P99

INT

P108

A2

P196

B2

P98

A3

P197

B3

P83

A4

P199

B4

P82

A5

P200

B5

P187

A6

P202

B6

P189

A7

P203

B7

P190

RAM存储器

A0

P179

A8

P146

D0

P167

D8

P120

CS

P168

A1

P178

A9

P113

D1

P165

D9

P122

RD

P139

A2

P177

A10

P115

D2

P164

D10

P123

WR

P152

A3

P172

A11

P116

D3

P163

D11

P128

BH

P138

A4

P171

A12

P119

D4

P162

D12

P132

BL

P137

A5

P151

A13

P140

D5

P161

D13

P133

A6

P150

A14

P144

D6

P160

D14

P134

A7

P147

A15

P145

D7

P153

D15

P135

上表中,存储器控制线的CS表示片选信号,WR为写信号,RD为读信号,BH为数据高八位选择信号,BL为数据低八位选择信号。

注意E18、E19两个脚同时还接到到A0、A1两个发光二极管上,当这两个扩展IO脚状态有所变化时,会在发光二极管上显示出来。

每个器件的名称都可以修改,以适合于不同的应用。

单击名称,系统就会弹出改变名称的对话框,让你输入想要定义的名称。

关于键盘,即可以定义键盘组(8个键)的名称,也可定义单个键的名称。

这些名称可以保存在文件中,下次实验时无需重新定义,直接从相应文件中读入即可。

 

实验一RISC技术的模型计算机设计实验

实验要求:

用COP2000的扩展实验板上,用VHDL语言编写程序,设计一个RISC模型机,下载到XC3S500E芯片中,用VHDL内置程序(rom.vhd)验证模型机

实验目的:

了解RISC模型机原理、设计方法。

实验说明:

在此设计一个只有五条指令的RISC模型机。

每条指令三个时钟:

T0T1T2

取指指令译码/取操作数运算/写结果

共五条指令:

MOVR0,#12h01dddddddddddd为常量,高二位补"00"

JMPkk10kkkkkkkkkkkk为地址,高二位补"00"

MOVRd,Rs1100ddssdd为目标地址

ADDRd,Rs1101ddssss为源地址

SUBRd,Rs1110ddss

其它指令码无效1111xxxx

作为NOP执行00xxxxxx

微控制位(共4位):

WB写控制位

00无写操作

01写常量

10写源操作数

11写运算器结果

ALU运算器控制位(1位)

0ALU=data_d+data_s

1ALU=data_d-data_s

PCPC功能控制位(1平)

0PC+1

1将data_c写入PC(JMP指令)

模型机FPGAVHDL源程序目录:

XC3S500E\RISC,演示程序(XC3S500E\RISC\ROM.VHD)如下:

ROMDATA<="01000001"WHENROMADDR="00000000"ELSE--MOVR0,#1

"11010100"WHENROMADDR="00000001"ELSE--ADDR1,R0

"11011000"WHENROMADDR="00000010"ELSE--ADDR2,R0

"11101100"WHENROMADDR="00000011"ELSE--SUBR3,R0

"10000001"WHENROMADDR="00000100"ELSE--JMP01

"00000000";

仿真结果:

每三个时钟执行一条指令pT=0,1,2

实验步骤:

1.打开Xilinx12.3开发环境,选择“OpenProject...”打开“XC3S500E\RISC”下的RISC项目。

2.充分理解risc.vhd(以及本模型机中所用到相应的模块程序,例如alu.vhd、clkctrl.vhd、regs.vhd、ctrl.vhd等)。

了解模型机的实现原理。

3.对RISC项目进行综合/编译,生成RISC.BIT文件。

4.打开伟福的COP2000开发环境,打开FPGA扩展板的界面。

5.按“打开模式”键,打开“XC3S500E\RISC\”目录下的RISC.MOD文件,界面上“时钟选择”应设成“单脉冲”,这样CLK信号就由COP2000实验仪主板上的“CLOCK”提供。

6.将实验仪连接到计算机串行口上,并按“通信设置”键,选择正确的串行口。

7.按“FPGA编程”键,将“XC3S500E\RISC\”目录下的RISC.BIT文件下载到XC3S500E芯片上。

8.将RST(K4的第7位)置为0(向下为0,向上为1),复位模型机。

再将RST置1,模型机正常工作。

9.按COP2000实验仪上的CLOCK按钮以单时钟方式执行程序,观察数码管的显示。

注:

每按三次执行完一条指令

实验二总线控制实验

实验要求:

用COP2000的扩展实验板上的开关做为输入、八段数码管做为输出,用VHDL语言编写程序,下载到XC3S500EFPGA中,实现十六位模型机的总线控制功能。

实验目的:

了解十六位模型机中指令计数器(PC)的工作原理和实现方法。

学习用VHDL语言描述硬件逻辑。

学习使用EDA开发环境。

实验说明:

以下是总线控制实验的VHDL程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYDBUSIS

PORT(

K0:

INSTD_LOGIC_VECTOR(7DOWNTO0);--K0

K1:

INSTD_LOGIC_VECTOR(7DOWNTO0);--K1

K2:

INSTD_LOGIC_VECTOR(7DOWNTO0);--K2

X0:

INSTD_LOGIC;--K4.0

X1:

INSTD_LOGIC;--K4.1

D:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);--S1,S0

hD:

OUTSTD_LOGIC--L0

);

ENDDBUS;

ARCHITECTUREbehvOFDBUSIS

BEGIN

D<=K0WHENX1='0'ANDX0='0'ELSE

K1WHENX1='0'ANDX0='1'ELSE

K2WHENX1='1'ANDX0='0'ELSE

"ZZZZZZZZ";

hD<='0'WHENX1='1'ANDX0='1'ELSE

'1';

ENDbehv;

 

在上面程序中,K0、K1、K2为八位输入数据,D为八位输出数据,D的值由X1、X0两个开关决定,用八段数码管S0(2位)显示其值。

hD用来显示总线是否与K0/K1/K2导通,当X1:

X0=0,1,2时,D分别由K0,K1,K2输出,X1:

X0=3时,D呈高阻态。

X1

X0

hD

D

0

0

1

K0

0

1

1

K1

1

0

1

K2

1

1

0

Z(高阻)

实验步骤:

1.打开Xilinx的EDA开发环境,选择“OpenProject...”打开“\COP2000\XC3S500E\”下的PC项目(Xilinx的EDA开发环境的使用可参见第十一章)。

2.充分理解DBUS.VHD,了解模型机中总线控制的实现原理。

3.对DBUS项目进行综合/编译,生成DBUS.BIT文件。

4.打开伟福的COP2000开发环境,打开FPGA扩展板的界面。

5.按“打开模式”键,打开“XC3S500E\DBUS\”目录下的DBUS.MOD文件。

界面上“时钟选择”应设成“单脉冲”,这样CLK信号就由COP2000实验仪主板上的“CLOCK”提供。

6.按“通信设置”键,将实验仪连接到计算机串行口上。

7.按“FPGA编程”键,将“XC3S500E\DBUS\”目录下的DBUS.BIT文件下载到XC3S500E芯片上,

8.拨动K4的第7位到‘1’的位置,输出“复位”信号,使电路处于复位状态。

观察八段管D(总线输出显示)是否清零;然后拨动K4的第7位到‘0’的位置。

9.分别将K0、K1、K2值设置为55H、5AH、A5H,然后拨动“X1、X0”,使X1:

X0分别为00、01、10、11四种状态,分别观察八段管D(总线输出显示)的值(分别为:

55H、55H、5AH、00H)。

 

实验三、中断控制实验

实验要求:

用COP2000的扩展实验板上的开关做为输入、八段数码管做为输出,用VHDL语言编写程序,下载到XC3S500EFPGA中,实现十六位模型机中断控制功能。

实验目的:

了解十六位模型机中中断控制的工作原理和实现方法。

学习用VHDL语言描述硬件逻辑。

学习使用EDA开发环境。

实验说明:

下为十六位模型机串实现中断控制的VHDL语言:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYINTIS

PORT(

IREN:

INSTD_LOGIC;--K4.0

EINT:

INSTD_LOGIC;--K4.1

ICEN:

OUTSTD_LOGIC;--A2

ACK:

OUTSTD_LOGIC;--A1

REQ:

OUTSTD_LOGIC;--A0

RST:

INSTD_LOGIC;--K4.7

I_REQ:

INSTD_LOGIC;--INT

CLK:

INSTD_LOGIC--CLOCK

);

ENDINT;

ARCHITECTUREbehvOFINTIS

SIGNALR_REQ,R_ACK:

STD_LOGIC;

SIGNALFATCH_INT:

STD_LOGIC;

BEGIN

REQ<=R_REQ;

ACK<=R_ACK;

ICEN<=FATCH_INT;

PROCESS(I_REQ,RST,EINT)

BEGIN

IF(EINT='0')OR(RST='1')THEN

R_REQ<='0';

ELSIFI_REQ'EVENTANDI_REQ='1'THEN

R_REQ<='1';

ENDIF;

ENDPROCESS;

PROCESS(CLK,RST,EINT,IREN,R_REQ,R_ACK,FATCH_INT)

BEGIN

IF(IREN='0')AND(R_REQ='1')AND(R_ACK='0')THEN

FATCH_INT<='0';

ELSE

FATCH_INT<='1';

ENDIF;

IF(EINT='0')OR(RST='1')THEN

R_ACK<='0';

ELSIFCLK'EVENTANDCLK='1'THEN

IFFATCH_INT='0'THEN

R_ACK<=R_REQ;

ENDIF;

ENDIF;

ENDPROCESS;

ENDbehv;

在上面程序中,IREN接K4的第0位,表示程序执行过程中的取指令操作,中断请求信号只有在此信号有效时(取指令时)才会被响应。

IENT接K4的第1位,用于在中断返回时,清除中断请求寄存器和中断响应寄存器。

ICEN为输出信号接发光二极管A2,此信号用于控制读中断指令。

ACK接发光二极管A1,显示中断响应信号。

REQ接发光二极管A0,显示中断请求信号。

RST为复位信号,接在开关组K4的第7个开关上,I_REQ为中断申请输入信号,由COP2000实验仪主板上的“INT”按键输出到FPGA扩展板上,CLK为时钟脉冲,由COP2000实验仪主机上的“CLOCK”按键提供。

实验步骤:

1.打开Xilinx的EDA开发环境,选择“OpenProject...”打开“\COP2000\XC3S500E\”下的INT项目(Xilinx的EDA开发环境的使用可参见第十一章)。

2.充分理解INT.VHD。

了解寄存器的实现原理。

3.对REG项目进行综合/编译,生成INT.BIT文件。

4.打开伟福的COP2000开发环境,打开FPGA扩展板的界面。

5.按“打开模式”键,打开“\COP2000\XC3S500E\INT\”目录下的INT.MOD文件。

界面上“时钟选择”应设成“单脉冲”,这样CLK信号就由COP2000实验仪主板上的“CLOCK”提供。

6.按“通信设置”键,将实验仪连接到计算机串行口上。

7.按“FPGA编程”键,将“\COP2000\XC3S500E\INT\”目录下的INT.BIT文件下载到XC3S500E芯片上,

8.拨动K4的第7位到“1”的位置,输出“复位”信号,将K4的第0、1位拨到‘1’的位置,使IREN和EINT都处于无效状态,将内部的中断请求寄存器,中断响应寄存器都清零,使其能响应中断,此时A2发光二极管亮、A1发光二极管灭、A0发光二极管灭。

9.中断申请:

将K4的7位回到时“0”位,使电路正常工作。

按下COP2000实验仪主板上的“INT”按键申请中断,FPGA扩展板上的A0发光二极管变亮,表示有中断申请。

10.中断响应:

将K4的第0位拨成‘0’,也就使IREN有效,表示取指令操作,扩展板上的A2发光二极管变灭,表示已经响应中断。

11.中断处理:

按动COP2000实验仪上的“CLOCK”按钮,产生一个时钟信号,扩展板上A1发光二极管变亮,表示取指操作取出中断处理指令来执行。

12.中断退出:

将K4的第0位拨成‘1’,IREN置成无效,将K4的第1位拨成‘0’,将EINT置成有效,发光二极管A2变亮,A1、A0变灭,中断申请寄存器和中断响应寄存器清零,表示可以接受下一次中断申请。

实验四基于重叠技术的模型计算机设计实验

实验要求:

用COP2000的扩展实验板上,用VHDL语言编写程序,设计一个基于重叠技术的模型机,下载到XC3S500E芯片中,在cop2000集成调试环境中自行编写汇编程序验证模型机

实验目的:

了解无流水无cache模型机原理、设计方法。

实验说明:

模型机FPGAVHDL源程序目录:

XC3S500E\COP2000_CD

实验步骤:

注:

以下演示步骤中模型机测试程序为已编写好的test.asm,实验过程中此程序建议自行编写。

1.打开Xilinx12.3开发环境,选择“OpenProject...”打开“XC3S500E\COP2000_CD”下的cop2000项目。

2.充分理解cop2000_cd.vhd(由INST2.INS在COP2000上位机软件自动生成)。

了解基于重叠技术的模型机的实现原理。

3.对cop2000项目进行综合/编译,生成cop2000.BIT文件。

4.打开伟福的COP2000开发环境(每次自动调入INST.INS作为默认的指令系统,本试验用到的指令系统是INST2.INS,因此无需手工调入),此时暂不打开FPGA扩展板的界面,在开发环境的主界面中,打开“XC3S500E\COP2000_CD\”目录下“TEST_INT.ASM”程序,编译后切换到主界面中的EM窗口,可以查看到相应的机器码。

5.打开FPGA扩展板的界面。

切换到“存储器”页面,可以看到EM的机器码,也就TEST程序已经被自动复制到存储器窗口中,再将窗口切换到FPGA扩展板的“结构图”页面。

6.按“打开模式”键,打开“XC3S500E\COP2000_CD\”目录下的COP2000_CD.MOD文件。

界面上“时钟选择”应设成“单脉冲”,这样CLK信号就由COP2000实验仪主板上的“CLOCK”提供。

7.将实验仪连接到计算机串行口上,并按“通信设置”键,选择正确的串行口。

8.按“FPGA编程”键,将“XC3S500E\COP2000_CD\”目录下的COP2000.BIT文件下载到XC3S500E芯片上。

9.再次切换到“存储器”页面,按“下载存储器”键,将TEST程序的机器码下载到FPGA扩展板上的存储器中。

10.拨动RST(K4的第7位)到“1”的位置,输出“复位”信号,复位模型机,再将RST拨到‘0’的位置,使得十六位模型机正常工作。

11.按动COP2000实验仪上的“CLOCK”按键,产生多个时钟信号,观察存储器的读写是否符合设计要求,数据线、地址线、控制线是否正确。

12.拨动RST(K4的第7位)到“1”的位置,输出“复位”信号,复位模型机,再将RST拨到‘0’的位置,使得十六位模型机正常工作。

在“结构图”页面上将“时钟选择”设成“连续脉冲”方式。

这样模型机的时钟为高速的连续脉冲,模型机运行于全速状态。

13.在模型机全速运行时,按动COP2000实验仪上的“INT”按键,产生中断请示信号,让模型机中断,在中断处理程序中,我们将累加器A带进位右移一位。

中断返回后输出累加器中的内容。

重复按“INT”按键,产生多个中断请示信号,让模型机多次中断,累加器多次移位输出,观察模型机输出是否满足设计要求。

14.改变主界面上程序,以完成不同的功能,将程序编译,将编译的机器码复制到“扩展板”界面的“存储器”页面内。

将模型机置于复位状态,并用“下载存储器”功能下载到扩展板的存储器中,退出模型机的复位状态,使其正常工作,检查程序运行符合满足程序要求。

15.由于此实验设计的模型机基于重叠技术,为了验证模型机在指令执行和取下一条指令在同一时钟完成,我们将单步运行模型机观察模型机在每一个时钟的运行情况。

回到FP

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2