通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

内存为什么要Training,内存初始化代码为什么是BIOS中的另类

内存要Training的原因:内存I/O部分频率越来越高,误差会被放大,因而需要对齐和补偿以平衡和对冲线路的差异和信号的噪声。内存初始化代码是BIOS中的另类的原因:它是少数与模拟信号和信号完整性打交道的地方,在内存的对齐和补偿过程中,需要进行大量的采样、眼图代码的操作。

一、内存为什么要Training,内存初始化代码为什么是BIOS中的另类

内存需要Training的原因:因为现代内存的I/O频率越来越高,这就让小小的一点误差都会被放大。因此,内存需要进行对齐和补偿,以平衡和对冲线路的差异和信号的噪声,从而保证数据的准确性。内存的访问链路非常复杂,包括了内存控制器、PHY、布线、内存颗粒、内存 Cell 等等,每个环节都可能引起时钟不同步和采样延迟的问题。因此,需要在各个部分分别进行对齐和补偿,以使内存 DIMM 的上百条连线整齐划一,确保数据传输的正确性和稳定性。

内存初始化代码在 BIOS 中是一个另类的原因:是因为它是少数与模拟信号和信号完整性打交道的地方,在内存的对齐和补偿过程中,需要进行大量的采样、眼图代码的操作。相比于其他 BIOS 代码,内存初始化代码需要更多的核心技术功底和实践经验才能编写。另外,不同的 CPU 厂商可能采用不同的内存访问方式,其中 Intel 采用 In Band training,因此在 BIOS 中进行内存训练,而 ARM 和 AMD 使用 OOB(Out Of Band)Training,则在其他位置进行内存初始化。

二、内存主要技术

1、ECC

在普通的内存上,常常使用一种技术,即Parity,同位检查码(Parity check codes)被广泛地使用在侦错码(error detectioncodes)上,它们增加一个检查位给每个资料的字元(或字节),并且能够侦测到一个字符中所有奇(偶)同位的错误,但Parity有一个缺点,当计算机查到某个Byte有错误时,并不能确定错误在哪一个位,也就无法修正错误。基于上述情况,产生了一种新的内存纠错技术,那就是ECC,ECC本身并不是一种内存型号,也不是一种内存专用技术,它是一种广泛应用于各种领域的计算机指令中,是一种指令纠错技术。

ECC的英文全称是“ Error Checking and Correcting”,对应的中文名称就叫做“错误检查和纠正”,从这个名称我们就可以看出它的主要功能就是“发现并纠正错误”,它比奇偶校正技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后计算机才能正确执行下面的任务,确保服务器的正常运行。之所以说它并不是一种内存型号,那是因为并不是一种影响内存结构和存储速度的技术,它可以应用到不同的内存类型之中,就象前讲到的“奇偶校正”内存,它也不是一种内存,最开始应用这种技术的是EDO内存,SD也有应用,而ECC内存主要是从SD内存开始得到广泛应用,而新的DDR、RDRAM也有相应的应用,主流的ECC内存其实是一种SD内存。

2、Chipkill

Chipkill技术是IBM公司为了解决服务器内存中ECC技术的不足而开发的,是一种新的ECC内存保护标准。我们知道ECC内存只能同时检测和纠正单一比特错误,但如果同时检测出两个以上比特的数据有错误,则一般无能为力。ECC技术之所以在服务器内存中泛采用,一则是因为在这以前其它新的内存技术还不成熟,再则在服务器中系统速度还是很高,在这种频率上一般来说同时出现多比特错误的现象很少发生,正因为这样才使得ECC技术得到了充分地认可和应用,使得ECC内存技术成为几乎所有服务器上的内存标准。

3、Register

Register即寄存器或目录寄存器,在内存上的作用我们可以把它理解成书的目录,有了它,当内存接到读写指令时,会先检索此目录,然后再进行读写操作,这将大大提高服务器内存工作效率。带有Register的内存一定带Buffer(缓冲),并且能见到的Register内存也都具有ECC功能,其主要应用在中高端服务器及图形工作站上,如IBM Netfinity 5000。

三、BIOS是什么

BIOS是英文”Basic Input Output System”的缩略词,直译过来后中文名称就是”基本输入输出系统”。在IBM PC兼容系统上,是一种业界标准的固件接口。BIOS这个字眼是在1975年名列前茅次由CP/M操作系统中出现。 BIOS是个人电脑启动时加载的名列前茅个软件。

其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

延伸阅读1:内存

内存(Memory)是计算机的重要部件,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。

相关文章