串行存在检测(英語:,缩写SPD)是一种访问内存模块有关信息的标准化方式

本文主要是介绍串行存在检测(英語:,缩写SPD)是一种访问内存模块有关信息的标准化方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

串行存在检测(英語:,缩写SPD)是一种访问内存模块有关信息的标准化方式。 早期的72 pin SIMM包括五个引脚,提供5位元并行存在检测(PPD)数据,而168 pin DIMM标准更改为串行存在检测,以编码更多信息。

在普通的现代電腦开机时,它将进行一次加电自检(POST)。自从20世纪90年代中期以来,这个过程包括自动設定当前存在的硬件。SPD是一项内存硬件特性,可使電腦了解存在的内存以及访问内存要使用的时序。

部分電腦可以完全自动地適應硬件变更。在大多数情况下,有一个特殊的可选步骤可以访问BIOS参数,得以查看并可能更改相关設定。有些電腦可以控制如何使用SPD中存储的数据——可以选择性的修改内存时序,乃至完全覆盖(忽视)SPD数据,詳見超頻。

存储的信息

对于支持SPD的内存模块,JEDEC标准要求在内存模块的一个EEPROM上的低128字节中存有特定参数。这些字节包括模块相关的时序参数、制造商、序列号及其他实用信息。利用内存的设备可以读取该信息来自动确定模块的关键参数。例如,SDRAM模块上的SPD数据可能提供有关CAS潜伏时间的信息,使系统可以自动配置而无需用户干预。

SPD EEPROM采用SMBus访问,这是I²C协议的一个变种。这将模块上的通信引脚数量减少到两个:时钟信号和数据信号。EEPROM与RAM共享接地引脚,有自己的电源引脚,并有三个额外引脚(SA0-2)来标识该槽,用于将EEPROM分配到0x50-0x57范围内的唯一地址。通信线路不仅可以在8个内存模块之间共享,同一SMBus通常也用于主板上的系统健康监控任务,例如读取电源电压、CPU温度和风扇速度。

(如果没有写保护,SPD EEPROMs也响应I²C地址0x30–0x37。一个扩展使用0x18–0x1F地址访问可选的芯片上温度传感器。)

SDR SDRAM

一个SDRAM模块,包含SPD数据(红圈)。

第一个SPD规范由JEDEC发布,并由英特尔加强,作为其PC100内存规范的一部分。指定的大多数值为二進碼十進數形式。最重要的半字节可以包含10到15个值,并在某些情况下可以扩展到更高。在这种情况下, 1、2、3的编码用于编码16,17和18。最高的0的半字节被保留表示为“未定义”。

SPD ROM定义了最多三个DRAM时序,在字节18中用设置位指定了三个CAS延迟。首先是最高的CAS延迟(最快时钟),然后是两个降低时钟速度的较低的CAS延迟。

DDR2 SDRAM

DDR2 SPD标准做了一些修改,但大致同上。一个显着变化是删除混乱且很少使用的有两个不同大小Rank的DIMM支持。

时间周期字段(字节9、23、25和49)以二進碼十進數(BCD)编码,一些额外编码以十分位定义,以正确表示一些常见时序:

DDR3 SDRAM

DDR3 SDRAM标准大幅修缮,简化了SPD内容布局。取代多个BCD编码的纳秒字段,一些“时基”单元被规定为高精度,并且各种时序参数被编码为基本单元的倍数。此外,根据CAS延迟指定不同时序的做法已被删除,现在只有一组时序参数。

修订1.1使一些参数表示为“中等时基”值加上(带符号,-128 +127)“精细时基”校正。通常来说,中等时基为1/8 ns(125 ps),精细时基为1、2,5或5 ps。为了与缺少校正的早期版本兼容,中等时间基数通常向上取整,并且校正为负。以这种方式工作的值为:

模块的存储容量可以从字节4、7和8计算。模块宽度(字节8)除以每个芯片的位数(字节7)得出每个rank的芯片数量。然后可以乘以每个芯片的容量(字节4)和模块上芯片的Rank数量(通常为1或2,从字节7)。

扩展

JEDEC标准仅规定了部分SPD字节。真正关键的数据放在了前64个字节,而其余部分则由制造商标定。然而,通常提供的EEPROM为256字节。剩余空间目前已有一些用途。

增强性能配置(EPP)

内存通常在SPD ROM中附有保守的时序建议,以确保在所有系统上基本功能运行正常。爱好者通常会花费很多时间来手动调整内存时序以提高速度。

增强性能配置文件是一项SPD扩展,由Nvidia和Corsair开发,其中包含使DDR2 SDRAM以更高性能运行的额外信息,例如JEDEC SPD规范中不包括的供电电压和命令时序信息。EPP信息存储在同一个EEPROM中,不过字节在99-127,属于DDR2 SPD标准中的未使用区域。

这些参数专为nForce 5、nForce 6和nForce 7芯片组上的内存控制器设计。Nvidia鼓励在BIOS为其高端主板芯片组支持EPP。此能旨在提供“一键超頻”,以最小的努力取得更佳性能。

Nvidia为性能和稳定性得到认证的EPP内存提供的名称是“SLI-Ready 内存”。术语“SLI-Ready 内存”引起了一些混乱,因为这与NVIDIA SLI无关。用户可以使用单个视频卡(哪怕非Nvidia卡)搭配EPP/SLI内存,也可以在没有EPP/SLI内存的情况下运行多卡SLI视频配置。

其扩展版本EPP 2.0则支持DDR3内存。

Extreme Memory Profile(XMP)

与之类似的是,英特尔为DDR3 SDRAM DIMM开发了一个JEDEC SPD扩展。它使用JEDEC未分配的字节176-255来编码更高性能的内存时序。中文也称“扩展内存配置” 头部包含下列数据。其中最重要的是“中等时基”值MTB,它是一个合理的纳秒(常用值为1/8、1/12和1/16 纳秒)。之后的许多时序值都以整数个MTB单位表示。

头部还包括该配置文件旨在支持的每个内存通道的DIMM数量;更多的DIMM可能无法正常工作。

AMD也開發了一個SPD擴充集名為AMP,功用與XMP一樣。

供应商指定内存

一种常见的滥用是将信息写入某些内存区域,以将特定供应商的内存模块绑定到特定系统。已知富士通技术解决方案有这样做。向系统添加不同的内存模块通常会导致拒绝运行或其他反制措施(例如每次启动时需按F1)。

02 0E 00 01-00 00 00 EF-02 03 19 4D-BC 47 C3 46 ...........M.G.F
53 43 00 04-EF 4F 8D 1F-00 01 70 00-01 03 C1 CF SC...O....p.....

这是一个美光科技512 MB内存模块的输出,它的品牌是富士通西门子,注意“FSC”字符串。该系统BIOS拒绝从偏移128h开始没有此信息的内存模块。

读取和写入SPD信息

内存模块制造商会将SPD信息写入模块上的EEPROM。主板BIOS则读取SPD信息来配置内存控制器。在大多数(但不是所有)主板芯片组中,存在多个能读取和修改SPD信息的程序。

  • dmidecode(页面存档备份,存于)程序可以解码内存(及其他)有关信息,可以在Linux、FreeBSD、NetBSD、OpenBSD、BeOS、Cygwin和Solaris上运行。dmidecode不直接访问SPD信息;它会报告有关内存的BIOS数据。此信息可能受限或不正确。
  • 在Linux系统上,使用者空間程序decode-dimms可以以i2c-tools解码和印出计算机中任何有SPD信息的内存信息。它需要内核中支持SMBus控制器、EEPROM内核驱动,并且SPD EEPROM已连接到SMBus。在旧的Linux发行版上,decode-dimms.pl作为lm_sensors的一部分可用。
  • OpenBSD自4.3版本起包含驱动程序spdmem(4)来提供有关内存模块的信息。该驱动程序从NetBSD移植(自5.0版本可用)。
  • Coreboot读取和使用SPD信息来初始计算机中的所有内存控制器的时序、大小及其他属性。
  • Windows上使用如HWiNFO32、CPU-Z或Speccy软件可以读取和显示SPD中的DRAM模块信息。

使用eeprom编程器硬件和软件直接访问内存的EEPROM,可以直接读写SPD信息,而无需关心芯片组。

对于旧笔记本电脑来说,一种不太常见的用法是通用的SMBus读取器,因为BIOS可以在读取后禁用模块上的内部EEPROM,因此总线基本上可以使用。所用方法是将A0、A1线拉低,使内部存储器关闭,从而允许外部设备访问SMBus。完成此操作后,定制的Linux版本或DOS应用程序就可以访问外部设备。这样做的一个常见目的是从LCD面板的内存芯片中恢复数据,将通用面板改装为笔记本电脑专用。

在旧设备

部分较旧的设备必需使用具有并行存在检测(常称为简单存在检测,或缩写PD)的SIMM。这些设备中部分使用非标准的PD编码,尤其是如IBM计算机、惠普LaserJet,及其他一些打印机。

参见

  • 传感器电子数据表

参考资料

  1. ^  . EDN电子技术设计. 2011-09-05 [2017-05-07]. (原始内容存档于2019-02-21).
  2. ^  Thomas P. Koenig; Nathan John, , Electronic News, 1997-02-03, 43 (2153) [2017-05-07], (原始内容存档于2015-05-03)
  3. ^  JEDEC Standard 21-C section 4.1.4 "Definition of the TSE2002av Serial Presence Detect (SPD) EEPROM with Temperature Sensor (TS) for Memory Module Applications"
  4. ^  Application note INN-8668-APN3: SDRAM SPD Data Standards (页面存档备份,存于), memorytesters.com
  5. ^  . [2017-05-07]. (原始内容存档于2015-12-22).
  6. ^  JEDEC Standard 21-C section 4.1.2.4 (页面存档备份,存于) "SPDs for DDR SDRAM"
  7. ^  JEDEC Standard 21-C section 4.1.2.10 (页面存档备份,存于) "Specific SPDs for DDR2 SDRAM"
  8. ^  JEDEC Standard 21-C section 4.1.2.11 "Serial Presence Detect (SPD) for DDR3 SDRAM Modules"
  9. ^  JEDEC Standard 21-C section 4.1.2 (页面存档备份,存于) "SERIAL PRESENCE DETECT STANDARD, General Standard"
  10. ^  JEDEC Standard 21-C section 4.1.2.5 (页面存档备份,存于) "Specific PDs for Synchronous DRAM (SDRAM)"
  11. ^  (PDF), Nvidia, 2006-05-12 [2009-05-05], (原始内容存档 (PDF)于2020-02-21)
  12. ^  (PDF). [2017-05-07]. (原始内容存档 (PDF)于2020-02-21).
  13. ^  Enhanced Performance Profiles 2.0 (页面存档备份,存于) (pages 2–3)
  14. ^  (PDF). [2017-05-07]. (原始内容存档 (PDF)于2010-01-05).
  15. ^  . [2018-06-11]. (原始内容存档于2020-11-05).
  16. ^  . [2017-05-07]. (原始内容存档于2011-05-22).
  17. ^  . [2017-05-07]. (原始内容存档于2008-12-02).
  18. ^  . Lm-sensors.org. [2014-08-14]. (原始内容存档于2012-03-11).
  19. ^  . [2017-05-07]. (原始内容存档于2020-12-11).

外部链接

  • Serial Presence Detect Standard, General Standard
  • SPD Rev1.0 for DDR SDRAM(页面存档备份,存于)
  • SPD Rev1.2 for DDR2 SDRAM(页面存档备份,存于)
  • SPD Rev1.3 for DDR2 SDRAM
  • SPECIALITY DDR2-1066 SDRAM(页面存档备份,存于)
  • Linux软件包i2c-tools
  • Instructions on how to use lm-sensors or i2c-tools to read the data
  • Memory Performance: 16GB DDR3-1333 to DDR3-2400 on Ivy Bridge IGP with G.Skill(页面存档备份,存于) – explanation of various timing values

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.

 

这篇关于串行存在检测(英語:,缩写SPD)是一种访问内存模块有关信息的标准化方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/400300

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

java读取excel文件为base64实现方式

《java读取excel文件为base64实现方式》文章介绍使用ApachePOI和EasyExcel处理Excel文件并转换为Base64的方法,强调EasyExcel适合大文件且内存占用低,需注意... 目录使用 Apache POI 读取 Excel 并转换为 Base64使用 EasyExcel 处