内存的指标 相关数据及计算
内存的指标、相关数据及计算
www.hardworld.net 2001-11-4 硬件维修天地
一、关于内存的指标
1.tCK
tCK 代表SDRAM 所能运行的最大频率,数字越小说明SDRAM 芯片所能运行的频率就越高。对于一片 普通的PC100 的SDRAM 内存条来说,其芯片上的标识-10 代表了它的运行时钟周期为10ns ,即可以在 100MHz 的外频下正常工作。大多数内存标号的尾数表示的就是tCK 周期,像PC133 标准要求tCK 的数值 不大于7.5ns 。
2.tAC
tAC 也就是最大CAS 延迟时的最大数输入时钟,PC100 规范要求在CL=3 时tAC 不大于6ns ,而某些内存编号的位数则表示的是这个值。目前大多数SDRAM 芯片的存取时间为5 、6 、7 、8 或10ns 。这不同于系 统时钟周期,它们二者之间是有着本质的区别,读者要对此有足够的认识。
3.CL(CAS Latency)
CL(CAS Latency)为CAS(Column Address Strobe,列地址控制器) 的延迟时间,这是纵向地址脉 冲的反应时间,也是在一定频率下衡量不同规范内存的重要标志之一。比如现在大多数的SDRAM(在外 频为100MHz 时) 都能在CAS Latency =2 或3 的模式下运行,也就是说这时它们读取数据的延迟时间 可以是2 个时钟周期也可以是3 个时钟周期(当然在延迟时间为2 个时钟周期时,SDRAM 会有更高的效 能) 。在SDRAM 的制造过程中,可以将这个特性写入SDRAM 的EEPROM(就是SPD) 中,在开机时主板的BIOS 就会检查此项内容,并以CL=2 这一默认的模式运行。
对于PC 100 内存来说,要求当CL 的值为3 时,tCK 的数值要小于10ns 、tAC 要小于6ns 。至于为 什么要强调是CL=3 的时候呢,这是因为对于同一个内存条,当成设置成为不同CL 数值时,tCK 的值就 可能不相同,这样内存所表现的性能与稳定性都不同。关于总延迟时间一般用这个公式计算:总延迟时 间=系统时钟周期×CL+存取时间(tAC),比如某PC100 内存的存取时间为6ns ,我们设定CL 模式数为 2(即CAS atency=2),则总延迟时间=10ns ×2+6ns=26ns 。
二、关于内存的校验
这里很多人都有一种迷惑,因为在我们现在的电脑当中,很少有系统采用校验功能,这使得许多 人认为校验功能不重要,其实这是一个误区。其实这都是因为厂商为了降低价格而造成的后果。 因为非奇偶校验完全没有容错。被人使用的惟一原因是其成本最低,和奇偶校验和ECC 技术相比, 是一个不需要增加额外的存储器。由于带奇偶校验的数据字节为9 位,而无奇偶校验的字节只需8 位, 也就意味着奇偶校验的存储器的成本要比非奇偶校验的存储器成本高12.5%。在一开始,PC 机一般都 带有校验功能。但是随着市场竞争越来越激烈,有些大厂商为了降低价格,增强产品的竞争力,在机 器中使用了没有校验功能的内存条。而他们并没有让广大用户知道,低价的电脑中并不带有校验功能。 既然业界的领导人物都这样做,使得其他厂商都开始生产该类产品。
由于没有人愿意公布这个信息,使得这个风气逐渐在电脑业界开始蔓延。以至于作为业界领袖的 Intel 公司推出了一款不带校验功能的430FX 芯片组。而这款芯片组居然成为当年最流行的芯片组。所 以从430FX 芯片组以后,除了430HX 芯片组以外,所有的Intel 芯片组都不支持校验功能。 不过随着电脑主频的速度越来越快,系统出错的几率越来越大,所以在Pentium Pro 和Pentium Ⅱ以后的芯片组中,都开始支持校验功能,而且越来
越多的人也认识到这类存储器的重要性,尤其是 那些打算购买服务器的用户,对这个功能更加关注。 下面简单介绍一下两种校验方法,一个是奇偶校验,另一个是ECC 校验。
1. 奇偶校验
一个工业标准的PC 机里,存储器应该有9 片存储芯片,每一片处理一位数据,其中8 位表示一个 字符,加上一个称为奇偶位的附加位。奇偶位使存储器控制电路在其他8 位表示标签,这样可以对系 统中每个字节的完整性作内置的交叉检查。如果检测到一个错误,计算机会提示用户系统出现故障。如 果系统在Windows 这样的图形操作系统下运行,一个奇偶校验错误通常由系统自己处理为锁定系统。当 重新启动时,BIOS 检测错误并给出相应的错误信息。
奇偶校验有两个基本优点:
● 奇偶校验可以防止基于不正确数据所作错误计算的结果。
● 奇偶校验可以准确定位错误的来源,有助于问题的解决,改善了系统的可服务性。
2.ECC
ECC 是新型PC100 内存中普遍提到的一种技术名词,它是内存校验的一种。所谓ECC 也就是英文 “Error C hecking and Correcting ”(错误检查和纠正) 的简称。ECC 与传统的奇偶校验(Parity)类似, 然而奇偶校验只能检测到错误所在,并不能进行纠正,ECC 却可以纠正绝大多数错误。
ECC 在简单奇偶错误检测的基础上前进了很多。ECC 不仅缉拿良策一个错误,而且能够纠正一位的 错误,这意味着系统能在不中断和不破坏数据的情况下继续运行。在大多数PC 上实现的ECC 只能检测 而不能纠正两位错误。因为在存储器中,大约有98%的错误是一位变化,伴随在存储器中最常见的ECC 类型是一个访问数据字里检测和纠正一位错。这类ECC 就是所谓的SED-DED(单位纠错,双位检错) 。一 般在4(32 位,如386 系列) 位字节系统中,32 位外还需要附加7 位校验位,此时ECC 显然要比无奇偶校 验和带奇偶校验的代价要高。但在8 字节(64 位,如Pentium 系列) 系统中,64 位以外需要附加8 个校 验位,这与奇偶校验的成本相同。所以如果芯片组支持ECC 功能,可以为电脑选购代奇偶校验的能内 存条。
三、内存的编号
我们经常可能碰到以下问题:手上有一个内存,却不知道它的容量大小,64MB 还是128MB ?或者不
知道它的工作频率是多少,PC100 还是PC133? 碰到这样的情况,上机测试是最好的方法,但有时条件 可能不允许,那么此时我们应该怎么办呢?
其实很简单,内存的信息都在内存本身上印刷着。尽管内存颗粒生产厂家、生产日期、封装形式
以及在颗粒上印刷的文字不一样,但是我们可以从内存的编号上得到我们想要的信息。在内存芯片的 标识中,通常包括以下几个内容:厂商名称、单片容量、芯片类型、工作速度、生产日期等,其中还可 能有电压、容量系数和一些厂商的特殊标识在里面。如以“HYB39S64800AF-8 ”为例,其中最前面的 “HYB ”代表的是芯片生产厂商的标志,表示该颗粒为Siemens(西门子) 生产的。39S 代表厂商的内部标 识(一般为三位,但也可能为二位);64 是指64Mbit 的容量(注意是bit ,而不是Byte); 其后面不同厂家
标法不太一样。对于Siemens 来说,-8 表示其工作频率为8ns ,就是可以工作在125MHz 。
具体的厂商代号如下:HY(Hyundai,现代电子) 、GM(LG-Semicon)、LH(SHARP)、KM 或M(SAMSUNG 三 星) 、M5M(Hitsubishi)、MB(Fujitsu)、 MCM(Motorola)、 MN(Matsushita)、MSM(OKI)、 MT(Micron)、
TC 或TD(Toshiba 东芝) 、TI(TMS 德州仪器) 、HM(Hitachi 日立) 、TM(STI)、 uPD(NEC)、NN(NPNX)、BM (IBM)。
但请注意,由于没有统一的工业标准,不同厂家内存颗粒定义可能不太一样。比如有些厂家可能
会在标识里面定义了内存的位数。如对“GM72V161621CT10K ”内存,我们可以从编号判断该内存颗粒 为LG 生产,单颗容量为16Mbit(2Mbyte)的内存,而其后的16 表示每块小芯片的位数是16 位,对于现 在64 位的总线系统来说,至少需要4 片这样的芯片才能构成可用的内存条。这时候这条由4 片小芯片
构成的内存条容量是16Mbit/8 ×4=8MB,它就是8MB 一条的内存。如果内存条上有8 片这样的芯片,当 然就是16MB 的内存(该方法也可用来计算显卡芯片上总线的带宽) 。在“-”后的数字表示芯片的系统
时钟周期或存取时间。该数值的具体需要看具体的厂家的规定。如LGS 的-10K ,表明其工作频率可为
10ns ,也就是说可以在100MHz 下运行。另外对于PC100 内存产品,其编号一般表示为:PCX-ABC-DEF 的 形式,X 代表工作频率,66MHz 或100MHz 等;A 代表最小的CAS Latency 数,一般为2 或3;B 代表最小的 tRCD(RAS 相对CAS 的延时时间,时钟数一般是2;C 代表最小RAS 预充电时间) ,时钟数一般是2;D 代表 最大tAC ,Access time from CLK 时间,多为6ns 、7ns 等数值;E 代表SPD 的版本号V1.2;F 是一个保 留值为0 。
下面我们对常见的内存颗粒进行具体介绍:
1.LGS
编号通常为:GM72V ab cd e 1 f g T hi
ab:容量(Mbit)
cd:数据位宽(位)
e:内存条包括的Bank 数
f:内核的版本号(越往后越新,可为空白)
g:若是“L ”就是低功耗,普通型为空白
hi:速度
现在LG 的内存后缀有T-S 和T-H 两种,前者代表PC100 的颗粒,后者代表PC133 的颗粒,分别用来 取代原有的-7J(K)和-75 。
2. 现代电子(Hyundai)
编号通常为:HY5a b cde fg h 0 i j kl-mn
5a:芯片类型,57 为SDRAM ,5D 为DDR
b:电压,V 为3.3v ,U 为2.5v ,空白为5v
cde:容量(Mbit)和刷新速度(k Ref.)
fg:数据位宽(位)
h:内存条包括的Bank 数,1 、2 、3 分别为2 、4 、8 个Bank
0:接口界面,0:LVTTL;1:SSTL(3);2:SSTL_2;3:Mixed Interface;
i:内核的版本号(可为空白)
j:若是“L ”就是低功耗,普通型则为空白
kl:封装形式的编号
m:速度
n:通常P 比S 的好一些
编注:现代的内存事业部已经被LG 所并购,但是在市场上和一些用户手中还有部分现代的内存,
所以在本书中仍然列出现代内存的资料,以作参考。
3. 三星电子(Samsung)
编号通常为:KM4 ab S cd 0 e f gT-h
ab:数据位宽(位)
abcd=容量(Mbit)
e:内存条包括的Bank 数,1 、2 、3 分别为2 、4 、8 个Bank
f:内存接口,0=LVTTL 、1=SSTL
g:内存版本,空白=第1 代、A=第2 代、B=第3 代
T:封装类型,T =TSOP Ⅱ (400mil)
h:电源供应,G=自动刷新、F=低电压自动刷新
4.NEC
编号通常为:D45 ab c d eG5-Afg h-ijk
ab:容量(Mbit)
c:数据位宽(位)
d:内存条包括的Bank 数,3 、4 都表示4 个
e:内存接口,1=LVTTL
5. 西门子(Siemens)
编号通常为:HYB39S ab cd 0 e T f -g
ab:容量(Mbit)
cd:数据位宽(位)
e:内核的版本号(越后越新,可为空白)
f:若是“L ”就是低功耗,普通型则为空白
6.Micron
其编号通常为:MT48 ab cd M ef Ag TG-hi j 。
ab:芯片类型,LC 为SDRAM;46V 为DDR
cd*ef=容量(Mbit)
ef:数据位宽(位)
Ag:AX 代表Write Recovery(tWR),A2 为tWR=2CLK
i:内核的版本号(可为空白)
j:若是“L ”就是低功耗,普通型则为空白
四、软性内存
以上所谈到的内存均是客观存在的事物,我们称之为硬性内存。而现在操作系统是Windows 的天
下,内存的分配已不需要使用者来管理。但是Windows 系统中也有许多DOS 的内存理论所以我们有必要 了解一下DOS 环境下PC 使用的内存类型。
DOS 下内存被划分为系统存储器(System Memory)、扩展存储器(Extended Memory)和扩充存储器
(Expanded Memory)。
1. 系统存储器
它对应IBM PC 最初的1MB 存储地址,又被分为常规内存(Conventional Memory)和上端内存(Upper Memory) 。常规内存也经常被称为低端内存、基本内存或自由内存,是0 ~640KB 之间的线性空间,其 容量为640KB 。在工作期间,它通常用来存放系统程序和用户的程序及数据,它的最大的三个占用者分 别为DOS 系统、内存驻留程序(TSR)和应用程序。
这部分内存通常留给系统使用,如视频缓冲、BIOS 等。在这部分内存中,总有一部分是空闲的,一
般称为上位内存块(Upper Memory Block,简称UMB) ,通常位于768 ~960KB 之间,其大小受系统所配 置的显示器有关,可以利用EMM386 、386MAX 、QEMM386 等应用软件予以利用。
2. 扩充内存(EMS,Expanded Memory Specification)
扩充内存通常也被称为EMS 存储器,它是由Lotus 、Intel 和Microsoft 联合制定的,它是扩充内
存的使用规范。EMS 采用了页帧(页帧是在1MB 空间中指定一块64KB 空间,分为4 页,每页16KB) 的方 式进行访问。
在当初制订EMS 规范时,EMS 需要一个安装在I/O 槽的内存扩充卡和一个称为EMS 的扩充内存管理 程序才可以使用。但I/O 插槽的地址线只有24 位,这对于386 以上的32 位微机来说是不能适应的。所 以,所以这样的方法早已被淘汰,现在的微机一般都是用软件对其进行扩充。
3. 扩展内存(XMS,eXtend Memory Specification)
我们把1MB 以上的地址空间称为扩展内存,有时也称为XMS 。在386 以上档次的微机中,有两种存 储器工作方式,一种成为实模方式,一种称为保护方式。在实模方式下,采用20 位物理地址,所以最
大寻址空间为1MB ,以便与8086 兼容。保护模式则采用了32 位的物理地址,寻址范围可以达到4GB 。 为了有效地使用扩展内存,由Lotus 、Intel 、Microsoft 和AST 联合制订了扩展内存XMS 使用规范。
它定义了三个特定区域:高端存储区HMA 、上位内存块UMB 和扩展内存块EMB 。HMA 是1024KB ~1088KB 之
间的线性空间,其容量为64KB ,通过激活第21 条地址线可以在实模下直接访问,它只能作为单独的存 储块处理,不能分割共享,只能调入一个单独的程序。UMB 是指上位内存未使用的地址空间,通过专门 的硬件和扩展内存管理程序反问这些空间。EMB 是1088KB 以上的地址空间,只有在保护模式下反问使 用,是非常重要的内存资源。
4.“影子”内存
“影子”内存(Shadow RAM,或称ROM Shadow)是为了提高系统效率而采用的一种专门技术,它把
系统主板上的系统ROM BIOS 和适配器卡上的视频ROM BIOS 等映射到系统RAM 内存中,其地址仍使用 它们在上位内存中占用的原地址。更确切地说,是从扩展内存中拿出一部分物理存储空间,赋以ROM 的
原地址,由这部分扩展RAM 代替原ROM 。由于ROM 采用静态CMOS 电路,其存取速度为200ns 左右,而系
统存储器RAM 采用动态CMOS 电路,其存取速度为10ns 左右,读取速度提高了数倍。所以将存放在ROM 中的BIOS 代码(基本输入输出例行程序,它们在系统运行期间非常频繁的被调用) 拷贝到系统RAM 中就 可提高系统运行和显示的速度和效率,它的设置一般在CMOS 中完成,如Video ROM Shadow C000,32K: Enabled(对视频BIOS 的设置为“打开”) ,其他设置类似。
一般386DX 以上机器的标准配置均有4MB 以上内存,此时系统一般都自动保留384KB 的物理内存供 “影子”内存使用,即使CMOS 中设置为Disabled ,这些物理内存也照样保留。因此不如把其选项均设 置为Enabled ,充分享受“影子”内存的优越性。
5. 虚拟内存
由于计算机的主存一般是由半导体存储器件构成的,受其成本和工艺的制约,主存的存储容量受
到了限制; 另一方面,系统程序和应用程序要求主存容量越来越大,为解决这个矛盾,虚拟存储技术便 油然而生。所谓虚拟存储技术是建立在主存和辅存物理结构基础之上,有附加硬件装置及操作系统存 储管理软件组成的一种存储体系,它将主存和辅存的地址空间统一编址,形成一个庞大的存储空间。在 虚拟存储系统中,基本信息传送单位可采用段、页或段页等几种不同的方式。在Windows 操作系统中, 虚拟内存由Windows 系统统一管理,用户不必考虑内存的大小,只需按自己的实际需要去做便可以了。
6.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 的出现。