计算机组成原理实验指导书
转
(208B)RET
从地址2100H开始输入下列程序: (2100)OUT 80
;输出保存在R0寄存器中的字符
;将保存在R0中的大写字母转换为小写字母
;写R0中的字符到内存,地址同LOD所用的地址 ;测试串行接口是否完成输出过程 ;未完成输出过程则循环测试
MVRD R1,0020 ADD R0,R1 STRR [R2],R0
(2105)IN 81
SHR R0 JRNC 2105
RET ;结束子程序执行过程,返回主程序 <2>在命令行提示符状态下输入: G 2080↙
记录屏幕显示的运行结果: <3>在命令行提示符状态下输入:
D 20F0↙
记录20F0H~20F5H内存单元的内容:
【思考题】为什么上面程序中ADD R0,R1可实现大小写字母转换?是如何实现的?将其实现原理写入实验报告。
9
计算机组成原理实验指导书
实验二 存储器部件实验
实验目的
通过看懂教学计算机中已经使用的几个存储器芯片的逻辑连接关系和用于完成存储器容量扩展的几个存储器芯片的布线安排,在教学计算机上设计、实现并调试出存储器容量扩展的实验内容。其最终要达到的目的是:
1.深入理解计算机内存储器的功能、组成知识;
2.深入地学懂静态存储器芯片的读写原理和用他们组成教学计算机存储器系统的方法(即字、位扩展技术),控制其运行的方式; 思考并对比静态存储器芯片和动态存储器芯片在特性与使用场合等方面的异同。
实验说明
教学计算机存储器系统由8K的ROM和2K的RAM两个存储区组成,分别用EPROM芯片(或
EEPROM芯片)和RAM芯片构成。TEC-2000教学计算机中还安排了另外几个存储器器件插座,可以插上相应存储器芯片以完成存储器容量扩展的教学实验,为此必须比较清楚地了解:
1.TEC-2000教学机的存储器系统的总体组成及其连接关系;
2.TEC-2000教学机的有关存储器芯片、I/0接口芯片的片选控制和读写命令的给出及具体使 用办法; 3.RAM和EPROM、EEPROM存储器芯片在读写控制、写入时间等方面的异同,并正确建立连线关系和在程序中完成正确的读写过程;
4.如何在TEC-2000教学机中使用扩展的存储器空间并检查其运行的正确性。
实验内容
1.要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,即将扩展存储器的片 选(标有/CS的2个插孔的上面一个)与标有MEM/CS的插孔中的一个相连; 2.用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM(28系列芯片) EPROM(27系列芯片)在读写上的异同; 3.用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确;
4.用监控程序的A命令编写一段程序,对扩展存储器EEPROM(28系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。
实验要求
1.实验之前,应认真预先准备,写出实验步骤和具体设计内容,否则实验效率会特别低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说学懂了些什么重要教学内容; 2.实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔 细思考实验有关内容,提高学习的主动性和创造性,把自己想不太明白的问题通过实验理解清楚,争取最好的实验效果,力求达到教学实验的主要目的;
3.实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的主要问题以及分析与解决问题的思路。实验报告中,还应写出自己的学习心得和切身体会,也可以对教学实验提出新的建议等。
实验步骤
1.将RAM(6116)右边的两个圆孔针用导线连接起来。
2.6116支持即时读写,可直接用A、E命令向扩展的存储器输入程序或改变内存单元的值。
10
计算机组成原理实验指导书
1)用E命令改变内存单元的值并用D命令观察结果。
<1>在命令行提示符状态下输入:
E 2020↙
屏幕将显示: 2020 内存单元原值:
按如下形式键入:
2020 原值:2222(空格)原值:3333(空格)原值:4444(空格)原值:5555↙ <2>在命令行提示符状态下输入:
D 2020↙
屏幕将显示从2020内存单元开始的值,记录2020H~2023H的值:
<3>断电后重新启动教学实验机,用D命令观察内存单元2020~2023的值,会发现什么
现象?说明了什么道理?
2)用A命令输入一段程序,执行并观察结果。
<1>在命令行提示符状态下输入:
A 2000↙
屏幕将显示: 2000: 按如下形式键入:
2000: MVRD R0,AAAA 2002: MVRD R1,5555 2004: AND R0,R1 2005: RET 2006: ↙
<2>在命令行提示符状态下输入:
T 2000↙ R0=? T↙ R0=?
R1=? R1=?
T↙ R0=? R1=?
<3>在命令行提示符状态下输入:
G 2000↙
运行输入的程序。
<4>在命令行提示符状态下输入:
R↙
屏幕显示: R0=?
R1=?
【思考题】由此可得出什么结论(即RAM芯片具有什么特性)?
3.将扩展的高位ROM芯片(27或28系列)右侧标有/CS的圆孔针与标有MEM/CS的一排圆孔针中地址为4000~5FFF的一个用导线相连;将扩展的低位ROM芯片右侧的两个圆孔针用导线相连。这表示扩展的ROM的内存地址是从4000H开始,可用空间是4000H~5FFFH,用户可在这个范围内输入程序或改变内存单元的值。下面以AN58C65为例,进行扩展EEPROM实验。
4.AN58C65的读操作和RAM一样,而写操作需要一定的时间,大约为1毫秒。因此,需要编写一段延时子程序,在对EEPROM进行写操作时,调用该延时子程序,以完成正确的读写。
11
计算机组成原理实验指导书
1)用E命令改变内存单元的值并用D命令观察结果。
<1>在命令行提示符状态下输入:
E 5000↙
屏幕将显示; 5000 内存单元原值:
按如下形式键入:
5000 原值:2424(空格)原值:3636(空格)原值:4848(空格)原值:5050↙ <2>在命令行提示符状态下输入:
D 5000↙
屏幕将显示5000H~507FH内存单元的值,从5000开始的连续四个内存单元的值依次为2424 3636 4848 5050。
<3>断电后重新启动,用D命令察看内存单元5000~5003的值,观察数值是否发生变化,
说明EEPROM的内容断电后能否保持?
2)AN58C65存储器不能直接用A命令输入程序(建议试一试),可将编写好的程序用编程
器写入片内;也可将程序放到RAM(6116)中,调用延时子程序,访问AN58C65中的
内存地址。
下面给出的程序,在5000H~500FH单元中依次写入数据0000H、0001H、...000FH。 <1>从2000H单元开始输入主程序: (2000)MVRD R0,0000
MVRD R2,0010
MVRD R3,5000 (2006)STRR [R3],R0
CALA 2200 INC R0
;R2记录循环次数
;R3的内容为16位内存地址
;将R0寄存器的内容放到R3给出的内存单元中 ;调用延时子程序 ;R0加1
1NC R3 ;R3加1 DEC R2 ;R2减l JRNZ 2006 ;R2不为0跳转到2006H RET
<2>从2200H单元开始输入延时子程序: (2200)PUSH R3
MVRD R3,000F
(2203)DEC R3
JRNZ 2203
POP R3 RET
<3>运行主程序,在命令提示符下输入:
G 2000↙
<4>程序执行结束后,在命令提示符下输入:
D 5000↙
观察并记录从5000H开始的内存单元的值: 5000: 5008:
【思考题】(1)为何能用E命令直接写AN58C65的存储单元,而A命令则有时不正确?
12
计算机组成原理实验指导书
(2)修改延时子程序,将其延时改短,可将延时子程序中R3的内容赋成00FF或0FFF等,再看运行结果,并记录下来(运行之前,先将5000H开始的十个单元内容清零)。 R3=00FF时:
R3=0FFF时:
3)自行编写一段程序,实现以下功能:将从5000H开始的16个内存单元的值转存至从2050H开始的16个内存单元。
【思考题】以上程序是否需要延时子程序?为什么?
13

