实验广工计算机组成原理实验.docx

上传人:b****6 文档编号:13500437 上传时间:2023-06-14 格式:DOCX 页数:23 大小:41.75KB
下载 相关 举报
实验广工计算机组成原理实验.docx_第1页
第1页 / 共23页
实验广工计算机组成原理实验.docx_第2页
第2页 / 共23页
实验广工计算机组成原理实验.docx_第3页
第3页 / 共23页
实验广工计算机组成原理实验.docx_第4页
第4页 / 共23页
实验广工计算机组成原理实验.docx_第5页
第5页 / 共23页
实验广工计算机组成原理实验.docx_第6页
第6页 / 共23页
实验广工计算机组成原理实验.docx_第7页
第7页 / 共23页
实验广工计算机组成原理实验.docx_第8页
第8页 / 共23页
实验广工计算机组成原理实验.docx_第9页
第9页 / 共23页
实验广工计算机组成原理实验.docx_第10页
第10页 / 共23页
实验广工计算机组成原理实验.docx_第11页
第11页 / 共23页
实验广工计算机组成原理实验.docx_第12页
第12页 / 共23页
实验广工计算机组成原理实验.docx_第13页
第13页 / 共23页
实验广工计算机组成原理实验.docx_第14页
第14页 / 共23页
实验广工计算机组成原理实验.docx_第15页
第15页 / 共23页
实验广工计算机组成原理实验.docx_第16页
第16页 / 共23页
实验广工计算机组成原理实验.docx_第17页
第17页 / 共23页
实验广工计算机组成原理实验.docx_第18页
第18页 / 共23页
实验广工计算机组成原理实验.docx_第19页
第19页 / 共23页
实验广工计算机组成原理实验.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验广工计算机组成原理实验.docx

《实验广工计算机组成原理实验.docx》由会员分享,可在线阅读,更多相关《实验广工计算机组成原理实验.docx(23页珍藏版)》请在冰点文库上搜索。

实验广工计算机组成原理实验.docx

实验广工计算机组成原理实验

【关键字】实验

计算机学院网络工程专业班______组、学号

姓名协作者___________教师评定

实验题目基础汇编语言程序设计

一、实验目的:

(1)学习和了解TEC-XP+教学实验系统监控命令的用法;

(2)学习和了解TEC-XP+教学实验系统的指令系统;

(3)学习简单的TEC-XP+教学实验系统汇编语言程序。

二、实验设备与器材:

TEC-XP+教学实验系统,仿真终端软件。

三、实验内容:

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”按键,再按一下“START”按键在主机上显示:

TEC—2000CRTMONITOR

Version1.0April2001

ComputerArchitecturLab,TsinghuaUniversity

ProgrammedbyHeJia

>

二、实验注意事项:

几种常见的工作方式(开关拨到上方表示为1,拨到下方为0)

工作方式

5个拨动开关

连续运行程序、组合逻辑控制器、联机、16位机

00110

连续运行程序、微程序控制器、联机、16位机

00010

单步、手动置指令、组合逻辑控制器、联机、16位机

11110

单步、手动置指令、微程序控制器、联机、16位机

11010

16位机、脱机运算器实验

1XX00

三、仿真终端软件的操作成功运行PCEC16.EXE的界面

四、实验示例:

1.用R命令查看寄存器内容或修改寄存器的内容

1)在命令行提示符状态下输入:

R↙;显示寄存器的内容

注:

寄存器的内容在运行程序或执行命令后会发生变化。

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

RR0↙:

修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可由一个或数个空格

主机显示:

寄存器原值:

_

在该提示符下输入新的值0036

再用R命令显示寄存器的内容,则R0的内容变为0036。

测试结果如下图:

3.用命令修改保存器内容

在命令提示符状态下输入:

E2000↙

屏幕显示:

2000地址单元的原有内容:

光标闪烁等待输入

输入0000

依次改变地址单元2001~2005的内容为:

11112222333344445555

注意:

用E命令连续修改内存单元的值时,每修改完一个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。

5.用A命令花不如一段汇编源程序,主要是想累加器送入数据和进行运算,执行程序并观察运行结果。

1)在命令行提示符状态下输入:

A2000↙:

表示该程序从2000H(内存RAM区的起始地址)地址开始

屏幕将显示:

2000:

输入如下形式的程序:

2000:

MVRDR0,AAAA;MVRD与R0之间有且只有一个空格,其他指令相同

2002:

MVRDR1,5555

2004:

ADDRO,R1

2005:

ANDR0,R1

2006:

RET;程序的最后一个语句,必须为RET指令

2007:

(直接敲回车键,结束A命令输入程序的操作过程)

若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。

2)用U命令反汇编刚输入的程序

在命令行提示符状态下输入:

U2000↙

在相应的地址会得到输入的指令及其操作码

注:

连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。

3)用G命令运行前面键入的源程序

G2000↙

程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为5555H,说明程序运行正确。

4)用P或T命令,但不执行这段程序,观察指令执行结果

在命令行提示符状态下输入:

T2000↙

寄存器R0被赋值为AAAAH

T↙

寄存器R1被赋值为5555H

T↙

做加法运算,和放在R0,R0的值变为FFFFH

T↙

做与运算,结果放在R0,R0的值变为5555H

用P命令执行过程同上

注:

T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序依次执行完成。

T,P命令每次执行后均显示所由通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。

运行结果如下:

例1:

设计一个小程序,从键盘上接收一个字符并在屏幕上数出显示该字符。

<1>在命令行提示符状态下输入:

A2000↓

屏幕将显示:

2000:

输入如下形式的程序:

2000:

IN81:

判断键盘上是否按了建

2001:

SHRR0:

即串行口是否有输入的字符

2002:

SHRR0

2003:

JRNC2000:

未输入完则循环测试

2004:

IN80:

接收该字符

2005:

OUT80↓:

在屏幕上输出显示字符‘6’

2006:

RET↓:

每个用户程序都必须用RET指令结束

2007:

↓:

(按回车即结束输入过程)

注:

在十六位机中,基本I/O接口的地址是确定的,数据口的地址为80,状态口的地址为81。

<2>用“G”命令运行程序

在命令提示符状态下输入:

G2000↓

执行上面输入的程序

光标闪烁等待输入,用户从键盘入字符后,屏幕会显示该字符。

该例建立了一个从主存2000H地址开始的小程序。

这种方式下,所有的数字都约定使用16进制数,故数字后不用跟字符H。

每个用户程序的最后一个语句一定为RET汇编语句。

因为监控程序是用类似子程序调用方式使实验者的程序投入运行的,用户程序只有用RET语句结束,才能保证程序运行结束时能正确返回到监控程序的断点,保证监控程序能继续控制教学机的运行过程。

测试如下图:

五、实验心得

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

计算机学院网络工程专业1班______组、学号

姓名协作者___________教师评定____________

实验题目脱机运算器实验

一、实验目的:

1、深入了解AM2901运算器的功能与具体用法。

2、深化运算器部件的组成、设计、控制与使用等知识。

二、实验设备与器材:

TEC-XP+教学实验系统

三、实验说明和原理:

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

下面先把前边几讲过的,与该实验直接有关的结论性内容汇总如下。

一、12位微型开关的具体控制功能分配如下:

A口,B口地址:

送给AM2901器件用于选择源与目的操作数的寄存器编号:

I8-I0:

选择操作数来源,运算操作功能,选择操作数处理结果和运算器输出内容的3组3位的控制码:

SCI,SSH和SST:

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

二、开关位置说明:

做脱机运算器实验时,要用到提供24位控制信号的微动开关和提供16位数据的拔动开关。

微动开关是红色的,一共有三个,一个微动开关可以提供12位的控制信号,三个开关分别标有SWI1microswitch、SW2microswitch和SW3microswitch;数据开关是黑色的,左边的标有SWH的是高8位,右边的标有SWL的是低8位。

微动开关与控制信号对应关系见表(从左到右):

SW1Microswitch

SW2Microswitch

SW3Microswitch

T3-T0

REQ/MIO/WE

I2-I0

I8-I7

I6-I3

BPORT

APORT

SSTSSHSCI

DC2

DC1

三、开关检测

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

四、实验内容:

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

五、实验步骤:

在脱机方式下,通过设置SW1,SW2,SW3各微码字段和数据开关,可实现多种运算。

以实现AAAAH->R1为例说明操作过程。

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

操作步骤如下:

微动开关

数据开关

I8-I6

I5-I3

I2-I0

SST

SSH

SCi

B

A

D15-D0

011

000

111

001

00

00

0001

不用

AAAAH

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位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志.

运算

I8-I0

SST

SSH

SCI

B

A

压START前

压START后

ALU输出

CZVS

ALU输出

CZVS

*D1+0->R0

0

001

00

00

0000

不用

0101

随机

0101

0000

*D2+0->R1

0

001

00

00

0001

不用

1010

0000

1010

0000

R0+R1->R0

0

001

00

00

0000

0001

1111

0000

2121

0000

R0-R1->R0

0

001

00

01

0000

0001

0101

0000

F0F1

1000

R1-R0->R1

0

001

00

01

0001

0000

0F0F

1000

0E0E

1000

R0VR1->R0

0

001

00

00

0001

0000

0F0F

1000

0F0F

1010

R0R1->R0

0

001

00

00

0000

0001

1010

1010

0101

1010

R0R1->R0

0

001

00

00

0000

0001

1010

1010

0101

1000

(R0R1)->R0

0

001

00

00

0000

0001

FEFE

1000

0E0E

1001

2*R0->R0

1

001

00

00

0000

不用

FEFE

1001

FDFC

0001

R0/2->R0

1

001

00

00

0000

不用

FDFC

0001

7EFE

0001

注:

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

六、思考题:

问题:

分析比较各指令按START键前和按START键后的值,是否有不同并解释。

前后结果有些不同,按”START”按键之前,ALU输出的是计算结果,参照ALU的操作周期的时序可知A,B口数据锁存是在时钟的下降沿,通用寄存器的接收是在低电平,所以要想寄存器接收ALU的计算结果必须按一次”START”按键.

七、实验心得:

了解了AM2901运算器的功能与具体用法并深化运算器部件的组成、设计、控制与使用等知识。

一开始因为不了解按钮的实际作用和功能,一直出现错误的结果,经请教同学再进一步把指导书看懂后,最终实现了本实验的操作。

深刻让我理解到做实验前要好好进行预习工作,上课时认真听老师的讲解和指导,对于遇到自己没办法解决的事可以请教老师或同学,学会对问题的分析,找寻错误的原因,分析遇到的各种现象,判断结果是否正确。

计算机学院网络工程专业班______组、学号

姓名协作者___________教师评定_____________

实验题目存储器部件教学实验

一、实验目的:

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

9、理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。

10、了解静态存储系统使用的各种控制信号之间正常的时序关系。

11、了解如何通过读、写存储器指令实现对58C65ROM芯片的读、写操作。

12、加深理解对存储器部件在计算机整机系统中的作用。

二、实验设备与器材:

TEC-XP+教学计算机

三、实验说明与原理:

1、内存储器原理

内存储器是计算机中存放正在运行中的程序和相关数据的部件。

在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器的存储体,包括唯读存储区和随读写存储区两部分,ROM存储区选用4片长度8位、容易8KB的58C65芯片实现,RAM存储区选用2片长度8位、容量2KB的6116芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:

0-1777h用于第一组ROM,固化监控程序,2000-2777h用于RAM,保存用户程序和用户数据,其高端的一些单元作监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量的教学实验。

地址总线的低13位送到ROM芯片的地址线引脚,用于选择芯片内的一个存储字。

用于实现存储字的高位字节的3个芯片的数据线引脚、实现低位字节的3个芯片的数据线引脚分别连接在一起接到数据总线的高、低位字节,是实现存储器数据读写的信息通路。

数据总线要通过一个双向三态门电路与CPU一侧的内部总线IB相连接,已完成存储器、接口电路和CPU之间的数据通讯。

2、扩展教学机的存储空间

四、实验内容:

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

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

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

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

(2)实验步骤:

1.检查FPGA下方的标有“/CE”的四组插针均是左边两个短接;

2.检查RAM(6116)上方的标有“/WE”的插针应是左边两个短接;

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

RAM中的内容在断电后会消失,重新启动实验机后会发现内存单元的值发生了改变。

1>用E命令改变内存单元的值并用D命令观察结果。

<1>在命令行提示符状态下输入:

E2020↙

屏幕将显示:

2020内存单元原值:

按如下形式键入:

2020原值:

2222(空格)原值:

3333(空格)原值:

4444(空格)原值:

5555*

<2>在命令行提示符状态下输入:

D2020↙

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

2222333344445555

<3>断电后重新启动教学实验机,用D命令观察内存单元2020~2023的值。

会发现原来置入到这几个内存单元的值已经改变,用户在使用RAM时,必须每次断电重新

启动后都要重新输入程序或修改内存单元的值。

0000FFF70000FFFF

2>用A命令输入一段程序,执行并观察结果。

<1>在命令行提示符状态下输入:

A2000↙

屏幕将显示:

2000:

按如下形式键入:

2000:

MVRDR0,AAAA

2002:

MVRDR1,5555

2004:

ANDR0,R1

2005:

RET

2006:

<2>在命令行提示符状态下输入:

T2000↙

R0的值变为AAAAH,其余寄存器的值不变。

R0=AAAA

T↙

R1的值变为5555H,其余寄存器的值不变。

R0=AAAAR1=5555

T↙

R0的值变为0000H,其余寄存器的值不变。

R0=0000

<3>在命令行提示符状态下输入:

G2000

运行输入的程序。

R0=0000R1=5555

<4>在命令行提示符状态下输入:

R↙

屏幕显示:

R0=0000R1=5555R2=…

采用单步和连续两种方式执行一段程序,查看结果,断电后发生什么情况?

答:

断电前,单步和连续结果一样;断电后,单步可以运行,但前后结果不一样,断电后,连续不可运行。

RAM芯片可直接用A命令键入程序,但断电会丢失,要再次调适该程序必须重新输入,对那些较长的程序或经常用到的程序可通过交叉汇编,在上位机生成代码文件,每次加电启动后不用重新输入,只需通过PCEC16将代码文件传送给下位机即可。

4、将扩展的ROM芯片插入标有“EXTROMH”和“EXTROML”的自锁紧插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。

如果芯片插入方向不对,会导致芯片烧毁,然后锁紧插座。

5、将扩展芯片下方的插针按下列方式短接:

将标有“/MWR”和“RD”的三个插针左面两个短接,将标有“/MWR”“/OE”“GND”的三个插针左边两个短接。

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

注意:

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

7、将标有“DataBus15-8”和“DataBus7-0”的数据总线的指示灯下方的插针短接。

8、将标有“DataBus15-8”和“AdressBus7-0”的数据总线的指示灯下方的插针短接。

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

9、EPROM是紫外线可擦除的电可改写的只读存储器芯片。

在对EPROM进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。

<1>将芯片0000~001F的内存单元的值置成0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F

<2>将变成好的芯片插在扩展芯片的高位,低位不插,按上面的提示插好插针。

(1)用D命令看内存单元0000~001F的值。

可以看到内存单元的值为:

01FF02FF03FF04FF~~1FFF。

(2)用E命令向芯片内存单元置值,再用D命令查看,会发现原来的指没有改变;

(3)用A命令向芯片所在的地址渐入程序,用U命令反汇编,会发现地址保持原来的值。

该试验说明,EPOROM不能直接修改和编程,必须先擦除,再通过编程器编程。

(4)将教学其断电后重启,用D命令看内存单元的0000~001F的内容,会发现数值不变,EPROM的内容在断电后会保持。

000100020003000400050006000700080009000A……001E001F

10、AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1毫秒。

因此,需要编写一延迟程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。

1)用E命令改变内存单元的值并用D命令观察结果。

<1>在命令行提示符状态下输入:

E5000↙

屏幕将显示:

5000内存单元原值:

按如下形式键入:

三、原值:

2424(按空格)原值:

3636(按空格)原值:

4848(按空格)原值:

5050↙

<2>在命令行提示符状态下输入:

D5000↙

屏幕将显示5000H—507FH内容单元的值,从5000开始的连续四个内存单元的值依次为2424363648485050.

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

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

下面给出的程序,在5000H—500FH单元中依次写入数据000H、0001H、…00FH。

从2000H单元开始输入主程序:

(2000)MVRDR0,0000

MVRDR2,0010;R2记录循环次数

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

(2006)STRR[R3],R0;将R0寄存器的内容放到

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

当前位置:首页 > 解决方案 > 学习计划

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

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