CN106462550A - 共享嵌入式硬件资源 - Google Patents

共享嵌入式硬件资源 Download PDF

Info

Publication number
CN106462550A
CN106462550A CN201380079508.9A CN201380079508A CN106462550A CN 106462550 A CN106462550 A CN 106462550A CN 201380079508 A CN201380079508 A CN 201380079508A CN 106462550 A CN106462550 A CN 106462550A
Authority
CN
China
Prior art keywords
soc
manageability controller
firmware
manageability
controller
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.)
Granted
Application number
CN201380079508.9A
Other languages
English (en)
Other versions
CN106462550B (zh
Inventor
M·奥里奥尔
P·兹曼斯基
M·斯特卡
P·萨维基
R·C·斯旺森
R·W·科恩
W·J·奥沙利文
B·尼克尤
M·兰加拉杰
J·尤斯基
P·维兹斯基
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 CN106462550A publication Critical patent/CN106462550A/zh
Application granted granted Critical
Publication of CN106462550B publication Critical patent/CN106462550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

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

Abstract

用于促成片上系统(SoC)间通信的技术包括第一SoC、第二SoC和专用可管理性控制器网络。该第一SoC包括第一主处理器、第一可管理性控制器以及专用于该第一可管理性控制器并且具有存储在其上的可管理性控制器固件的存储器。该第一可管理性控制器不同于该第一主处理器并且用于控制该第一SoC的功能。该第二SoC不同于该第一SoC并且包括第二主处理器和第二可管理性控制,该第二可管理性控制不同于该第二主处理器并且用于控制该SoC的功能。该第二SoC用于通过该专用可管理性网络访问该第一SoC的该存储器的该可管理性控制器固件。

Description

共享嵌入式硬件资源
背景
嵌入式和片上系统(SoC)系统变得在计算生态系统中更加流行。例如,在数据中心中的SoC服务器中部署了极大数量的SoC系统。传统服务器和SoC服务器等通常要求可管理性功能以便操作。尽管特定系统的可管理性功能可取决于实现方式而变化,但是它们可包括例如完整性认证、监控和记录(例如,针对恶意软件检测或系统操作状态更改)、系统配置和控制、软件和固件更新以及其他合适的功能。在常见的SoC系统中,可管理性被以具有其自身的嵌入到SoC中的静态随机存取存储器(SRAM)的微控制器的形式集成到SoC中。另外,许多SoC可被一起放到特定的场可替换单元(FRU)上以便进行故障隔离并简化组件替换。
嵌入式可管理性控制器(例如,在SoC上)要求存储器存储用于操作的代码和数据。随着在可管理性控制器中实现的可管理性特征的数量增加,对必要数据和代码存储的存储器需要也相应增加。尽管个人计算系统能够访问主机动态随机存取存储器(DRAM)以便操作(例如,经由统一存储器访问),可管理性控制器经常由于服务器空间的可靠性要求而无法使用系统主机DRAM。相应地,基于SoC的可管理性控制器有效地限于使用嵌入到SoC中的SRAM,其对引入附加可管理性特征造成显著的障碍。也就是,附加SRAM存储体的相关联成本、管芯大小和功耗限制了增加SoC上的SRAM的大小的能力,由此限制SoC上可用的可管理性功能的数量。
已经采用各种技术尝试在回避那些物理限制的同时改善可管理性。例如,至少一种技术涉及将来自外部存储器(例如,通过串行外围接口访问的闪存)的只读数据和代码分页到内部SRAM中。也就是,在给定的时间点活跃地使用的代码和数据部分从外部存储器拷贝到内部SRAM。然而,由于从外部存储器重新加载的缘故,从这种方法显著地影响性能。可替代地,可管理性控制器可访问的并且专用于其使用的外部DRAM可嵌入在SoC上;然而,这种方法需要存储器控制器,该存储器控制器显著地增加芯片成本、功耗和复杂性。
附图简要描述
通过举例而非通过限制在附图中示出在此描述的概念。为了说明简单和清晰,图中所示元素无需按比例绘制。当认为合适时,已经在附图中重复参照标号以便表明相应的或类似的元素。
图1是促成SoC间通信的计算设备的至少一个实施例的简化框图;
图2是图1的计算设备的SoC集群的至少一个实施例的简化框图;
图3是图1的计算设备的SoC集群的至少一个其他实施例的简化框图;
图4是图1的计算设备的SoC集群的至少一个其他实施例的简化框图;
图5是用于针对操作冗余性共享SoC集群中的硬件资源的方法的至少一个实施例的简化流程图;
图6是用于共享SoC集群中的SoC和其他SoC之间的硬件资源的方法的至少一个实施例的简化流程图;以及
图7是用于针对使用高级可管理性特征共享SoC集群中的硬件资源的方法的至少一个实施例的简化流程图。
附图详细描述
尽管本公开的概念可受到各种修改和替代形式,已经通过举例在附图中示出并且将在此详细地描述其特定实施例。然而,应当理解的是不旨在将本公开的概念限制为所公开的具体形式,而是相反,本发明涵盖与本公开和所附权利要求书一致的所有修改、等效方案和替代方案。
在说明书中对“一个实施例”、“实施例”、“说明性实施例”等等的引用表明所描述的实施例可包括具体的特征、结构或特性,但是每个实施例可无需包括该具体的特征、结构或特性。而且,这种短语无需指代相同的实施例。而且,当结合实施例描述具体的特征、结构或特性时,认为其在本领域普通技术人员结合显式地或未显式地描述的其他实施例实施这种特征、结构或特性的知识范围内。此外,应当认识到列表中包括的“A、B和C中至少一个”形式的项目可意味着(A);(B);(C):(A和B);(A和C);(B和C);或(A、B和C)。类似地,以“A、B、和C中的至少一个”的形式列出的项目可指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。
在某些情况下,可在硬件、固件、软件、或其任何组合中实现所公开的实施例。所公开的实施例还可被实现为由一个或多个瞬态或非瞬态机器可读(例如计算机可读)存储介质携带或存储在其上的指令,这些指令可由一个或多个处理器读取并执行。机器可读存储介质可被实施为任何用于存储或传输机器(例如,易失性或非易失性存储器、介质盘、或其他介质设备)可读形式的信息的存储设备、机构、或其他物理结构。
在附图中,可用特定安排和/或排序示出某些结构或方法特征。然而,应当认识到可不要求这种特定安排和/或排序。而是,在某些实施例中,可用与说明性附图中示出的不同的方式和/或顺序安排这种特征。此外,具体附图中包括结构或方法特征不意味着暗示在所有实施例中要求这种特征以及在某些实施例中可不包括这种特征或者这种特征可与其他特征组合。
现在参照图1,在说明性实施例中,用于共享嵌入式硬件资源的计算设备100被配置成用于促成通过专用可管理性控制器网络进行SoC间通信。如以下详细讨论的,计算设备100使得计算设备100的SoC能够通过专用可管理性控制器网络(即,SoC间网络)彼此通信以便共享硬件资源(见图2至图4)。例如,SoC可共享SRAM或其他存储器以便允许比通过存储器隔离可能实现的更扩展的可管理性功能。
计算设备100可被体现为能够参与SoC间通信以便共享硬件资源并执行在此描述的功能的任何类型的计算设备。在说明性实施例中,计算设备100被实施为服务器计算机。然而,在此描述的技术可以利用SOC在其他计算设备100中实施,包括例如平板计算机、膝上计算机、蜂窝电话、智能电话、个人数字助理、移动互联网设备、桌上计算机和/或任何其他计算/通信设备。如图1所示,说明性计算设备100包括一个或多个处理单元102。该一个或多个处理单元102各自可被实施为能够执行在此描述的功能的任何类型的处理单元。例如,在某些实施例中,处理单元102被实施为FRU,从而使得每个处理单元102是分离的电路板或物理结构或组件(例如,用于故障隔离和容易替换)。
在说明性实施例中,该一个或多个处理单元102各自包括SoC集群110、输入/输出(I/O)子系统112、处理单元存储器114以及一个或多个外围设备116。相应地,在某些实施例中,处理单元102可标识那些SoC集群110、I/O子系统112、处理单元存储器114以及与彼此相关联的外围设备116。在其他实施例中,应当认识到处理单元102中的一个或多个可包括其他或附加组件,诸如通常在典型的计算设备和/或处理单元中发现的那些(例如,各种输入/输出设备)。此外,在某些实施例中,说明性组件中的一个或多个可被结合到另一个组件中或者以其他方式形成其一部分。类似地,在某些实施例中,计算设备100可包括其他附加组件(例如,通信电路、数据存储和/或外围设备)和/或具有集成/结合组合。
如以下结合图2至图4详细讨论的,SoC集群110各自包括一个或多个SoC 202。在本文讨论的说明性实施例中,SoC集群110中的至少一个包括至少两个SoC 202和专用可管理性控制器网络204,SoC 202可通过专用可管理性控制器网络204彼此通信以便共享硬件资源(例如,存储器)。每个处理单元102的处理单元存储器114可被实施为能够执行在此描述的功能的任何类型的易失性或非易失性存储器或数据存储。例如,处理单元存储器114可被实施为SRAM、DRAM、串行外围接口(SPI)闪存、或其他易失性或非易失性存储器或数据存储。在操作中,处理单元存储器114可存储在计算设备100的操作期间使用的各种数据和软件,诸如操作系统、应用、程序、库和驱动程序。处理单元存储器114通过I/O子系统112通信地耦合到SoC集群110,其可被实施为用于促成与处理单元102的SoC集群110、处理单元存储器114、以及其他组件的输入输出操作的电路和/或组件。例如,每个处理单元102的I/O子系统112可被实施为或以其他方式包括用于促成输入输出操作的存储器控制器中枢、输入输出控制中枢、固件设备、通信链路(即,点到点链路、总线链路、导线、线缆、光导、印刷电路板迹线等等)和/或其他组件及子系统。每个处理单元102的外围设备116可包括任何数量的附加外围或接口设备。包括在外围设备116中的具体设备可取决于例如计算设备100的类型和/或预期用途。
现在参照图2至图4,在说明性实施例中,计算设备100的每个处理单元102的SoC集群110包括被配置成通过专用可管理性控制器网络204彼此通信以便共享硬件资源的多个SoC 202(例如,两个或更多个)。在图2中,说明性SOC集群110包括四个SoC 202;然而,在其他实施例中,SoC集群110可包括更大或更少数量的SoC 202。每个SoC 202被实施为包括计算设备100的被集成到单个集成电路芯片或管芯上的若干个组件。更具体地,在图2至图4的说明性实施例中,每个SoC 202包括处理器210、I/O子系统212、主存储器214、可管理性控制器216、专用存储器218以及通信电路220。当然,在其他实施例中,SoC 202中的一个或多个可包括其他或附加组件,诸如通常在典型的SoC中发现的那些(例如,存储器控制器)。此外,在某些实施例中,说明性组件中的一个或多个可被结合到另一个组件中或者以其他方式形成其一部分。例如,在某些实施例中(例如,在安全分区中),专用存储器218可形成主存储器214的一部分。类似地,在某些实施例中,SoC 202可包括其他附加组件。
每个SoC 202的处理器210可被实施为能够执行在此描述的功能的任何类型的处理器。例如,处理器210可被实施为单核或多核处理器、数字信号处理器、微控制器、微处理器或其他处理器或处理/控制电路。主存储器214可被实施为能够执行在此描述的功能的任何类型的易失性或非易失性存储器或数据存储设备。主存储器214通过I/O子系统212通信地耦合到处理器210,其可被实施为用于促成与SoC 202的处理器210、主存储器214、以及其他组件的输入/输出操作的电路和/或组件。I/O子系统212可类似于处理单元102的I/O子系统112实施但是在范围上不同。也就是,I/O子系统112被配置成用于处理SoC集群110、处理单元存储器114、外围设备116以及位于处理单元102外部的设备/组件之间的输入/输出操作,而I/O子系统212被配置成用于处理SoC 202内的输入/输出操作(例如,在可管理性控制器216和专用存储器218之间)。
每个SoC 202的可管理性控制器216可被实施为能够执行用于计算设备100的可管理性功能并且以其他方式执行在此描述的功能的任何硬件组件或电路。例如,如上所述,可管理性控制器216可执行可管理性功能,诸如完整性认证、监控和记录、系统配置和控制、软件和固件更新以及其他合适的功能,取决于具体的控制器216。在某些实施例中,可管理性控制器216可被实施为嵌入式微控制器、可管理性引擎(ME)、融合安全引擎(CSE)、信任平台模块(TPM)或另一个控制器。另外,在某些实施例中,可管理性控制器216可形成SoC 202的处理器210的一部分。在图2至图4的说明性实施例中,专用存储器218被实施为能够存储用于可管理性控制器216的可管理性特征的数据和代码的SRAM或其他存储器。
每个SoC 202的通信电路220可被实施为能够使得通过专用可管理性控制器网络204在相同SoC集群110的一个SoC 202与另一个SoC 202之间进行通信的任何通信电路、设备或其集合。更具体地,如以下详细讨论的,专用存储器218可存储用于相同SoC集群110内的另一个SoC 202的可管理性控制器216的可管理性特征的数据和/或代码(例如,除存储用于其自身的可管理性控制器216的数据和代码之外)并且可通过专用可管理性控制器网络204与其他可管理性控制器216共享此数据和/或代码。
专用可管理性控制器网络204可被实施为用于促成SoC集群110的SoC 202之间的通信的任何数量的各种通信链路(例如,点到点链路、总线链路、电线、线缆、光导、印刷电路板迹线等等)和/或其他组件和子系统。例如,专用可管理性控制器网络204可被实施为或者以其他方式包括构造到构造接口和/或共用板级构造。如下所述,专用可管理性控制器网络204使得来自相同SoC集群110(即,相同的处理单元102)内的SoC 202的可管理性控制器216能够访问来自该SOC集群110内的另一个SoC 202的存储器(例如,专用存储器218)和/或其他资源。取决于SoC集群110的具体实施例和/或复杂性,专用可管理性控制器网络204可被实施为用于SoC间通信的点到点链路或多层公共总线或交换机。应当认识到在说明性实施例中,不像I/O子系统212,专用可管理性控制器网络204仅处理可管理性控制器216和其他可管理性控制器216或专用存储器218之间的通信。
如图2至图4的实施例的SoC集群110的存储器内容所示,计算设备100可促成以各种方式在SoC 202之间共享硬件资源。然而,应当认识到,在此描述的SoC间通信不限于那些具体实施例。现在具体参照图2,SoC集群110包括四个SoC 202,其中,每个SoC 202将相同的固件镜像(例如,针对操作冗余性)存储在其专用存储器218中。具体地,每个SoC 202的专用存储器218包括第一固件镜像部分230、第二固件镜像部分232、第三固件镜像部分234和第四固件镜像部分236。在说明性实施例中,第一固件镜像部分230包括用于由第一SoC 202的可管理性控制器216在执行其可管理性功能时使用的数据和代码(例如,指令)。第二固件镜像部分232包括用于由第二SoC 202的可管理性控制器216在执行其可管理性功能时使用的数据和代码。类似地,第三固件镜像部分234包括用于由第三SoC 202的可管理性控制器216在执行其可管理性功能时使用的数据和代码,并且第四固件镜像部分236包括用于由第四SoC 202的可管理性控制器216在执行其可管理性功能时使用的数据和代码。
如果可管理性控制器216之一不能从其板载本地专用存储器218访问用于其可管理性功能的数据和代码(即,嵌入在相同SoC 202上的专用存储器218),可管理性控制器216可通过专用可管理性控制器网络204访问SoC集群110内的另一个SoC的专用存储器218以便检索相关固件部分(例如,响应于本地故障或其他存储器访问故障)。例如,不失一般性地假设第一SoC 202的可管理性控制器216不能加载与其可管理性功能相关联的固件(即,第一固件镜像部分230)。在这种情况下,可管理性控制器216可从其他SoC 202之一(即,第二、第三或第四SoC 202)的专用存储器218访问第一固件镜像部分230。以此方式,可管理性控制器216能够高效地加载其操作所必需的固件而不例如访问位于SoC集群110外部的更慢SPI闪存或其他存储器。
现在参照图3,在另一个实施例中,说明性SoC集群110包括四个SoC 202,其中,每个SoC 202将表302和全局固件镜像部分304存储在其专用存储器218中。在说明性实施例中,全局固件镜像被分为四个全局固件镜像部分304并且这些全局固件镜像部分304之一存储在这四个说明性SoC 202中的每一个上。具体地但不失一般性,第一全局固件部分304存储在第一SoC 202上,第二全局固件部分304存储在第二SoC 202上,第三全局固件部分304存储在第三SoC 202上,并且第四全局固件部分304存储在第四SoC 202上。取决于具体SoC202的具体实施例和嵌入式硬件资源,这些全局固件部分304各自可以或可以不具有相同的大小。
在说明性实施例中,表302也存储在每个SoC 202的专用存储器218中。表302可被实施为适合由一个或多个可管理性控制器302查询、读取和/或以其他方式访问的任何数据结构以便确定全局固件镜像的具体固件部分或子部分的存储器位置。在某些实施例中,仅一个SoC 202在其专用存储器318中包括表302(例如,以便允许全局固件镜像有更多存储器空间)。在这种实施例中,其他SoC 202的可管理性控制器216能够通过专用可管理性控制器网络204访问表302。在另一个实施例中,表302可另外或可替代地跟踪高速缓存的和非高速缓存的镜像代码和数据部分。如果发生高速缓存丢失,可例如从更慢的介质(例如,SPI闪存)检索该数据。
应当认识到图3的说明性实施例可允许通过确保专用存储器218中存在少量的未使用存储器改善可管理性控制器216的功能。这样,由于跨多个专用存储器218划分(stripe)更大的全局固件的能力,更大大小以及因此具有更大特征集合和复杂性的固件可由每个SoC 202实现。另外,在典型的实现方式中,可管理性控制器216中的一个或多个可利用大量的专用存储器218来存储与其可管理性功能相关联的数据和代码而其他可管理性控制器216可能不这样。通过使得可管理性控制器216能够通过专用可管理性控制器网络204访问彼此的专用存储器218,可共享任何未使用的存储器218(例如,以便存储与SoC集群110的另一个可管理性控制器216相关联的数据和代码)。
现在参照图4,在又一个实施例中,说明性SoC集群110包括四个SoC 202,其中,每个SoC 202存储与第一SoC 202的可管理性控制器216(例如,SoC集群110的“主要”可管理性控制器)的可管理性功能相关联的高特征固件部分404,而不失一般性。另外,第一SoC 202存储表402而每个其他SoC 202存储与其自身的可管理性控制器216的可管理性功能相关联的低特征固件406。在说明性实施例中,第一SoC 202的可管理性控制器216涉及高级特征和/或更复杂的功能。在某些情况下,这些特征可以仅能够在一个SoC 202的嵌入式控制器中运行(例如,针对板级功率监控和限制)。在这种情况下,分页或以其他方式访问来自外部存储器的固件不是可行的选项。在说明性实施例中,每个其他SoC的可管理性控制器216涉及要求更少存储数据的存储器的相对没那么复杂的功能(例如,对可管理性硬件组件的简单代理访问)。换言之,第一可管理性控制器216需要“高特征”固件,而其他可管理性控制器216仅需要“低特征”固件。
这样,与可管理性控制器216的可管理性特征相对应的每个低特征固件镜像406存储在相应的SoC 202的专用存储器218中。另外,高特征固件镜像被分为四个高特征固件部分404并且跨SoC 202的专用存储器218存储。应当认识到每个高特征固件部分的大小可基于低特征固件镜像406的存储器大小(例如,以便高效地利用SoC 202的专用存储器218)。更具体地,第一高特征固件部分404存储在第一SoC 202上,第二高特征固件部分404存储在第二SoC 202上,第三高特征固件部分404存储在第三SoC 202上,并且第四高特征固件部分404存储在第四SoC 202上。另外,第一SoC 202的专用存储器218包括与以上参照图3描述的表302类似的表402。相应地,第一SoC 202的可管理性控制器216可访问表402以便确定高特征固件镜像的部分或子部分的存储器位置。应当认识到以上参照图2至图4描述的实施例可利用例如不同数量的SoC 202或固件部分,并且可具有与其他实施例中的特性不同的特性的表、固件部分大小和SoC 202。例如,在某些实施例中,给定的SoC集群110中的多于一个SoC 202可包括高特征可管理性控制器216。
现在参考图5,在使用中,计算设备100可执行用于针对操作冗余性共享SoC集群中的硬件资源的方法500。方法500可例如在这些实施例中实现,其中在每个专用存储器218中拷贝全局固件镜像(见例如图2)。说明性方法500以框502开始,其中,SoC集群110内的SoC202的可管理性控制器216从本地SoC存储器加载固件(例如,从该SoC 202的专用存储器218)。在框504中,可管理性控制器216确定是否存在加载错误。例如,当从本地SoC存储器加载(或尝试加载)固件时,可发生与从本地SoC存储器加载固件相关的加载错误、存储器故障或其他操作错误。如果不是,方法500返回框502并且等待加载下一个固件部分。
然而,如果在框504中,可管理性控制器216确定已经发生加载错误,在框506中,可管理性控制器216标识导致加载错误的固件部分。应当认识到可管理性控制器216可使用任何合适的方法来这样做。另外,在某些实施例中,可管理性控制器216可确定多于一个固件镜像部分导致加载错误。在框508中,可管理性控制器216从SoC集群110中的另一个SoC 202的存储器检索并加载所标识的固件部分(即,导致加载错误的固件部分的拷贝)。在这样做时,在框510中,可管理性控制器216可标识所标识的远程固件部分的存储器位置。如上所述,可管理性控制器216可查询表(例如,存储在本地SoC上)以便通过专用可管理性控制器网络204确定相关存储器位置并且检索固件部分。在某些实施例中,所期望的固件部分可位于多于一个的远程SoC 202(即,SoC集群110内的)上。在这种实施例中,可管理性控制器216可确定从哪一个SoC 202使用任何合适的机制访问固件部分(例如,从“最不忙”SoC 202访问固件)。应当认识到在某些实施例中,可管理性控制器216可直接从远程SoC 202执行所标识的远程固件部分(即,无需将远程固件部分分页或以其他方式拷贝到本地SoC 202)。
在框512中,可管理性控制器216确定加载所检索的固件部分是否成功。如果成功,方法500返回框502并且等待加载下一个固件部分。然而,如果可管理性控制器216确定加载不成功(即,发生加载错误),在框514中,可管理性控制器216从外部存储器检索并加载未成功加载的固件部分(例如,从SPI闪存)。换言之,可管理性控制器216首先尝试从SoC集群110内访问并加载有故障固件部分的“干净”版本。如果可管理性控制器216不能这样做,可管理性控制器216诉诸于从更慢的外部存储器(例如,处理单元存储器114)检索固件部分。当然,如果导致加载错误的固件部分未存储在SoC集群110内的SoC 202的专用存储器218上,可管理性控制器216可直接诉诸于访问存储在外部存储器中的版本。应当认识到在某些实施例中,在框506中被标识为导致加载错误的固件部分可不同于未成功地从远程SoC 202加载的固件部分。例如,未成功加载的固件部分可构成所标识的固件部分的子部分。这可例如在所检索的固件部分的一部分能够成功地从远程SoC 202加载的情况下发生。另外,在其他实施例中,加载所检索的固件部分可致使其他固件部分导致先前未在框506中标识的加载错误。
现在参考图6,在使用中,计算设备100可执行用于在相同SoC集群110内的SoC 202和其他SoC 202之间共享硬件资源的方法600。方法600可例如在这些实施例中实现,其中跨SoC 202的不同专用存储器202划分全局固件镜像(见例如图3)。说明性方法600以框602开始,其中,可管理性控制器216确定是否加载固件。如果是,在框604中,可管理性控制器216确定要加载的固件部分的位置。换言之,可管理性控制器216确定构成有待加载的全局固件的部分的固件部分的位置。如上所述,可跨若干个专用存储器218划分全局固件,以便支持例如具有更大大小和能力的固件。在框606中,可管理性控制器216通过查询本地表确定各个固件部分的位置。如上所述,本地SoC 202可存储标识从其加载那些部分的固件部分和/或子部分的存储器位置(例如,哪一个专用存储器218)。可替代地或另外,在框608中,可管理性控制器216可查询远程表以便确定所期望的固件部分的位置。例如,在某些实施例中,主SoC 202可包括标识固件部分的存储器位置的表,该表可由SOC集群110的其他SoC 202通过专用可管理性控制器网络204查询。
在框610中,可管理性控制器216确定有待检索的下一个固件部分是否位于SoC集群110的SoC 202的存储器中(例如,基于表302)。如果是,在框614中,可管理性控制器216确定固件部分是否存储在本地SoC 202的存储器。如果是,在框616中,可管理性控制器216从本地SoC 202的专用存储器218检索固件部分。然而,如果可管理性控制器216确定下一个固件部分位于SoC集群110存储器中但是不位于本地SoC 202的存储器中(即,其位于相同SoC集群110的另一个SoC 202的存储器内),则在框618中,可管理性控制器216通过专用可管理性控制器网络204与其他SoC 202通信以便检索固件部分。返回框610,如果可管理性控制器216确定固件部分不位于SoC集群110的SoC 202的存储器中,则在框612中,可管理性控制器216从外部存储器检索固件部分。
响应于在框612、616或618中检索固件部分,在框620中,可管理性控制器216确定是否已经检索形成全局固件的部分的所有固件部分。如果不是,则方法600返回框610,其中,可管理性控制器216确定要检索的下一个固件部分是否位于SoC集群110的SoC 202的存储器中。应当认识到构成“下一个”固件部分的内容可取决于实施例而变化。如果可管理性控制器216在框620中确定已经检索全局固件的所有固件部分,可管理性控制器216在框622中加载全局固件。如上所述,基于所检索的固件部分的组合生成全局固件。
现在参照图7,在使用中,计算设备100可执行用于在具有带有高特征固件的可管理性控制器216的SoC 202和具有带有低特征固件的可管理性控制器216的其他SoC 202之间共享硬件资源的方法700(见例如在图4中示出的实施例)。说明性方法700以框702开始,其中,可管理性控制器216确定是否加载固件。如果是,在框704中,可管理性控制器216确定要加载的固件是高特征固件还是低特征固件。如上所述,在某些实施例中,诸如图4的实施例,SoC集群110可包括具有带有高特征固件的可管理性控制器216(例如,“主”控制器)和具有带有相对于高特征固件的可仅存储在本地SoC 202的专用存储器218上的低特征固件的其他SoC 202,其中,固件的部分跨SoC集群110内的SoC 202的存储器分布。这样,可管理性控制器216在框704中确定其是高特征可管理性控制器216还是低特征可管理性控制器216。当然,在某些实施例中,具体的可管理性控制器216可以能够使用涉及低特征固件和高特征固件两者的可管理性特征。在这种实施例中,可管理性控制器216确定加载哪一种类型的固件用于瞬时目的。
如果可管理性控制器216确定加载低特征固件,在框706中,可管理性控制器216从本地SoC 202的专用存储器218加载低特征固件。另一方面,如果可管理性控制器216确定加载高特征固件,在框708中,可管理性控制器216确定各个高特征固件部分的位置。在这样做时,在框710中,可管理性控制器216可查询本地或远程表(例如,表402、302),如上所述。在框712中,可管理性控制器216从本地SoC 202的存储器加载第一高特征固件部分。在这样做时,方法700假设具体实施例中的本地SoC 202的存储器包括与可管理性控制器216的高特征功能相关联的固件部分。在其中不是这种情况的实施例中,方法700可跳过框712。
在框714中,可管理性控制器216确定要检索的下一个高特征固件部分是否位于SoC集群110的SoC 202的专用存储器218中。如果是,在框718中,可管理性控制器216通过专用可管理性控制器网络204与SoC集群110中的相关SoC 202通信以便检索高特征固件部分。然而,如果可管理性控制器216确定高特征固件部分不位于SoC集群110内的SoC 202的存储器中,在框716中,可管理性控制器216从外部存储器(例如,从处理单元存储器114)检索高特征固件部分。在框720中,可管理性控制器216确定是否已经检索所有高特征固件部分。如果不是,方法700返回框714,其中,可管理性控制器216确定要检索的下一个高特征固件部分是否位于SoC集群110的SoC 202的存储器中。然而,如果可管理性控制器216在框720中确定已经检索高特征固件的所有高特征固件部分,可管理性控制器216在框722中加载高特征固件。如以上参照图5所讨论的,在某些实施例中,可管理性控制器216可直接从远程SoC202执行远程高特征固件部分(即,无需将远程高特征固件部分分页或以其他方式拷贝到本地SoC 202)。
示例
以下提供在此公开的技术的说明性示例。这些技术的实施例可包括以下所描述的示例中的任何一个或多个以及任何组合。
示例1包括一种用于促成片上系统(SoC)间通信的SoC集群,该SoC集群包括第一SoC,包括(i)第一主处理器,(ii)第一可管理性控制器,第一可管理性控制器不同于该第一主处理器,用于控制该第一SoC的功能,以及(iii)存储器,专用于该第一可管理性控制器并且具有存储在其上的可管理性控制器固件;第二SoC,第二SoC不同于该第一SoC,并且包括(i)第二主处理器和(ii)第二可管理性控制器,第二可管理性控制器不同于该二主处理器,用于控制该第二SoC的功能;以及专用可管理性控制器网络,其中,该第二SoC用于通过该专用可管理性控制器网络访问该第一SoC的该存储器的该可管理性控制器固件。
示例2包括示例1所述的主题,并且其中,该第一可管理性控制器包括第一微控制器并且第二可管理性控制器包括第二微控制器。
示例3包括示例1和2中任一项所述的主题,并且其中,专用于该第一可管理性控制器的该存储器包括静态随机存取存储器(SARM)。
示例4包括示例1至3中任一项所述的主题,并且其中,该专用可管理性控制器网络包括构造到构造接口。
示例5包括示例1至4中任一项所述的主题,并且其中,该第二SoC包括专用于该第二可管理性控制器并且具有在其上存储第一可管理性控制器固件部分的存储器;并且其中,专用于该第一可管理性控制器并且可由该第二SoC访问的该存储器具有存储在其上的第二可管理性控制器固件部分,其中,该第一可管理性控制器固件部分和该第二可管理性控制器固件部分是要由该第二可管理性控制器执行的可管理性控制器固件的分离部分。
示例6包括示例1至5中任一项所述的主题,并且其中,专用于该第二可管理性控制器的该存储器包括标识要由该第二可管理性控制器执行的该可管理性控制器固件的多个部分中的每个部分的存储器位置的数据结构。
示例7包括示例1至6中任一项所述的主题,并且其中,该第二可管理性控制器用于通过该专用可管理性控制器网络访问该第一SoC的该存储器的该可管理性控制器固件。
示例8包括示例1至7中任一项所述的主题,并且其中,该第一SoC的该存储器包括(i)有待由该第一可管理性控制器执行以便控制该第一SoC的功能的第一可管理性控制器固件部分以及(ii)要由该第二可管理性控制器检索并执行以便控制该第二SoC的功能的第二可管理性控制器固件部分。
示例9包括示例1至8中任一项所述的主题,并且其中,该第一可管理性控制器固件部分包括该第一可管理性控制器控制该第一SoC的功能所需的所有可管理性控制器固件;并且其中,第二可管理性控制器固件部分仅包括该第二可管理性控制器控制该第二SoC的功能所需的可管理性控制器固件的一部分。
示例10包括一种在片上系统(SoC)集群的第一SoC和第二SoC之间共享硬件资源的方法,该方法包括:该第一SoC的可管理性控制器确定可管理性控制器固件部分的存储器位置;以及该第一SoC的该可管理性控制器响应于确定该存储器位置位于该第二SoC的该存储器上通过专用可管理性控制器网络与该第二SoC通信以便从该第二SoC的存储器检索该可管理性控制器固件部分,其中,该第二SoC的该存储器专用于该第二SoC的可管理性控制器。
示例11可包括示例10所述的主题,并且其中,确定该可管理性控制器固件部分的该存储器位置包括查询存储在该第一SoC的存储器上的数据结构。
示例12包括示例10和11中任一项所述的主题,并且进一步包括该第一SoC的该可管理性控制器响应于与该第二SoC通信加载所检索的可管理性控制器固件部分。
示例13包括示例10至12中任一项所述的主题,并且进一步包括该第一SoC的该可管理性控制器响应于所确定的存储器位置在该第一SoC的该存储器内从该第一SoC的该存储器加载该可管理性控制器固件部分。
示例14包括示例10至13中任一项所述的主题,并且其中,与该第二SoC通信以便检索该可管理性控制器固件部分包括检索高特征固件部分;并且其中,该高特征固件部分有待由该第一SoC的该可管理性控制器用作为全局高特征可管理性控制器固件的至少一个其他高特征固件部分加载,该全局高特征可管理性控制器固件要求比该第一SoC上的存储器内可用的存储更多的存储器用于存储。
示例15包括示例10至14中任一项所述的主题,并且其中,该第二SoC的该存储器包括静态随机存取存储器(SARM)。
示例16包括示例10至15中任一项所述的主题,并且其中,通过专用可管理性控制器网络与该第二SoC通信包括通过构造到构造接口与该第二SoC通信。
示例17包括示例10至16中任一项所述的主题,并且进一步包括该第一SoC的该可管理性控制器响应于确定该可管理性控制器固件部分未存储在该SoC集群内的SoC的存储器上通过输入输出子系统与位于该SoC集群外部的存储器通信以便检索该可管理性控制器固件部分,该输入输出子系统不同于该专用可管理性控制器网络。
示例18包括一种计算设备,该计算设备包括处理器和存储器,该存储器其中存储有多条指令,当由该处理器执行时,该多条指令致使该计算设备执行示例10至17中任一项所述的方法。
示例19包括一种或多种机器可读存储介质,包括存储在其上的多条指令,响应于被执行,该多条指令致使计算设备执行如示例10至17中任一项所述的方法。
示例20包括一种用于在片上系统(SoC)集群内的第一SoC和第二SoC之间共享硬件资源的计算设备,该计算设备包括用于执行如示例10至17中任一项所述的方法的装置。
示例21包括一种用于针对操作冗余性共享片上系统(SoC)集群中的硬件资源的计算设备,该计算设备包括该SoC集群的第一SoC,该第一SoC包括:可管理性控制器,该可管理性控制器用于(i)加载可管理性控制器固件以及(ii)响应于检测到与该可管理性控制器固件的该加载相关联的加载错误标识,其中,该可管理性控制器固件的固件部分是该加载错误的原因;以及通信电路,该通信电路用于通过专用可管理性控制器网络与该SoC集群内的第二SoC通信以便从该第二SoC的存储器检索所标识的固件部分,其中,该存储器专用于该第二SoC的可管理性控制器。
示例22包括示例21所述的主题,并且其中,加载该可管理性控制器固件包括从位于该第一SoC上的存储器加载可管理性控制器固件。
示例23包括示例21和22中任一项所述的主题,并且其中,该可管理性控制器进一步用于加载所检索的固件部分。
示例24包括示例21至23中任一项所述的主题,并且其中,该可管理性控制器用于响应于确定所检索的固件部分是另一个加载错误的原因通过不同于该专用可管理性控制器网络的输入输出子系统从位于该SoC集群外部的存储器检索所标识的固件部分。
示例25包括示例21至24中任一项所述的主题,并且其中,该可管理性控制器进一步用于响应于标识该可管理性控制器固件的是该加载错误的该原因的该固件部分确定该SoC集群内的所标识的固件部分的存储器位置,其中,该存储器位置位于该第二SoC的该存储器内。
示例26包括一种用于针对操作冗余性共享片上系统(SoC)集群中的硬件资源的方法,该方法包括该SoC集群的第一SoC加载可管理性控制器固件;该第一SoC的该可管理性控制器响应于检测到与该可管理性控制器固件的该加载相关联的加载错误标识所述可管理性控制器的导致所述加载错误的固件部分;该第一SoC的该可管理性控制器通过专用可管理性控制器网络与该SoC集群内的第二SoC通信以便从该第二SoC的存储器检索所标识的固件部分,该存储器专用于该第二SoC的可管理性控制器。
示例27包括示例26所述的主题,并且其中,加载该可管理性控制器固件包括从位于该第一SoC上的存储器加载可管理性控制器固件。
示例28包括示例26和27中任一项所述的主题,并且进一步包括该第一SoC的该可管理性控制器加载所检索的固件部分。
示例29包括示例26至28中任一项所述的主题,并且进一步包括该第一SoC的该可管理性控制器响应于导致另一个加载错误的所检索的固件部分的该加载通过不同于该专用可管理性控制器网络的输入输出子系统从位于该SoC集群外部的存储器检索所标识的固件部分。
示例30包括示例26至29中任一项所述的主题,并且进一步包括该第一SoC的该可管理性控制器响应于标识该可管理性控制器固件的导致该加载错误的该固件部分确定该SoC集群内的所标识的固件部分的存储器位置,该存储器位置位于该第二SoC的该存储器内。
示例31包括一种计算设备,该计算设备包括处理器和存储器,该存储器其中存储有多条指令,当由该处理器执行时,该多条指令致使该计算设备执行示例26至30中任一项所述的方法。
示例32包括一种或多种机器可读存储介质,包括存储在其上的多条指令,响应于被执行,该多条指令致使计算设备执行如示例26至30中任一项所述的方法。
示例33包括一种用于在片上系统(SoC)集群内针对操作冗余性共享硬件资源的计算设备,该计算设备包括用于执行示例26至30中任一项所述的方法的装置。

Claims (25)

1.一种用于促成片上系统(SoC)间通信的SoC集群,所述SoC集群包括:
第一SoC,包括(i)第一主处理器,(ii)第一可管理性控制器,所述第一可管理性控制器不同于所述第一主处理器,用于控制所述第一SoC的功能,以及(iii)存储器,专用于所述第一可管理性控制器并且具有存储在其上的可管理性控制器固件;
第二SoC,所述第二SoC不同于所述第一SoC,并且包括(i)第二主处理器和(ii)第二可管理性控制器,所述第二可管理性控制器不同于所述二主处理器,用于控制所述第二SoC的功能;以及
专用可管理性控制器网络,其中,所述第二SoC用于通过所述专用可管理性控制器网络访问所述第一SoC的所述存储器的所述可管理性控制器固件。
2.如权利要求1所述的SoC集群,其中,所述第一可管理性控制器包括第一微控制器并且第二可管理性控制器包括第二微控制器。
3.如权利要求1所述的SoC集群,其中,专用于所述第一可管理性控制器的所述存储器包括静态随机存取存储器(SARM)。
4.如权利要求1所述的SoC集群,其中,所述专用可管理性控制器网络包括构造到构造接口。
5.如权利要求1所述的SoC集群,其中,所述第二SoC包括专用于所述第二可管理性控制器并且在其上存储第一可管理性控制器固件部分的存储器;并且
其中,专用于所述第一可管理性控制器并且可由所述第二SoC访问的所述存储器具有存储在其上的第二可管理性控制器固件部分,其中,所述第一可管理性控制器固件部分和所述第二可管理性控制器固件部分是要由所述第二可管理性控制器执行的可管理性控制器固件的分离部分。
6.如权利要求5所述的SoC集群,其中,专用于所述第二可管理性控制器的所述存储器包括标识要由所述第二可管理性控制器执行的所述可管理性控制器固件的多个部分中的每个部分的存储器位置的数据结构。
7.如权利要求1至6中任一项所述的SoC集群,其中,所述第二可管理性控制器用于通过所述专用可管理性控制器网络访问所述第一SoC的所述存储器的所述可管理性控制器固件。
8.如权利要求1所述的SoC集群,其中,所述第一SoC的所述存储器包括(i)要由所述第一可管理性控制器执行以便控制所述第一SoC的功能的第一可管理性控制器固件部分以及(ii)要由所述第二可管理性控制器检索并执行以便控制所述第二SoC的功能的第二可管理性控制器固件部分。
9.如权利要求8所述的SoC集群,其中,所述第一可管理性控制器固件部分包括所述第一可管理性控制器控制所述第一SoC的功能所需的所有可管理性控制器固件;并且
其中,第二可管理性控制器固件部分仅包括所述第二可管理性控制器控制所述第二SoC的功能所需的可管理性控制器固件的一部分。
10.一种在片上系统(SoC)集群内的第一SoC和第二SoC之间共享硬件资源的方法,所述方法包括:
所述第一SoC的可管理性控制器确定可管理性控制器固件部分的存储器位置;以及
所述第一SoC的所述可管理性控制器响应于确定所述存储器位置位于所述第二SoC的所述存储器上通过专用可管理性控制器网络与所述第二SoC通信以便从所述第二SoC的存储器检索所述可管理性控制器固件部分,
其中,所述第二SoC的所述存储器专用于所述第二SoC的可管理性控制器。
11.如权利要求10所述的方法,其中,确定所述可管理性控制器固件部分的所述存储器位置包括查询存储在所述第一SoC的存储器上的数据结构。
12.如权利要求10所述的方法,进一步包括所述第一SoC的所述可管理性控制器响应于与所述第二SoC通信加载所检索的可管理性控制器固件部分。
13.如权利要求10所述的方法,进一步包括所述第一SoC的所述可管理性控制器响应于所确定的存储器位置在所述第一SoC的所述存储器内而从所述第一SoC的所述存储器加载所述可管理性控制器固件部分。
14.如权利要求10所述的方法,其中,与所述第二SoC通信以便检索所述可管理性控制器固件部分包括检索高特征固件部分;并且
其中,所述高特征固件部分有待由所述第一SoC的所述可管理性控制器用作为全局高特征可管理性控制器固件的至少一个其他高特征固件部分加载,所述全局高特征可管理性控制器固件要求比所述第一SoC上的存储器内可用的存储更多的存储器用于存储。
15.如权利要求10所述的方法,其中,通过专用可管理性控制器网络与所述第二SoC通信包括通过构造到构造接口与所述第二SoC通信。
16.如权利要求15所述的方法,进一步包括所述第一SoC的所述可管理性控制器响应于确定所述可管理性控制器固件部分未存储在所述SoC集群内的SoC的存储器上通过输入输出子系统与位于所述SoC集群外部的存储器通信以便检索所述可管理性控制器固件部分,所述输入输出子系统不同于所述专用可管理性控制器网络。
17.一种用于在片上系统(SoC)集群内的第一SoC和第二SoC之间共享硬件资源的计算设备,所述计算设备包括用于执行如权利要求10至16中任一项所述的方法的装置。
18.一种用于在片上系统(SoC)集群内针对操作冗余性共享硬件资源的计算设备,所述计算设备包括所述SoC集群的第一SoC,所述第一SoC包括:
可管理性控制器,所述可管理性控制器用于(i)加载可管理性控制器固件以及(ii)响应于检测到与所述可管理性控制器固件的所述加载相关联的加载错误标识,其中,所述可管理性控制器固件的固件部分是所述加载错误的原因;以及
通信电路,所述通信电路用于通过专用可管理性控制器网络与所述SoC集群内的第二SoC通信以便从所述第二SoC的存储器检索所标识的固件部分,其中,所述存储器专用于所述第二SoC的可管理性控制器。
19.如权利要求18所述的计算设备,其中,所述可管理性控制器用于:
加载所检索的固件部分;以及
响应于确定所检索的固件部分是另一个加载错误的原因通过不同于所述专用可管理性控制器网络的输入输出子系统从位于所述SoC集群外部的存储器检索所标识的固件部分。
20.如权利要求18所述的计算设备,其中,所述可管理性控制器进一步用于响应于标识所述可管理性控制器固件的是所述加载错误的所述原因的所述固件部分,确定所述SoC集群内的所标识的固件部分的存储器位置,其中,所述存储器位置位于所述第二SoC的所述存储器内。
21.一种在片上系统(SoC)集群内针对操作冗余性共享硬件资源的方法,所述方法包括:
所述SoC集群内的第一SoC的可管理性控制器加载可管理性控制器固件;
所述第一SoC的所述可管理性控制器响应于检测到与所述可管理性控制器固件的所述加载相关联的加载错误标识所述可管理性控制器固件的导致所述加载错误的固件部分;
所述第一SoC的所述可管理性控制器通过专用可管理性控制器网络与所述SoC集群内的第二SoC通信以便从所述第二SoC的存储器检索所标识的固件部分,所述存储器专用于所述第二SoC的可管理性控制器。
22.如权利要求21所述的方法,其中,加载所述可管理性控制器固件包括从位于所述第一SoC上的存储器加载可管理性控制器固件。
23.如权利要求21所述的方法,进一步包括:
所述第一SoC的所述可管理性控制器加载所检索的固件部分;以及
所述第一SoC的所述可管理性控制器响应于导致另一个加载错误的所检索的固件部分的所述加载通过不同于所述专用可管理性控制器网络的输入输出子系统从位于所述SoC集群外部的存储器检索所标识的固件部分。
24.如权利要求21所述的方法,进一步包括所述第一SoC的所述可管理性控制器响应于标识所述可管理性控制器固件的导致所述加载错误的所述固件部分确定所述SoC集群内的所标识的固件部分的存储器位置,所述存储器位置位于所述第二SoC的所述存储器内。
25.一种或多种机器可读存储介质,包括存储在其上的多条指令,响应于被执行,所述指令致使计算设备执行如权利要求10至16或21至24中任一项所述的方法。
CN201380079508.9A 2013-09-27 2013-09-27 用于共享嵌入式硬件资源的方法、设备和装置 Active CN106462550B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/PL2013/000122 WO2015047112A1 (en) 2013-09-27 2013-09-27 Sharing embedded hardware resources

Publications (2)

Publication Number Publication Date
CN106462550A true CN106462550A (zh) 2017-02-22
CN106462550B CN106462550B (zh) 2019-10-25

Family

ID=49510478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079508.9A Active CN106462550B (zh) 2013-09-27 2013-09-27 用于共享嵌入式硬件资源的方法、设备和装置

Country Status (4)

Country Link
US (1) US9547497B2 (zh)
CN (1) CN106462550B (zh)
DE (1) DE112013007299T5 (zh)
WO (1) WO2015047112A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110582770A (zh) * 2017-09-06 2019-12-17 谷歌有限责任公司 安全协处理器中的环境条件验证和用户认证

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409507B1 (en) * 2016-10-31 2019-09-10 Marvell International Ltd. Methods and apparatus for implementing virtual dynamic library loading in embedded systems
US10642781B2 (en) * 2017-04-07 2020-05-05 Qualcomm Incorporated Boot time determination of calibration parameters for a component coupled to a system-on-chip
US11663338B2 (en) * 2019-05-14 2023-05-30 University Of Florida Research Foundation, Incorporated Automated security analysis of baseband firmware

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1910571A (zh) * 2003-07-25 2007-02-07 国际商业机器公司 单芯片协议转换器
CN102270030A (zh) * 2010-05-07 2011-12-07 三星电子株式会社 片上系统、具有其的设备以及该片上系统的电力控制方法
US20120060039A1 (en) * 2010-03-05 2012-03-08 Maxlinear, Inc. Code Download and Firewall for Embedded Secure Application
US20120159513A1 (en) * 2010-12-15 2012-06-21 Microsoft Corporation Message passing in a cluster-on-chip computing environment
WO2013048485A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
CN103294554A (zh) * 2012-03-05 2013-09-11 中兴通讯股份有限公司 片上系统soc的多处理器的调度方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631150B2 (en) * 2006-09-29 2009-12-08 Broadcom Corporation Memory management in a shared memory system
US8838949B2 (en) * 2010-03-22 2014-09-16 Qualcomm Incorporated Direct scatter loading of executable software image from a primary processor to one or more secondary processor in a multi-processor system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1910571A (zh) * 2003-07-25 2007-02-07 国际商业机器公司 单芯片协议转换器
US20120060039A1 (en) * 2010-03-05 2012-03-08 Maxlinear, Inc. Code Download and Firewall for Embedded Secure Application
CN102270030A (zh) * 2010-05-07 2011-12-07 三星电子株式会社 片上系统、具有其的设备以及该片上系统的电力控制方法
US20120159513A1 (en) * 2010-12-15 2012-06-21 Microsoft Corporation Message passing in a cluster-on-chip computing environment
WO2013048485A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
CN103294554A (zh) * 2012-03-05 2013-09-11 中兴通讯股份有限公司 片上系统soc的多处理器的调度方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110582770A (zh) * 2017-09-06 2019-12-17 谷歌有限责任公司 安全协处理器中的环境条件验证和用户认证
CN110582770B (zh) * 2017-09-06 2022-10-18 谷歌有限责任公司 用于维持安全的装置和方法

Also Published As

Publication number Publication date
WO2015047112A1 (en) 2015-04-02
CN106462550B (zh) 2019-10-25
US9547497B2 (en) 2017-01-17
US20160202994A1 (en) 2016-07-14
DE112013007299T5 (de) 2016-04-21

Similar Documents

Publication Publication Date Title
US8850158B2 (en) Apparatus for processing remote page fault and method thereof
CN104954418B (zh) 引导图像发现和传送
CN100421089C (zh) 处理器资源虚拟化的系统和方法
CN102622329B (zh) 多核计算机中的远程核操作
US8078862B2 (en) Method for assigning physical data address range in multiprocessor system
CN103927277A (zh) Cpu和gpu共享片上高速缓存的方法及装置
US20170031825A1 (en) Direct Host-To-Host Transfer for Local Caches in Virtualized Systems
CN104636181A (zh) 用于迁移虚拟机的方法和系统
JP2020518068A (ja) 最適化されたディープネットワーク処理のためのグラフマッチング
CN104346293A (zh) 混合内存的数据访问方法、模块、处理器及终端设备
CN106462550B (zh) 用于共享嵌入式硬件资源的方法、设备和装置
CN103873489A (zh) 具有PCIe接口的装置共享系统及方法
CN105408862A (zh) 用于微型服务器和群集化片上系统部署的可管理性冗余
CN101216781B (zh) 一种多处理器系统、装置及方法
CN105550155A (zh) 用于多处理器系统的探听过滤器以及相关探听过滤方法
US20200334168A1 (en) Virtual memory pool within a network which is accessible from multiple platforms
CN104321750B (zh) 在共享存储器编程中保持释放一致性的方法和系统
CN115292214A (zh) 页表预测方法、存储访问操作方法、电子装置和电子设备
US11036404B2 (en) Devices, systems, and methods for reconfiguring storage devices with applications
WO2013088283A2 (en) Memory sharing by processors
CN109032963A (zh) 访问控制
CN105103139B (zh) 用于改善跨越相干总线的信号量管理序列的性能的方法和设备
US9612776B2 (en) Dynamically updated user data cache for persistent productivity
US20120191896A1 (en) Circuitry to select, at least in part, at least one memory
JP4712089B2 (ja) 情報処理装置、システム制御装置および情報処理装置の制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant