计组实验报告

更新时间:2024-02-03 04:05:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机组成原理实验报告

课程名称 计算机组成原理 学 院 计算机学院 专业班级 学 号 学生姓名 指导教师

2016 年 6 月 8

实验一、基础汇编语言程序设计

一、实验目的:

1、学习和了解TEC-XP+教学实验系统监控命令的用法; 2、学习和了解TEC-XP+教学实验系统的指令系统; 3、学习和了解TEC-XP+教学实验系统汇编程序设计。

......

二、实验设备与器材:

TEC-XP+教学实验系统和仿真终端软件PCEC; PC机

三、实验内容:

1.学习联机使用TEC-XP+教学实验系统和仿真终端软件PCEC; 2.学习使用WINDOWS界面的串口通讯软件。

3.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容;

4.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况;

四、实验步骤:

1、准备一台串口工作良好的PC机;

2、将TEC-XP放在实验台上,打开实验箱的盖子,确定电源处于断开状态; 3、将黑色电源线一端接220V交流电源,另一端插在TEC--XP试验箱电源插座上;

4、取出通讯线,将通信线的9芯插头接在试验箱的串口“COM1”或“COM2”上,另一端接到PC机的串口上; 5、将TEC-XP实验系统左下方的6个黑色控制器开关置为001100,,控制开关 的功能在开关上、下方有标识;开关拨向上方表示“1”,拨向下方表示“0”,“x”表示任意,其他实验相同; 6、打开电源,船形开关和5v电源指示灯亮。 7、在PC机上运行PCEC16.EXE文件,直接回车。

8、按一下“RESET”按键,再按一下“stat”按键在主机上显示:

TEC—2000 CRT MONITOR Version 1.0 April 2001 Computer Architectur Lab,Tsinghua University Programmed by Jason He>

五、实验结果: 例一:

例二:

六、实验心得:学会了联机使用TEC-XP教学实验系统和仿真终端软件PCEC,教学实验系统监控命令的

用法,了解了TEC-CP教学实验系统的指令系统,试着做汇编程序设计,在尝试中发现汇编程序设计的方法,理解指令代码的意义及程序所能实现的功能,并对基础汇编语言程序设计有了初步的了解,增加了自己学习的兴趣和提高了自己的动手操作的能力。

实验二、脱机运算器实验

一、实验目的:

1、深入了解AM2901运算器的功能与具体用法。 2、深化运算器部件的组成、设计、控制与使用等知识。 二、实验设备与器材: TEC-XP+教学实验系统 三、实验说明和原理:

脱机运算器实验,是指让运算器从数学计算机整机中脱离出来,此时,他的全部控制与操作均需通过两个12位的卫星开关来完成,这就谈不上执行指令,只能通过开关,案件控制数学机的运算器完成指定的运算功能,并通过指示灯观察运算器结果。

下面先把前边几讲过的,与该实验直接有关的结论性内容汇总如下。 一、12位微型开关的具体控制功能分配如下:

A口,B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号: I8-I0:选择操作数来源,运算操作功能,选择操作数处理结果和运算器输出内容的3组3位的控制码:

SCI,SSH和SST:用于确定运算器最低位的进位输入,移位信号的入/出和怎样处理AM2901产生的状态标志位的结果。

二、开关位置说明:

做脱机运算器实验时,要用到提供24位控制信号的微动开关和提供16位数据的拔动开关。微动开关是红色的,一共有三个,一个微动开关可以提供12位的控制信号,三个开关分别标有SWI1 micro switch 、SW2 micro switch 和SW3 micro switch;数据开关是黑色的,左边的标有SWH的是高8位,右边的标有SWL的是低八位。微动开关与控制信号对应关系见表(从左到右):

三、开关检测

红色微动开关是该实验系统使用寿命最短的器件,开关好坏的检测方法比较简单,用户将五个控制机器工作方式的开关置于“1XX000”,从左面其第二个和第三个的开关处于任意位置,然后将两个未动开关上的24小纽子依次置为1(开关拨到上方为1),看对应的指示灯是否亮,如果有一个或数个指示灯不亮,则一般是开关除了问题。

四、实验内容:

在脱机方式下,对于给定指令分析其执行过程中运算步骤,通过对AM2901运算器所需的控制信号的设置,使之完成运算,并核对运算结果。

五、实验步骤:

在脱机方式下,通过设置SW1,SW2,SW3各微码字段和数据开关,可实现多种运算。以实现AAAAH->R1为例说明操作过程。

1、按照下表中的微码和数据开关,对运算器的功能进行设置。操作步骤如下:

5、将教学机左下方的5个拨动开关置为11XX00(单步,16位,脱机);先按一下”RESET”按键,再按一下”START”按键,进行初始化.

6、通过16个数据开关设置立即数AAAAH。 7、通过SW1、SW2、SW3设置各微码。

3、按一次START键,立即数XXXXH置入R1,通过显示灯查看按START键后的输出。 若要进行其他操作:

(1) 程序设置SW1、SW2、SW3数据开关,通过显示灯观察输出。

(2) 然后按START键执行操作。通过显示灯观察按START键后的输出,检查运算结果是否正确。

4、接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:其中,D1取为0101H,D2取为1010H,通过两个12位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志.

注:用*标记的运算,表示D1,D2的数据是由拨动开关SW给出的,开关给的是二进制的信号,注意二进制和十六进制间的转换.

六、思考题:

问题:分析比较各指令按START键前和按START键后的值,是否有不同并解释。 前后结果有些不同,按”START”按键之前,ALU输出的是计算结果,参照ALU的操作周期的时序可知A,B口数据锁存是在时钟的下降沿,通用寄存器的接收是在低电平,所以要想寄存器接收ALU的计算结果必须按一次”START”按键.

七、实验心得:

了解了AM2901运算器的功能与具体用法并深化运算器部件的组成、设计、控制与使用等知识。一开始因为不了解按钮的实际作用和功能,一直出现错误的结果,经请教同学再进一步把指导书看懂后,最终实现了本实验的操作。深刻让我理解到做实验前要好好进行预习

工作,上课时认真听老师的讲解和指导,对于遇到自己没办法解决的事可以请教老师或同学,学会对问题的分析,找寻错误的原因,分析遇到的各种现象,判断结果是否正确。

实验三、存储器部件教学实验

一、实验目的:

1、熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处;学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。

2、理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。 3、了解静态存储器系统使用的各种控制信号之间正常的时序关系。 4、了解如何通过读、写存储器的指令实现对58C65 ROM芯片的读、写操作。 5、加深理解存储器部件在计算机整机系统中的作用。

二、实验设备与器材:

填写所用器材与设备或电路板等。

三、实验说明和原理: 简介实验说明和原理 四、实验内容:

1、要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意读写和OE等控制信号的正确状态。

2、用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM(28系列芯片)、EPROM(27系列芯片)在读写上的异同。

3、用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。

4、用监控程序的A命令编写一段程序,对扩展存储器EEPROM(28 系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。

五、实验步骤:

1、检查扩展芯片插座的下方的插针要按下列要求短接:标有“/MWR”“RD”的插针左边两个短接,标有“/MRD”“GND”的插针右边两个短接。

2、RAM(6116)支持即时读写,可直接用A、E 命令向扩展的存储器输入程序或改变内存单元的值。

(1) 用E命令改变内存单元的值并用D命令观察结果。 1) 在命令行提示符状态下输入: E 2020↙

屏幕将显示: 2020 内存单元原值: 按如下形式键入:

2020 原值:2222 (空格)原值:3333(空格)原值:4444(空格)原值:5555

2) 在命令行提示符状态下输入: D 2020↙

屏幕将显示从2020内存单元开始的值,其中2020H~2023H的值为: 2222 3333 4444 5555

问题:断电后重新启动教学实验机,用D命令观察内存单元2020~2023 的值。会发现什么问题,为什么?

答:断电结果:断电后重新启动教学实验机,用D命令观察内存单位2020~2023的值。会发现原来置入到这几个内存单位的值已经改变,用户在使用RAM时,必须每次断电重启后豆芽平重新输入程序或修改内存单位的值。

(2) 用A 命令输入一段程序,执行并观察结果。 在命令行提示符状态下输入: A 2000↙

屏幕将显示: 2000: 按如下形式键入: 2000: MVRD R0,AAAA MVRD R1,5555 AND R0,R1 RET

问题:采用单步和连续两种方式执行这段程序,察看结果,断电后发生什么情况? 答:输出结果

分析:从采用但不和连续两种方式执行这段程序,察看结果,断电后发生什么情况R1的数据改变了。

3、将扩展的ROM芯片(27或28系列或28的替代产品58C65芯片)插入标有“EXTROMH”和“EXTROML”的自锁紧插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。 如果芯片插入方向不对,会导致芯片烧毁。然后锁紧插座。

4、将扩展的ROM 芯片(27或28系列或28的替代产品58C65芯片)插入标有“EXTROMH”和“EXTROML”的插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。如果芯 片插入方向不对,会导致芯片烧毁。然后锁紧插座。

5、将扩展芯片下方的插针按下列方式短接:将标有“/MWR”“ PGM”和“RD”的三个插针左面两个短接,将标有“/MWR”“/OE”“GND”的三个插针左边两个短接。

6、将扩展芯片上方标有EXTROMH和EXTROML的“/CS”信号用自锁紧线短接,然后短接到MEMDC 138 芯片的上方的标有“4000-5fff”地址单元。

注意:标有/CS 的圆孔针与标有MEM/CS 的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。

下面以2764A 为例,进行扩展EPROM 实验。

7、EPROM 是紫外线可擦除的电可改写的只读存储器芯片。在对EPROM 进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。

(1) 将芯片0000~001F 的内存单元的值置成01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F

(2) 将编程好的芯片插在扩展芯片的高位,低位不插,按上面的提示插好插针。 问题:

(1) 用D命令查看内存单元0000~001F的值,结果是什么?

(2) 用E命令向芯片的内存单元置入数值,再用D命令察看,原来的值是否发生改变? (3) 用A命令向芯片所在的地址键入程序,用U命令反汇编,发现什么?为什么会出现这种情况?

(4) 将教学机断电后重启,用D命令看内存单元0000~001F的内容,数值是否发生变化? 下面以AT28C64B(或其替代产品58C65 芯片)为例,进行扩展EEPROM实验。

8、AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1 毫秒。因此,需要编写一延迟子程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。

(1) 用E 命令改变内存单元的值并用D命令观察结果。 1) 在命令行提示符状态下输入: E 5000↙

屏幕将显示: 5000 内存单元原值: 按如下形式键入:

5000 原值:2424(按空格)原值:3636(按空格)原值:4848(按空格)原值:5050↙ 2) 在命令行提示符状态下输入: D 5000↙

屏幕将显示5000H~507FH 内存单元的值,从5000 开始的连续四个内存单元的值依次 为2424 3636 4848 5050。

3) 断电后重新启动,用D命令察看内存单元5000~5003的值,会发现这几个单元的值没有发生改变,说明EEPROM的内容断电后可保存。

输出结果:

分析:从输出的结果来看断电后重新启动,用D命令察看内存单位500~5003的值,会发现这几个单位的值没有发生改变,说明EEPROM的内容断电后可保存。

(2) AT28C64B存储器不能直接用A 命令输入程序,单字节的指令可能会写进去,双字节指令的低位会出错(建议试一试),可将编写好的程序用编程器写入片内;也可将程序放到RAM(6116)中,调用延时子程序,访问AT28C64B 中的内存地址。

下面给出的程序,在5000H~500FH 单元中依次写入数据0000H、0001H、...000FH。 从2000H单元开始输入主程序:

(2000)MVRD R0,0000

MVRD R2,0010 ;R2记录循环次数

MVRD R3,5000 ;R3的内容为16 位内存地址

(2006)STRR [R3],R0 ;将R0寄存器的内容放到R3 给出的内存单元中 CALA 2200 ;调用程序地址为2200的延时子程序 INC R0 ;R0加1 INC R3 ;R3加1 DEC R2 ;R2减1

JRNZ 2006 ;R2不为0跳转到2006H RET

从2200H 单元开始输入延时子程序: (2200) PUSH R3

MVRD R3,FFFF

(2203) DEC R3

JRNZ 2203

POP R3 RET

运行主程序,在命令提示符下输入:G 2000↙。 输出结果:

注意:运行G命令的时候,必须要将将标有“/MWR”“/OE”“GND”的三个插针右边两个短接。 程序执行结束后,在命令提示符下输入:D 5000↙;

可看到从5000H开始的内存单元的值变为

5000:0000 0001 0002 0003 0004 0005 0006 0007 5008:0008 0009 000A 000B 000C 000D 000E 000F。

六、思考题:

1) 为何能用E 命令直接写AT28C64B的存储单元,而A命令则有时不正确;

答:E命令是储存寄存器指令A时监控器指令,而E直接多个程序写入AT28C64B的存储单元,写入的速度快,A命令只能是一次写入执行一条程序,是延迟指令、所以用E命令直接写A。T28C64B的存储单元,而A命令则有时不正确。

2) 修改延时子程序,将其延时改短,可将延时子程序中R3的内容赋成00FF或0FFF等,再看运行结果。

七、实验心得:

本次试验的难度在于怎样弄清楚ROM芯片和RAM芯片在功能和使用方法等方面的异同。学习了编程器设备向EEPROM芯片内写入一批数据的过程跟方法的工作原理,在预习做试验的时候,阅读到计算机存储器系统由ROM和RAM两个存储区组成,分别由EPROM芯片(或EEPROM芯片)和RAM芯片构成。TEC-XP教学仪器上还有几个存储器器件插座,可以插上相应储存器芯片成存储器容量扩展的教学实验,为此必须比较清楚的了解:是我们做实验的一大难点,同时也是我们计算机组成原理 的重点。同时在做实验的时候也遇到一些相应的疑问,RAM和EPROM、EEPROM存储器芯片在读写控制跟写入时间等方面的同异之处,并正确建立连接关系和在过程中完成正确的读写过程。

实验四、组合逻辑控制器部件教学实验

一、实验目的:

六、深入理解计算机控制器的功能、组成知识。 七、深入的学习计算机各类典型指令的执行流程。

八、对指令格式、寻址方式、指令系统、指令分类等建立具体总概念。 九、学习组合逻辑控制器的设计过程和相关技术。 二、实验设备与器材: TEC-XP教学计算机 三、实验说明和原理:

控制器设计是学习计算机总体组成和设计的最重要部分。要在TEC-XP16教学计算机完成这项实验,必须清楚地懂得:

1.TEC-XP+教学机的组合逻辑控制器主要由MACH器件组成。 2.TEC-XP+教学机上已实现了29条基本指令。

3. 应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行有扩展指令的程序。

4.要明白TEC-XP+教学机支持的指令格式及指令执行流程分组情况;理解TEC-XP+教学机中已经设计好并正常运行的各类指令的功能、格式和执行流程,也包括控制器设计的实现中的具体路线的控制信号的组成。

5.要明确自己要实现的指令功能、格式、执行流程设计中必须遵从的约束条件。 为了完成自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的内容,具体过程包括:

(1)、确定指令格式和功能,要受到教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致。

(2)、划分指令执行步骤并设计每一步的执行功能,设计节拍状态的值,应参照已实现指令的处理办法来完成,特别注意的是,读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能地与原用节拍的状态保持一致和相近。

(3)、在指令流程表中真写每一个控制信号的状态值,基本上是个查表填数的过程,应特别仔细,并有意识地体会这些信号的控制作用。

(4)、在给出的mach的源文件中添加扩展指令的控制信号的逻辑表达式,编译适配后下载到MACH器件中。

(5)、写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。

四、实验内容:

6实验思考与心得

本次实验主要是实现两个PC机的串行通讯,其实过程有点类似于单片机与PC机的串口通讯,而学生之前尝试使用C语言实现单片机与PC机之间的串口信息传输,因此本次使用汇编语言实现两个PC机之间的串行通讯多少有点熟悉,并且通过更细致的指令编写,深入地学会串行通讯的底层实现过程。

另外,实验进行时曾有一台PC机的COM口都被占用,具体解决方法由于当时课上时间较为紧迫,没有想出来,因此只能另外换机再试。

实验七、中断实验

1、实验目的

1.加深理解计算机系统中断的工作原理及处理过程。 2.学习和掌握中断产生、响应、处理等技术。

3.掌握中断服务子程序的编写要点,进行一次硬、软件的综合调试。 2、实验设备与器材

TEC-XP+教学实验系统和仿真终端软件PCEC。 3、实验说明和原理

1) 要求中断隐指令中执行关中断功能,如果用户中断服务程序允许被中断,必须 在中断程序中执行EI开中断命令。

2) 教学机的中断系统共支持三级中断,由三个无锁按键确定 从右到左依次为一、二、三级中断,对应的P1、P0的编码分别是01、10、11,优先级也依次升高,这决定 了它们的中断向量,为XXX4、XXX8、XXXC。可以看到,每级中断实际可用空间只有四个字节,故

这个空间一般只存放一条转移指令,而真正的用户中断服务程序则存放在转移指令所指向的地址。

3) 用户需扩展中断隐指令、开中断指令、产中断指令、中断返回指令及其节拍。 4、实验内容

1) 扩展中断隐指令,为中断隐指令分配节拍,中断隐指令用到12个节拍,为了和一般指令相区别,应将其节拍T3设计为1.

2) 扩展开中断指令EI、关中断指令DI、中断返回指令IRET。

3) 确定中断向量地址。中断微量的高12位由开关确定为(0001001000000)。三级中断对应的中断微量为2404H、2408H、240CH。当有中断请求且被响应后,将执行存放在该中断的中断微量所指向的内存区的指令。

4) 真写中断微量表。在上述2404H、2408H、240CH地址写入三条JR转移指令,JR指令的OFFSSET是-128~127之间,但在PCEC16中输入时,用户不需要计算偏移量,直接输入要转向的绝对地址即可。

5) 编写中断服务程序。中断服务程序可以放在中断微量表之后,中断服务程序可以实现在程序正常运行时在计算机屏幕上显示与优先级相对应的不同字符。

6) 写主程序。可编写一死循环,要求先开中断。 5、实验步骤与中断程序编写 1) 填写中断向量表

a) 将数据开关的高12位设置成:0010 0100 0000,即选择三级中断的中断向量为2404H、2408H、240CH。

b) 中断向量一共有16位,高12位由数据开关SWH7-0和SWL7-4决

定;后四位有无锁按键决定,分别为01、10、11,所以中断向量的16位为2404 、2408 、240C。

c) 向量表指令填写: (2404)JR 2420 (2408)JR 2430 (240C)JR 2440 2) 编写中断程序

用A、E命令从2420H单元开始输入下面和程序:(标有*的语句表示要用E命令输入) 2420:PUSH R0 2421:PUSH R3 2422:MVRD R3,31 2424:JR 2450 2430:PUSH R0 2431:PUSH R3 2432:MVRD R3,32 2434:JR 2450 2440:PUSH R0

2441:PUSH R3 2442:MVRD R3,33 2444:JR 2450 *2450:EI

2451:MVRD R0,0042 2453:CALA 2200 2455:MVRD R0,0049 2457:CALA 2200 2459:MVRR R0,R3 245A:CALA 2200 245C:IN 81 245E:SHR R0 245F:JRNC 245C 2460:IN 80 2461:MVRD R00045 2463:CALA 2200 2465:MVRD R0,0049 2467:CALA 2200 2469:MVRR R0,R3 246A:CALA 2200 246C:POP R3 246D:POP R0 *246E:IRET 3) 编写子程序 2200:PUSH R0 2202:SHR R0 2203:JRNC 2201 2204:POP R0 2205:OUT 80 2206:RET 4) 编写主程序 *2000:EI

2001:MVRE R0,0036 2003:CALA 2200 2005:MVRD R0,4000 2007:DEC R0 2008:JRNZ 2007 2009:JR 2001

200A:RET

5) 运行主程序,等待、响应中断。 在命令行提示符状态下输入:G 2000 6) 结果显示与截图:

屏幕将连续显示“6”。在程序执行过程中按下教学机右下方任意一个无锁按键。此时,教学机转向执行本级中断服务程序,在屏幕上显示BI以及按下的键对应的中断优先级。在接收键盘一个字符后,显示该字符并退出当前级的中断服务程序,恢复中断现场,接着执行断点处的程序。若在接收字符之前,又有更高一级的中断请求,则教学机转向执行高一级的中断服务程序,执行完后接着执行低级中断,然后 退出 执行主程序。需要注意的是若当前中断为高级中断,则不会响应低级中断简单的中断服务程序。

6实验思考与心得

由于本次实验课前,计算机组成原理课堂上进行了关于中断机制,中断向量表的学习,因此在本次实验课上得心应手。

本次除了敲上课本所附代码外,自行设计了一个中断程序,虽然过程中遇到些许麻烦,不过最终得以解决,过程中,对中断的产生,响应以及处理机制加深了了解和熟悉。

在学习中断时,应学会主动制造错误,如除法溢出等出发中断,然后逐步了解其响应过程,以及通过中断向量表调用内存中自己所写入的程序代码,从而加深对中断整个过程的了解。

从单片机中的学习,清楚明白到中断机制的存在为底层编程予以极大方便和灵活性,因此熟悉中断机制是我们深入学习嵌入式系统的前提。

实验九、FPGA芯片实现非流水线的CPU系统

1、实验目的

1.进一步熟悉教学计算机的指令格式、指令编码、寻址方式和指令功能等内容。 2.进一步熟悉教学计算机的总体组成和各个部件的功能,理解控制器部件在计算机整机中的关键作用;

3.进一步理解和指令执行步骤的划分方案;

4.进一步熟悉教学计算机的硬连线控制器各个控制命令的控制功能,学习用VHDL语言描述节拍发生器和控制信号产生部件的功能。

5.进一步理解与熟悉在TH-union教学计算机控制器中处理原有指令和扩展指令的方案,提高对控制器功能能描述的理解程序。

2、实验设备与器材

TEC-XP+教学实验系统和仿真终端软件PCEC。 3、实验说明和原理

用VHDL语言来描述的CPU的源码文件,经过专用工具软件的编译和综合后,经专用烧录器,把程序下载到FPGA芯片中,就得到了能够正常运行的CPU系统。

4、实验内容

控制器实验可以在两个层次上进行:

1) 第一个层次属于观察、验证性的实验,即通过多种方式,察看教学计算机指令的执行步骤、运行结果、各组控制信号在每一个执行步骤中的状态、指令之间的衔接等有关内容。这个层次的实验,重点在于学懂教学计算机中已有的设计结果,把实现基本指令的VHDL语言程序中的语句描述与教学机的运行结果对应清楚。

2) 第二个层次是学生进行自己的设计与实现新的扩展指令的实验,即在教学机系统已有指令的基础上,由学生自己添加若干条新的指令进行,包括定义指令格式、功能。划分指令执行步骤和确定每一步的功能,确定每一执行步骤使用的全部控制信号的状态值,使用VHDL语句把新的设计结果描述正确并添加到已有的源程序代码中去,编译、下载并调试正确,写一个包含已有指令和刚刚实现的指令的小程序,检查运行结果的正确性,若发现错误则找出原因并设法改正,直到全部正确为止。

5、实验步骤与烧录过程

1) 按前述的步骤准备好实验机,连接好串口线和电源线,打开PCEC1.6EXE的仿真界面;将六个功能开关置为00X101;

2) 将TIMING GAL左方的波动开关置于“FPGA”端;

3) 确认标有“DataBus 15-8”和“DataBus 7-0”的数据总线的指示灯正文的插针断开; 4) 确认标有“AdressBus 15-8”和“AdressBus 7-0”的地址总线的指示灯下方的插针断开;

5) 将提供的带彩线的FPGA的下载线并口一端和计算机的并口连接,彩线 一端按红色在左边的位置和大板上电源模块下方的一溶解度插针接好; 6) 打开实验机的电源; 7) 在PC机上打开ISE的软件;

8) 打开软件的下载界面,选择SERIAL方式,添加器件CPU.BIT,进行下 载;

9) 下载完成关闭下载界面,启动PCEC界面,注意实验机不要断电。 10) 按一下“RESET”按键,再按一下“START”按键,主机上显示: TEC-2000 CRT MONITOR Version 1.0 April 2001

Computer Architectur Lab,Tsinghua University Programmed by He Jia >

11) 在FPGA构成的CPU的控制下将汇编语言程序设计的内容重新作一遍。

6、实验思考与心得

由本次实验可知,FPGA支持基本汇编指令集。经过基本汇编指令微码的对比可知,其实对于FPGA、8086架构、单片机、ARM或者是最近的的灵动系统CPU,它们都有各自的汇编指令集,而FPGA系统则在指令系统、使用的软件资源等方面与小规模期间构成的实验箱兼容,能够使软件资源得到充分的应用,同时提高动手和学习能力,尽管不同的CPU架构之间为知识的应用也带来了麻烦。

本文来源:https://www.bwwdw.com/article/oltw.html

Top