当前位置:首页 > 计组实验报告
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、了解如何通过读、写存储器的指令实现对58C65 ROM芯片的读、写操作。 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) 在命令行提示符状态下输入: E 2020↙
屏幕将显示: 2020 内存单元原值: 按如下形式键入:
2020 原值:2222 (空格)原值:3333(空格)原值:4444(空格)原值:5555
2) 在命令行提示符状态下输入: D 2020↙
屏幕将显示从2020内存单元开始的值,其中2020H~2023H的值为: 2222 3333 4444 5555
问题:断电后重新启动教学实验机,用D命令观察内存单元2020~2023 的值。会发现什么问题,为什么?
答:断电结果:断电后重新启动教学实验机,用D命令观察内存单位2020~2023的值。会发现原来置入到这几个内存单位的值已经改变,用户在使用RAM时,必须每次断电重启后豆芽平重新输入程序或修改内存单位的值。
(2) 用A 命令输入一段程序,执行并观察结果。 在命令行提示符状态下输入: A 2000↙
屏幕将显示: 2000: 按如下形式键入: 2000: MVRD R0,AAAA MVRD R1,5555 AND R0,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”信号用自锁紧线短接,然后短接到MEMDC 138 芯片的上方的标有“4000-5fff”地址单元。
注意:标有/CS 的圆孔针与标有MEM/CS 的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。
下面以2764A 为例,进行扩展EPROM 实验。
7、EPROM 是紫外线可擦除的电可改写的只读存储器芯片。在对EPROM 进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。
(1) 将芯片0000~001F 的内存单元的值置成01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
(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命令观察结果。 1) 在命令行提示符状态下输入: E 5000↙
屏幕将显示: 5000 内存单元原值: 按如下形式键入:
5000 原值:2424(按空格)原值:3636(按空格)原值:4848(按空格)原值:5050↙ 2) 在命令行提示符状态下输入: D 5000↙
屏幕将显示5000H~507FH 内存单元的值,从5000 开始的连续四个内存单元的值依次 为2424 3636 4848 5050。
3) 断电后重新启动,用D命令察看内存单元5000~5003的值,会发现这几个单元的值没有发生改变,说明EEPROM的内容断电后可保存。
输出结果:
分析:从输出的结果来看断电后重新启动,用D命令察看内存单位500~5003的值,会发现这几个单位的值没有发生改变,说明EEPROM的内容断电后可保存。
(2) AT28C64B存储器不能直接用A 命令输入程序,单字节的指令可能会写进去,双字节指令的低位会出错(建议试一试),可将编写好的程序用编程器写入片内;也可将程序放到RAM(6116)中,调用延时子程序,访问AT28C64B 中的内存地址。
下面给出的程序,在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
共分享92篇相关文档