采用段式管理的大容量外部ram扩展技术

采用段式管理的大容量外部ram扩展技术

ID:22313946

大小:51.00 KB

页数:6页

时间:2018-10-28

采用段式管理的大容量外部ram扩展技术_第1页
采用段式管理的大容量外部ram扩展技术_第2页
采用段式管理的大容量外部ram扩展技术_第3页
采用段式管理的大容量外部ram扩展技术_第4页
采用段式管理的大容量外部ram扩展技术_第5页
资源描述:

《采用段式管理的大容量外部ram扩展技术》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、采用段式管理的大容量外部RAM扩展技术

2、第1内容显示中数据存储器的扩展如采用与MCS51系列单片机同样的方法则无法工作。因为其内存体系结构采用程序存储器与数据存储器统一编址的普林斯顿结构,程序存储器的地址与数据存储器的地址不能相同;而MCS51系列单片机采用程序存储器与数据存储器分开编址的哈佛结构,程序存储器的地址与数据存储器的地址不冲突,可以相同,因而其数据存储器扩展容易,而且整个数据存储器地址空间连续。MCS96系列单片机的普林斯顿内存体系结构决定了不能简单采用与MCS51系列单片机相同的数据存储器扩展技术。本文针对MCS9

3、6系列单片机的内存体系结构特点给出一种段式管理的大容量的数据存储器扩展技术。1段式管理的大容量数据存储器扩展技术设计思想概述:针对MCS96系列单片机的存储结构特点,可看出扩展的数据存储器的低16位地址不能与程序存储器的地址相同,因此,必须从MCS96系列单片机的内存体系结构中找出一个专门的区域。本文将此区域定义为段,对其进行扩展,通过各段的高地址来区分不同段。由于各段的实际物理地址是不相连的,从用户角度看,直接使用物理地址编程很麻烦,因此设计一个逻辑段表来管理,并且设计一个简单的子程序来完成逻辑地址与物理地址的转换,从而便于用

4、户编程。具体过程如下。1.1段的设置区域根据图1所示MCS96系列单片机的内存体系结构分配图可以看出,0100H~1FFDH,4000H~0FFFFH两个区域可以给外部存储器及I/O口使用。0100H~1FFDH的区域较小,考虑到一般应用系统的程序较短,只有同KB,I/O口地址更少,因而可以将此区域分析给外部程序存储器与I/O口。4000H~0FFFFH区域分配给外部数据存储器。由于一般数据存储顺芯片的存储地址容量为2NKB(N为大于零的整数),因此,这48KB的区域可以划分为32KB与16KB的两个区间。如果要求大容量存储地址

5、空间,则可以把以上48KB的区域整个看成一个段,或者将区域的一部分看成一个段,多设置几个这样的段就可以解决。500)this.style.ouseg(this)">1.2段的存储空间的最佳设置由于段的空间的设置区域在4000H~0FFFFH的48KB的存储地址空间,因而有三种段的存储地址空间大小的设置方案。①每段设为起始地址相同的32KB;②每段都设为48KB;③一些段设为48KB;一些段设为32KB。由于方案2与3采用32KB的存储区间与16KB的存储区间组成段,因而在硬件设计方面使地址译码器与存储器的连接复杂,更不便于对各段

6、存取管理,尤其对于数据存储器采用单个大容量的EEPROM或FLASHRAM时,硬件设计更是困难;而方案1则只采用32KB的芯片组成段,而且起始地址相同,对于数据存储器采用多个32KB的RAM芯片,或者数据存储器采用单个大容量的EEPROM或FLASHRAM芯片中(可在其内部划分为多个32KB段),在硬件设计方面非常简单,也便于用逻辑段表进行存取管理。因而要用方案1,即段的存储空间大小的最佳设置为32KB。1.3段的存取控制1.3.1存储器逻辑段与物理段的关系由于段的存储地址空间大小的最佳设置为32KB,各段的实际物理地址为物理段

7、号加上物理段内地址,因此,可设物理段号的存储单元为8bit。这样,整个扩展数据存储器容量为256×32KB,即8MB,对于一般的单片机应用系统已经远远满足了。由于各物理段之间地址不连续,用户直接使用物理地址编程不方便,因而要采用连续的逻辑地址供用户使用,来对各物理段访问。逻辑地址分为逻辑段号与逻辑偏移地址两部分,逻辑段号的存储单元也为8bit,但由于逻辑偏移地址为16bit,因而一个逻辑段的大小为64KB,地址从0000H~0FFFFH,即1个逻辑段与2个物理段相对应,所以逻辑段的个数为实际物理段的个数的一半。对物理段与逻辑段进

8、行编号,设逻辑段的个数为N个,编号为0,1,2,…,N-1,可以用图2来表示二者的对应关系。500)this.style.ouseg(this)">1.3.2逻辑段表设计与段的存取管理为了便于对段的存取管理控制,设计一个逻辑段表,表的内容为逻辑段号。因为1个逻辑段为64KB,它与2个物理段(每段32KB)相对应,因而逻辑段表示的长度为实际物理段总数的一半。设有N个段,逻辑段表如图3所示。例如:有8个32KB的物理段,逻辑段表的长度为4B,逻辑段表的内容为:0,1,2,3。实际的物理段号为:0,1,2,3,4,5,6,7。每个逻辑

9、段号与2个物理段号相对应。另外,为了便于存取控制,设计一个将逻辑地址自动转换成物理地址的子程序,子程序必须简单。经过分析,把每个32KB的物理段的起始地址都设为8000H,即每个32KB的物理段的段内地址都是从8000H~0FFFFH。根据逻辑地址与物理地址的对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。