我最近正在作一个面向底层的开发工作,具体上说,是围绕内存制造与测试的工作。
这个项目就是为很多内存制造商提供测试方案,用于快速的检测内存模组的测试。
应对众多厂家的要求,我需要在软件的界面上显示测试的环境信息,这包括 CPU 速度和
cache 信息,SDRAM 的速率,通道模式,时序信息。时序信息包括了 CL,tRCD,tRP,tRAS。
当然还包括内存测试方案的信息,和测试状态信息。
CPU 的大致信息,你可以通过 CPUID 指令获得,而亦可以用 rdtsc 读取系统的时间戳来算
到 CPU 的实时速率。这个方法对于大多数 CPU 都是可行的,少数不支持 CPUID 指令的就
是例外。
SDRAM 的信息大多数存储于主板的芯片组中,北桥的内存控制器管理着内存的工作方式和监
督其工作状态。拿 Intel 为例,自 945 以前的芯片组,其资料都是公开的,参照官方的
Intel Datasheet,你可以获得 PCI 设置参数的读取方法。所有的信息乃至支持的模组类型,
可控的时序范围都是可以读到的。大家用到的 CPU-Z,都应该是这样读到的。
然而,到了 965 时代,这一切都发生了改变。从 965 Datasheet 资料上看,这片资料也相
对比较完整。但是 Chipset 寄存器的组织结构却发生了变化,寄存器组的分工更加的明确
和正式化。按照原先的想法,这并没有什么不妥。毕竟 965 是转向 Intel 3 系列的实验板。
但是在我们用老的方法读取这些资料的时候,发现了一个大问题。按照 Datasheet 资料上
的描述,我们却完全读取不到正确的内存信息,后来发现,内存控制寄存器 MCHBAR 被锁住
了(disabled置高),用程序也无法解锁。这里好像僵住了。
在 Datasheet 中,唯一可以看到的就是 "Locked by Intel TXT mode"。这是 Intel 新出
的一中加密技术。相当长的时间里,我也无法找到加密的方法。
事情就这样过去了,在过一段时间。公司立刻也拿到了 Intel 3 系列的主板 G33,我们对
这块板子仍旧担心受怕。如果 Intel 仍旧将信息加密,我们无疑在这方面又会止步。恩,
G33 一样采用了 965 的组织结构,将内存信息同一管理,还继续往下分类为两个通道(for
DDR)。我们尝试用 945 的老方法读取 PCI 信息。恩??完全奏效,Intel 发了善心,并
没有封锁这段寄存器。我和同事兴高采烈的在 G33 Datasheet 中找取时序信息的描述。OMG,
我觉得 Intel 实在太不厚道了,他隐藏了非常多的资料。寄存器组中的数据很多都是
Reserved 状态,我们要的 CL 和 tRAS 就在其中!!!
寄存器有很多很多个,他们定义的空间非常大,MCHBAR 指向的空间就有 4Kb,CL 是极其重
要的参数,一旦变动会影响很多的参数,对其定位异常困难。这是另外一个僵局呢。
我使用过很多很多的软件,在很多网站上发帖请求帮助,通常总是无功而返,偶尔有人告诉
我,可以到 CPU-Z 官方论坛上。我想想也是,来看看 CPU-Z 是怎么样的呢?我使用
CPU-Z 作了很多实验,发现它也不能在 965 芯片下提供实时的时序参数。哈哈,你也没辙
了。但是在 G33 下面,CPU-Z 丝毫没有问题,我当时愣是无法明白。这资料是怎么找到的
呢?
后来我在 x86-secret 论坛上面遇到了一位朋友,我跟他说我在 G33 上遇到了些问题。他
当时就很兴奋:没有想到也有人作着同样的事情。而此时此刻他也碰到了同样的难题,他的
做法是选择向 Intel 官方寻求帮助。我地心来,这不是与虎谋皮么,他隐藏的资料,能告
诉你们?但是他却告诉我,他已经得到了官方的许诺,说是在两个工作日内给予回复。我只
有和这位老兄一起等待。
………………
几乎一个星期过去了,我终于等到这位仁兄的回复。他告诉我,Intel 的硬件设计师已经考
察了这个问题,他们回复说,这个问题是可以解决的,但是你必须和 Intel 签署一份 NDA
协议(Single-user Non-Disclosure Agreement),并且向其提供一份官方认证的发布名单,
保证我们遵守协议。
因此我们放弃了这个念头,基于此下两个原因:
1. 所谓官方认证的发布名单,必然是不会公开源代码的。
2. 即便我们想法设法签署到了 NDA 协议,我们也拿到了内存控制器的资料,我们也是不被
允许开放源代码的,否则我们就违反了 NDA 协议。
哎,搞了半天,Intel 可是在这里等着我们呢。
分享到:
相关推荐
**nda 保密协议** 在IT行业中,nda(Non-Disclosure Agreement,保密协议)是一种法律文件,用于保护敏感信息不被未授权的第三方获取或使用。它在软件开发、技术交流、商务合作等领域中广泛应用,确保参与方在共享...
保密协议(NDA)知识点总结 一、保密协议概述 保密协议(NDA,Non-Disclosure Agreement)是一种常见的法律协议,旨在保护当事方之间交流的机密信息和技术。该协议通常签订于商业合作、技术合作、投资、研究开发等...
NDA-NonDisclosureAgreement-保密协定保密协议[参考].pdf
NDA数据集下载的专用软件NDADownloadManager
富士施乐s2011nda驱动是由富士施乐官方专门为富士施乐s2011nda型号复印机打造的官方驱动程序,这款驱动程序能够有效解决打印机无法适配和连接错误问题,有需要的朋友欢迎下载使用!富士施乐S2011NDA复印机介绍...
"nda_signed"通常意味着该软件或插件已经过非披露协议(NDA)的签署,这意味着其可能包含敏感信息,且只对特定用户开放。 在IT领域,Telnet是一种远程访问协议,允许用户通过网络连接到另一台设备(如路由器),并...
资源分类:Python库 所属语言:Python 资源全名:nda_tools-0.1.16.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
在IT行业中,保密协议(Non-Disclosure Agreement, NDA)和竞业限制协议(Non-Compete Agreement, NCA)是两个非常重要的法律文件,它们对于保护公司的知识产权、商业秘密以及防止员工离职后直接竞争至关重要。...
HP打印机维修手册,非高清版,可以用的程度。
1. **定义**:保密协议(Non-Disclosure Agreement, NDA)是双方或多方签订的合同,旨在保护一方提供的机密信息不被另一方泄露。在IT行业中,这通常涉及源代码、客户名单、商业策略等敏感信息。 2. **签署方**:...
在IT行业中,保密协议(Non-Disclosure Agreement,简称NDA)是保护企业核心商业信息和技术创新的重要法律工具。本模板旨在详细阐述保密协议的主要内容及其重要性,以帮助企业和个人在与外包公司或独立设计师合作时...
此文档可能包含非公开的详细信息,因此标记为NDA(Non-Disclosure Agreement,保密协议)内容。本文将深入探讨与“APTIO BIOS NDA编程”相关的知识点,并结合UEFI(统一可扩展固件接口)环境展开讨论。 首先,AMI ...
标题中的"psk.zip_8psk matlab_NDA"表明这是一个关于PSK调制技术的MATLAB实现,其中特别关注了8PSK(八进制相移键控)的非数据辅助(NDA)同步方法。8PSK是一种广泛使用的数字调制技术,它在有限带宽的通信系统中...
保密协议,又称非披露协议(NDA),是在甲乙双方进行商业合作时签订的,旨在确保双方在交流业务和技术信息时,能够保护彼此的敏感信息不被滥用或泄露。在这个特定的科技公司保密协议书中,甲乙双方同意对共享的信息...
保密协议,也称为非披露协议(NDA),是法律文件的一种,用于保护敏感信息不被未经授权的第三方获取或使用。这种协议在IT行业中至关重要,因为许多公司和组织处理着涉及技术细节、源代码、商业策略等机密信息。以下...
保密协议,也称为NDA(Non-Disclosure Agreement),在IT外包中起着关键作用。它规定了接收方(通常是外包公司)在项目执行期间和结束后必须对提供方(委托公司)的机密信息保持沉默,并限制这些信息的不当使用。...
在IT行业中,保密协议(Non-Disclosure Agreement, NDA)和竞业限制协议(Non-Compete Agreement, NCA)是两个非常重要的法律文件,它们对于保护公司的知识产权、商业秘密以及防止员工离职后直接竞争至关重要。...
《PyPI官网下载 | nda_tools-0.2.1.tar.gz:Python库解析与应用》 在Python的生态系统中,PyPI(Python Package Index)是最重要的资源库,它为开发者提供了一个平台来分享和下载各种Python库。本文将详细探讨PyPI...
在IT行业中,保密协议(Non-Disclosure Agreement,NDA)是企业和个人之间用来保护敏感信息的重要法律工具。保密协议的签订确保了接收方在获取特定商业秘密、技术信息或其他机密资料时,不会无授权地泄露这些信息给...