一、实验目的

熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。

理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。

了解静态存储器系统使用的各种控制信号之间正常的时序关系。

了解如何通过读、写存储顺的指令实现对58C65 ROM芯片的读、写操作。

加深理解存储器部件在计算机整机系统中的作用。

二、实验设备与器材

~~~~ 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之间的数据通讯。

四、实验内容

要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意 读写和OE等控制信号的正确状态。

用监控程序的D、E命令对存储器进行读写操作,比较RAM(3116)、EEPROM(28系列芯片)、EPROM(27系列芯片)在读写上的异同。

用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。

用监控程序的A命令编写一段程序,对扩展存储器EEPRM(28系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。

五、实验步骤与截图

检查FPGA下方的标有“/CE”的四组插针均是左边两个短接;

检查RAM(6116)上方的标有“/WE”的插针应是左边两个短接;

RAM(6116)支持即时读写,可直接用A、E命令向扩展的存储器输入程序或改变内存单元的值。RAM中的内容在断电后会消失,重新启动实验机后会发现内存单元的值发生了改变。

1>用E命令改变内存单元的值并用D命令观察结果。

<1>在命令行提示符状态下输入:

E 2020↙

屏幕将显示: 2020 内存单元原值:

按如下形式键入:

2020 原值:2222(空格)原值:3333(空格)原值:4444(空格)原值:5555*

<2>在命令行提示符状态下输入:

D2020↙

屏幕将显示从2020内存单元开始的值,其中2020H~2023H的值为:

2222 3333 4444 5555

<3>断电后重新启动教学实验机,用D命令观察内存单元2020~2023的值。

会发现原来置入到这几个内存单元的值已经改变,用户在使用RAM时,必须每次断电重新

启动后都要重新输入程序或修改内存单元的值。

0000 FFF7 0000 FFFF

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的值变为AAAAH,其余寄存器的值不变。

R0=AAAA

T↙

R1的值变为5555H,其余寄存器的值不变。

R0=AAAA R1=5555

T↙

R0的值变为0000H,其余寄存器的值不变。

R0=0000

<3>在命令行提示符状态下输入:

G 2000

运行输入的程序。

R0=0000 R1=5555

<4> 在命令行提示符状态下输入:

R↙

屏幕显示:

R0=0000 R1=5555 R2=…

采用单步和连续两种方式执行一段程序,查看结果,断电后发生什么情况?

答:断电前,单步和连续结果一样;断电后,单步可以运行,但前后结果不一样,断电后,连续不可运行。

~~~~~ RAM芯片可直接用A命令键入程序,但断电会丢失,要再次调适该程序必须重新输入,对那些较长的程序或经常用到的程序可通过交叉汇编,在上位机生成代码文件,每次加电启动后不用重新输入,只需通过PCEC16将代码文件传送给下位机即可。

将扩展的ROM芯片插入标有“EXTROMH”和“EXTROML”的自锁紧插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。

~~~~~ 如果芯片插入方向不对,会导致芯片烧毁,然后锁紧插座。

将扩展芯片下方的插针按下列方式短接:将标有“/MWR”和“RD”的三个插针左面两个短接,将标有“/MWR”“/OE”“GND”的三个插针左边两个短接。

将扩展芯片上方标有EXTROMH和EXTROML的“/CS”信号用自锁紧线短接,然后短接到MEMDC 138芯片的上方的标有“4000-5fff”地址单元。

~~~~~ 注意:标有/CS的圆孔针与标有MEM/CS的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。

将标有“DataBus 15-8”和“DataBus 7-0”的数据总线的指示灯下方的插针短接。

将标有“DataBus 15-8”和“AdressBus 7-0”的数据总线的指示灯下方的插针短接。

下面以2764A为例,进行扩展EPROM实验。

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的值。可以看到内存单元的值为:01FF 02FF 03FF 04FF~~1FFF。

(2)用E命令向芯片内存单元置值,再用D命令查看,会发现原来的指没有改变;

(3)用A命令向芯片所在的地址渐入程序,用U命令反汇编,会发现地址保持原来的值。该试验说明,EPOROM不能直接修改和编程,必须先擦除,再通过编程器编程。

(4)将教学其断电后重启,用D命令看内存单元的0000~001F的内容,会发现数值不变,EPROM的内容在断电后会保持。

0001 0002 0003 0004 0005 0006 0007 0008 0009 000A……001E 001F

AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1毫秒。因此,需要编写一延迟程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。

1)用E命令改变内存单元的值并用D命令观察结果。

<1>在命令行提示符状态下输入:

E 5000↙

屏幕将显示: 5000 内存单元原值:

按如下形式键入:

一、原值:2424(按空格)原值:3636(按空格)原值:4848(按空格)原值: 5050↙

<2>在命令行提示符状态下输入:

D 5000↙

屏幕将显示5000H—507FH内容单元的值,从5000开始的连续四个内存单元的值依次为 2424 3636 4848 5050.

<3>断电后重新启动,用D命令观察看内存单元5000—5003的值,会发现这四个单元的值没有发生改变,说明EEPROM的内容断电后可保存。

2)AT28C64B 存储器不能直接用A命令出入程序,单字节的指令可能会写进去,双字节指令的低位会出错(建议试一试),可将编写好的程序用编程器写入片内;也可以将程序放到RAM(6116)中,调用延时子程序,访问AT28C64B中的内存地址。

下面给出的程序,在5000H—500FH单元中依次写入数据000H、0001H、…00FH。

从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单元开始输入延时子程序:

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

六、实验思考题

思考:

1)为何能用E命令直接写58C65的存储单元,而A命令则有时不正确.

~~~~ 能用E命令直接写AT28C64B的存储单元,而不用A命令,修改延时子程序,将其延时改短,可将延时子程序中的R3的内容赋成00FF或0FFF等,再看运行结果时,发现因为当写入双字节指令的低位时会出错,这也是不能用A命令而只能用E命令去写存储单元的原因。

2)将延时改短,将程序中的R3的内容赋成00FF,再看运行结果。

7实验心得

~~~~ 此次试验需要连线,需要检查试验室内线的好坏,为试验前期准备.通过本次实验,我熟悉了ROM芯片和RAM芯片在功能和使用方法的差异之处,学习了用编程EEPROM芯片内写入一批数据的过程和方法。通过不断的操作,通过自身的思考,我理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案,编程过程需要思考指令的执行过程,锻炼了自身的编程能力,完善了自身的能力.

计算机组成原理实验三思考题,计算机组成原理实验三:存储器部件教学实验相关推荐

  1. 计算机组成原理实验存储器部件实验,计算机组成原理实验_存储器部件教学实验...

    实验题目存储器部件教学实验 一.实验目的: 1. 熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处.学 习用编程器设备向EEPROM芯片内写入一批数据的过程和方法. 2. 理解并熟悉通 ...

  2. 计算机组成原理实验报告JMPR,计算机组成原理实验四:组合逻辑控制器部件教学实验...

    一.实验目的 ~~~~ 通过看懂教学计算中已经设计好并正常运行的几条典型指令的功能.格式和执行流程,然后自己设计几条指令的功能.格式.和执行流程,并在教学计算机上实现.调试正确.其最终要达到的目的是: ...

  3. 计算机网络实验三思考题题目,清华大学出版社-图书详情-《计算机网络习题与实验指导》...

    [3]前言本书是与<计算机网络技术>(周奇等编著,清华大学出版社)配套的习题和实验指导,定位在本科教学中使用,共分为8章,每章分别与<计算机网络技术>的内容相对应.每章都由三个 ...

  4. 广工计算机组成原理实验,广工计算机组成原理实验(一二三四五六七九).pdf

    自动化学院 电气信息类专业 1 班 学号 3112010511 姓名 张仕诚 协作者___________ 教师评定 实验题目 基础汇编语言程序设计 一.实验目的: (1)学习和了解TEC-XP+教学 ...

  5. 广工计算机组成原理实验,广工计算机组成原理实验(一二三四五六七九)

    张宇华版的报告 自动化学院 电气信息类专业 1 班 学号 3112010511 姓名 张仕诚 协作者___________ 教师评定 实验题目 基础汇编语言程序设计 一.实验目的: (1)学习和了解T ...

  6. 计算机控制实验ppt模板,计算机控制技术实验课件.ppt

    计算机控制技术实验课件.ppt 计算机控制技术实验课件,易杰,目录,实验一模数.数模转换实验实验二多路模拟信号AD.DA转换实验实验三采样实验实验四保持器实验实验五积分分离PID控制实验,实验一模数. ...

  7. 计算机使用维护教程,《计算机使用与维护教程》教学大纲.doc

    <计算机使用与维护教程>教学大纲 <计算机使用与维护教程>教学大纲 一.指导思想 计算机使用与维护是计算机科学中的一门基础学科,其理论性.实践性.实用性都很强.本课程教学以培养 ...

  8. 计算机组成流水系统可以,计算机组成原理实验十三建立指令流水系统实验

    计算机组成原理实验十三建立指令流水系统实验 评阅计算机组成原理实验报告十三姓名 学号 时间 四7-9 地点 行健楼 606机房 一 建立指令流水系统实验 1. 实验内容及要求(1)实验内容:1. 分析 ...

  9. 计算机组成原理的实验课心得,计算机组成原理移位控制实验心得.docx

    计算机组成原理移位控制实验心得 计算 机组成原理实验五 位运算实验............... 姓名:陈衍席学号:网工1202移 [实验环境] 1.WindowsXX或WindowsXP 2.sp2 ...

最新文章

  1. 对Squid使用的一些总结
  2. word2vec 中的数学原理具体解释(四)基于 Hierarchical Softmax 的模型
  3. 代码审计之Catfish CMS v4.5.7后台作者权限越权两枚+存储型XSS一枚
  4. 六、乘胜追击,将剩下的Git知识点搞定
  5. [2020-09-11 CQBZ/HSZX多校联测 T2] 泰拳警告(组合数+数学期望)
  6. 本地程序部署服务器上出错
  7. 样条表示---插值和逼近样条
  8. linux上oracle登堡测评,Oracle Data Guard Linux 平台 Physical Standby 搭建实例
  9. 如何让Ubuntu 14重启后,保存屏幕亮度的设置
  10. totolink 虚拟服务器,TOTOLINK无线中继设置教程(图文)
  11. Python str 与 bytes 类型(Python2/3 对 str 的处理)
  12. electron快捷键
  13. 神经网络学习小记录63——Keras 图像处理中注意力机制的代码详解与应用
  14. 应用概率统计(陈魁)第十一章(回归分析)部分课后答案
  15. 2022年,4款值得用的报表工具软件推荐!
  16. Win7快速启动栏恢复方法
  17. android fragment实现翻书效果,viewpager实现翻页效果(fragment)
  18. 客户端与服务器端交互原理(HTTP数据请求与HTTP响应)
  19. 人口会一直增长下去吗_地球上的人口一直暴增,会不会因此出现世界未日?
  20. 关于Angular Js动态表格合并单元格的一点见解

热门文章

  1. linux移动文件夹
  2. 如何实现用户id生成一个唯一邀请码
  3. python之利用Pygal+2010年世界人口=绘制世界地图
  4. 2022全新Java学习路线图动力节点(八)Java选学的技术有哪些?
  5. CSS实现“大于号”或“小于号”箭头
  6. 一款全新的平面UI套件,专门用于桌面应用程序
  7. python模拟足球_python 足球模拟
  8. 百度地图分不同色块显示某个城市的行政区划,并添加城市(区)名
  9. 计算机系统数据保存期限,哪种存储器存储数据时间长?
  10. Trilateration Algorithm