CN111095228A - 具有一个存储器通道的第一启动 - Google Patents

具有一个存储器通道的第一启动 Download PDF

Info

Publication number
CN111095228A
CN111095228A CN201780094523.9A CN201780094523A CN111095228A CN 111095228 A CN111095228 A CN 111095228A CN 201780094523 A CN201780094523 A CN 201780094523A CN 111095228 A CN111095228 A CN 111095228A
Authority
CN
China
Prior art keywords
memory
channel
logic
channels
filler
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201780094523.9A
Other languages
English (en)
Inventor
李玉福
尹冬贵
尤子健
李世辉
吴都健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN111095228A publication Critical patent/CN111095228A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/409Mechanical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

一种半导体封装装置的实施例可包括技术来从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。公开和要求保护了其他实施例。

Description

具有一个存储器通道的第一启动
技术领域
实施例概括而言涉及存储器系统。更具体而言,实施例涉及具有一个存储器通道的第一启动(first boot)。
背景技术
在一些存储器系统中,在为系统通电之后不久即执行训练。训练可包括设置和校准以使得各种输入/输出(IO)接口准备好接受命令。例如,更高的双数据速率(double datarate,DDR)速度可要求动态随机访问存储器(dynamic random access memory,DRAM)通道被调谐来实现改善的或者最优的信号质量和DDR总线定时。此调谐由基本输入/输出系统(BIOS)在启动期间执行并且可被称为DDR训练。
附图说明
通过阅读以下说明书和所附权利要求,并且通过参考以下附图,实施例的各种优点将对本领域技术人员变得清楚,附图中:
图1是根据一实施例的电子处理系统的示例的框图;
图2是根据一实施例的半导体封装装置的示例的框图;
图3A至3B是根据一实施例的启动操作系统的方法的示例的流程图;
图4至图6是根据一实施例的多通道存储器系统的示例的说明性框图;
图7是根据一实施例的启动操作系统的方法的另一示例的流程图;
图8A和8B是根据实施例的存储器训练器装置的示例的框图;
图9是根据一实施例的处理器的示例的框图;并且
图10是根据一实施例的系统的示例的框图。
具体实施方式
现在转到图1,电子处理系统10的实施例可包括处理器11、通信地耦合到处理器11的多通道存储器系统12以及通信地耦合到处理器11的逻辑13,该逻辑13从多通道存储器系统12的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的多通道存储器系统12的存储器通道的部分集合来完成操作系统的第一启动。例如,多通道存储器系统可包括N个存储器通道C1至CN,其中N大于1。存储器通道C1至CN中的一个或多个可填充有一个或多个存储器设备或组件。在一些实施例中,逻辑13可被配置为为填充存储器通道的部分集合识别一个存储器通道(例如,填充有一个或多个存储器设备的单个存储器通道)。例如,逻辑13可被配置为识别多通道存储器系统12的第一填充存储器通道作为该一个存储器通道。在另一示例中,逻辑13可被配置为识别多通道存储器系统12的具有比阈值更少的存储器组件的第一填充存储器通道作为该一个存储器通道。在另一示例中,逻辑13可被配置为识别多通道存储器系统的最少填充的存储器通道作为该一个存储器通道。在一些实施例中,逻辑13还可被配置为在第一启动完成之后使填充存储器通道的完全集合的其他填充存储器通道上线。
上述处理器11、多通道存储器系统12、逻辑13和其他系统组件的每一者的实施例可以用硬件、软件或者其任何适当组合来实现。例如,硬件实现方式可包括可配置逻辑,例如可编程逻辑阵列(programmable logic array,PLA)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、复杂可编程逻辑器件(complex programmable logicdevice,CPLD),或者使用诸如专用集成电路(application specific integratedcircuit,ASIC)、互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)或晶体管-晶体管逻辑(transistor-transistor logic,TTL)技术之类的电路技术的固定功能逻辑硬件,或者这些的任何组合。
替换地或者额外地,这些组件的全部或一些部分可作为存储在机器或计算机可读存储介质中的一组逻辑指令被实现在一个或多个模块中以被处理器或计算设备执行,所述机器或计算机可读存储介质例如是随机访问存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、可编程ROM(programmable ROM,PROM)、固件、闪存等等。例如,可以用一种或多种操作系统(operating system,OS)适用/适当的编程语言的任何组合来编写用于执行组件的操作的计算机程序代码,所述编程语言包括面向对象的编程语言,比如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等,还包括传统的过程式编程语言,比如“C”编程语言或类似的编程语言。例如,多通道存储器系统12、持续性存储介质或者其他系统存储器可存储一组指令,这些指令当被处理器11执行时使得系统10实现系统10的一个或多个组件、特征或方面(例如,逻辑13,从多通道存储器系统12的填充存储器通道的完全集合中识别填充存储器通道的部分集合,只用所识别的多通道存储器系统12的存储器通道的部分集合来完成操作系统的第一启动,等等)。
现在转到图2,半导体封装装置20的实施例可包括衬底21,以及耦合到衬底21的逻辑22,其中逻辑22至少部分实现在可配置逻辑和固定功能硬件逻辑的一个或多个中。耦合到衬底21的逻辑22可被配置为从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。在一些实施例中,逻辑22可被配置为为填充存储器通道的部分集合识别一个存储器通道(例如,填充有一个或多个存储器设备的单个存储器通道)。例如,逻辑22可被配置为识别多通道存储器系统的第一填充存储器通道作为该一个存储器通道。在另一示例中,逻辑22可被配置为识别多通道存储器系统的具有比阈值更少的存储器组件的第一填充存储器通道作为该一个存储器通道。在另一示例中,逻辑22可被配置为识别多通道存储器系统的最少填充的存储器通道作为该一个存储器通道。在一些实施例中,逻辑22还可被配置为在第一启动完成之后使填充存储器通道的完全集合的其他填充存储器通道上线。
逻辑22的实施例以及装置20的其他组件可实现在硬件、软件或者其任何组合中,包括硬件中的至少部分实现。例如,硬件实现方式可包括可配置逻辑,例如PLA、FPGA、CPLD,或者利用诸如ASIC、CMOS或TTL技术之类的电路技术之类的固定功能逻辑硬件,或者这些的任何组合。此外,这些组件的一些部分可作为存储在机器或计算机可读存储介质中的一组逻辑指令被实现在一个或多个模块中以被处理器或计算设备执行,所述机器或计算机可读存储介质例如是RAM、ROM、PROM、固件、闪存,等等。例如,可以用一种或多种OS适用/适当的编程语言的任何组合来编写用于执行组件的操作的计算机程序代码,所述编程语言包括面向对象的编程语言,比如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等,还包括传统的过程式编程语言,比如“C”编程语言或类似的编程语言。
现在转到图3A至3B,启动操作系统的方法30的实施例可包括在块31从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且在块32只用所识别的多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。方法30的一些实施例可包括在块33为填充存储器通道的部分集合识别一个存储器通道。例如,方法30可包括在块34识别多通道存储器系统的第一填充存储器通道作为该一个存储器通道。在另一示例中,方法30可包括在块35识别多通道存储器系统的具有比阈值更少的存储器组件的第一填充存储器通道作为该一个存储器通道。在另一示例中,方法30可包括在块36识别多通道存储器系统的最少填充的存储器通道作为该一个存储器通道。方法30的一些实施例还可包括在块37在第一启动完成之后使填充存储器通道的完全集合的其他填充存储器通道上线。
方法30的实施例可实现在系统、装置、计算机、设备等等(例如本文描述的那些)中。更具体而言,方法30的硬件实现方式可包括可配置逻辑,例如PLA、FPGA、CPLD,或者利用诸如ASIC、CMOS或TTL技术之类的电路技术实现在固定功能逻辑硬件中,或者这些的任何组合。替换地或者额外地,方法30可作为存储在机器或计算机可读存储介质中的一组逻辑指令被实现在一个或多个模块中以被处理器或计算设备执行,所述机器或计算机可读存储介质例如是RAM、ROM、PROM、固件、闪存,等等。例如,可以用一种或多种OS适用/适当的编程语言的任何组合来编写用于执行组件的操作的计算机程序代码,所述编程语言包括面向对象的编程语言,比如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等,还包括传统的过程式编程语言,比如“C”编程语言或类似的编程语言。
例如,方法30可实现在计算机可读介质上,如下文联系示例19至24所述。方法30的实施例或一些部分可实现在固件、应用(例如,通过应用编程接口(applicationprogramming interface,API))或者在操作系统(operating system,OS)上运行的驱动器软件中。
一些实施例可有利地提供技术来使得基本输入/输出系统(basic input/outputsystem,BIOS)第一启动更快和/或使得启动时间一致。一些实施例可提供负载减轻启动和/或一致负载启动。许多电子系统的一个技术问题是开启系统和系统看起来可响应用户之间的时间。在一些电子系统中,此时间可被称为启动时间(boot time)。在通电之后,BIOS可控制启动过程,最终在启动完成时将控制移交给OS(例如,此时系统可看起来是可响应用户的)。在第一启动期间(例如,从断电或完全关机状态开启),BIOS可执行双列直插存储器模块(dual-inline-memory-module,DIMM)定时训练来为OS交付稳定的存储器访问环境。在一些其他系统中,这个训练时间高度取决于平台上填充的DIMM的数目并且可花较长的时间(例如,存储器训练时间在具有发布BIOS版本的一些24DIMM平台上可花大约1.5分钟,并且对于调试BIOS版本可花甚至更长的时间)。有利地,一些实施例可提供技术来减小启动时间和/或减小或消除对平台上填充的DIMM的数目的任何依从性。
现在转到图4,多通道存储器系统40的一实施例可包括一个或多个插座(例如,插座0、插座1等等)。每个插座可包括多个存储器通道。例如,插座0可包括存储器通道0至存储器通道5,插座1可包括存储器通道0至存储器通道5,依此类推。每个插座还可包括耦合到各个存储器通道的多个存储器控制器。例如,插座0可包括集成存储器控制器(integratedmemory controller,iMC)0和1,其中iMC 0被配置为控制存储器通道0至2并且iMC 1被配置为控制存储器通道3至5。类似地,插座1可包括相应的iMC 0和1,其中iMC 0被配置为控制存储器通道0至2并且iMC 1被配置为控制存储器通道3至5,依此类推。每个存储器通道可包括多个插槽来安装存储器设备或组件,例如DIMM。例如,每个插座的存储器通道0至5的每一者可包括两个插槽(例如,在图4中标注为“1”和“2”)。因此,利用多通道存储器系统40的平台的实施例可支持两个插座,每个插座两个iMC,每个iMC三个通道,并且每个通道两个存储器插槽。其他实施例可支持更多或更少的插座、IMC、存储器通道、存储器插槽,等等。出于说明目的,存储器插槽的阴影图案表示安装在存储器插槽中的DIMM设备,而白框可表示空的存储器插槽(例如,没有安装DIMM设备)。
在一些其他系统中,BIOS第一启动可并行地训练每个插座的存储器定时。例如,在两插座系统中,整体训练时间与顺序地训练每个插座相比可大致是一半那么长。然而,其他系统可在第一启动期间串行地训练插座内的所有存储器通道。其他系统也可完全在系统管理模式(system management mode,SMM)中实现存储器在线BIOS特征。对于这些其他系统,BIOS第一启动和存储器上线都可花较长的时间,并且导致不良的用户体验,因为系统在这些时段期间看起来是不响应用户的。例如,当新的DIMM被添加到平台时(例如,与存储器热插拔类似),其他系统在OS启动之后可在SMM模式中运行,这在用户看来可能是OS被卡住并且没有平滑运行,直到存储器上线完成为止。有利地,一些实施例可提供技术来在训练减少数目的DIMM的情况下启动OS并且在BIOS正常模式中训练剩余DIMM,这允许了OS保持可响应,直到DIMM准备好上线为止。
在一些实施例中,BIOS可寻找填充了最少数目的DIMM的存储器通道,只训练所识别的通道上的DIMM,并且让其余DIMM不被训练,直到BIOS启动完成并且在进入了OS之后为止。然后OS驱动器可在多线程模式中调用BIOS特定运行时服务以并行训练其余DIMM。在所有DIMM被训练之后,系统可进入SMM模式以创建新的存储器映射并且在OS启动期间或者在OS启动已完成之后使DIMM在线。有利地,一些实施例可显著减小BIOS启动时间。对于图4的具有完全存储器配置(例如,每个存储器插槽填充有一DIMM设备)的示例平台,BIOS启动时间与一些其他系统相比将是大约六分之一(1/6)的时间。在一些实施例中,BIOS启动时间可小于大概十二分之一(1/12)的时间,如果在一个通道上只有一个DIMM,而其余通道被完全填充以DIMM的话。另一优点是BIOS启动时间可以更一致,因为无论平台支持多少个插座,在BIOS阶段中都只需要训练一个存储器通道。在一些实施例中,BIOS屏幕上的通告和/或消息可被有利地提供以固定的显示时间以提供一致的用户体验。
现在转到图5,多通道存储器系统40的BIOS阶段期间的存储器训练的说明性示例可识别插座0的存储器通道1为包括可填充在平台的两插槽存储器通道中的最少数目的DIMM。例如,最小和/或最大阈值可被设置来帮助BIOS识别适当的存储器通道来选择以用于在BIOS阶段期间训练。在两插槽系统中,只填充有一个DIMM的任何通道可被选择为对应于任何通道中的DIMM的最少可能数目(例如,相应地要求最少量的训练时间)。因为插座0的存储器通道1是发现只填充有一个DIMM的第一存储器通道,所以该存储器通道可在BIOS阶段中被训练。例如,平台中央处理单元(central processor unit,CPU)和/或存储器控制器可通过系统管理(system management,SM)总线与DIMM设备通信。DIMM可包括串行存在检测(serial presence detect,SPD)芯片,CPU可通过SM总线读取该芯片。BIOS可包括固件或命令,该固件或命令指示CPU扫描每个存储器通道,BIOS可从中识别出表明该通道填充有最小数目的DIMM设备(例如,在图4中的示例中是一个DIMM)的第一通道。一些实施例可识别关于DIMM设备的更多信息并且基于(一个或多个)填充的DIMM的存储器容量和/或(一个或多个)填充的DIMM的其他特性来选择第一启动存储器通道。
现在转到图6,多通道存储器系统40的OS阶段期间的存储器训练的说明性示例可包括剩余DIMM。在一些其他系统中,存储器训练时间可对应于并行训练的任何插座的最大时间(例如,对于图4的示例系统,插座0中填充的九(9)个DIMM的训练时间)。在一些实施例中,BIOS可有利地寻找填充有最小数目的DIMM的存储器通道。对于图4的示例系统,只有插座0通道1(例如,一(1)个DIMM)在BIOS阶段中被训练。BIOS可只将训练的BIOS大小报告给OS,并且其余的DIMM可在OS阶段中被训练。
现在转到图7,启动操作系统的方法70的实施例可包括在块71发起BIOS第一启动,并且在块72选择DIMM训练路径。例如,方法70可从BIOS设置确定负载减轻模式是否被使能。如果被使能,则方法70可扫描通道并且返回填充有最小数目的DIMM的通道号。或者,方法70可将填充的DIMM的数目与阈值相比较并且返回满足该比较的第一通道号(例如,填充的DIMM的数目=1;填充的DIMM的数目>0并且<4;等等)。或者,方法70可简单地返回填充有任何DIMM的第一通道的通道号。取决于平台配置,若干个适当标准的任一者可被用于识别适当的存储器通道或者存储器通道的部分集合来用于在BIOS阶段期间训练。在一些实施例中,存储器通道的数目和/或选择/识别标准可以是可配置的。如果负载减轻模式未被使能,则方法70可中止并且第一启动可训练所有DIMM。
如果特定的通道(例如,或者通道的集合)被识别来在BIOS阶段期间训练(例如,包含最小数目的DIMM的通道),则方法70可进而在块73在该(一个或多个)特定通道上执行DIMM训练。方法70随后可在块74创建存储器映射并且启动OS。此时创建的存储器映射可基于该特定通道上的(一个或多个)DIMM。方法70随后在块75可移动到OS阶段并且OS驱动器可调用BIOS存储器训练服务。例如,BIOS可提供一条目来供OS执行特定存储器训练BIOS代码。例如,BIOS可提供运行时服务,或者可为私有服务预留空间并且将其转换成虚拟地址来用于OS调用。在一些实施例中,芯片集驱动器可触发BIOS存储器训练服务。在一些实施例中,对BIOS存储器训练服务的调用可与以后添加的热插拔存储器类似并且可由模拟的热插拔事件来发起。让OS驱动器调用BIOS存储器训练条目允许了在OS多线程模式中的执行。有利地,存储器训练可在不同的CPU核心上执行以并行训练不同的通道。在一些实施例中,存储器训练功能可被集成到芯片集驱动器中。
方法70随后可在块76执行存储器训练服务。这可在BIOS正常模式(例如,非SMM)中完成。训练服务可解锁要求的资源,包括但不限于存储器训练硬件引擎、CSR等等,并且在剩余通道或DIMM上执行存储器训练。因为OS不知晓未训练的通道或DIMM,所以一些实施例有利地确保当OS和BIOS并行运行时在硬件访问上没有冲突。存储器服务可在存储器训练完成之后锁定资源,并且触发系统管理中断(system management interrupt,SMI)来创建新的存储器映射。有利地,因为剩余存储器训练是在BIOS正常模式而不是SMM模式中完成的,所以训练可在多线程模式中以减小或最小的时间延迟和对用户体验的影响来执行。一些实施例可利用此技术来在第一启动过程之外提供存储器在线BIOS特征以有利地在新的DIMM被添加到平台时使得存储器上线更平滑(例如,开始于块75处的OS驱动器调用)。
SMI中断可使得方法在块77在SMM模式中创建新的存储器映射。在SMM模式中运行可避免存储器映射重建期间的硬件资源访问冲突。方法70还可为报告给OS的新存储器映射执行高级配置和电力接口(ADVANCED CONFIGURATION AND POWER INTERFACE,ACPI)表格更新。有利地,SMM模式中花费的时间的量可少得多,因为存储器训练已经完成并且可对用户体验只有很小的影响或者没有影响。方法70随后可在块78离开SMM模式并且所有存储器上线可完成。
图8A示出了可实现方法30(图3A至3B)和/或方法70(图7)的一个或多个方面的存储器训练器装置132(132a-132b)。可包括逻辑指令、可配置逻辑、固定功能硬件逻辑的存储器训练器装置132可容易地替代已经论述过的系统10(图1)存储器通道选择器132a可从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且BIOS可以只用所识别的多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。在一些实施例中,存储器通道选择器132a可被配置为为填充存储器通道的部分集合识别一个存储器通道(例如,填充有一个或多个存储器设备的单个存储器通道)。例如,存储器通道选择器132a可识别多通道存储器系统的第一填充存储器通道作为该一个存储器通道。在另一示例中,存储器通道选择器132a可识别多通道存储器系统的具有比阈值更少的存储器组件的第一填充存储器通道作为该一个存储器通道。在另一示例中,存储器通道选择器132a可识别多通道存储器系统的最少填充的存储器通道作为该一个存储器通道。在一些实施例中,存储器通道训练器132b可在第一启动完成之后训练并使填充存储器通道的完全集合的其他填充存储器通道上线。
现在转到图8B,示出了存储器训练器装置134(134a、134b),其中逻辑134b(例如,晶体管阵列和其他集成电路/IC组件)耦合到衬底134a(例如,硅、蓝宝石、砷化镓)。逻辑134b一般可实现方法30(图3A至3B)和/或方法70(图7)的一个或多个方面。从而,逻辑134b可从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。在一些实施例中,逻辑134b可为填充存储器通道的部分集合识别一个存储器通道(例如,填充有一个或多个存储器设备的单个存储器通道)。例如,逻辑134b可识别多通道存储器系统的第一填充存储器通道作为该一个存储器通道。在另一示例中,逻辑134b可识别多通道存储器系统的具有比阈值更少的存储器组件的第一填充存储器通道作为该一个存储器通道。在另一示例中,逻辑134b可识别多通道存储器系统的最少填充的存储器通道作为该一个存储器通道。在一些实施例中,逻辑134b还可在第一启动完成之后使填充存储器通道的完全集合的其他填充存储器通道上线。在一个示例中,装置134是半导体晶粒、芯片和/或封装。
图9根据一个实施例图示了处理器核心200。处理器核心200可以是用于任何类型的处理器的核心,例如微处理器、嵌入式处理器、数字信号处理器(digital signalprocessor,DSP)、网络处理器或者其他执行代码的设备。虽然在图9中只图示了一个处理器核心200,但处理元件可改为包括多于一个图9中所示的处理器核心200。处理器核心200可以是单线程核心,或者对于至少一个实施例,处理器核心200可以是多线程的,因为其对于每个核心可包括多于一个硬件线程情境(或者说“逻辑处理器”)。
图9还图示了耦合到处理器核心200的存储器270。存储器270可以是本领域技术人员已知的或者以其他方式可获得的各种存储器(包括存储器层次体系的各种层)中的任何一者。存储器270可包括要被处理器核心200执行的一个或多个代码213指令,其中代码213可实现已经论述过的方法30(图3A至3B)和/或方法70(图7)的一个或多个方面。处理器核心200遵循由代码213指示的指令的程序序列。每个指令可进入前端部分210并且被一个或多个解码器220处理。解码器220可生成诸如预定格式的固定宽度微操作之类的微操作作为其输出,或者可生成其他指令、微指令或者反映原始代码指令的控制信号。图示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,它们一般分配资源并且对与转换指令相对应的操作排队以便执行。
处理器核心200被示为包括具有一组执行单元255-1至255-N的执行逻辑250。一些实施例可包括专用于特定功能或功能集合的若干个执行单元。其他实施例可只包括一个执行单元或者可执行特定功能的一个执行单元。图示的执行逻辑250执行由代码指令指定的操作。
在代码指令指定的操作执行完成之后,后端逻辑260让代码213的指令引退。在一个实施例中,处理器核心200允许指令的乱序执行,但要求指令的按序引退。引退逻辑265可采取本领域技术人员已知的多种形式(例如,重排序缓冲器之类的)。这样,处理器核心200在代码213的执行期间被变换,至少就由解码器生成的输出、被寄存器重命名逻辑225利用的硬件寄存器和表格以及被执行逻辑250修改的任何寄存器(未示出)而言。
虽然在图9中没有图示,但处理元件可包括具有处理器核心200的芯片上的其他元件。例如,处理元件可包括与处理器核心200一起的存储器控制逻辑。处理元件可包括I/O控制逻辑和/或可包括与存储器控制逻辑集成的I/O控制逻辑。处理元件也可包括一个或多个缓存。
现在参考图10,示出了根据一实施例的系统1000的框图。图10中所示的是多处理器系统1000,其包括第一处理元件1070和第二处理元件1080。虽然示出了两个处理元件1070和1080,但要理解系统1000的实施例也可包括仅一个这种处理元件。
系统1000被示为点到点互连系统,其中第一处理元件1070和第二处理元件1080经由点到点互连1050耦合。应当理解,图10中所示的任何或所有互连可实现为多点分支总线,而不是点到点互连。
如图10中所示,处理元件1070和1080的每一者可以是多核处理器,包括第一和第二处理器核心(即,处理器核心1074a和1074b和处理器核心1084a和1084b)。这种核心1074a、1074b、1084a、1084b可被配置为以与上文联系图9所述类似的方式来执行指令代码。
每个处理元件1070、1080可包括至少一个共享缓存1896a、1896b(例如,静态随机访问存储器/SRAM)。共享缓存1896a、1896b可存储被处理器的一个或多个组件(例如分别是核心1074a、1074b和1084a、1084b)利用的数据(例如,对象、指令)。例如,共享缓存1896a、1896b可在本地缓存存储器1032、1034中存储的数据,供处理器的组件更快速访问。在一个或多个实施例中,共享缓存1896a、1896b可包括一个或多个中间级别缓存,例如第2级(L2)、第3级(L3)、第4级(4)或其他级别的缓存,最后一级缓存(last level cache,LLC),和/或这些的组合。
虽然示为只具有两个处理元件1070、1080,但要理解实施例的范围不限于此。在其他实施例中,一个或多个额外的处理元件可存在于给定的处理器中。或者,处理元件1070、1080中的一个或多个可以是除了处理器以外的元件,例如加速器或者现场可编程门阵列。例如,(一个或多个)额外的处理元件可包括与第一处理器1070相同的(一个或多个)额外处理器,与第一处理器1070异质或非对称的(一个或多个)额外处理器,加速器(例如,图形加速器或者数字信号处理(DSP)单元),现场可编程门阵列,或者任何其他处理元件。在处理元件1070、1080之间,就包括体系结构特性、微体系结构特性、热特性、功率消耗特性等等在内的价值度量的范围而言可以有多种差异。这些差异可实际上将其自身展现为处理元件1070、1080之间的非对称性和异质性。对于至少一个实施例,各种处理元件1070、1080可存在于相同的晶粒封装中。
第一处理元件1070还可包括存储器控制器逻辑(MC)1072和点到点(P-P)接口1076和1078。类似地,第二处理元件1080可包括MC 1082和P-P接口1086和1088。如图10中所示,MC 1072和1082将处理器耦合到各自的存储器,即存储器1032和存储器1034,存储器1032和存储器1034可以是在本地附接到各个处理器的主存储器的一部分。虽然MC 1072和1082被示为集成到处理元件1070、1080中,但对于替换实施例,MC逻辑可以是在处理元件1070、1080之外的分立逻辑,而不是集成在其中。
第一处理元件1070和第二处理元件1080可分别经由P-P互连1076、1086耦合到I/O子系统1090。如图10中所示,I/O子系统1090包括TEE1097(例如,安全性控制器)和P-P接口1094和1098。此外,I/O子系统1090包括接口1092来将I/O子系统1090与高性能图形引擎1038耦合。在一个实施例中,总线1049可用于将图形引擎1038耦合到I/O子系统1090。或者,点到点互连可耦合这些组件。
进而,I/O子系统1090可经由接口1096耦合到第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(Peripheral Component Interconnect,PCI)总线,或者诸如快速PCI总线或另一种第三代I/O互连总线之类的总线,虽然实施例的范围不限于此。
如图10中所示,各种I/O设备1014(例如,相机、传感器)可耦合到第一总线1016,以及可将第一总线1016耦合到第二总线1020的总线桥1018。在一个实施例中,第二总线1020可以是低引脚数(low pin count,LPC)总线。各种设备可耦合到第二总线1020,例如包括键盘/鼠标1012、(一个或多个)网络控制器/通信设备1026(其进而可与计算机网络通信)、以及数据存储单元1019,例如盘驱动器或者其他大容量存储设备,它们在一个实施例中可包括代码1030。代码1030可包括用于执行上文描述的一个或多个方法的实施例的指令。从而,图示的代码1030可实现已经论述过的方法30(图3A至3B)和/或方法70(图7)的一个或多个方面,并且可与已经论述过的代码213(图9)类似。另外,音频I/O1024可耦合到第二总线1020。
注意设想了其他实施例。例如,取代图10的点到点体系结构,系统可实现多点分支总线或者另外的这种通信拓扑。
附加注释和示例:
示例1可包括一种电子处理系统,包括:处理器,通信地耦合到所述处理器的多通道存储器系统,以及通信地耦合到所述处理器的逻辑,该逻辑用于:从所述多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
示例2可包括如示例1所述的系统,其中所述逻辑还用于:为所述填充存储器通道的部分集合识别一个存储器通道。
示例3可包括如示例2所述的系统,其中所述逻辑还用于:识别所述多通道存储器系统的第一填充存储器通道,作为所述一个存储器通道。
示例4可包括如示例2所述的系统,其中所述逻辑还用于:识别所述多通道存储器系统的、具有比阈值更少的存储器组件的第一填充存储器通道,作为所述一个存储器通道。
示例5可包括如示例2所述的系统,其中所述逻辑还用于:识别所述多通道存储器系统的最少填充的存储器通道,作为所述一个存储器通道。
示例6可包括如示例1至5的任何一项所述的系统,其中所述逻辑还用于:在所述第一启动完成之后,使所述填充存储器通道的完全集合的其他填充存储器通道上线。
示例7可包括一种半导体封装装置,包括:衬底,以及耦合到所述衬底的逻辑,其中所述逻辑至少部分实现在可配置逻辑和固定功能硬件逻辑的一个或多个中,耦合到所述衬底的所述逻辑用于:从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
示例8可包括如示例7所述的装置,其中所述逻辑还用于:为所述填充存储器通道的部分集合识别一个存储器通道。
示例9可包括如示例8所述的装置,其中所述逻辑还用于:识别所述多通道存储器系统的第一填充存储器通道,作为所述一个存储器通道。
示例10可包括如示例8所述的装置,其中所述逻辑还用于:识别所述多通道存储器系统的、具有比阈值更少的存储器组件的第一填充存储器通道,作为所述一个存储器通道。
示例11可包括如示例8所述的装置,其中所述逻辑还用于:识别所述多通道存储器系统的最少填充的存储器通道,作为所述一个存储器通道。
示例12可包括如示例7至11的任何一项所述的装置,其中所述逻辑还用于:在所述第一启动完成之后,使所述填充存储器通道的完全集合的其他填充存储器通道上线。
示例13可包括一种启动操作系统的方法,包括:从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
示例14可包括如示例13所述的方法,还包括:为所述填充存储器通道的部分集合识别一个存储器通道。
示例15可包括如示例14所述的方法,还包括:识别所述多通道存储器系统的第一填充存储器通道,作为所述一个存储器通道。
示例16可包括如示例14所述的方法,还包括:识别所述多通道存储器系统的、具有比阈值更少的存储器组件的第一填充存储器通道,作为所述一个存储器通道。
示例17可包括如示例14所述的方法,还包括:识别所述多通道存储器系统的最少填充的存储器通道,作为所述一个存储器通道。
示例18可包括如示例13至17的任何一项所述的方法,还包括:在所述第一启动完成之后,使所述填充存储器通道的完全集合的其他填充存储器通道上线。
示例19可包括至少一个计算机可读介质,包括一组指令,所述一组指令当被计算设备执行时,使得所述计算设备:从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
示例20可包括如示例19所述的至少一个计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:为所述填充存储器通道的部分集合识别一个存储器通道。
示例21可包括如示例20所述的至少一个计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:识别所述多通道存储器系统的第一填充存储器通道,作为所述一个存储器通道。
示例22可包括如示例20所述的至少一个计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:识别所述多通道存储器系统的、具有比阈值更少的存储器组件的第一填充存储器通道,作为所述一个存储器通道。
示例23可包括如示例20所述的至少一个计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:识别所述多通道存储器系统的最少填充的存储器通道,作为所述一个存储器通道。
示例24可包括如示例19至23的任何一项所述的至少一个计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:在所述第一启动完成之后,使所述填充存储器通道的完全集合的其他填充存储器通道上线。
示例25可包括一种启动装置,包括用于进行以下操作的装置:从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
示例26可包括如示例25所述的装置,还包括:用于为所述填充存储器通道的部分集合识别一个存储器通道的装置。
示例27可包括如示例26所述的装置,还包括:用于识别所述多通道存储器系统的第一填充存储器通道作为所述一个存储器通道的装置。
示例28可包括如示例26所述的装置,还包括:用于识别所述多通道存储器系统的具有比阈值更少的存储器组件的第一填充存储器通道作为所述一个存储器通道的装置。
示例29可包括如示例26所述的装置,还包括:用于识别所述多通道存储器系统的最少填充的存储器通道作为所述一个存储器通道的装置。
示例30可包括如示例25至29的任何一项所述的装置,还包括:用于在所述第一启动完成之后使所述填充存储器通道的完全集合的其他填充存储器通道上线的装置。
实施例适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片集组件、可编程逻辑阵列(programmable logicarray,PLA)、存储器芯片、网络芯片,片上系统(systems on chip,SoC)、SSD/NAND控制器ASIC,等等。此外,在一些附图中,用线条来表示信号导线。某些可能是不同的,以指示更多的构成信号路径,某些具有数字标注,以指示构成信号路径的数目,和/或某些在一端或多端具有箭头,以指示主要信息流方向。然而,这不应当以限制方式来解释。更确切地说,这种添加的细节可联系一个或多个示范性实施例使用来促进对电路的更容易理解。任何表示的信号线,无论是否具有附加信息,都可实际上包括一个或多个信号,这一个或多个信号可在多个方向上行进并且可利用任何适当类型的信号方案(例如利用差动对实现的数字或模拟线路、光纤线路和/或单端线路)来实现。
可能给出了示例大小/型号/值/范围,虽然实施例不限于此。随着制造技术(例如,光刻术)随着时间流逝而成熟,预期能够制造具有更小大小的器件。此外,为了图示和论述的简单,并且为了不模糊实施例的某些方面,在附图内可能示出或不示出到IC芯片和其他组件的公知电源/地连接。另外,可能以框图形式示出布置以避免模糊实施例,并且同时也考虑到了如下事实:关于这种框图布置的实现的具体细节是高度取决于在其内实现实施例的平台的,即,这种具体细节应当完全在本领域技术人员的视野内。在阐述具体细节(例如,电路)以便描述示例实施例的情况下,本领域技术人员应当清楚,没有这些具体细节,或者利用这些具体细节的变体,也可实现实施例。从而说明书应当被认为是例示性的,而不是限制性的。
术语“耦合”在本文中可用于指所涉组件之间的任何类型的关系,无论是直接的还是间接的,并且可应用到电的、机械的、液体的、光的、电磁的、机电的或其他连接。此外,除非另外指出,否则术语“第一”、“第二”等等在本文中可只用于促进论述,而不带有特定的时间或先后意义。
就在本申请中和权利要求中使用的而言,由术语“…中的一个或多个”联接的项目的列表可意指列出的术语的任何组合。例如,短语“A、B和C中的一个或多个”和短语“A、B或C中的一个或多个”两者都可意指A;B;C;A和B;A和C;B和C;或者A、B和C。
本领域技术人员从前述描述将会明白,实施例的宽广技术可按多种形式实现。因此,虽然已联系其特定示例描述了实施例,但实施例的真实范围不应当限于此,因为本领域技术人员在研习了附图、说明书和所附权利要求后将清楚其他修改。

Claims (24)

1.一种电子处理系统,包括:
处理器;
通信地耦合到所述处理器的多通道存储器系统;以及
通信地耦合到所述处理器的逻辑,该逻辑用于:
从所述多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且
只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
2.如权利要求1所述的系统,其中所述逻辑还用于:
为所述填充存储器通道的部分集合识别一个存储器通道。
3.如权利要求2所述的系统,其中所述逻辑还用于:
识别所述多通道存储器系统的第一填充存储器通道,作为所述一个存储器通道。
4.如权利要求2所述的系统,其中所述逻辑还用于:
识别所述多通道存储器系统的、具有比阈值更少的存储器组件的第一填充存储器通道,作为所述一个存储器通道。
5.如权利要求2所述的系统,其中所述逻辑还用于:
识别所述多通道存储器系统的最少填充的存储器通道,作为所述一个存储器通道。
6.如权利要求1至5的任何一项所述的系统,其中所述逻辑还用于:
在所述第一启动完成之后,使所述填充存储器通道的完全集合的其他填充存储器通道上线。
7.一种半导体封装装置,包括:
衬底;以及
耦合到所述衬底的逻辑,其中所述逻辑至少部分实现在可配置逻辑和固定功能硬件逻辑的一个或多个中,耦合到所述衬底的所述逻辑用于:
从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合,并且
只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
8.如权利要求7所述的装置,其中所述逻辑还用于:
为所述填充存储器通道的部分集合识别一个存储器通道。
9.如权利要求8所述的装置,其中所述逻辑还用于:
识别所述多通道存储器系统的第一填充存储器通道,作为所述一个存储器通道。
10.如权利要求8所述的装置,其中所述逻辑还用于:
识别所述多通道存储器系统的、具有比阈值更少的存储器组件的第一填充存储器通道,作为所述一个存储器通道。
11.如权利要求8所述的装置,其中所述逻辑还用于:
识别所述多通道存储器系统的最少填充的存储器通道,作为所述一个存储器通道。
12.如权利要求7至11的任何一项所述的装置,其中所述逻辑还用于:
在所述第一启动完成之后,使所述填充存储器通道的完全集合的其他填充存储器通道上线。
13.一种启动操作系统的方法,包括:
从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合;并且
只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
14.如权利要求13所述的方法,还包括:
为所述填充存储器通道的部分集合识别一个存储器通道。
15.如权利要求14所述的方法,还包括:
识别所述多通道存储器系统的第一填充存储器通道,作为所述一个存储器通道。
16.如权利要求14所述的方法,还包括:
识别所述多通道存储器系统的、具有比阈值更少的存储器组件的第一填充存储器通道,作为所述一个存储器通道。
17.如权利要求14所述的方法,还包括:
识别所述多通道存储器系统的最少填充的存储器通道,作为所述一个存储器通道。
18.如权利要求13至17的任何一项所述的方法,还包括:
在所述第一启动完成之后,使所述填充存储器通道的完全集合的其他填充存储器通道上线。
19.至少一个非暂态计算机可读介质,包括一组指令,所述一组指令当被计算设备执行时,使得所述计算设备:
从多通道存储器系统的填充存储器通道的完全集合中识别填充存储器通道的部分集合;并且
只用所识别的所述多通道存储器系统的存储器通道的部分集合来完成操作系统的第一启动。
20.如权利要求19所述的至少一个非暂态计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:
为所述填充存储器通道的部分集合识别一个存储器通道。
21.如权利要求20所述的至少一个非暂态计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:
识别所述多通道存储器系统的第一填充存储器通道,作为所述一个存储器通道。
22.如权利要求20所述的至少一个非暂态计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:
识别所述多通道存储器系统的、具有比阈值更少的存储器组件的第一填充存储器通道,作为所述一个存储器通道。
23.如权利要求20所述的至少一个非暂态计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:
识别所述多通道存储器系统的最少填充的存储器通道,作为所述一个存储器通道。
24.如权利要求19至23的任何一项所述的至少一个非暂态计算机可读介质,包括另一组指令,所述另一组指令当被所述计算设备执行时,使得所述计算设备:
在所述第一启动完成之后,使所述填充存储器通道的完全集合的其他填充存储器通道上线。
CN201780094523.9A 2017-09-29 2017-09-29 具有一个存储器通道的第一启动 Pending CN111095228A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/104214 WO2019061227A1 (en) 2017-09-29 2017-09-29 FIRST PRIMING WITH A MEMORY CHANNEL

Publications (1)

Publication Number Publication Date
CN111095228A true CN111095228A (zh) 2020-05-01

Family

ID=65902280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780094523.9A Pending CN111095228A (zh) 2017-09-29 2017-09-29 具有一个存储器通道的第一启动

Country Status (4)

Country Link
US (1) US11455261B2 (zh)
CN (1) CN111095228A (zh)
DE (1) DE112017008112T5 (zh)
WO (1) WO2019061227A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022032508A1 (en) * 2020-08-12 2022-02-17 Intel Corporation Offloading processor memory training to on-die controller module

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210136480A (ko) 2020-05-07 2021-11-17 삼성전자주식회사 프로세싱 장치가 실장된 메모리 모듈을 포함하는 컴퓨팅 시스템의 부팅 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100198382B1 (ko) * 1996-05-07 1999-06-15 윤종용 멀티-부팅 기능을 갖는 컴퓨터 장치
US6732264B1 (en) * 1999-12-14 2004-05-04 Intel Corporation Multi-tasking boot firmware
KR100929143B1 (ko) * 2002-12-13 2009-12-01 삼성전자주식회사 컴퓨터 및 그 제어방법
US20070157015A1 (en) * 2005-12-29 2007-07-05 Swanson Robert C Methods and apparatus to optimize boot speed
US8042190B2 (en) * 2007-12-31 2011-10-18 Intel Corporation Pre-boot protected memory channel
US20100070728A1 (en) * 2008-09-12 2010-03-18 Fujitsu Limited Method and apparatus for authenticating user access to disk drive
US20100325372A1 (en) * 2009-06-17 2010-12-23 Housty Oswin E Parallel training of dynamic random access memory channel controllers
US8843732B2 (en) * 2009-12-21 2014-09-23 Intel Corporation Mechanism for detecting a no-processor swap condition and modification of high speed bus calibration during boot
KR20120085968A (ko) * 2011-01-25 2012-08-02 삼성전자주식회사 컴퓨팅 시스템의 부팅 방법 및 이를 수행하는 컴퓨팅 시스템
US9652006B2 (en) * 2011-12-21 2017-05-16 Intel Corporation Power management in a discrete memory portion
US10558468B2 (en) * 2015-10-22 2020-02-11 American Megatrends International, Llc Memory channel storage device initialization
US10216550B2 (en) * 2016-10-01 2019-02-26 Intel Corporation Technologies for fast boot with adaptive memory pre-training

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022032508A1 (en) * 2020-08-12 2022-02-17 Intel Corporation Offloading processor memory training to on-die controller module

Also Published As

Publication number Publication date
US11455261B2 (en) 2022-09-27
US20200364162A1 (en) 2020-11-19
WO2019061227A1 (en) 2019-04-04
DE112017008112T5 (de) 2020-07-02

Similar Documents

Publication Publication Date Title
JP7313381B2 (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
US9164853B2 (en) Multi-core re-initialization failure control system
US10241880B2 (en) Efficient validation/verification of coherency and snoop filtering mechanisms in computing systems
US10923463B2 (en) Method and machine-readable medium for configuring processors with base dies having landing slots
BR102014006299A2 (pt) método para inicializar um sistema heterogêneo e apresentar uma vista simétrica do núcleo
RU2643499C2 (ru) Управление памятью
US10795722B2 (en) Compute task state encapsulation
US11645534B2 (en) Triggered operations to improve allreduce overlap
EP3407184A2 (en) Near memory computing architecture
US9395992B2 (en) Instruction swap for patching problematic instructions in a microprocessor
US20140173247A1 (en) Processing apparatus and method of synchronizing a first processing unit and a second processing unit
US9218273B2 (en) Automatic generation of a resource reconfiguring test
CN111095228A (zh) 具有一个存储器通道的第一启动
US20140156975A1 (en) Redundant Threading for Improved Reliability
US9934118B2 (en) Reducing SPQL tester time for the critical paths stress test
US11900157B2 (en) Hybrid virtual GPU co-scheduling
US10831626B2 (en) Method to sort partially good cores for specific operating system usage
US20130152094A1 (en) Error checking in out-of-order task scheduling
US11113133B2 (en) Cross-component health monitoring and improved repair for self-healing platforms
KR102199342B1 (ko) 스토어 리플레이 정책
US10528398B2 (en) Operating system visibility into system states that cause delays and technology to achieve deterministic latency

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination