计组实验报告 2.docx
《计组实验报告 2.docx》由会员分享,可在线阅读,更多相关《计组实验报告 2.docx(31页珍藏版)》请在冰点文库上搜索。
计组实验报告2
计算机组成原理实验报告
课程名称计算机组成原理实验
学院计算机学院
专业班级计算机科学与技术
学号
学生姓名
指导教师
2015年5月19日
计算机学院学号:
姓名教师评定
实验题目基础汇编语言程序设计实验
一、实验目的:
1、学习和了解TEC-XP+教学实验监控命令的用法;
2、学习和了解TEC-XP+教学实验系统的指令系统;
3、学习简单的TEC-XP+教学实验系统汇编程序设计
二、实验设备与器材:
工作良好的PC机; 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芯插头接在TEC-XP+实验箱上的串口"COM1"或"COM2"上,另一端接到PC机的串口上;
5、将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,再找个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),
6、控制开关的功能在开关上、下方有标识;开关拨向上方表示"1",拨向下方表示"0","X"表示任意,其他实验相同;
7、打开电源,船型开关盒5V电源指示灯亮;
在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为"1"或"2",其他的设置一般不用改动,直接回车即可;(8)按一下"RESET"按键,再按一下"START"按键,六、思考题:
思考题:
若把IN81,SHRR0,JRNC2028三个语句换成4个MVRRR0,R0语句,该程序执行过程会出现什么现象?
试分析并实际执行一次。
答:
该程序改变这三条语句后,若用T命令单条执行,会依次显示0~9十个数字。
若用G命令运行程序,程序执行速度快,端口输出速度慢,这样就会跳跃输出。
七、实验心得:
对汇编基本指令的学习,让我对汇编语言以及嵌入式系统方向产生了兴趣,并且通过汇编语言的学习,发现在高级语言中简单的加法或变量申请,在底层实现的过程是相当复杂的。
使用汇编语言直接控制硬件,让我们亲身感受到一个简单的指令操作硬件时,硬件所发生的变化,貌似回到了70年代的计算机学习一样,而且在实验一的学习过程中,懂得了一些基于实验箱的汇编小程序,与单片机的使用有很多相似之处,十分有趣。
另外,实验一过程中使用绝对地址,直接访问内存的数据,让我们脱离操作系统的封装,更好地体会到直接控制硬件的感觉。
然而,对于大程序的编写,基本的汇编语言的编程难度比起高级语言高了不少,但汇编的学习的确促进了我们对计算机的认识。
计算机学院学号:
姓名教师评定
实验题目脱机运算器实验
一、实验目的:
1、深入了解AM2901运算器的功能与具体用法;
2、深化运算器部件的组成、设计、控制与使用等知识。
二、实验设备与器材:
TEC-XP+教学实验系统和仿真终端软件PCEC。
三、实验说明和原理:
本次实验脱离PC端,主要通过实验箱进行。
因此这个实验更像数据逻辑的电路实验。
脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。
四、实验内容:
在脱机方式下,对于给定指令分析其执行过程中运算的步骤,通过对AM2901运算器反需控制信号的设置,使之完成运算,并核对运算结果。
五、实验步骤:
在脱机方式下,通过设置SW1、SW2、SW3各微码字段和数据开关,可实现多种运算,以实现AAAAH->R1为例说明操作过程。
1)按照下表中的微码和数据开关,对运算器进行设置。
操作步骤如下:
微动开关
数据开关
I8-I6
I5-I3
I2-I0
SST
SSH
SCi
B
A
D15-D0
011
000
111
011
00
00
0001
不用
AAAAH
a)将教学机左下方的6个拨动开关置为1XX000(单步、16位、脱机、CACH);先按一下RESTET按键,再按一下START按键,进行初始化。
b)通过16个数据开关设置立即数AAAAH。
c)通过SW1、SW2、SW3设置各微码。
d)按一次START键,立即数XXXXH置入R1,通过显示灯察看按START键后的输出。
若要进行其它操作:
a)重新设置SW1、SW2、SW3、数据开关,通过显示灯观察输出。
b)然后按START键执行操作,通过显示灯观察按下START键后的输出,检查运算结果是否正确。
2)完成下表的各种运算,记录按START键前和按START键后的ALU输出及标志位C、Z、V、S的值。
运算
I8—I0
SST
SSH
SCi
B
A
压STEP前
压STEP后
ALU输出
CZVS
ALU输出
CZVS
D1+0—>R0
011000111
001
00
00
0000
不用
01h
随机
01h
0000
D2+0—>R1
011000111
001
00
00
0001
不用
10h
0000
10h
0000
R0+R1—>R0
011000001
00l
00
00
0000
0001
11h
0000
21h
0000
R0-R1—>R0
011001001
001
00
0l
0000
0001
01t1
0000
F1h
1000
R1-R0—>R1
011001001
001
00
0l
000l
0000
0Fh
1000
0Eh
1000
R0∨Rl—>R0
011011001
001
00
00
0001
0000
0FH
1000
0EH
1000
R0∧R1—>R0
011100001
001
00
00
0000
0001
01H
1000
01H
1000
R0∨2Rl—>R0
011110001
001
00
00
0000
0001
0EH
1000
01H
1000
¬(R0∨R1)—>R0
011111001
001
00
00
0000
000l
FEH
1000
0EH
1001
2*R0—>R0
111010011
001
00
00
0000
不用
FEH
100l
FCH
0001
R0/2—>0
101000011
001
00
00
0000
不用
FCH
0001
7EH
0001
六、思考题以及实验心得:
初步了解运算器芯片Am2901的结构,本次实验初步知道它能实现R+S、S-R、R-S三种算术运算功能,和五种逻辑运算功能。
选择ALU的八种运算(三种算术运算、五种逻辑运算)功能中的一种。
是通过三位功能选择码I5、I4、I3实现。
选择送入ALU的两个操作数据R和S的组合关系(数据来源)。
是用I2、I1、I0三位操作数选择码控制实现的。
选择运算结果或有关数据以什么方式送往何处,这主要指通用寄存器组和Q寄存器执不执行接收操作或移位操作,以及向芯片的输出信息Y提供的是什么内容。
这是通过I8、I7、I6三位结果选择码控制实现的。
因此我们通过了解AM2901运算器的逻辑功能,懂得通过查表用指令微码来实现一些简单的逻辑功能.
计算机学院学号:
姓名教师评定
实验题目存储器部件教学实验
一、实验目的:
1、熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。
学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。
2、理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。
3、了解静态存储器系统使用的各种控制信号之间正常的时序关系。
4、了解如何通过读、写存储顺的指令实现对58C65ROM芯片的读、写操作。
5、加深理解存储器部件在计算机整机系统中的作用。
二、实验设备与器材:
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命令向扩展的存储器输入程序或改变内存单元的值。
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”的数据总线的指示灯下方的插针短接。
9)EPROM是紫外线可擦除的电可改写的只读存储器芯片。
在对EPROM进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。
10)AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1毫秒。
因此,需要编写一延迟程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。
六、实验心得:
能用E命令直接写AT28C64B的存储单元,而不用A命令,修改延时子程序,将其延时改短,可将延时子程序中的R3的内容赋成00FF或0FFF等,再看运行结果时,发现因为当写入双字节指令的低位时会出错,这也是不能用A命令而只能用E命令去写存储单元的原因。
计算机学院学号:
姓名教师评定
实验题目组合逻辑控制器部件教学实验
一、实验目的:
通过看懂教学计算中已经设计好并正常运行的几条典型指令的功能、格式和执行流程,然后自己设计几条指令的功能、格式、和执行流程,并在教学计算机上实现、调试正确。
其最终要达到的目的是:
l1、深入理解计算机控制器的功能、组成知识。
l2、深入地学习计算机各类典型指令的执行流程。
l3、令格式、寻址方式、指令系统、指令分类等建立具体的总体概念。
l4、学习组合逻辑控制器的设计过程和相关技术
二、实验设备与器材:
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)单条运行指令。
查看指令的功能、格式和执行流程。
5)用监控程序的A、E命令编写一段小程序,观察运行结果。
五、实验步骤:
1)接通教学机电源。
2)将教学机左下方的6个拨动开关置为111100.
3)按一下“RESET”按键。
4)通过16位的数据开关SWH、SWL置入16位的指令操作码。
5)在单步方式下,通过指示灯观察各类型基本指令的节拍。
a)选择基本指令的A组指令中的ADD指令,观察其节拍流程:
1)、置拨动开关SW=0000000000000001;2)、按RESET按键;节拍指示灯T3~T0显示1000;3)、按START按键;节拍指示灯T3~T0显示0000;4)、按START按键;节拍指示灯T3~T0显示0010;5)、按START按键;节拍指示灯T3~T0显示0011;
b)选择基本指令的B指令中的PUSH指令,观察其节拍流程:
c)1)、置拨动开关SW=1000010100000000;2)、按RESET按键;节拍指示灯T3~T0显示1000;3)、按START按键;节拍指示灯T3~T0显示0000;4)、按START按键;节拍指示灯T3~T0显示0010;5)、按START按键;节拍指示灯T3~T0显示0110;6)、按START按键;节拍指示灯T3~T0显示0100;
d)选择基本指令的D组指令中的CALA指令,观察其节拍流程:
e)1)、置拨动开关SW=1100011000000000;2)、按RESET按键;节拍指示灯T3~T0显示1000;3)、按START按键;节拍指示灯T3~T0显示0000;4)、按START按键;节拍指示灯T3~T0显示0010;5)、按START按键;节拍指示灯T3~T0显示0110;6)、按START按键;节拍指示灯T3~T0显示0100;7)、按START按键;节拍指示灯T3~T0显示0111;8)、按START按键;节拍指示灯T3~T0显示0101;
6)单步方式下,通过指示灯观察各类基本指令的控制信号。
a)选择指令的A组指令中的SHR指令,观察其执行过程中控制信号的变化,分析其作用。
节拍
指令
编码
/MIO
REQ
/WE
A
B
Sci
SSH
I8-6
I5-3
I2-0
SST
DC1
DC2
1000
1
0
0
0101
0101
01
0
011
001
001
000
000
111
0000
1
0
0
0101
0101
01
0
010
000
011
000
000
011
0010
0
0
1
0000
0000
00
0
001
000
000
000
000
001
0011
SHR
00001001
1
0
0
0000
0001
00
0
101
000
011
101
000
000
b)选择基本指令的B组指令中的JMPA指令,观察其执行过程中控制信号的变化,分析其作用。
节拍
指令
编码
/MIO
REQ
/WE
A
B
Sci
SSH
I8-6
I5-3
I2-0
SST
DC1
DC2
1000
1
0
0
0101
0101
01
0
011
001
001
000
000
111
0000
1
0
0
0101
0101
01
0
010
000
011
000
000
011
0010
0
0
1
0000
0000
00
0
001
000
000
000
000
001
0110
JMPA
1000
0000
1
0
0
0101
0101
01
0
010
000
011
000
000
011
0100
JMPA
1000
0000
0
0
1
0000
0101
00
0
011
000
111
000
000
000
c)选择基本指令的D组指令中的CALA指令,观察其执行过程中控制信号的变化,分析其作用。
节拍
指令
编码
/MIO
REQ
/WE
A
B
Sci
SSH
I8-6
I5-3
I2-0
SST
DC1
DC2
1000
1
0
0
0101
0101
01
0
011
001
001
000
000
111
0000
1
0
0
0101
0101
01
0
010
000
011
000
000
011
0010
CALA
1100
1110
0
0
1
0000
0000
00
0
001
000
000
000
000
001
0110
CALA
1100
1110
1
0
0
0101
0101
01
0
010
000
011
000
000
011
0100
CALA
1100
1110
0
0
1
0000
0000
00
0
000
000
111
000
000
000
0111
CALA
1100
1110
1
0
0
0000
0100
00
0
011
001
011
000
000
011
0101
CALA
1100
1110
0
0
0
0101
0101
00
0
010
000
010
000
001
000
7)在以上几步实验的基础上,选择几条扩展指令,设计出扩展指令的节拍 和每拍对应的控制信号。
a)选择扩展指令的A组指令中的RCR指令,观察其节拍流程:
1)、置拨动开关SW=00101011 00010000; 2)、按RESET按键;节拍指示灯T3 ~T0显示1000; 3)、按START按键;节拍指示灯T3~T0显示0000; 4)、按START按键;节拍指示灯T3~T0显示0010; 5)、按START按键;节拍指示灯T3~T0显示0011;
b)选择扩展指令的C级指令中的LDRA指令,观察其流程:
1)、置拨动开关SW=11100100 00000000; 2)、按RESET按键;节拍指示灯T3 ~T0显示1000; 3)、按START按键;节拍指示灯T3~T0显示0000; 4)、按