计组实验报告Word文件下载.docx
《计组实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《计组实验报告Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
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
JasonHe>
五、实验结果:
例一:
例二:
六、实验心得:
学会了联机使用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位的控制信号,三个开关分别标有SWI1microswitch、SW2microswitch和SW3microswitch;
数据开关是黑色的,左边的标有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、了解如何通过读、写存储器的指令实现对58C65ROM芯片的读、写操作。
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)在命令行提示符状态下输入:
E2020↙
屏幕将显示:
2020内存单元原值:
按如下形式键入:
2020原值:
2222(空格)原值:
3333(空格)原值:
4444(空格)原值:
5555
2)在命令行提示符状态下输入:
D2020↙
屏幕将显示从2020内存单元开始的值,其中2020H~2023H的值为:
2222333344445555
断电后重新启动教学实验机,用D命令观察内存单元2020~2023的值。
会发现什么问题,为什么?
答:
断电结果:
断电后重新启动教学实验机,用D命令观察内存单位2020~2023的值。
会发现原来置入到这几个内存单位的值已经改变,用户在使用RAM时,必须每次断电重启后豆芽平重新输入程序或修改内存单位的值。
(2)用A命令输入一段程序,执行并观察结果。
在命令行提示符状态下输入:
A2000↙
2000:
2000:
MVRDR0,AAAA
MVRDR1,5555
ANDR0,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”信号用自锁紧线短接,然后短接到MEMDC138芯片的上方的标有“4000-5fff”地址单元。
注意:
标有/CS的圆孔针与标有MEM/CS的一排圆孔针中的任意一个都可以用导线相连;
连接的地址范围是多少,用户可用的地址空间就是多少。
下面以2764A为例,进行扩展EPROM实验。
7、EPROM是紫外线可擦除的电可改写的只读存储器芯片。
在对EPROM进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。
(1)将芯片0000~001F的内存单元的值置成0102030405060708090A0B0C0D0E0F
101112131415161718191A1B1C1D1E1F
(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命令观察结果。
E5000↙
5000内存单元原值:
5000原值:
2424(按空格)原值:
3636(按空格)原值:
4848(按空格)原值:
5050↙
D5000↙
屏幕将显示5000H~507FH内存单元的值,从5000开始的连续四个内存单元的值依次为2424363648485050。
3)断电后重新启动,用D命令察看内存单元5000~5003的值,会发现这几个单元的值没有发生改变,说明EEPROM的内容断电后可保存。
输出结果:
从输出的结果来看断电后重新启动,用D命令察看内存单位500~5003的值,会发现这几个单位的值没有发生改变,说明EEPROM的内容断电后可保存。
(2)AT28C64B存储器不能直接用A命令输入程序,单字节的指令可能会写进去,双字节指令的低位会出错(建议试一试),可将编写好的程序用编程器写入片内;
也可将程序放到RAM(6116)中,调用延时子程序,访问AT28C64B中的内存地址。
下面给出的程序,在5000H~500FH单元中依次写入数据0000H、0001H、...000FH。
从2000H单元开始输入主程序:
(2000)MVRDR0,0000
MVRDR2,0010;
R2记录循环次数
MVRDR3,5000;
R3的内容为16位内存地址
(2006)STRR[R3],R0;
将R0寄存器的内容放到R3给出的内存单元中
CALA2200;
调用程序地址为2200的延时子程序
INCR0;
R0加1
INCR3;
R3加1
DECR2;
R2减1
JRNZ2006;
R2不为0跳转到2006H
从2200H单元开始输入延时子程序:
(2200)PUSHR3
MVRDR3,FFFF
(2203)DECR3
JRNZ2203
POPR3
运行主程序,在命令提示符下输入:
G2000↙。
运行G命令的时候,必须要将将标有“/MWR”“/OE”“GND”的三个插针右边两个短接。
程序执行结束后,在命令提示符下输入:
D5000↙;
可看到从5000H开始的内存单元的值变为
5000:
00000001000200030004000500060007
5008:
00080009000A000B000C000D000E000F。
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)、写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,初步判断你的设计是否正确;
如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。
1、看懂TEC-XP+教学计算机功能组件和线路逻辑关系分析教学计算机已经设计好并正常运行的几条典型指令(ADD、SHR、OUT、MVRD、CALA、RET)的功能、格式、执行流程。
2、设计几条指令的功能、格式、执行流程,并在教学计算机上实现、调试正确。
例如ADC、JRS、JRNS、LDRA等。
3、单条运行指令,查看指令的功能、格式、执行流程。
4、用监控程序的AE命令编写一段小程序,观察运行结果。
用教学计算机以实现的基本指令很扩展指令写程序并运行,测试扩展的指令是否正确。
1.接通教学机电源。
2.将教学机左下方的6个拨动开关置为111100.
3.按一下“RESET”按键。
4.通过16位的数据开关SWH、SWL置入16位的指令操作码。
5.在单步方式下,通过指示灯观察各类型基本指令的节拍。
(1)选择基本指令的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;
(2)选择基本指令的B指令中的PUSH指令,观察其节拍流程:
1)置拨动开关SW=1000010100000000;
节拍指示灯T3~T0显示0110;
6)按START按键;
节拍指示灯T3~T0显示0100;
(3)选择基本指令的D组指令中的CALA指令,观察其节拍流程:
1)置拨动开关SW=1100011000000000;
7)按START按键;
节拍指示灯T3~T0显示0111;
8)按START按键;
节拍指示灯T3~T0显示0101;
6.单步方式下,通过指示灯观察各类基本指令的控制信号。
(1)选择指令的A组指令中的SHR指令,观察其执行过程中控制信号的变化,分析其作用。
(2)选择基本指令的B组指令中的JMPA指令,观察其执行过程中控制信号的变化,分析其作用。
(3)选择基本指令的D组指令中的CALA指令,观察其执行过程中控制信号的变化,分析其作用。
7.在以上几步实验的基础上,选择几条扩展指令,设计出扩展指令的节拍和每拍对应的控制信号。
单步方式下,通过指示灯观察各类扩展指令的节拍
(1)选择扩展指令的A组指令中的RCR指令,观察其节拍流程:
1)置拨动开关SW=0010101100010000;
(2)选择扩展指令的C级指令中的LDRA指令,观察其流程:
1)置拨动开关SW=1110010000000000;
2按RESET按键;
8.设计几条扩展指令的控制信号如下:
(1)选择扩展指令ADC、STC、JRS、LDRX和JMPR。
(2)根据设计的控制信号的表格用ABEL语言编写MACH的逻辑表达式。
(3)将编好的程序MACHC.JED下载到MACH芯片内
1)编写ADC并测试运行:
13、编写并测试JMPR指令:
(3)编写并测试JRS指令
(4)编写并测试LDRX、STRX指令
1、测试LDRX指令
2、测试STRX指令
通过本次实验,看懂教学计算机已经设计好并正常运行的几条典型指令的功能、格式和执行流程,深入理解计算机控制器的功能、组成知识,深入学习计算机各类典型指令的执行流程。
对于指令代码的理解,使自己进一步加深对组合逻辑控制器部件的认识,在操作过程中遇到的问题,能独立的思考并分析原因,从中获益匪浅。
实验五、微程序控制器部件教学实验
1、全面掌握计算机各部件组成及相互联接关系。
2、深入理解计算机微程序控制器的功能、组成知识。
3、深入的学习计算机各类典型指令的执行流程。
4、对指令格