实验三 内存储器部件实验
一、实验目的
1、通过学习TEC-2000教学计算机的存储器系统,深入理解计算机主存储器的功能和组成; 2、学习和理解只读存储器、静态存储器芯片的读写原理,掌握计算机存储器系统的扩展方法。
二、实验说明
TEC-2000教学计算机存储器系统由ROM和RAM两个存储区组成。ROM存储区由2个EEPROM芯片58C65(8192×8)组成,容量为8192×16。RAM存储区由2个RAM芯片6116(2048×8)组成,容量为2048×16。TEC-2000教学计算机中还预留了2个存储器芯片插座,可以插上相应存储器芯片进行存储器容量扩展的教学实验。
CPU MEMQ A15 A14 A13 A12 A11 A10 ∶ A0 +5V 74LS138 G1 Y0 G2A Y1 G2B Y2 Y3 C Y4 B Y5 A Y6 Y7 0000H~ 2000H~ 4000H~ 6000H~ 8000H~ A000H~ C000H~ E000H~ A12 A11 „„ A0 CS A12 A11 „„ A0 CS OE A10 „„ A0 OE ROM D7 „„ D0 D15 ∶ D8 D7 ∶ D0 RD WR OE ROM D7 „„ D0 RAM D7 „ D0 CS WR OE A10 „„ A0 RAM D7 „ D0 CS WR TEC-2000教学计算机存储器系统组成结构图
三、实验内容
1、完成存储器容量扩展实验,为扩展存储器选择一个地址,注意读写和/OE等控制信号的正确状态; 2、用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM(58系列)存储特性的区别以及在读写上的差异; 3、用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。
四、实验步骤
1、RAM实验
RAM(6116)支持随机读写操作,可直接用A、E命令向存储器输入程序或改变存储单元的值。RAM中的内容在断电后会消失,重新启动教学机后会发现存储单元的值发生了改变。
1)用E命令改变内存单元的值并用D命令观察结果。
⑴ 在命令行提示符状态下输入: E 2020↙
屏幕显示2020 内存单元原值。按如下形式键入: 2222(空格)3333(空格)4444(空格)5555 ⑵ 在命令行提示符状态下输入: D 2020↙
观察屏幕显示的从2020内存单元开始的值。
1
⑶ 断电后重新启动教学实验机,用D命令观察内存单元2020-2023的值。
2
2)用A命令输入一段程序,执行并观察结果。
⑴ 在命令行提示符状态下输入: A 2000↙
键入如下汇编程序: 2000:MVRD R0, AAAA 2002:MVRD R1, 5555 2004:AND R0, R1 2005:RET 2006
⑵ 在命令行提示符状态下输入: U 2000↙
观察屏幕显示的内容。
⑶ 在命令行提示符状态下输入: T 2000↙
观察寄存器R0、R1的值。 T↙
观察寄存器R0、R1的值。 T↙
观察寄存器R0、R1的值。 ⑷ 在命令行提示符状态下输入: G 2000↙
⑸ 运行输入程序。在命令行提示符状态下输入:
R↙
观察寄存器R0、R1的值。
⑹ 断电后重新启动教学实验机,用U命令观察内存单元2000开始的内容。
3
2、扩展EPROM实验 将扩展EPROM芯片(HN 58C65)插入标有“EXTROMH”和“EXTROML”的插座(注意芯片与插座的半圆形缺口方向相同);将2个插座右下方标有“/CS”的2个圆孔中的一个(内部已相连),与标有“MEM/CS”的一排圆孔中(存储器译码输出端)地址为“4000-5FFF”的圆孔用导线相连,表示扩展的EPROM的内存地址从4000H开始,可用空间是4000H-5FFFH,用户可在这个范围内输入程序或改变内存单元的值。
每个ROM插座的两边有4组插针,需根据选用的存储器芯片类型正确连接: ⑴ 将有“VCC∕MWR”的3个插针的上面2个短接; ⑵ 将标有“A11∕MWR”的3个插针的上面2个短接; ⑶ 将标有“27”的2个插针断开;
⑷ 将标有“/MRD GND”的3个插针的上面2个短接。
1)用D命令观察地址从4000开始的内存单元的值。
2)用E命令改变地址从4000开始的4个内存单元的值,并用D命令观察结果。
3)断电后重新启动教学实验机,用D命令观察地址从4000开始的4个内存单元的值。
4
3、扩展EEPROM实验
HN 58C65的读操作和普通的RAM相同,但其写操作的完成需要较长的时间,大约为1毫秒。因此,需要编写一延迟子程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。
1)将有“VCC∕MWR”的3个插针的下面2个短接。 2)用D命令观察地址从4000开始的内存单元的值。
5
3)用E命令改变地址从4000开始的4个内存单元的值,并用D命令观察结果。
6
4)断电后重新启动教学实验机,用D命令观察地址从4000开始的4个内存单元的值。
7
5)HN58C65存储器不能直接用A命令输入程序,单字的指令可能会写进去,双字指令的低位会出错(建议试一试),可将编写好的程序放到RAM(6116)中,访问HN58C65的内存单元时调用延时子程序。
下面的程序,在5000H-500FH单元中依次写入数据0000H、0001H、„000FH。 从2000H单元开始输入主程序: (2000)MVRD R0,0000 MVRD R2,0010 ;R2记录循环次数 MVRD R3,5000 ;R3的内容位16位内存
;地址
(2006)STRR [R3],R0 ;将R0寄存器的内容放到
;R3给出的内存单元中
CALA 2200 ;调用程序地址为2200的
;延时子程序
INC R0 ;R0加1 INC R3 ;R3加1 DEC R2 ;R2减1 JRNZ 2006 ;R2不为0跳转到2006H RET
从2200H单元开始输入延时子程序: (2200)PUSH R3
MVRD R3,FFFF (2203)DEC R3 JRNZ 2203 POP R3 RET
运行主程序,在命令提示符下输入:G 2000↙ 程序执行结束后,在命令提示符下输入:D 5000↙ 可看到从5000H开始的内存单元的值变为:
5000:0000 0001 0002 0003 0004 0005 0006 0007 5008:0008 0009 000A 000B 000C 000D 000E 000F。
8
9