问!640k基本内存指的是
- 提问者网友:骑士
- 2021-08-14 08:39
- 五星知识达人网友:罪歌
- 2021-08-14 09:09
从0KB到640KB(地址000000H~109FFFFH),共占640KB的容量。叫做常规内存,因为它在内存的最前面并且在DOS可管理的内存区,我们又称之为Low Dos Memory(低DOS内存),或称为基本内存(Base Memory),使用此空间的程序有BIOS操作系统、DOS操作系统、外围设备的驱动程序、中断向量表、一些常驻的程序、空闲可用的内存空间、以及一般的应用软件等都可在此空间执行。由此可见,在DOS下的应用程序及其操作系统,挤在如此狭窄拥挤的空间里,640KB的容量已经不够使用,这是因为最早使用的CPU是8088,其寻址的地址信号线只有20条线,能够寻址的空间只有lMB,也就是祖先留下的祖产不多,受到先天硬件CPU寻址的限制。因此在规划内存给各个系统以及DOS下的一些套装应用软件使用时,在先天内存不足环境下,“省吃俭用”来分配这点内存, MS-DOS可以控制和管理1MB的内存空间,常规内存占了640KB,其他的384KB保留给BIOS ROM及其他各种扩展卡使用。这640KB的常规内存基本上分两部分,一部分给各种不同的操作系统程序使用,另一部分给数据、程序的使用。 上位内存(UMB)
UMB是英文Upper Memory Block的缩写,是常规内存上面一层的内存(64OKB~1024KB),我们又称之为DOS高端内存(地址为0A0000H~0FFFFFH)。由于PC的老祖先把DOS使用的内存限定在640KB的框框里,所以大家都想尽办法要突破640KB的紧箍罩以摆脱640KB的限制,让DOS的一些程序摆脱640KB藩篱。在DOS可以控制的1MB内存空间中,常规内存占了640KB,其余的384KB的上位内存(UMB)保留给BIOS ROM、显示卡和其他各种扩展卡使用,但是还有一些保留空间未使用,所以在DOS 5.0以上的版本,即有突破640KB的能耐,允许使用常规内存上面的384KB的上位内存UMB(地址0A0000H~OFFFFFlH),但是要超越传统的640KB,必须有一些条件和操作,其条件和操作如下:
◎386以上的电脑和384KB以上的扩展内存。
◎DOS 5.0以上的版本。
◎CONFIG.SYS设置Devuce=C:\DOS\HIMEM.SYS(扩展内存XMS驱动程序)。
◎CONFIG.SYS设置Device=C:\DOS\EMM386.EXE, NOEMS(扩充内存EMS模拟驱动程序)。
◎CONFIG.SYS设置DOS=HIGH,UMB。
高端内存区(HMA)
HMA是英文High Memory Area的缩写。它是1024KB至1088KB之间的64KB内存,称为高端内存区,其地址为100000H~1OFFEFH或以上,CPU在实地址模式下以Segment:OFFSET(段地址:偏移量)方式来寻址,其寻址的最大逻辑内存空间为(FFFF:FFFF),即10FFEFH,此已超过8088 CPU的20条线所能寻址的lMB的上限,故286CPU的地址线有24条,只要把A20地址信号线的“逻辑门”打开,即可使用此64KB范围的内存,这段内存乃在实地址模式下。一般说HMA是64KB,其实是指lMB以上至我们现在CPU所能寻址的广大空间4GB,它们都称为高端内存区(HMA),如何去打开A20地址线(A20Gate,逻辑门)以上的内存,只要在DOS5.0或以上版本中使用扩展内存驱动程序,其操作如下:
在CONFIG设置驱动程序:
◎286以上的电脑和lMB以上的内存。
◎DOS 5.0以上的版本。
◎Device=c:\DOS\HIMEM.SYS(扩展内存XMS驱动程序)。
◎DOS=HIGH
◎打开A20地址线, A20Gate(逻辑门)=1,即可寻址lMB内存以上的空间。
◎A20地址线没有打开, A20 Gate=O,不能寻址lMB内存以上的空间。
◎A20 Gate信号由软件驱动键盘BIOS 8042或芯片组产生。
EMB是英文Extended Memory Block(扩展内存块)的缩写,扩展内存是指lMB以上的内存空间,其地址是从100000H开始,连续不断向上扩展的内存,所以把这种内存称为
EMB(Extended Memory Block)。扩展内存取决于CPU的寻址能力, 286 CPU可寻址到16MB, 386 CPU以上至Pentium II CPU可寻址到4GB。但是,有些主板上芯片组的实际地址译码电路并没有设计为可寻址那么大的地址空间(现在内存控制器有的在CPU芯片中了,不在北桥中了。会跳过地址译码电路由CPU直接寻址控制????),如286 AT的主板上最大寻址空间只到4MB,Pentium系列主板目前的最大扩展内存也只到1GB,距实际CPU的寻址空间还有一段距离。对于这些扩展内存,由于超过了DOS的寻址范围,并不能直接被实地址模式的BIOS或DOS操作系统所使用,只能用于存放数据,除非使用了DOS的扩展器(DOSExtender),或使用Windows3.1/Windows 95/Windows NT/OS2等,在保护模式下供不同操作系统使用。要使电脑主机能使用扩展内存,还需要一些扩展内存驱动程序(XMS)来加以驱动和设置,其驱动程序是DOS5.O以上的版本或Windows所附带的HIMEM.SYS,其在CONFIG.SYS下设置为:
◎Device=C:\DOS\HIMEM.SYS。
◎扩展内存是lMB以上连续的内存。
◎进入扩展内存程序,必须在保护模式下。
◎进入扩展内存,必须先打开CPU的A20逻辑门,使内存寻址连续。
◎在主板由键盘BIOS 8042的A20逻辑门信号输出或芯片组来打开。
◎A20逻辑门信号是实地址模式和保护地址模式的切换开关。
◎执行驱动扩展内存,在实地址模式有64KB高端内存的扩展。
◎扩展至顶端的最大内存,对DOS而言,只能存放数据。
还要不要给你解释扩展内存啊,呵呵