内存按系统逻辑分类1)扩充内存到1984年,即286被普遍接受不久,人们越来越认识到640KB的限制已成为大型程序的障碍,这时,Intel和Lotus,这两家硬、软件的杰出代表,联手制定了一个由硬件和软件相结合的方案,此方法使所有PC机存取640KB以上RAM成为可能
而Microsoft刚推出Windows不久,对内存空间的要求也很高,因此它也及时加入了该行列
在1985年初,Lotus、Intel和Microsoft三家共同定义了LIM-EMS,即扩充内存规范,通常称EMS为扩充内存

当时,EMS需要一个安装在I/O槽口的内存扩充卡和一个称为EMS的扩充内存管理程序方可使用
但是I/O插槽的地址线只有24位(ISA总线),这对于386以上档次的32位机是不能适应的
所以,现在已很少使用内存扩充卡

现在微机中的扩充内存通常是用软件如DOS中的EMM386把扩展内存模拟或扩充内存来使用
所以,扩充内存和扩展内存的区别并不在于其物理存储器的位置,而在于使用什么方法来读写它
下面将作进一步介绍

前面已经说过扩充存储器也可以由扩展存储器模拟转换而成
EMS的原理和XMS不同,它采用了页帧方式
页帧是在1MB空间中指定一块64KB空间(通常在保留内存区内,但其物理存储器来自扩展存储器),分为4页,每页16KB
EMS存储器也按16KB分页,每次可交换4页内容,以此方式可访问全部EMS存储器
符合EMS的驱动程序很多,常用的有EMM386.EXE、QEMM、TurboEMS、386MAX等
DOS和Windows中都提供了EMM386 . EXE
2)扩展内存我们知道,286有24位地址线,它可寻址16MB的地址空间,而386有32位地址线,它可寻址高达4GB的地址空间,为了区别起见,我们把1MB以上的地址空间称为扩展内存XMS(eXtend memory)
在386以上档次的微机中,有两种存储器工作方式,一种称为实地址方式或实方式,另一种称为保护方式
在实方式下,物理地址仍使用20位,所以最大寻址空间为1MB,以便与8086兼容
保护方式采用32位物理地址,寻址范围可达4GB
DOS系统在实方式下工作,它管理的内存空间仍为1MB,因此它不能直接使用扩展存储器
为此,Lotus、Intel、AST及Microsoft公司建立了MS-DOS下扩展内存的使用标准,即扩展内存规范XMS
我们常在Config.sys文件中看到的Himem.sys就是管理扩展内存的驱动程序
扩展内存管理规范的出现迟于扩充内存管理规范
3)高端内存区在实方式下,内存单元的地址可记为:段地址:段内偏移 通常用十六进制写为XXXX:XXXX
实际的物理地址由段地址左移4位再和段内偏移相加而成
若地址各位均为1时,即为FFFF:FFFF
其实际物理地址为:FFF0+FFFF=10FFEF,约为1088KB(少16字节),这已超过1MB范围进入扩展内存了
这个进入扩展内存的区域约为64KB,是1MB以上空间的第一个64KB
我们把它称为高端内存区HMA(High Memory Area)
HMA的物理存储器是由扩展存储器取得的
因此要使用HMA,必须要有物理的扩展存储器存在
此外HMA的建立和使用还需要XMS驱动程序HIMEM.SYS的支持,因此只有装入了HIMEM.SYS之后才能使用HMA
4)上位内存为了解释上位内存的概念,我们还得回过头看看保留内存区
保留内存区是指640KB~1024KB(共384KB)区域
这部分区域在PC诞生之初就明确是保留给系统使用的,用户程序无法插足
但这部分空间并没有充分使用,因此大家都想对剩余的部分打主意,分一块地址空间(注意:是地址空间,而不是物理存储器)来使用
于是就得到了又一块内存区域UMB
UMB(Upper Memory Blocks)称为上位内存或上位内存块
它是由挤占保留内存中剩余未用的空间而产生的,它的物理存储器仍然取自物理的扩展存储器,它的管理驱动程序是EMS驱动程序
5)影子内存对于装有1MB或1MB以上物理存储器的机器,其640KB~1024KB这部分物理存储器如何使用的问题
由于这部分地址空间已分配为系统使用,所以不能再重复使用
为了利用这部分物理存储器,在某些386系统中,提供了一个重定位功能,即把这部分物理存储器的地址重定位为1024KB~1408KB
这样,这部分物理存储器就变成了扩展存储器,当然可以使用了
但这种重定位功能在当今高档机器中不再使用,而把这部分物理存储器保留作为Shadow存储器
Shadow存储器可以占据的地址空间与对应的ROM是相同的
Shadow由RAM组成,其速度大大高于ROM
当把ROM中的内容(各种BIOS程序)装入相同地址的Shadow RAM中,就可以从RAM中访问BIOS,而不必再访问ROM
这样将大大提高系统性能
因此在设置CMOS参数时,应将相应的Shadow区设为允许使用(Enabled)
总结经过上面分析,内存储器的划分可归纳如下: ●基本内存占据0~640KB地址空间
●保留内存占据640KB~1024KB地址空间
分配给显示缓冲存储器、各适配卡上的ROM和系统ROM BIOS,剩余空间可作上位内存UMB
UMB的物理存储器取自物理扩展存储器
此范围的物理RAM可作为Shadow RAM使用
●上位内存(UMB)利用保留内存中未分配使用的地址空间建立,其物理存储器由物理扩展存储器取得
UMB由EMS管理,其大小可由EMS驱动程序设定
●高端内存(HMA)扩展内存中的第一个64KB区域(1024KB~1088KB)
由HIMEM.SYS建立和管理
●XMS内存符合XMS规范管理的扩展内存区
其驱动程序为HIMEM.SYS
●EMS内存符合EMS规范管理的扩充内存区
其驱动程序为EMM386.EXE等
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。