广工计算机组成原理实验.docx
- 文档编号:5522639
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:30
- 大小:889.42KB
广工计算机组成原理实验.docx
《广工计算机组成原理实验.docx》由会员分享,可在线阅读,更多相关《广工计算机组成原理实验.docx(30页珍藏版)》请在冰点文库上搜索。
广工计算机组成原理实验
计算机学院网络工程专业班______组、学号
姓名协作者___________教师评定
实验题目基础汇编语言程序设计
一、实验目的:
(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、实验目的:
1、深入了解AM2901运算器的功能与具体用法。
2、深化运算器部件的组成、设计、控制与使用等知识。
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运算器所需的控制信号的设置,使之完成运算,并核对运算结果。
5、实验步骤:
在脱机方式下,通过设置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
011000111
001
00
00
0000
不用
0101
随机
0101
0000
*D2+0->R1
011000111
001
00
00
0001
不用
1010
0000
1010
0000
R0+R1->R0
011000001
001
00
00
0000
0001
1111
0000
2121
0000
R0-R1->R0
011001001
001
00
01
0000
0001
0101
0000
F0F1
1000
R1-R0->R1
011001001
001
00
01
0001
0000
0F0F
1000
0E0E
1000
R0VR1->R0
011011001
001
00
00
0001
0000
0F0F
1000
0F0F
1010
R0R1->R0
011100001
001
00
00
0000
0001
1010
1010
0101
1010
R0R1->R0
011110001
001
00
00
0000
0001
1010
1010
0101
1000
(R0R1)->R0
011111001
001
00
00
0000
0001
FEFE
1000
0E0E
1001
2*R0->R0
111000011
001
00
00
0000
不用
FEFE
1001
FDFC
0001
R0/2->R0
101000011
001
00
00
0000
不用
FDFC
0001
7EFE
0001
注:
用*标记的运算,表示D1,D2的数据是由拨动开关SW给出的,开关给的是二进制的信号,注意二进制和十六进制间的转换.
六、思考题:
问题:
分析比较各指令按START键前和按START键后的值,是否有不同并解释。
前后结果有些不同,按”START”按键之前,ALU输出的是计算结果,参照ALU的操作周期的时序可知A,B口数据锁存是在时钟的下降沿,通用寄存器的接收是在低电平,所以要想寄存器接收ALU的计算结果必须按一次”START”按键.
七、实验心得:
了解了AM2901运算器的功能与具体用法并深化运算器部件的组成、设计、控制与使用等知识。
一开始因为不了解按钮的实际作用和功能,一直出现错误的结果,经请教同学再进一步把指导书看懂后,最终实现了本实验的操作。
深刻让我理解到做实验前要好好进行预习工作,上课时认真听老师的讲解和指导,对于遇到自己没办法解决的事可以请教老师或同学,学会对问题的分析,找寻错误的原因,分析遇到的各种现象,判断结果是否正确。
计算机学院网络工程专业班______组、学号
姓名协作者___________教师评定_____________
实验题目存储器部件教学实验
1、实验目的:
8、熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处;学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。
9、理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。
10、了解静态存储系统使用的各种控制信号之间正常的时序关系。
11、了解如何通过读、写存储器指令实现对58C65ROM芯片的读、写操作。
12、加深理解对存储器部件在计算机整机系统中的作用。
2、实验设备与器材:
TEC-XP+教学计算机
3、实验说明与原理:
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、扩展教学机的存储空间
4、实验内容:
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内存单元原值:
按如下形式键入:
3、原值:
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。
从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验