安全规则 关于青网 为您服务 用户反馈 广告联盟 招聘信息 青网俱乐部 联合自律宣言

您所在位置:中青网—>电脑大学—> 硬件教室—>硬件基础


内存综述

当今的计算机,CPU的速度越来越快、性能越来越高。作为计算机系统中最重要的资源之一的内存的容量也大幅增加,目前主流内存的配置已是32M、有的甚至已达64M或128M,是IBM公司推出的第一台PC机16KB的几千倍,速度也有了很大的提高。但内存速度方面的增长却远远落于CPU的发展,已成为计算机速度和性能进一步提高的瓶颈(Bottleneck)。CPU芯片的厂商通过向芯片增加晶体管的方法,如增加数学运算单元,可以很容易地提高CPU的性能,增加两倍的ALU几乎可以获得两倍的芯片速度。而对于内存芯片来说增加更多的晶体管,只意味着能容纳更多的数据,存取速度却得不到什么改善。所以,低速内存与高速CPU的矛盾越来越尖锐,也受到了人们的普遍重视,本文将从内存的“硬性”和“软性”两个方面,和朋友们一起聊聊内存的方方面面。

“硬性”角度 
存储器的分类:
内存是存储器的一种。存储器是计算机的重要组成部分,按其用途可分为主存储器(Main Memory,简称主存)和辅助存储器(Auxiliary Memory,简称辅存),主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,能长期保存信息,并且不依赖于电来保存信息。

内存的分类:
内存的物理实质是一组或多组具备数据输入输出和数据存储功能的集成电路。内存按存储信息的功能可分为只读存储器(Read Only Memory)、可改写的只读存储器EPROM(Erasable Programmable ROM)和随机存储器RAM(Random Access Memory)。ROM中的信息只能被读出,而不能被操作者修改或删除,故一般用于存放固定的程序,如监控程序、汇编程序等,以及存放各种表格。EPROM和一般的ROM不同点在于它可以用特殊的装置擦除和重写它的内容,一般用于软件的开发过程。RAM就是我们平常所说的内存,主要用来存放各种现场的输入、输出数据,中间计算结果,以及与外部存储器交换信息和作堆栈用。它的存储单元根据具体需要可以读出,也可以写入或改写。由于RAM由电子器件组成,所以只能用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的数据就会丢失。现在的RAM多为MOS型半导体电路,它分为静态和动态两种。静态RAM是靠双稳态触发器来记忆信息的;动态RAM是靠MOS电路中的栅极电容来记忆信息的。由于电容上的电荷会泄漏,需要定时给与补充,所以动态RAM需要设置刷新电路。但动态RAM比静态RAM集成度高、功耗低,从而成本也低,适于作大容量存储器。所以主内存通常采用动态RAM,而高速缓冲存储器(Cache)则使用静态RAM。另外,内存还应用于显卡、声卡及CMOS等设备中,用于充当设备缓存或保存固定的程序及数据。

动态RAM的分类:
动态RAM按制造工艺的不同,又可分为动态随机存储器(Dynamic RAM)、扩展数据输出随机存储器(Extended Data Out RAM)和同步动态随机存储器(Synchromized Dynamic RAM)。DRAM需要恒电流以保存信息,一旦断电,信息即丢失。它的刷新频率每秒钟可达几百次,但由于DRAM使用同一电路来存取数据,所以DRAM的存取时间有一定的时间间隔,这导致了它的存取速度并不是很快。另外,在DRAM中,由于存储地址空间是按页排列的,所以当访问某一页面时,切换到另一页面会占用CPU额外的时钟周期。其接口多为72线的SIMM类型。EDO-RAM同DRAM相似,它取消了扩展数据输出内存与传输内存两个存储周期之间的时间间隔,在把数据发送给CPU的同时去访问下一个页面,故而速度要比普通DRAM快15~30%。工作电压为一般为5V,其接口方式多为72线的SIMM类型,但也有168线的DIMM类型。SDRAM同DRAM有很大区别,它使用同一个CPU时钟周期即可完成数据的访问和刷新,即以同一个周期、相同的速度、同步的工作,因而可以同系统总线以同频率工作,可大大提高数据传输率,其速度要比DRAM和EDO-RAM快很多(比EDO-RAM提高近50%),最大可达到120MHz,是当前PC机中流行的标准内存类型配置。工作电压一般为3.3V,其接口多为168线的DIMM类型。

两种接口类型:
上面提到了SIMM接口类型和DIMM类型接口,下面分别说说它们是怎样一种技术。SIMM是Single-In Line Memory Medule的简写,即单边接触内存模组,这是5X86及其较早的PC机中常用的内存的接口方式。在更早的PC机中(486以前),多采用30针的SIMM接口,而在Pentium中,应用更多的则是72针的SIMM接口,或者是与DIMM接口类型并存。DIMM是Dual In-Line Memory Module的简写,即双边接触内存模组,也就是说这种类型接口内存的插板的两边都有数据接口触片,这种接口模式的内存广泛应用于现在的计算机中,通常为84针,但由于是双边的,所以一共有84×2=168线接触,故而人们经常把这种内存称为168线内存,而把72线的SIMM类型内存模组直接称为72线内存。DRAM内存通常为72线,EDO-RAM内存既有72线的,也有168线的,而SDRAM内存通常为168线的。

有关内存的常见技术指标:
接下来我们来谈谈有关内存的人们普遍关心的各种技术指标,一般包括引脚数、容量、速度、奇偶校验等。引脚数可以归为内存模组的接口类型,这里不再赘述。容量这一指标是我们比较关心的,因为它将直接制约系统的整体性能。另外,内存条是否以完整的存储体(Bank)为单位安装将决定内存能否正常工作,这与计算机的数据总线位数是相关的,不同机型的计算机,其数据总线的位数是不同的。内存条通常有8MB、16MB、32MB、64MB等容量级别,其中32MB、64MB内存已成为当前的主流配置,而用于诸如图形工作站的内存容量已高达128MB或512MB,甚至更高。内存条芯片的存取时间是内存的另一个重要指标,其单位以纳秒(ns)度量,换算关系为1ns=10-3ms=10-6s,常见的有60ns、70ns、80ns、120ns等几种,相应在内存条上标为-6、-7、-8、-120等字样。这个数值越小,存取速度越快,但价格也便随之上升。在选配内存时,应尽量挑选与CPU时钟周期相匹配的内存条,这将有利于最大限度的发挥内存条的效率。内存慢而主板快,会影响CPU的速度,还有可能导致系统崩溃;内存快而主办慢,结果只能是大材小用。所以,对于DIY(Do It Yourself)一族决不应忽视对内存条的选购。内存条有无奇偶校验位是人们常常忽视的问题,奇偶校验对于保证数据的正确读写起到很关键的作用,尤其是在进行数据量非常大的计算中。标准型的内存条有的有校验位,有的没有;非标准的内存条均有奇偶校验位。另外,对于常见机型中,有无奇偶校验位一般均可正常工作,但需要注意的是,在CMOS的SETUP中关于奇偶校验的OFF/ON的设置必须与实际的内存条情况相一致,同时,这也导致一台计算机中内存条的配置要么都带奇偶校验位,要么都不带,决不可混用。内存条上是否有奇偶校验位,可以很容易的从外观上看出:每根内存条上有9或3个芯片的含有奇偶校验位,而有8或2个芯片的内存条没有奇偶校验位。

高速缓冲存储器:
上面介绍的基本都是常说的内存的方方面面,下面我们来认识一下高速缓冲存储器,即Cache。我们知道,任何程序或数据要为CPU所使用,必须先放到主存储器(内存)中,即CPU只与主存交换数据,所以主存的速度在很大程度上决定了系统的运行速度。程序在运行期间,在一个较短的时间间隔内,由程序产生的地址往往集中在存储器的一个很小范围的地址空间内。指令地址本来就是连续分布的,再加上循环程序段和子程序段要多次重复执行,因此对这些地址中的内容的访问就自然的具有时间集中分布的倾向。数据分布的集中倾向不如程序这么明显,但对数组的存储和访问以及工作单元的选择可以使存储器地址相对地集中。这种对局部范围的存储器地址频繁访问,而对此范围外的地址访问甚少的现象被称为程序访问的局部化(Locality of Reference)性质。由此性质可知,在这个局部范围内被访问的信息集合随时间的变化是很缓慢的,如果把在一段时间内一定地址范围被频繁访问的信息集合成批地从主存中读到一个能高速存取的小容量存储器中存放起来,供程序在这段时间内随时采用而减少或不再去访问速度较慢的主存,就可以加快程序的运行速度。这个介于CPU和主存之间的高速小容量存储器就称之为高速缓冲存储器,简称Cache。不难看出,程序访问的局部化性质是Cache得以实现的原理基础。同理,构造磁盘高速缓冲存储器(简称磁盘Cache),也将提高系统的整体运行速度。目前CPU一般设有一级缓存(L1 Cache)和二级缓存(L2 Cache)。一级缓存是由CPU制造商直接做在CPU内部的,其速度极快,但容量较小,一般只有十几K。PⅡ以前的PC一般都是将二级缓存做在主板上,并且可以人为升级,其容量从256KB到1MB不等,而PⅡ CPU则采用了全新的封装方式,把CPU内核与二级缓存一起封装在一只金属盒内,并且不可以升级。二级缓存一般比一级缓存大一个数量级以上,另外,在目前的CPU中,已经出现了带有三级缓存的情况。Cache的基本操作有读和写,其衡量指标为命中率,即在有Cache的系统中,CPU访问数据时,在Cache中能直接找到的概率,它是Cache的一个重要指标,与Cache的大小、替换算法、程序特性等因素有关。增加Cache后,CPU访问主存的速度是可以预算的,64KB的Cache可以缓冲4MB的主存,且命中率都在90%以上。以主频为100MHz的CPU(时钟周期约为10ns)、20ns的Cache、70ns的RAM、命中率为90%计算,CPU访问主存的周期为:有Cache时,20×0.9+70×0.1=34ns;无Cache时,70×1=70ns。由此可见,加了Cache后,CPU访问主存的速度大大提高了,但有一点需注意,加Cache只是加快了CPU访问主存的速度,而CPU访问主存只是计算机整个操作的一部分,所以增加Cache对系统整体速度只能提高10~20%左右。

购买内存时应注意的问题:
通过前面的介绍,可以看到内存在计算机中地位的重要性,如果内存质量不好,将直接影响计算机的性能、甚至造成机器不能正常使用。目前市场上主流内存的价格一般在300~800元不等,并且是“鱼龙混杂”,在这里有必要介绍一些购买内存时应注意的问题。型号冒充:一般是指用普通DRAM冒充EDO-RAM或用168线的EDO-RAM冒充168线的SDRAM。普通DRAM与EDO-RAM都是72线的,形态上并无太大的差别,只是产品型号不一样,故而不易分辨。我们可以通过两种方法加以判别。第一,普通DRAM产品号最后两位数字一般为“00”,而EDO-RAM产品号最后两位一般是“03、04、07”等,这时直观判别的最简单方法。第二,用430TX芯片组的主板BIOS进行测试,这样可以自动识别内存的类型是DRAM还是EDO-RAM。由于较早的EDO-RAM也有168线的,与目前市场上的168线SDRAM在外观上的差别几乎没有,这便为卖假提供了“机遇”,可是装到机器上一试便露真相。在430TX芯片组的主板BIOS自检中也能检测出它的确切型号。速度冒充:速度冒充是目前常见的造假方式,并且“应用广泛”,对消费者的危害也最大。它是通过各种手段把内存的速度标记打磨后涂改成较高速的现象,虽然外表被更改,但实际速度并未提高。这样的内存在较低的机器配置中,一般不易发现,但若是机器配置较高或主板对内存的要求较严格,那么便有可能出现死机或不能引导等现象。在购买时,可以用手反复摩擦内存条上的速度标记,看其是否有退色的现象,如果出现退色或字迹便模糊,便有理由怀疑是打磨过的内存条。优劣冒充:一般是指用普通内存条冒充原装内存条。虽然原则上说,只要内存的各种技术指标一致,便可以兼容或替代,但由于制造工艺及水平的差别,造成一般情况下并不能用普通内存替代原装内存,所以在给原装机购买内存时要特别留意,最好找制造商解决问题,而不要自己去市场购买。好坏冒充:一般是指把用过的内存又拿到市场中售卖,可能单个的内存没有问题,但和别的内存组合使用便有可能出现不能正常引导等现象。这种情况比较复杂,应仔细辨认,有时把几个内存条交换一下位置或更换一下个别内存的插槽,便有可能解决问题。总之,在购买时,应尽可能地购买较熟悉的品牌内存,如现代、NEC、GOLDSTAR、KINGSTON等公司的产品。同时要仔细看制作是否精致、边脚切割是否整齐、芯片插脚有无锈迹、标记是否清晰易辨等。如果条件允许,可用软件进行指标测试,常用的软件有QAPLUS 6.0、HWINFO 4.0等,也可在Windows中运行一个大型游戏,观看其稳定性和兼容性如何。

其它类型的内存:
这里介绍的其它类型的内存包括Flash Memory(即闪速存储器)、FRAM(即Ferroeelectric RAM,简称铁电体)、WRAM(即Windows RAM)、3D RAM。Flash Memory由Intel公司首先提出,目前广泛应用于便携式计算机的PC卡内存领域。这是一种非挥发性存储技术,除非对它施加一个大电压进行擦除,否则一直可以保持原状态不变。保存数据不需电池的支持(不加电的情况下,信息可储存长达十年之久)及可再写、大容量(有的已达40MB)是它的显著特点。它的访问时间可低至30ns,比硬盘驱动器快100~1000倍、抗震能力相差约10倍,并且耗电量很低,这对便携机非常有吸引力。FRAM也是一种非挥发性存储器,在制作过程中使用了铁,是早期大型机中曾采用的铁氧体磁芯的内存的推陈出新。它经过多次写操作后性能不会退化,克服了Flash Memory的问题,应用领域大为扩大,因此一些人非常看好FRAM的前景,并把它称作“最终RAM”,如果实用的FRAM芯片开发获得成功,使之具有足够的密度(16MB的产品早已宣布生产),FRAM有望成为DRAM的最终替代品。WRAM由SAMSUNG公司提出的,它是一个双端口内存,在RAM芯片上增加了更多的电路,从而提高了图形操作速度,为处理图像增加了一些智能。WRAM以较低的价格获得比VRAM更好的效果,这是因为它有自己的处理能力和内部总线,这使得常见图形及图像的一般效果处理无需离开显示RAM芯片而求助主处理器。3D RAM是由Mitsubishi和Sun Microsystem两家公司共同提出的图像和动画领域中的另一种方案。它的芯片中具有Z缓冲电路,通常情况下,3D图形卡通过寻找Z缓冲区的像素才可以画出一个3D像素,同时Z缓冲区还要存储该位置原来那个像素的Z坐标,3D RAM内部设有一个ALU,因此可以直接在RAM芯片进行所有的RAM操作。但它不像3D视频卡具有读、判断、写、画像素的能力,它只是把像素写到3D RAM,而有后者决定是否显示。内置的ALU还可执行光栅操作、Alpha混合和比较,采用3D RAM的视频卡每秒可输送180万个多边形(每个多边形有100个像素),这比使用VRAM的视频卡快9倍。

“软性”角度 
CPU的寻址能力:
通常人们认为,内存容量越大,处理数据的能力也就越强,但内存容量不可能无限的大,它要受到系统结构、硬件设计、制造成本等多方面因素的制约,一个最直接的因素取决于系统的地址总线的地址寄存器的宽度(位数)。Intel公司早期的CPU产品的地址总线和地址寄存器的宽度为20位,即CPU的寻址能力为220=1048576字节=1M字节;286的地址总线和地址寄存器的宽度为24位,CPU的寻址能力为224=16M字节;386及386以上的地址总线和地址寄存器的宽度为32位,CPU的寻址能力为232=4096M字节=4G字节。也就是说,如果机器的CPU过早,即使有很大的内存也不能得到利用,而对于现在的PⅡ级的CPU,其寻址能力已远远超过目前的内存容量。

各种内存:
虽然现在是Windows一统天下,内存的分配已不需使用者管理,但由于Windows也需DOS得初始自举,所以了解内存的划分也不无必要。在DOS环境下,PC使用的内存有三种类型:系统存储器(System Memory)、扩展存储器(Extended Memory)和扩充存储器(Expanded Memory)。

系统存储器:
它对应IBM PC最初的1MB存储地址,又被分为常规内存(Conventional Memory)和上端内存(Upper Memory)。常规内存也经常被称为低端内存、基本内存或自由内存,是0~640KB之间的线性空间,其容量为640KB。在工作期间,它通常用来存放系统程序和用户的程序及数据,它的最大的三个占用者分别为DOS系统、内存驻留程序(TSR)和应用程序。除以上三个占用者外,常规内存中还包括中断向量表、BIOS数据区、用户通信区和系统数据区。因此,常规内存是微机中非常重要的资源之一,对其进行优化配置显然非常必要。上端内存通常也被称作上位内存、高端内存、保留内存、BIOS内存或适配器内存,是640KB~1MB之间的线性空间,其容量为384KB。这部分内存通常留给系统使用,如视频缓冲、BIOS等。在这部分内存中,总有一部分是空闲的,一般称之为上位内存块(Upper Memory Block,简称UMB),通常位于768KB~960KB之间,其大小受系统所配置的显示器有关,可以利用EMM386、386MAX、QEMM386等应用软件予以利用。

扩展内存XMS:
扩展内存通常也被称为XMS存储器,为了更有效的使用扩展内存,由Lotus、Intel、Microsoft和AST联合制定了扩展内存的使用规范EMS(Extended Memory Specification),事实上它已成为使用扩展内存的国际标准。EMS定义了内存的三个特定区域的分配,即:高端存储区HMA(High Memory Area)、上端内存块UMB(Upper Memory Blocks)和扩展存储块EMB(Extended Memory Blocks)。HMA是1024KB~1088KB之间的线性空间,其容量为64KB,通过激活第21条地址线(A20)可以在实模式下直接访问,它只能作为单独的存储块处理,不能分割共享,只能调入一个单独的程序。UMB是上端存储器中未用的地址空间,通过专门的硬件和内存管理程序可以在实模式下访问这部分空间。EMB是1088KB以上的地址空间,只能在保护模式下访问使用,是非常重要的内存资源。

扩充内存EM:
它是微机处理器寻址范围之外的物理存储器,它通常安装在一块专门的扩充内存板上,插入微机的扩展槽中使用。它与扩展内存有三点不同:各种PC机都能使用扩充内存,而扩展内存只能在286以上的机器上使用;扩充内存只能存放数据,不能存放程序代码,而扩展内存则都可以存放;扩展内存安装在PC的内存插槽上,而扩充内存安装在PC的扩展槽上。

“影子”内存:
“影子”内存(Shadow RAM,或称ROM Shadow)是为了提高系统效率而采用的一种专门技术,它把系统主板上的系统ROM BIOS和适配器卡上的视频ROM BIOS等拷贝到系统RAM内存中去运行,其地址仍使用它们在上位内存中占用的原地址。更确切地说,是从扩展内存中拿出一部分物理存储空间,而赋以ROM的原地址,由这部分扩展RAM代替原ROM。由于ROM采用静态CMOS电路,其存取速度为200ns左右,而系统存储器RAM采用动态CMOS电路,其存取速度进几十ns,速度快好几倍,将存放在ROM中的BIOS代码(基本输入输出例行程序,它们在系统运行期间非常频繁的被调用)拷贝到系统RAM中去,就可提高系统运行和显示的速度和效率,它的设置在CMOS中完成,如Video ROM Shadow C000,32K:Enabled(对视频BIOS的设置为“打开”),其他设置类似。另外,386DX以上的机器标准配置均有4MB以上内存,此时系统一般都自动保留几十KB甚至384KB的物理内存供“影子”内存使用,即使CMOS中设置为Disabled,这些物理内存也照样保留,因此,不如把其选项均设置为Enabled,充分享受“影子”内存的优越性。

虚拟内存:
由于计算机的主存一般是由半导体存储器件构成的,受其成本和工艺的制约,主存的存储容量受到了限制;另一方面,系统程序和应用程序要求主存容量越来越大,为解决这个矛盾,虚拟存储技术便油然而生。所谓虚拟存储技术是建立在主存和辅存物理结构基础之上,有附加硬件装置及操作系统存储管理软件组成的一种存储体系,它将主存和辅存的地址空间统一编址,形成一个庞大的存储空间。在虚拟存储系统中,基本信息传送单位可采用段、页或段页等几种不同的方式。在Windows操作系统中,虚拟内存由Windows系统统一管理,用户不必考虑内存的大小,只需按自己的实际需要去做便可以了。

Windows中的虚拟内存:
除了利用HIMEM.SYS、EMM386.EXE、DEVICEHIGH、LOADHIGH和MEMMAKER.EXE等命令对内存进行优化外,在386增强模式中,Windows系统也采用了虚拟内存管理机制,即使用交换文件来模拟额外的物理内存,这种方法对提高Windows的性能非常有用,对低配置的机器尤为如此。交换文件实际上是建立在硬盘上的一个隐含文件,分为临时交换文件和永久交换文件。临时交换文件为WIN386.SWP,它随Windows系统的启动而产生,随着退出Windows系统而消失,在Windows 9x系统中,它位于C:\Windows目录下;永久交换文件为386SPART.PAR,它不管Windows运行与否都存在于硬盘上。一般情况下,使用更多的是临时交换文件,但在硬盘空间允许的情况下,使用永久交换文件更好一些,因为它在磁盘上以连续方式存放,存取速度比临时交换文件快得多。Windows突破了DOS的640KB常规内存的局限,但Windows在内存管理上有本身的隐忧:第一,它允许程序占用前1MB的内存,而该区域实际上是为一些特殊的需求而留用的资源,如果此区域被占用,当这些特殊需求出现时,Windows往往会发现资源已被占用殆尽了;第二,Windows还需保持跟踪大量的自身需要的以及正在运行当中的Windows应用程序的用户界面信息,这样,在系统资源局部堆栈中就难有足够的空间去容纳有可能想要运行的所有应用程序的相关信息;第三,偶尔可能出现耗尽内存的情况。Windows保持有7层系统资源局部堆栈,每层都有单独的16位指针寻址,即每层堆栈不超过64KB。每一个堆栈中都包含有对Windows系统正常运作至关重要的信息,当其中任何一个堆栈的自由空间少于30%时,系统的运行速度就会明显降低,同时系统变得很不稳定,各方面显得迟钝无为,频繁出现“Out of Memory”错误,实际上此时可能还有数以兆计的系统内存没有被使用。如果某个应用程序或驱动程序不正确的使用了其中的一个资源栈,而导致堆栈被充满时,Windows就会崩溃,即出现一般保护性错误GPF(General Protection Failure),此时系统连提示“Out of Memory”的机会都没有,只能重启机器了。针对这种情况,简单的避免方法有:关注资源使用情况。最简单的方法是用鼠标右键单击“我的电脑”、点“属性”、点“性能”,查看“系统资源”的可用情况。需说明的是,这里显示的是GDI和USER两个堆栈中剩余空间较小的一个的情况。减少不必要字体。系统中安装字体越多,所占内存空间也就越多,同时还会使Windows的加载速度变慢。删除不必要的壁纸和屏保。尽量减少同时运行的程序的数量。每打开一个应用程序,Windows都会为其准备堆栈并开辟内存空间,同时还要跟踪处于非激活状态的应用程序,这都将占用本来就非常紧张的系统资源,所以,关闭暂时不用的应用程序、减少“启动”项目中的程序的数量,对缓解资源紧张的现象大有裨益。减少GPF的出现。GPF具有很大的破坏性,可导致未存盘的文件内容全部丢失。如某个软件或硬件使用了其它软件或硬件占用的内存时,就会导致GPF发生。当系统中增加了一个新的应用程序、一个带有驱动程序的硬件或是重新对系统进行了配置时,最易出现GPF,其中,显示驱动程序可能是GPF的主要根源之一。另外,经常使用SCANDISK或CHKDSK对硬盘进行处理,修复错误的FAT、交叉连接的文件以及丢失的簇等,也可在一定程度上减少GPF的出现。

常见内存故障的排除

前面分别从“硬性”和“软性”两个角度分别介绍了关于内存的方方面面,这里将就关于内存的常见故障及解决方法作一简要介绍。内存故障多种多样,应根据具体情况具体解决,这里就较常见的情况作一简要分析:CMOS的设置与内存不一致。要注意一台机器的内存条奇偶校验应一致,两者不能混用,比如,内存若是8片一条的,应将“Memory Parity Error Check:”设置为Disabled,而若是9片一条的,应将“Memory Parity Error Check:”设置为Enabled。另外,有时虽能进入CMOS设置状态,但退出时出现死机,这时有可能是购买了以低速内存冒充高速内存的缘故,此时可把CMOS的“Cas Read Wait State:0 W/S”(读等待)和“Cas Write Wait State:0 W/S”(写等待)设大一点,如把0改为1,以适应那些低速充当高速的内存条。执行了MEMMAKER.EXE引起死机。在CONFIG.SYS和AUTOEXEC.BAT中,有的程序不宜装入UMB,而在执行MEMMAKER.EXE时加上了DEVICEHIGH或LOADHIGH,有时便会导致死机。解决时可以在系统启动时按F8,逐一执行CONFIG.SYS和AUTOEXEC.BAT的命令,直到出现死机的那一行,此处便是问题所在,重新启动后,按F5进入DOS状态,在有问题的命令行前加上REM语句或删除此命令行均可。由HIMEM.SYS设置不当引起的故障。HIMEM.SYS有一个开关/MACHINE:XXXX,它用于指定用户使用的A20处理器类型。一般地,HIMEM.SYS能检测系统正在使用的是哪一种类型的A20处理器,如果报告A20处理器有问题(显示“Unable to Contronal A20 Line”信息)或在高端内存区使用MS-DOS有问题,用户就必须设置此值。XXXX开关的缺省设置是at或1,用户可参照有关文档对此值进行必要设置。另外,应注意HIMEM.SYS中是否使用了/A20CONTROL:OFF设置,如果设置为OFF,机器运行速度将明显便慢,这时应将其设置为ON,其实,默认设置即为ON。由Windows退到DOS后关机,数据出现未存盘而莫名丢失。在DOS 6.2以前版本的SMARTDRV.EXE要在控制传给COMMAND.COM之后才处理磁盘缓存的数据,所以,要等待5秒钟的时间让SMARTDRV.EXE有时间完成操作。对于DOS 6.2以后的版本,SMARTDRV.EXE会先清理缓存,然后在将控制传给COMMAND.COM,所以,在这种情况下,当出现C:\>时,磁盘缓存以被清理干净了,此时关机没有什么妨碍。如果使用的是Windows自己所带的SMARTDRV.EXE,同时基于的DOS版本不甚高,如DOS 6.0、5.0,这时5妙的约定同样有用。有时能正常启动,有时不能正常启动。出现这种问题,说明系统硬件的控制逻辑没有问题,热稳定性也正常,如果再排除电源接触不良、接口接触不良等原因,那么很有可能是内存接触不良所引起。这时可把内存条拔下后重新插入,一般便可解决问题。另外,有些主板要求所有内存条必须全部插好才能引导,而有些主板只要求至少有一块内存条插好便可正常引导,但此时所检测的内存数与实际内存数不符,此时也应拔下内存条把其重新插好。顺便说一句,一些兼容机的非正规的主机板对内存条的固定较差,紧靠槽边的塑料卡口固定,由于塑料片比较薄脆,再插拔时很容易折坏,而一旦损坏后就很难固定,因此必须小心操作。“Packed file corrupt”故障。DOS 5.0以上版本使用了HIMEM.SYS和EMM386.EXE内存管理程序后,可将DOS系统本身装入HMA,将TSR和设备驱动程序装入UMB,给应用程序留出了更多的常规内存空间,使得应用程序可以装入前面的64KB内存。这本来是很有用的,但有些程序装入第一个64KB运行时却会出现“Packed file corrupt”错误而不能运行,有时甚至出现死机。出现此种错误的原因,是由于这些被运行的程序通过EXEPACK压缩过的程序,MS-DOS在执行用EXEPACK压缩过的程序时先开包,把原来的程序和DOS替换过的程序进行比较。由于EXEPACK程序计算时并没有考虑到会在低64KB内运行,数据段地址计算时没有比较是否小于0,这样,EXEPACK就取不到正确的地址,只好显示“Packed file corrupt”。由于EXEPACK应用及其广泛,Microsoft只好在DOS中弥补这个漏洞,用LOADFIX命令来加载用EXEPACK压缩过的程序以进行特殊处理。所以,当运行一个程序时出现“Packed file corrupt”时,就用LOADFIX命令将其加载到首个64KB内存,如:C:\>LOADFIX TEST.EXE。配置了高速缓存,但机器速度仍然很慢。此时有可能是CMOS中关于高速缓存的设置不当所引起。目前386以上的计算机,都提供了64KB或64KB以上的高速缓存,486以上的计算机都提供了内部缓存,此时应把CMOS中“Internal Cache Memory:”设置为Enabled,这将使机器运行速度大为提升,如果设置为Disabled,将会大大降低机器的运行速度。386及以下的计算机一般都没有提供内部高速缓冲存储器,所以这项值应设置为Disabled,如果设置成了Enabled,则很容易发生死机现象。




 

Copyright (C) 1999-2001 Cycnet.com, Cycnet. All Rights Reserved
版权所有 中国青少年计算机信息服务网