标题：记忆体
存储器
记忆体在电脑的组成结构中，有一个很重要的部分，就是存储器。存储器是用来存储程式和数据的部件，对于电脑来说，有了存储器，才有记忆功能，才能保证正常工作。存储器的种类很多，按其用途可分为主存储器和辅助存储器，主存储器又称记忆体储器（简称记忆体）.记忆体在电脑中起着举足轻重的作用。记忆体一般采用半导体存储单元，包括随机存储器（RAM），只读存储器（ROM），以及高速缓存（CACHE）。只不过因为RAM是其中最重要的存储器。S（SYSNECRONOUS）DRAM 同步动态随机存取存储器：SDRAM为168脚，这是目前PENTIUM及以上机型使用的记忆体。SDRAM将CPU与RAM通过一个相同的时钟锁在一起，使CPU和RAM能够共用一个时钟周期，以相同的速度同步工作，每一个时钟脉冲的上升沿便开始传递数据，速度比EDO记忆体提高50%。DDR（DOUBLE DATA RAGE）RAM ：SDRAM的更新换代产品，他允许在时钟脉冲的上升沿和下降沿传输数据，这样不需要提高时钟的频率就能加倍提高SDRAM的速度。
记忆体
记忆体就是存储程式以及数据的地方，比如当我们在使用WPS处理文稿时，当你在键盘上敲入字元时，它就被存入记忆体中，当你选择存档时，记忆体中的数据才会被存入硬（磁）盘。在进一步理解它之前，还应认识一下它的物理概念。
只读存储器（ROM）
ROM表示只读存储器（Read Only Memory），在制造ROM的时候，信息（数据或程式）就被存入并永久保存。这些信息只能读出，一般不能写入，即使机器掉电，这些数据也不会丢失。ROM一般用于存放电脑的基本程式和数据，如BIOS ROM。其物理外形一般是双列直插式（DIP）的集成块。
随机存储器（RAM）
随机存储器（Random Access Memory）表示既可以从中读取数据，也可以写入数据。当机器电源关闭时，存于其中的数据就会丢失。我们通常购买或升级的记忆体条就是用作电脑的记忆体，记忆体条（SIMM）就是将RAM集成块集中在一起的一小块电路板，它插在电脑中的记忆体插槽上，以减少RAM集成块占用的空间。目前市场上常见的记忆体条有128M/条、256M/条、512M/条等。
高速缓冲存储器（Cache）
Cache也是我们经常遇到的概念，它位于CPU与记忆体之间，是一个读写速度比记忆体更快的存储器。当CPU向记忆体中写入或读出数据时，这个数据也被存储进高速缓冲存储器中。当CPU再次需要这些数据时，CPU就从高速缓冲存储器读取数据，而不是访问较慢的记忆体，当然，如需要的数据在Cache中没有，CPU会再去读取记忆体中的数据。 
当你理解了上述概念后，也许你会问，记忆体就是记忆体，为什么又会出现各种记忆体名词，这到底又是怎么回事呢？ 
在回答这个问题之前，我们再来看看下面这一段。
物理存储器和地址空间
物理存储器和存储地址空间是两个不同的概念。但是由于这两者有十分密切的关系，而且两者都用B、KB、MB、GB来度量其容量大小，因此容易产生认识上的混淆。初学者弄清这两个不同的概念，有助于进一步认识记忆体储器和用好记忆体储器。 
物理存储器是指实际存在的具体存储器晶元。如主板上装插的记忆体条和装载有系统的BIOS的ROM晶元，显示卡上的显示RAM晶元和装载显示BIOS的ROM晶元，以及各种适配卡上的RAM晶元和ROM晶元都是物理存储器。 
存储地址空间是指对存储器编码（编码地址）的范围。所谓编码就是对每一个物理存储单元（一个位元组）分配一个号码，通常叫作“编址”。分配一个号码给一个存储单元的目的是为了便于找到它，完成数据的读写，这就是所谓的“定址”（所以，有人也把地址空间称为定址空间）。 
地址空间的大小和物理存储器的大小并不一定相等。举个例子来说明这个问题：某层楼共有17个房间，其编号为801～817。这17个房间是物理的，而其地址空间采用了三位编码，其范围是800～899共100个地址，可见地址空间是大于实际房间数量的。 
对于386以上档次的微机，其地址汇流排为32位，因此地址空间可达232即4GB。但实际上我们所配置的物理存储器通常只有1MB、2MB、4MB、8MB、16MB、32MB等，远小于地址空间所允许的范围。 
好了，现在可以解释为什么会产生诸如：常规记忆体、保留记忆体、上位记忆体、高端记忆体、扩充记忆体和扩展记忆体等不同记忆体类型。
各种记忆体概念
这里需要明确的是，我们讨论的不同记忆体的概念是建立在定址空间上的。 
IBM推出的第一台PC机采用的CPU是8088晶元，它只有20根地址线，也就是说，它的地址空间是1MB。 
PC机的设计师将1MB中的低端640KB用作RAM，供DOS及应用程式使用，高端的384KB则保留给ROM、视频适配卡等系统使用。从此，这个界限便被确定了下来并且沿用至今。低端的640KB就被称为常规记忆体即PC机的基本RAM区。保留记忆体中的低128KB是显示缓冲区，高64KB是系统BIOS（基本输入/输出系统）空间，其馀192KB空间留用。从对应的物理存储器来看，基本记忆体区只使用了512KB晶元，占用0000至80000这512KB地址。显示记忆体区虽有128KB空间，但对单色显示器（MDA卡）只需4KB就足够了，因此只安装4KB的物理存储器晶元，占用了B0000至B10000这4KB的空间，如果使用彩色显示器（CGA卡）需要安装16KB的物理存储器，占用B8000至BC000这16KB的空间，可见实际使用的地址范围都小于允许使用的地址空间。 
在当时（1980年末至1981年初）这么“大”容量的记忆体对PC机使用者来说似乎已经足够了，但是随着程式的不断增大，图象和声音的不断丰富，以及能访问更大记忆体空间的新型CPU相继出现，最初的PC机和MS－DOS设计的局限性变得越来越明显。
什么是扩充记忆体
EMS工作原理 
到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。
什么是扩展记忆体
我们知道，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就是管理扩展记忆体的驱动程式。 
扩展记忆体管理规范的出现迟于扩充记忆体管理规范。
什么是高端记忆体区
在实方式下，记忆体单元的地址可记为： 
段地址：段内偏移 
通常用十六进位写为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。
什么是上位记忆体
为了解释上位记忆体的概念，我们还得回过头看看保留记忆体区。保留记忆体区是指640KB～1024KB（共384KB）区域。这部分区域在PC诞生之初就明确是保留给系统使用的，用户程式无法插足。但这部分空间并没有充分使用，因此大家都想对剩馀的部分打主意，分一块地址空间（注意：是地址空间，而不是物理存储器）来使用。于是就得到了又一块记忆体区域UMB。 
UMB（Upper Memory Blocks）称为上位记忆体或上位记忆体块。它是由挤占保留记忆体中剩馀未用的空间而产生的，它的物理存储器仍然取自物理的扩展存储器，它的管理驱动程式是EMS驱动程式。
什么是SHADOW（影子）记忆体
对于细心的读者，可能还会发现一个问题：即是对于装有1MB或1MB以上物理存储器的机器，其640KB～1024KB这部分物理存储器如何使用的问题。由于这部分地址空间已分配为系统使用，所以不能再重覆使用。为了利用这部分物理存储器，在某些386系统中，提供了一个重定位功能，即把这部分物理存储器的地址重定位为1024KB～1408KB。这样，这部分物理存储器就变成了扩展存储器，当然可以使用了。但这种重定位功能在当今高档机器中不再使用，而把这部分物理存储器保留作为Shadow存储器。Shadow存储器可以占据的地址空间与对应的ROM是相同的。Shadow由RAM组成，其速度大大高于ROM。当把ROM中的内容（各种BIOS程式）装入相同地址的Shadow RAM中，就可以从RAM中访问BIOS，而不必再访问ROM。这样将大大提高系统性能。因此在设置CMOS参数时，应将相应的Shadow区设为允许使用（Enabled）。
什么是奇/偶校验
奇/偶校验（ECC）是数据传送时采用的一种校正数据错误的一种方式，分为奇校验和偶校验两种。 
如果是采用奇校验，在传送每一个位元组的时候另外附加一位作为校验位，当实际数据中“1”的个数为偶数的时候，这个校验位就是“1”，否则这个校验位就是“0”，这样就可以保证传送数据满足奇校验的要求。在接收方收到数据时，将按照奇校验的要求检测数据中“1”的个数，如果是奇数，表示传送正确，否则表示传送错误。 
同理偶校验的过程和奇校验的过程一样，只是检测数据中“1”的个数为偶数。
总 结
经过上面分析，记忆体储器的划分可归纳如下： 
●基本记忆体 占据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等。