关于计算机内存
本节重点介绍通用内存,即 PC 存储当前正在使用的程序和数据的地方,它是向处理器提供数据并接收处理结果的通道。通用内存被称为“读写内存”或“随机存取存储器(RAM)”,必须能够读取和写入。现代 PC 上主要使用两种类型的 RAM:
动态 RAM
“动态 RAM (DRAM)”存储数据的时间仅为几分之一秒,之后便会丢失。为了保持存储的数据,系统必须不断地“刷新”DRAM,这会影响性能并限制其速度。典型的 DRAM 提供 60 ns(纳秒)的访问时间,但其价格便宜且功耗相对较低。
静态 RAM
“静态 RAM (SRAM)”只要通电就能自动保持其内容,无需刷新。SRAM 的访问时间比 DRAM 快一个数量级,但价格昂贵且功耗较高。
PC 使用分层内存架构来利用这些特性:
主存
PC 的大部分内存使用 DRAM(现代系统使用一种称为“SDRAM”的变体,将在下一节中介绍),称为“主存”。它的容量很大,通常为 256 MB 到 1 GB 或更多,但速度太慢,无法跟上现代 CPU 的步伐。CPU 将即将用到的程序和数据存储在主存中。主存充当了 CPU 和磁盘之间的缓冲区。
高速缓存
“高速缓存(Cache memory)”是一小块快速的 SRAM,用于缓冲 CPU 和主存之间的访问。
现代 PC 有两层高速缓存:
一级高速缓存
“一级高速缓存”,也称为“L1 缓存”,通常是 16 到 128 KB 的超高速内存,与 CPU 本身位于同一芯片上。L1 缓存的大小和效率是影响 CPU 性能的主要因素。L1 缓存的数量和类型由你使用的 CPU 决定,无法升级。
二级高速缓存
L1 缓存不足以消除处理器和主存之间的速度差异。“二级高速缓存”,也称为“L2 缓存”,在成本和性能之间取得了合理的平衡,弥补了这一差距。在所有现代处理器(包括 Intel Pentium 4 和 Celeron,以及 AMD Athlon 64 和 Sempron)中,L2 缓存都是 CPU 封装(或 CPU 基板本身)的一部分。现代处理器的 L2 缓存大小从 128 KB 到 2 MB 不等。
善用高速缓存
处理器上的高速缓存数量会对性能产生巨大影响,特别是当你处理小型数据集时。例如,当我们在两个几乎相同的处理器上测试 SETI@Home (http://setiathome.ssl.berkeley.edu/) 客户端时,其中一个处理器具有 512 KB 的 L2 缓存,另一个具有 1 MB,第二个处理器完成工作单元所需的时间不到第一个处理器的一半。这是因为整个工作单元都可以放入 1 MB 的 L2 缓存中,而无法放入 512 KB 的 L2 缓存中。运行类似的分布式处理应用程序,如果使用的数据集太大而无法放入 1 MB 的 L2 缓存,那么拥有较大 L2 缓存的处理器只会稍微快一点。如果你在两个相似的处理器之间进行选择,请务必选择 L2 缓存较大的那一个。
内存类型
近期系统的主存通常采用以下类型之一:
同步 DRAM
“同步 DRAM”,也称为“SDRAM”,于 1996 年开始发货,并广泛用于 2001 年之前的 PC。与现在已淘汰的旧式异步内存不同,SDRAM 与 CPU 共享一个公共时钟参考。CPU 和内存同步工作,允许 CPU 在需要时随时与内存传输数据,而无需等待特定的时间窗口。SDRAM 的速度以 MHz 为单位指定,而不是早期内存所使用的纳秒。同步 DRAM 有以下几种形式:
JEDEC SDRAM
“JEDEC SDRAM”或“PC66 SDRAM”这样命名是为了将其与后来的“PC100 SDRAM”和“PC133 SDRAM”区分开来。
PC100 SDRAM
“PC100 SDRAM”适用于使用 100 MHz 前端总线(FSB)的 Pentium II 和 Pentium III 处理器。
PC133 SDRAM
“PC133 SDRAM”适用于 133 MHz 的前端总线。请注意,不能想当然地认为 PC133 内存可以用来升级安装有 PC66 或 PC100 内存的系统。某些系统(特别是基于 Intel 440BX 和 810 系列芯片组的系统)需要 PC100 内存,如果安装 PC133 内存,则无法正常工作。
总的来说,虽然 PC66、PC100 和 PC133 SDRAM 模块仍然可以买到(尽管分销有限),但任何使用 SDRAM 的系统都不是理想的升级对象。最新的 SDRAM 系统现在已经使用了超过五年,正接近其使用寿命的终点。最快的 SDRAM 系统(如 1+ GHz 的 Pentium III 机型)仍然足够快,可以在次要任务中发挥作用,但 SDRAM 每兆字节的高昂成本使得通过购买新内存来升级它们非常不划算,只能通过从其他旧系统中回收 SDRAM 来实现。
DDR-SDRAM
与标准 SDRAM 相比,“双倍数据速率 SDRAM (DDR-SDRAM)”在每个时钟周期内传输的数据量翻倍,从而有效地将峰值内存带宽增加了一倍。DDR-SDRAM 是对标准 SDRAM 的渐进式改进,后者现在有时被称为“单倍数据速率 SDRAM”或“SDR-SDRAM”以示区分。由于 DDR-SDRAM 的生产成本与 SDR-SDRAM 基本相同,它很快就淘汰了 SDR-SDRAM。
用于生产 DDR-SDRAM 内存模块(称为 DIMM,双列直插式内存模块)的芯片是根据其运行速度命名的。例如,100 MHz 的芯片通过双倍泵压达到 200 MHz,因此被称为 DDR200 芯片。同样,在 133 MHz 下运行的芯片被称为 DDR266 芯片,在 166 MHz 下运行的芯片被称为 DDR333 芯片,而在 200 MHz 下运行的芯片被称为 DDR400 芯片。
与按芯片速度命名的 SDR-SDRAM DIMM 不同,DDR-SDRAM DIMM 是根据其带宽来命名的。
它们的数据路径宽度为 64 位(8 字节)。因此,例如,一个使用 DDR200 芯片的 DDR-SDRAM DIMM 每秒传输 8 字节 2 亿次,总带宽为 16 亿字节/秒,被称为 PC1600 DIMM。同样,使用 DDR266 芯片的 DDR-SDRAM DIMM 被标记为 PC2100,使用 DDR333 芯片的标记为 PC2700,使用 DDR400 芯片的标记为 PC3200。
PC3200 DDR-SDRAM 模块价格的下降很快淘汰了较慢的 DDR-SDRAM 形式,尽管 PC2700 模块仍有少量分销。对于使用较慢变体的系统来说,PC2100 及更慢的 DDR-SDRAM 供应有限并不是问题,因为 PC3200 内存与较慢的变体向后兼容。
更快不一定更好
面向游戏玩家、超频爱好者和其他发烧友的高性能内存模块提供 PC3500、PC4000、PC4200 及更高规格。除非你将系统超频到超过其额定速度,否则这些高价模块不会提供任何额外收益。
切勿混用
将较快的模块与较慢的模块混合使用,会导致较快的内存以所安装最慢模块的速度运行。此外,一些主板对混合速度的内存处理不佳。如果你要升级一个只有少量较慢 DDR-SDRAM 的系统,而处理器又能利用 PC3200 DDR-SDRAM 的更高速度,通常建议更换掉较慢的模块,而不是仅仅添加 PC3200 模块。
任何使用 DDR-SDRAM 的系统都是不错的升级候选者。如果内存没有标注,你可以通过在制造商网站上查看模块上的项目编号来确定 DDR-SDRAM DIMM 的速度和其他特性。DDR-SDRAM DIMM 使用 184 个针脚,可以通过观察针脚数量和单个键槽的位置,将其与 168 针的 SDR-SDRAM 和 240 针的 DDR2-SDRAM 内存模块区分开来。图 6-2 显示了一个 DDR-SDRAM DIMM。
图 6-2:一个 DDR-SDRAM DIMM
DDR2 SDRAM
到 2003 年初,最初的 DDR-SDRAM 技术已接近其极限。随着 AMD 和 Intel 向更高的前端总线速度过渡,DDR-SDRAM 很难跟上节奏。主流 DDR-SDRAM 的上限是 PC3200。使用 PC3200 内存的双通道 DDR 芯片组(结合了成对内存模块的带宽)将峰值带宽限制为 6400 MB/s。这与具有 800 MHz 前端总线且内存通道宽度为 64 位(8 字节)的处理器(如主流的 Pentium 4 型号)的带宽要求相匹配,但随着新处理器的推出,即使是双通道 DDR-SDRAM 也将无法跟上处理器带宽的增长。
长期的解决方案是“DDR2 SDRAM”。DDR2 在标准 DDR 技术的基础上进行了一系列改进,包括增加带宽、降低电压(1.8V 对比 DDR 的 2.5V)、降低功耗和改进封装。正如 DDR-SDRAM 在相同频率下运行时比 SDR-SDRAM 带宽翻倍一样,DDR2-SDRAM 通过将电气接口速度翻倍,使带宽比 DDR-SDRAM 更上一层楼。DDR2 DIMM 使用新的 240 针连接器,与 184 针的 DDR-SDRAM 及更早的连接器不兼容。表 6-1 列出了 DDR2-SDRAM 的重要特性,并列出了 PC3200 (DDR400) DDR-SDRAM 以供对比。
表 6-1:DDR2 特性
尽管 Intel 自推出以来一直大力推行 DDR2,但最初的采用速度很慢,原因有二。首先,DDR2 内存最初的售价比 DDR 内存高出许多,有时甚至高达 200% 到 300%。到 2005 年底,这种差价已降至 15% 或 20%,使 DDR2 成为更合理的选择。其次,尽管 DDR2 提供比 DDR 高得多的带宽,但它的“延迟”也高得多。实际上,这意味着虽然 DDR2 可以以比 DDR 更高的速度传输数据,但它开始传输数据所需的时间更长。对于主要使用顺序内存访问的应用程序(例如视频编辑),DDR2 的带宽优势提供了明显更高的内存性能。对于随机访问内存的应用程序(包括许多个人办公软件),DDR 的延迟优势使其更具优势。DDR2-SDRAM DIMM 使用 240 个针脚,可以通过观察针脚数量和键槽位置,将其与 168 针的 SDR-SDRAM 和 184 针的 DDR-SDRAM 内存模块区分开来。
Rambus RDRAM
“Rambus RDRAM”是由 Intel 和 Rambus 联合开发的专有 RAM 标准。Rambus RDRAM 封装在称为“RIMM”的模块中,这是一个商标名称,而非缩写。
RDRAM 内存有三种类型,分别称为“基准 Rambus”、“并发 Rambus”和“直接 Rambus”。前两种已过时,仅用于游戏主机等设备。PC 中使用的所有 RDRAM 内存都是直接 Rambus 内存。RDRAM 有四种速度规格,分别为 PC600、PC700、PC800 和 PC1066,不过目前只有 PC800 和 PC1066 仍然可买到。与 DDR-SDRAM 一样,RDRAM 模块按带宽命名,但有所不同。RDRAM 使用 16 位或 18 位数据路径(对比 SDRAM 的 64 位)一次传输两个字节,而 DDR-SDRAM 的带宽是 8 字节。因此,PC800 RDRAM 的带宽仅为 1.6 GB/s,PC1066 为 2.133 GB/s,远低于 DDR-SDRAM,更不用说 DDR2-SDRAM 了。
二合一模块
RDRAM RIMM 最初作为 16 位或 18 位部件提供。在双通道 RDRAM 主板中,这些模块必须成对安装,每个通道一个。目前市面上常见的 PC1066 32/36 位 RDRAM RIMM 实际上是将两个 16 位或 18 位 RIMM 合并为一个封装,可以在双通道 RDRAM 系统中单独安装。
RDRAM 还存在严重的延迟问题,而且这种延迟会随着 RDRAM 设备数量的增加而增加。虽然 RDRAM 在推出时提供了潜在的更高整体性能,但速度更快且便宜得多的 DDR-SDRAM 很快就淘汰了 RDRAM 在桌面系统中的应用。基于 RDRAM 的系统虽然勉强可升级,但请仔细权衡系统的使用年限以及添加额外 RDRAM 内存的成本,与更换主板并使用 DDR-SDRAM 或 DDR2-SDRAM 内存的成本。
Rambus 已不再适用于 PC
Rambus 推出了 RDRAM 的后续产品,称为“XDR DRAM”,其性能(虽然价格未必)可与 DDR-SDRAM 竞争。XDR DRAM 用于 Sony PlayStation 3 游戏主机,但没有任何现有的 PC 芯片组支持 XDR DRAM。所有内置 Rambus 内存的 PC 现在都已接近其设计寿命的终点。
你可以通过了解系统的使用年限来判断系统中可能存在的内存类型。图 6-3 显示了过去 10 年中安装在新系统中的内存类型的时间轴。
图 6-3:按年份使用的各种新系统内存类型
截至 2005 年底,未来几年 PC 的内存格局似乎是可以预测的。PC3200 DDR-SDRAM 内存将继续用于低端系统,并将继续为那些升级旧系统的用户提供广泛的选择。DDR2-SDRAM 在 2005 年最终在基于 Intel 的系统中站稳了脚跟,随着 AMD 在 2006 年全年推出兼容 DDR2 的处理器,DDR2 将成为主流内存技术,并逐渐取代 DDR-SDRAM。
0条评论