计算机组成原理实验报告全.docx
- 文档编号:11628267
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:37
- 大小:877.53KB
计算机组成原理实验报告全.docx
《计算机组成原理实验报告全.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告全.docx(37页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验报告全
计算机学院13网络工程
(2)班学号:
3113006452
姓名陈聪教师评定
实验题目基础汇编语言程序设计实验
一、实验目的:
(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。
2、用D命令显示存储器内容
在命令行提示符状态下输入:
D2000↙
会显示从2000H地址开始的连续128个字的内容;
连续使用不带参数的D命令,起始地址会自动加128(即80H)。
3.用E命令修改存储器内容
在命令提示符状态下输入:
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命令每次执行后均显示所由通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。
运行结果如下:
G命令:
T命令:
6、举例编写汇编程序,用“A”命令输入,运行并观察结果
例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教学实验系统的指令系统,试着做汇编程序设计,在尝试中发现汇编程序设计的方法,理解指令代码的意义及程序所能实现的功能,并对基础汇编语言程序设计有了初步的了解,增加了自己学习的兴趣和提高了自己的动手操作的能力。
计算机学院13网络工程
(2)班学号:
3113006452
姓名陈聪教师评定
实验题目脱机运算器实验
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
1)将教学机左下方的5个拨动开关置为11XX00(单步,16位,脱机);先按一下”RESET”按键,再按一下”START”按键,进行初始化.
2)通过16个数据开关设置立即数AAAAH。
3)通过SW1、SW2、SW3设置各微码。
2、按一次START键,立即数XXXXH置入R1,通过显示灯查看按START键后的输出。
若要进行其他操作:
(1)程序设置SW1、SW2、SW3数据开关,通过显示灯观察输出。
(2)然后按START键执行操作。
通过显示灯观察按START键后的输出,检查运算结果是否正确。
3、接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:
其中,D1取为0101H,D2取为1010H,通过两个12位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志.
运算
I8-I0
SST
SSH
SCI
B
A
压START前
压START后
ALU输出
CZVS
ALU输出
CZVS
*D1+0->R0
011000111
001
0
00
0000
不用
0101
随机
0101
0000
*D2+0->R1
011000111
001
0
00
0001
不用
1010
0000
1010
0000
R0+R1->R0
011000001
001
0
00
0000
0001
1111
0000
2121
0000
R0-R1->R0
011001001
001
0
01
0000
0001
0101
0000
F0F1
1000
R1-R0->R1
011001001
001
0
01
0001
0000
0F0F
1000
0E0E
1000
R0VR1->R0
011011001
001
0
00
0001
0000
0F0F
1000
0F0F
1010
R0R1->R0
011100001
001
0
00
0000
0001
1010
1010
0101
1010
R0R1->R0
011110001
001
0
00
0000
0001
1010
1010
0101
1000
(R0R1)->R0
011111001
001
0
00
0000
0001
FEFE
1000
0E0E
1001
2*R0->R0
111000011
001
0
00
0000
不用
FEFE
1001
FDFC
0001
R0/2->R0
101000011
001
0
00
0000
不用
FDFC
0001
7EFE
0001
注:
用*标记的运算,表示D1,D2的数据是由拨动开关SW给出的,开关给的是二进制的信号,注意二进制和十六进制间的转换.
六、思考题:
问题:
分析比较各指令按START键前和按START键后的值,是否有不同并解释。
答:
前后结果有些不同,按”START”按键之前,ALU输出的是计算结果,参照ALU的操作周期的时序可知A,B口数据锁存是在时钟的下降沿,通用寄存器的接收是在低电平,所以要想寄存器接收ALU的计算结果必须按一次”START”按键.
七、实验心得:
了解了AM2901运算器的功能与具体用法并深化运算器部件的组成、设计、控制与使用等知识。
一开始因为不了解按钮的实际作用和功能,一直出现错误的结果,经请教同学再进一步把指导书看懂后,最终实现了本实验的操作。
深刻让我理解到做实验前要好好进行预习工作,上课时认真听老师的讲解和指导,对于遇到自己没办法解决的事可以请教老师或同学,学会对问题的分析,找寻错误的原因,分析遇到的各种现象,判断结果是否正确。
计算机学院13网络工程
(2)班学号:
3113006452
姓名陈聪教师评定
实验题目存储器部件教学实验
一、实验目的
●熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。
学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。
●理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。
●了解静态存储器系统使用的各种控制信号之间正常的时序关系。
●了解如何通过读、写存储顺的指令实现对58C65 ROM芯片的读、写操作。
●加深理解存储器部件在计算机整机系统中的作用。
二、实验设备与器材
●TEC-XP+教学实验系统和仿真终端软件PCEC。
三、实验说明和原理
内存储器原理:
内存储器是计算机中存放正在运行中的程序和相关数据的部件。
在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器的存储体,包括唯读存储区和随读写存储区两部分,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之间的数据通讯。
四、实验内容
1)要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意读写和OE等控制信号的正确状态。
2)用监控程序的D、E命令对存储器进行读写操作,比较RAM(3116)、EEPROM(28系列芯片)、EPROM(27系列芯片)在读写上的异同。
3)用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。
4)用监控程序的A命令编写一段程序,对扩展存储器EEPRM(28系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。
五、实验步骤:
1)检查FPGA下方的标有“/CE”的四组插针均是左边两个短接;
2)检查RAM(6116)上方的标有“/WE”的插针应是左边两个短接;
3)RAM(6116)支持即时读写,可直接用A、E命令向扩展的存储器输入程序或改变内存单元的值。
(1)用E命令改变内存单元的值并用D命令观察结果。
断电后重启内存单元的值已经改变:
问题分析:
从输入输出结果可以看出,RAM芯片在断电重启后原先写入的程序都会丢失,需要每次重新执行输入写入程序的过程。
(2)用A命令输入一段程序,执行并观察结果。
截屏如下:
a)单步:
b)连续:
4)将扩展的ROM芯片插入标有“EXTROMH”和“EXTROML”的自锁紧插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。
如果芯片插入方向不对,会导致芯片烧毁,然后锁紧插座。
5)将扩展芯片下方的插针按下列方式短接:
将标有“/MWR”和“RD”的三个插针左面两个短接,将标有“/MWR”“/OE”“GND”的三个插针左边两个短接。
6)将扩展芯片上方标有EXTROMH和EXTROML的“/CS”信号用自锁紧线短接,然后短接到MEMDC 138芯片的上方的标有“4000-5fff”地址单元。
注意:
标有/CS的圆孔针与标有MEM/CS的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。
7)将标有“DataBus 15-8”和“DataBus 7-0”的数据总线的指示灯下方的插针短接。
8)将标有“AdressBus 15-8”和“AdressBus 7-0”的数据总线的指示灯下方的插针短接。
9)EPROM 是紫外线可擦除的电可改写的只读存储器芯片。
在对EPROM进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。
将芯片0000~001F的内存单元的值置为0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F。
截屏如下:
断电重启后的实验结果如下:
分析:
由图可知断电后重启,内存数值没变。
10)AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1毫秒。
因此,需要编写一延迟程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。
a)用E命令改变内存单元的值并用D命令观察结果。
截屏如下:
b)
分析:
有上述结果可以知道从5000H开始的内存值被程序修改,同时运行时可以看到程序有延迟,这是由于地址为2200开始的子程序代码决定的,当将子程序中R3的内容修改为00FF后运行结果仍正确,但延迟时间有变化。
六、实验思考与心得
能用E命令直接写AT28C64B的存储单元,而不用A命令,修改延时子程序,将其延时改短,可将延时子程序中的R3的内容赋成00FF或0FFF等,再看运行结果时,发现因为当写入双字节指令的低位时会出错,这也是不能用A命令而只能用E命令去写存储单元的原因。
计算机学院13网络工程
(2)班学号:
3113006452
姓名陈聪教师评定
实验题目组合逻辑控制器部件教学实验
一、实验目的
通过看懂教学计算中已经设计好并正常运行的几条典型指令的功能、格式和执行流程,然后自己设计几条指令的功能、格式、和执行流程,并在教学计算机上实现、调试正确。
其最终要达到的目的是:
●深入理解计算机控制器的功能、组成知识。
●深入地学习计算机各类典型指令的执行流程。
●指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念。
●学习组合逻辑控制器的设计过程和相关技术
二、实验设备与器材
●TEC-XP+教学实验系统和仿真终端软件PCEC。
三、实验说明和原理
控制器设计是学习计算机总体组成和设计的最重要部分。
要在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)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。
四、实验内容
1)完成控制器部件的教学实验,主要内容是由学生自己设计几条指令的功能、格式和执行流程,并在教学机上实现、调试正确。
2)首先是看懂TEC-XP教学机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运行的几条典型指令的功能、格式和执行流程。
3)设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。
4)单条运行指令。
查看指令的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验 报告