有哪位朋友能详细介绍一下,内存中SPD读出的信息规则都代表什么意思啊!
1个回答
展开全部
内存的 Parity 、 ECC 和 SPD
对于内存的奇偶校验 (Parity) 要从比特概念说起,比特 (bit) 是内存中的最小单位,也称“位”。它只有两个状态分别以 1 和 0 表示。我们将 8 个连续的比特叫做一个字节 (byte) 。非奇偶校验内存的每个字节只有 8 位,若它的某一位存储了错误的值,就会使其中存储的相应数据发生改变而导致应用程序发生错误。
而奇偶校验内存在每一字节 (8 位 ) 外又额外增加了一位作为错误检测之用。比如一个字节中存储了某一数值 (1 、 0 、 0 、 1 、 1 、 1 、 1 、 0) ,把这每一位相加起来 (1+0+0+1+1+1+1+0=5) 。若其结果是奇数,校验位就定义为 1 ,反之则为 0 。当 CPU 返回读取储存的数据时,它会再次相加前 8 位中存储的数据,计算结果是否与校验位相一致。当 CPU 发现二者不同时就作出一定的反应。现在主板都可以使用带奇偶校验位或不带奇偶校验位两种内存条,但要注意两种不能混用。
而 ECC(Error Checkingand Correcting) 内存,它也是在原来的数据位上外加位来实现的。如 8 位数据,则需 1 位用于 Parity 检验, 5 位用于 ECC ,这额外的 5 位是用来重建错误的数据的。当数据的位数增加一倍, Parity 也增加一倍,而 ECC 只需增加一位,当数据为 64 位时所用的 ECC 和 Parity 位数相同 ( 都为 8) 。
在那些 Parity 只能检测到错误的地方, ECC 可以纠正绝大多数错误。若工作正常时,你不会发觉你的数据出过错,只有经过内存的纠错后,计算机的操作指令才可以继续执行。当然在纠错时系统的性能有着明显降低,不过这种纠错对服务器等应用而言是十分重要的, ECC 内存的价格比普通内存要昂贵许多。
SPD(Serial Presence Detect 串行存在探测 ) ,它是 1 个 8 针的 SOIC 封装 (3mm*4mm)256 字节的 EEPROM (Electrically Erasable Programmable ROM 电可擦写可编程只读存储器 ) 芯片。型号多为 24LC01B ,位置一般处在内存条正面的右侧,里面记录了诸如内存的速度、容量、电压与行、列地址带宽等参数信息。
当开机时 PC 的 BIOS 将自动读取 SPD 中记录的信息,如果没有 SPD ,就容易出现死机或致命错误的现象。它是识别 PC100 内存的一个重要标志。现在个别厂商一方面为了降低生产成本,另一方面又要从表面上迎合 PC100 标准,就在 PCB 板上焊上一片空的 SPD 。这样就有可能导致在 100MHz 以上外频不能正常工作,还应该注意的是一些厂商出的主板 ( 如 INTEL 原装板 ) 一定要 BIOS 检测到 SPD 中的数据才能正常工作,而对于使用假 SPD 的内存来说,就会有不兼容或死机的现象出现。
对于内存的奇偶校验 (Parity) 要从比特概念说起,比特 (bit) 是内存中的最小单位,也称“位”。它只有两个状态分别以 1 和 0 表示。我们将 8 个连续的比特叫做一个字节 (byte) 。非奇偶校验内存的每个字节只有 8 位,若它的某一位存储了错误的值,就会使其中存储的相应数据发生改变而导致应用程序发生错误。
而奇偶校验内存在每一字节 (8 位 ) 外又额外增加了一位作为错误检测之用。比如一个字节中存储了某一数值 (1 、 0 、 0 、 1 、 1 、 1 、 1 、 0) ,把这每一位相加起来 (1+0+0+1+1+1+1+0=5) 。若其结果是奇数,校验位就定义为 1 ,反之则为 0 。当 CPU 返回读取储存的数据时,它会再次相加前 8 位中存储的数据,计算结果是否与校验位相一致。当 CPU 发现二者不同时就作出一定的反应。现在主板都可以使用带奇偶校验位或不带奇偶校验位两种内存条,但要注意两种不能混用。
而 ECC(Error Checkingand Correcting) 内存,它也是在原来的数据位上外加位来实现的。如 8 位数据,则需 1 位用于 Parity 检验, 5 位用于 ECC ,这额外的 5 位是用来重建错误的数据的。当数据的位数增加一倍, Parity 也增加一倍,而 ECC 只需增加一位,当数据为 64 位时所用的 ECC 和 Parity 位数相同 ( 都为 8) 。
在那些 Parity 只能检测到错误的地方, ECC 可以纠正绝大多数错误。若工作正常时,你不会发觉你的数据出过错,只有经过内存的纠错后,计算机的操作指令才可以继续执行。当然在纠错时系统的性能有着明显降低,不过这种纠错对服务器等应用而言是十分重要的, ECC 内存的价格比普通内存要昂贵许多。
SPD(Serial Presence Detect 串行存在探测 ) ,它是 1 个 8 针的 SOIC 封装 (3mm*4mm)256 字节的 EEPROM (Electrically Erasable Programmable ROM 电可擦写可编程只读存储器 ) 芯片。型号多为 24LC01B ,位置一般处在内存条正面的右侧,里面记录了诸如内存的速度、容量、电压与行、列地址带宽等参数信息。
当开机时 PC 的 BIOS 将自动读取 SPD 中记录的信息,如果没有 SPD ,就容易出现死机或致命错误的现象。它是识别 PC100 内存的一个重要标志。现在个别厂商一方面为了降低生产成本,另一方面又要从表面上迎合 PC100 标准,就在 PCB 板上焊上一片空的 SPD 。这样就有可能导致在 100MHz 以上外频不能正常工作,还应该注意的是一些厂商出的主板 ( 如 INTEL 原装板 ) 一定要 BIOS 检测到 SPD 中的数据才能正常工作,而对于使用假 SPD 的内存来说,就会有不兼容或死机的现象出现。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询