存储器读写实验说明-转载

存储器读写实验说明-转载

ID:7229012

大小:49.50 KB

页数:7页

时间:2018-02-08

存储器读写实验说明-转载_第1页
存储器读写实验说明-转载_第2页
存储器读写实验说明-转载_第3页
存储器读写实验说明-转载_第4页
存储器读写实验说明-转载_第5页
资源描述:

《存储器读写实验说明-转载》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、存储器读写实验说明-转载BBS水木清华站--文章阅读[讨论区:DOS][上一篇][下一篇][同主题上篇][同主题下篇][转寄][转贴][删除文章][修改文章][本讨论区][回文章][回信给作者][同主题阅读][快速返回]--------------------------------------------------------------------------------发信人:bathing(背书包的土人),信区:DOS标题:Re:在dos下bc31如何通过基地址访问pci卡物理内存?发信站:BBS水木清华站(TueJan716:21:362003),站内给你篇文章,我试

2、过dos下的对512兆物理内存的读写,没有问题然后获得pci配置空间也没有问题,就是对配置寄存器写不行你把下面文章的代码改改就可以用了DOS实方式下直接访问4GB内存 DOS实方式下直接访问4GB内存陈家祺摘要本文分析了80486CPU的寻址机制,提出了在实方式下直接访问4GB内存的策略和C程序设计方法。关键词DOS程序扩展内存程序设计SchemeoftheDirectAccess4GBMemoryinDOSRealModeChenJiaqiABSTRACTThispapermakesananalysisoftheprincipleabouttheaccessoperationo

3、f80486CPU,aapproachesareposedforaccess4GBmemoryandCProgramming.KEYWORDSDOSprogram;XMS;Programming;0引言在高档PC微机系统中,如80486CPU微机系统,应用软件的开发可以基于DOS系统的实方式,也可以基于Windows和OS/2系统的保护方式。如何在DOS系统的实方式下开发具有访问扩展内存的应用程序,这是广大软件开发者关心的问题。其主要原因是:DOS系统是在PC机中应用最广泛的操作系统,经过广大用户长年的应用和面向实际的软件开发,其接口特性和编程方法被广大软件开发者所熟悉和掌握,并

4、积累了丰富的应用程序资源、一系列功能强大的开发工具和一支巨大的DOS软件开发队伍。然而,开发基于DOS系统的实方式应用程序存在一定的局限性,主要是不能有效地利用高档微机的内存资源,如扩展内存的访问。尤其在开发实时性很强的大数据量的应用程序中,高效使用扩展内存是极为重要的。目前常用的访问扩展内存方法有:(1)采用“INT15H”或HIMEM.SYS的功能调用。(2)采用虚拟磁盘。前者只能实现数据块在常规内存与扩展内存之间移动,这样,不但还要占用一定的常规内存空间,而且数据块的移动还需占用程序运行时间,使程序的运行效率降低。后者可以以文件的形式将数据存储在扩展内存中,采用文件的访问方

5、式进行数据操作。显然,这二种方法只能间接访问扩展内存,不能直接访问扩展内存。最大的缺点是数据的操作效率低,难以满足实时性要求。本文将从80486CPU(以下简称CPU)的寻址机制研究入手,讨论在实方式下直接访问4GB内存的方法和C程序设计方法。1基本原理1.1物理地址形成的统一性无论CPU在实方式下或保护方式下,其物理地址的形成都将使用段描述符高速缓冲寄存器。其差别是:在实方式下,每当向段寄存器赋予新的内容(段地址)时,段描述符高速缓冲寄存器的基地址值相应发生改变,其值为16×SEG,这就线性基地址;CPU最终形成的物理地址为基地址值加偏移量。段描述符高速缓冲寄存器的界限值和属性

6、值始终不变。当CPU复位后,CPU的工作模式为实方式,段描述符高速缓冲寄存器的界限值自动设置为FFFFH。因此,CPU能够访问内存的空间为0~10FFEFH(FFFFH×16+FFFFH),每个段的大小为64KB。在保护方式下,每当向段寄存器赋予新的内容SEL(选择字)时,段描述符高速缓冲寄存器的内容将由SEL对应的段描述符更新;段描述符高速缓冲寄存器的基地址值、界限值和属性值依据段描述符的设置而发生改变。段的基地址可设置在4GB内存的任意地址处,段的最大界限值可达FFFFFFFFH(4GB-1)。在不分页的情况下,CPU最终形成的物理地址同样是基地址值加偏移量。所以,CPU能够

7、整个访问4GB内存空。显然,对于CPU在形成物理地址时,在实方式下与在0特权级不分页的保护方式下是相同的。只是段的基地址和段的大小设置范围不同。工作方式确定是由控制寄存器CR0的最低位PE位决定的,若PE为0,则工作在实方式;若PE为1,则工作在保护方式。在通过PE位的改变时,就进行了工作方式切换。这种切换只影响段描述符高速缓冲寄存器的基地址值运算方式,不影响段描述符高速缓冲寄存器的段界限值。1.2直接访问4GB内存当CPU复位后,CPU处于实方式下,尽管在实方式下可执行诸如“M

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

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

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