CN104272295A - 地址转换板 - Google Patents

地址转换板 Download PDF

Info

Publication number
CN104272295A
CN104272295A CN201280072798.XA CN201280072798A CN104272295A CN 104272295 A CN104272295 A CN 104272295A CN 201280072798 A CN201280072798 A CN 201280072798A CN 104272295 A CN104272295 A CN 104272295A
Authority
CN
China
Prior art keywords
address
system image
over panel
processor core
assembly
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
CN201280072798.XA
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104272295A publication Critical patent/CN104272295A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Processing (AREA)

Abstract

一种示例处理器包括多个处理器核组件,存储器接口组件以及地址转换板。每个处理器核组件分配给多个系统映像中的一个,并且多个系统映像通过至少利用地址转换板以保持分配给多个系统映像中的每一个的存储器区域之间分开,来共享公共存储器组件。存储器接口组件由所述多个独立系统映像所共享。地址转换板配置成拦截去往包括系统映像标识符和目标地址的存储器接口组件的业务,至少部分基于系统标识符和目标地址产生转换地址,并且将转换地址发送至存储器接口组件。

Description

地址转换板
背景技术
当在大多数情况下硅处理能力超出单核处理器的能力以有效地利用可用区域时,引入多核处理器,以提高处理器技术空间。不同于在单个集成电路(IC)中通常包括单个处理器核的单核处理器,多核处理器在单个IC中通常包括两个或更多个处理器核。例如,双核处理器在单个IC中包括两个处理器核,而四核处理器在单个IC中包括四个处理器核。
无论IC中处理器核的数量是多少,多核架构的优点通常是相同的:增强的性能和/或对多个任务的高效同时处理(即,并行处理)。消费者和企业的设备,诸如台式机、笔记本电脑以及服务器在运行处理器密集型处理,诸如病毒扫描、撷取/烧录媒体、文件扫描、服务于多外部请求等时受益于这些优点而改善响应时间。
附图说明
在下面的详细描述中并且参考附图来描述示例实施例,附图中:
图1描绘了根据实施例的处理器;
图2描绘了根据实施例的系统;
图3描绘了根据实施例的由地址转换板进行的转换操作的框图;
图4描绘了根据另一实施例的由地址转换板进行的转换操作的框图;
图5描绘了根据又一实施例的由地址转换板进行的转换操作的框图;以及
图6描绘了根据实施例的处理流程图。
具体实施方式
本公开的各种实施例针对的是多核处理器架构。更具体地,各种实施例针对的是这样的多核处理器架构,其中每个处理器核分配给多个系统映像(systemimage)中的一个,该多个系统映像通过利用地址转换板以保持分配给多个系统映像中的每一个的内存区域之间分开,来共享公共内存组件。如下面更详细地描述的,此新颖且之前未预见到的方法提供了对单个处理器座(socket)更有效并且更有用的利用。
通过背景,已经认识到,当前技术可实现的处理器密度超出了单个系统映像对多个应用所要求的。对于这些应用,多核,在某些情况下,专用处理单元并不与它们的增量成本成比例地增加价值。而是,如果多核全部被利用,则与多核处理器中的每个核相关联的处理能力常常不被利用。尽管已引入了诸如“虚拟化”和“实体化”的方案来解决这些问题,但这些方案有其自己各自的缺点。此外,它们不会规规矩矩地解决如何有效且有用地利用多核处理器中的每个核的问题。例如,虚拟化软件(例如,VMWare)通常被设计成共享在管理程序下运行的多个系统映像中的服务器中的多个高性能处理器。由于该软件使信息技术(IT)基础设施管理更灵活且更简单,所以该软件是有益的。此外,该软件通过整合少量高效利用的服务器而降低了硬件和能量成本。然而,该虚拟软件往往与高额的牌照费相关联,并且相关联的管理程序会被认为是大故障带或单个缺陷点。另外,该虚拟软件将性能开销强加于主机系统。因此,尽管存在与虚拟方案相关联的各种益处,但还存在与该方案相关联的各种不利。
相比之下,相对于虚拟化实体化位于范围的另一端。在密集型架构中,实体化利用包括低性能处理器的轻重量服务器。总的目标是通过选取每个“微服务器”节点的大小合适的服务器使每瓦特实现最大值、最大表现和/或最大性能。该方法的优点是,通过不需要高代价的虚拟化软件,并且还通过关注于系统包装效率来降低操作成本。然而,缺点在于,在每个微服务器节点中利用重复的部件。例如,在每个微处理器节点中冗余地包括输入/输出组件、存储器和/或存储器接口。此外,“一个服务器、一个应用”实体化模型往往是不灵活的并且难于管理。
本申请的各种实施例通过利用允许多个系统映像共享单个处理器座的硬件和/或固件结构至少解决上述问题。换言之,各种实施例对处理器座进行配置,以允许多个更小的系统映像而不是一个大的系统映像。尽管每个更小的系统映像可能认为它拥有整个处理器座,但实际上,每个系统映像可以是在该处理器座的一部分上运行并且与其他系统映像共享处理器组件。
本发明架构部分通过实现处理器核与存储器接口组件之间的地址转换板(address translation gasket)来实现。地址转换板被配置成使系统映像之间保持分开,并且被配置成允许共享公共存储器且同时防止访问存储器的未经授权区域。本发明架构还通过将处理器核分配给不同的系统映像并且通过由不同系统映像共享高成本和往往未经授权的部件诸如输入/输出和存储器来进一步实现。结果,可降低每个系统映像的成本,可有效地利用处理器核和相关联的组件,以及可减少风险。例如,当相比于虚拟化方案时,可消除管理程序费用和大故障带(faultdomain)。当相比于实体化时,可消除不灵活的规定和冗余的部件。因此,该架构解决了与虚拟化和实体化相关联的缺点,而同时将处理器效率提高至之前无法预料的程度。下面参考各种示例实施例和各种附图来进一步描述该发明架构。
在本公开的一个示例实施例中,提供了一种处理器。该处理器包括多个处理器核组件、存储器接口组件以及地址转换板。每个处理器核组件分配给多个系统映像中的每一个,并且该多个系统映像通过至少利用地址转换板用于使分配给多个系统映像中的每一个的存储器区域保持分开来共享公共存储器组件。多个独立系统映像共享存储器接口组件。地址转换板被配置成拦截去往包括系统映像标识符和目标地址的存储器接口组件的业务,至少部分基于系统标识符和目标地址来产生转换地址,并且将转换地址发送至存储器接口组件。
在本公开的另一示例实施例中,提供了另一个处理器,该处理器包括多个处理器核组件和地址转换板。多个处理器核组件每个分配给多个系统映像中的一个,并且多个系统映像通过至少利用地址转换板以保持分配给多个系统映像中的每一个的存储器区域之间分开,来共享公共存储器组件。地址转换板被配置成拦截从多个处理器核心组件去往存储器接口组件的业务,并且至少部分基于系统标识符和与业务相关联的目标地址来产生业务的转换地址。地址转换板还被配置成拦截从存储器接口组件去往多个处理器核心部件的业务,并且产生这些业务的转换地址。
在本公开的又一示例性实施例中,提供了一种处理器。该处理器包括多个处理器核组件、存储器接口组件以及地址转换板。多个处理器核组件每个分配给多个系统映像中的一个,并且多个系统映像通过至少利用地址转换板以保持分配给所述多个系统映像中的每一个的存储器区域之间分开,来共享公共存储器组件。存储器接口组件由多个独立系统映像所共享。地址转换板被配置成拦截从多个处理器核组件去往存储器接口组件的业务,其中,每个业务包括系统映像标识符和目标地址,并且其中,地址转换板被配置成至少部分基于系统标识符和目标地址通过如下方式的至少一种来产生转换地址:(i)将系统标识符看作一个或更多个附加地址位并且通过将一个或更多个附加地址位与目标地址相连接来产生转换地址;(ii)将系统标识符映射至固定地址偏移并且将固定地址偏移与目标地址相加以产生转换地址,以及(iii)将系统标识符和目标地址的至少一部分映射至被分配的存储器部分。
如本文中所使用的,“系统映像”意思是指运行单个操作系统(OS)和/或管理程序实例并且至少包括一个处理器核、所分配的存储器以及所分配的输入/示出组件的单个计算节点。
图1描绘了根据实施例的处理器100。处理器100包括多个处理器核(110-140)、存储器接口组件150、地址转换板160以及多个输入/输出组件(170-190),在下面更详细描述其中的每一个。应该很明显的是,图1中描绘的处理器100表示概略的例示并且在不背离处理器100的范围的情况下可添加其他组件或可以去除、修改或重新布置现有组件。
每个处理器核(110-140)是被配置成读取并且执行程序指令的处理器件。每个核(110-140)可包括例如控制单元(CU)和算术逻辑单元(ALU)。CU可以被配置成定位、分析和/或执行程序指令。ALU可被配置成执行计算、比较、算法和/或逻辑操作。一般来说,每个核可执行操作,诸如获取、解码、执行和/或取回。尽管图1中示出了仅四个核,但应理解的是,在根据各种实施例的处理器100中可包括更多核或更少核。此外,应理解的是,处理器核(110-140)不必一定相同,并且能够根据处理能力、尺寸、速度和/或其他参数而变换。例如,两个处理器核的处理能力可多于在同一处理器100上的另外两个处理器核。此外,尽管在图1中示出为分开组件,但应理解的是,组件可以与彼此集成。例如,地址转换板160和存储器接口组件150可以与彼此集成。
存储器接口组件150被配置成与一个或更多个存储器组件(图1中未示出)接口,并且对至和来自一个或更多个存储器组件的数据流进行管理。例如,每个存储器接口组件可包含被配置成从一个或更多个存储器组件读取并且写入至该一个或更多个组件的逻辑。
地址转换板160被配置成拦截去往存储器接口组件150的业务并且被配置成从每个业务获得目标地址和系统映像标识符。地址转换板160可使用系统映像标识符来识别分配给系统映像的存储器区域。这可以例如通过应用偏移(offset)或通过提供对系统映像的地址空间的图块的查找功能来完成以在共享存储器池(memory pool)中共享。地址转换板160然后可产生转换地址并且进行检查以确保转换地址不会到达在将转换地址发送至存储器接口组件150之前被分配给系统映像的存储器范围之外。存储器接口150可对其接收的转换业务上单独操作。由于不允许与不同系统映像相关联的地址重叠,所以一致的流自然在该环境中工作。在存储器接口中处理访问之后,则地址转换板150还提供逆向地址转换,以将去往系统核(110-140)的地址转换回核(110-140)期望的值。
每个输入/输出组件(170-190)被配置成将数据流提供至在板(例如,视频卡)上的处理器的其他内部组件(例如,处理器核)和处理器外的组件或从在板(例如,视频卡)上的处理器的其他内部组件(例如,处理器核)和处理器外的组件提供数据流。示例输入/输出组件可以例如根据外围组件互连(PCI)、PCI扩展(PCI-X)和/或PCI表示(PCIe)来配置。这种输入/输出组件可用作将处理器100与两个集成外围设备(例如,安装了处理器的集成电路)和附加的外围设备(例如,扩展卡)连接的母版级互连。关于处理器核,与上面的描述类似,应理解的是,处理器100上的输入/输出组件(170-190)不必一定相同,每个输入/输出组件例如性能可以不同。
在各种实施例中,多个处理器核组件(110-140)、存储器接口组件150、地址转换板160以及多个输入/输出组件(170-190)可集成在单个集成电路晶片上。可选地,在各种实施例中,多个处理器核组件(110-140)、存储器接口组件150、地址转换板160以及多个输入/输出组件(170-190)可集成在单个芯片封装中的多个集成电路晶片上。无论实现方式如何,多个处理器核组件(110-140)、存储器接口组件150、地址转换板160以及多个输入/输出组件(170-190)可经由一个或更多个通信总线以可通信的方式耦接。
现在转向处理器100操作,本公开的各种实施例在单个处理器100上配置多个系统映像。由于一个系统映像不受影响于、受控于和/或取决于另一系统映像,所以在这种程度上这些系统映像可以是独立的。由于每个系统映像可以与另一个分开,使得关于一个系统映像的信息可被不另一个系统映像访问,所以在这种程度上系统映像可以是孤立的。例如,具有第一公司的数据的系统映像可以不被具有第二公司的数据的系统映像影响或访问,即使两者在单个处理器上运行。这可以部分通过在地址转换板160处进行的操作来完成。具体地,地址转换板160被配置成拦截去往存储器接口150和来自处理器核(110-140)的业务。地址转换板160从每个拦截的业务至少获得目标地址和系统映像标识符,并且基于目标地址和/或系统映像标识符(例如,通过将目标地址和/或系统映像标识符映射至在物理存储器中的被分配地址范围)产生转换地址。地址转换板160然后将该转换地址提供至存储器接口150。结果,地址转换板160可用作处理器核(110-140)与存储器接口150之间的中介,并且因此控制处理器核(110-140)访问存储器的哪部分,以及确保处理器核(110-140)不访问存储器的被分配给各个处理器核的部分之外的部分。地址转换板160对来自存储器接口150和去往存储器核(110-140)的业务提供类似逆向转换功能。在该方面上,地址转换板160将该业务逆向转换,使得处理器核(110-140)接收预期的业务值。
关于处理器核(110-140)与系统映像之间的分配,多个处理器核(110-140)中的每一个可被分配给不同的单独并且孤立的系统映像。替代地或附加地,一组处理器核(110-140)可被分配给单独并且孤立的系统映像。例如,如图1中所示,第一处理器核110和和第二处理器核120可分配给系统映像#0,第三处理器核130可分配至系统映像#1,并且第四处理器核可分配至系统映像#2。
其他处理器组件可类似地由系统映像中的一个或多个分配或共享。例如,如图1中所示,第一输入/输出组件170可分配给系统映像#0,第二输入/输出组件180可分配给系统映像#1,以及第三输入/输出组件190可分配给系统映像#2。此外,存储器接口150可由每个系统映像所共享。
管理逻辑可被配置成将处理器核(110-140)、存储器接口组件(150-160)和/或输入/输出组件(170-190)分配给各种系统映像。在一些实施例中,一个或一组处理器核可指定作为“主宰”,并且被配置成执行管理逻辑以提供分配。即,一个或一组处理器核可负责将多个处理器核组件以及存储器接口和输入/输出组件分配给各种系统映像。另外,主宰可负责例如启用/禁用处理器核组件,将共享存储器性能分配给系统映像(关于图2更详细地讨论),控制每个核的复位功能和/或统调误差和其他相关事件。主宰核内和/或每个顶层功能块内的增强逻辑可实现核、存储器地址范围以及输入/输出设备之间的隔离。主宰核可将处理器100配置进多个、独立系统映像(例如,系统映像#0、系统映像#1以及系统映像#2),其具有实现并且分配至系统映像的核或一组核以及例如主存储器(未示出)的所选地址范围和输入/输出组件(170-190)或输入/输出端口的子集。主宰核可控制每个顶层功能单元的复位功能,使得即使其他资源在其他系统映像中继续操作时仍可重新配置片上资源。主宰核还可统调误差(或影响共享的资源的其他相关事件)并且采取合适的动作以通知受影响的系统映像。这种统调误差可由主宰核来虚拟化,或物理复制管理逻辑中的每个系统映像。
在替代实施例中,单独的管理组件可包括在处理器100中,以经由管理逻辑来执行主宰处理器核的上述功能。因此,在那种实现方式中,可以不利用主宰处理器核或处理器核的组。
图2描绘了根据一实施例的系统200。系统200包括处理器100和所附的存储器210。很明显的是,图2中描绘的系统200表示概略例示并且在不脱离系统200的范围的情况下可以添加其他组件或者可以去掉、修改或重新布置现有组件。
处理器100类似于关于图1的上述处理器,并且包括多个处理器核(110-140)、存储器接口组件(150)、地址转换板160以及多个输入/输出组件(170-190)。存储器210可对应于存储数据、指令等的任意典型存储设备。例如,存储器210可包括易失性或非易失性存储器。易失性存储器的示例包括但不限于静态随机存储器(SRAM)和动态随机存储器(DRAM)。非易失性存储器的示例包括但不限于电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)以及闪存。存储器210可以以通信的方式耦接至存储器100的存储器接口150。这可以经由存储器接口与基于双数据率(DDR)接口规范(例如,DDR3)操作的存储器之间的总线来完成。
系统映像(例如,系统映像#0、系统映像#1以及系统映像#2)和它们的相应核(110-140)可共享存储器的存储容量。即,存储器210的一部分存储容量可分配给多个单独并且孤立的系统映像中的每一个。例如,如图2中所示,可共享存储器210,使得系统映像#0、系统映像#1以及系统映像#2均利用存储器容量的一部分。在可共享存储器210的同时,包括在处理器核(110-140)与存储器接口150之间互连的地址转换板160可给出这样的表象:每个系统映像具有独立于其他系统映像的专用存储器。
在一些实施例中,存储器210可基于地址范围来划分。例如,可向系统映像#0分配地址范围0-200,可向系统映像#1分配地址范围201-300,以及可向系统映像#2分配地址范围301-400。尽管只示出了一个存储器(即,存储器210),但应理解的是,在不同的实施例中,系统映像利用在类型、尺寸、速度和/或其他参数方面不同的多个存储器。例如,系统映像可利用存储容量不同的第一存储器和第二存储器。此外,尽管图2示出了存储器210由每个系统映像所共享,但应理解的是,每个存储器不是必须要被每个系统映像所共享。例如,一个存储器可由系统映像#0和系统映像#1所共享,而另一个存储器可由系统映像#1和系统映像#2所共享。另外,一个存储器可仅由单个系统映像利用。如上面所讨论的,可通过主宰处理器核或替代地通过并入处理器100中的管理组件来确定存储容量分配。
图3描绘了根据实施例的由地址转换板160进行的操作的框图。如上面所讨论的,地址转换板被配置成拦截去往存储器接口组件150的业务,并且至少部分基于从该业务获得的目标地址和/或系统映像标识符来产生转换地址。在图3中描绘的实施例中,地址转换板160通过将系统标识符看作一个或多个附加地址位并且通过将一个或多个附加地址位与目标地址相连接以生成转换地址,来产生转换地址。
更具体地,为每个系统映像分配一系统映像标识符。在图3中所示的系统中,为第一处理器核110和第二处理器核120分配了系统映像标识符“00”。为第三处理器核130分配了系统映像标识符“01”。为第四处理器核140分配了系统映像标识符“10”。这些系统映像标识符和目标地址(例如,物理地址/虚拟地址)与源自处理器核(110-140)并且去往存储器接口150和存储器210的业务(例如,读取/写入业务)一起发送。地址转换板160被配置成拦截这些业务(例如,读取/写入业务)并且解析系统映像标识符和目标地址。地址转换板160然后可利用系统映像标识符作为与目标地址有关的附加地址位。例如,系统映像标识符可以是两位值并且目标地址可以是八位值。地址转换板160可以将这两个值相连接以产生10-位转换地址,然后将10-位转换地址从地址转换板160传送至存储器接口150。
在该实施例的一种实现中,如果所有的系统ID组合都未使用,则通过选择将额外的地址位提供至系统ID,未使用的系统ID可有效地提供给另一系统ID。例如,如果存在分配的系统映像“00”、“10”以及“11”,并且总存储空间的一半是至系统映像“00”,当来自系统映像“00”的业务提供至地址转换板时,地址转换板不可强制使用系统ID的第二地址位(即,“0”),而是允许使用多一位的地址,因此与该地址相连接的结果系统ID会是“01”而不是“00”。换一种方式,可以使用系统ID的最高位,可通过地址位而不是第二系统ID位来确定系统ID的下一位。
图4描绘了根据另一实施例的由地址转换板160进行的操作的框图。如上面所提及的,地址转换板被配置成拦截去往存储器接口组件150的业务,并且至少部分基于从该业务获得的目标地址和/或系统映像标识符来产生转换地址。在图4中描述的实施例中,地址转换板160通过将系统标识符映射成固定的地址偏移并且通过经由加法器410将固定的地址偏移与目标地址相加以生成转换,来产生转换地址。
更准确地,为每个系统映像分配系统映像标识符。在图4中所示的系统中,为第一处理器核110和第二处理器核120分配了系统映像标识符“00”。为第三处理器核130分配了系统映像标识符“01”。为第四处理器核140分配了系统映像标识符“10”。这些系统映像标识符和目标地址(例如,物理地址/虚拟地址)与源自处理器核(110-140)并且去往存储器接口150和存储器210的业务(例如,读取/写入业务)一起发送。地址转换板160被配置成拦截这些业务(例如,读取/写入业务)并且解析系统映像标识符和目标地址。地址转换板160然后将所接收的系统映像标识符映射成偏移值,并且经由加法器410将该偏移值与所接收的目标地址相加以产生转换地址。例如,地址转换板160可接收2-位系统映像标识符“00”,并且将该系统映像标识符映射至8-位偏移值“10110000”。地址转换板160然后可经由加法器410将偏移值“10110000”与8-位目标地址相加以产生转换地址,然后将该转换地址发送至存储器接口150。尽管示例描述了8-位偏移值的使用,但应理解的是,偏移值是灵活的并且能够是任意大小,该任意大小可多达被共享的存储器210所支持的全部存储器地址所规定的总目标地址大小。
图5描绘了根据又一实施例的由地址转换板160进行的操作的框图。如上面所描述的,地址转换板被配置成拦截去往存储器接口组件150的业务,并且至少部分基于从该业务获得的目标地址和/或系统映像标识符来产生转换地址。在图5中描述的实施例中,地址转换板160通过将系统标识符和目标地址的至少一部分映射成所分配的存储器部分来产生转换地址。
具体地,为每个系统映像分配系统映像标识符。在图5中所示的系统中,为第一处理器核110和第二处理器核120分配了系统映像标识符“00”。为第三处理器核130分配了系统映像标识符“01”。为第四处理器核140分配了系统映像标识符“10”。这些系统映像标识符和目标地址(例如,物理地址/虚拟地址)与源自处理器核(110-140)并且去往存储器接口150和存储器210的业务(例如,读取/写入业务)一起发送。地址转换板160被配置成拦截这些业务(例如,读取/写入业务)并且解析系统映像标识符和目标地址。地址转换板160然后将系统映像标识符和目标地址的至少一部分提供至映射表,该映射表基于系统映像标识符和目标地址的至少一部分产生存储器块地址。例如,如图5中所示,系统映像标识符位和目标地址的高位地址位可映射至存储器块,并且存储器块可与目标地址的低位地址位结合以产生转换地址,该转换地址被发送至存储器接口150。此外,该转换选择允许被分配给相应系统映像的存储器是存储器的连续的或非连续的部分。
图6描绘了根据实施例的处理流程图600。应理解的是,图6中描绘的流程图表示概略的例示,并且在不脱离本公开的范围和精神的情况下可以添加其他处理或者可以去掉、修改或重新布置现有处理。此外,应理解的是,处理可表示可使设备如处理器100,更具体地,地址转换板160,响应、执行动作、改变状态和/或作出决定的可执行指令、逻辑或功能等效电路。图6并不意在限制所描述的实施例的实现,而是例示本领域的技术人员能够使用以设计/制造电路、固件和/或其他硬件和软件以执行例示处理的功能信息。
该处理可开始于块610,这时地址转换板160接收包括系统映像标识符和目标地址的业务。然后,通过将系统映像标识符看作一个或多个附加地址位并且通过将该一个或多个附加地址位与目标地址相连接以产生转换地址,地址转换板160可在块620继续转换目标地址。替代地,通过将系统映像标识符映射至固定地址偏移值,地址转换板160可在块630转换目标地址,以及在块640,将固定地址偏移值与目标地址相加以产生转换地址。替代地,通过将系统映像标识符和目标地址的至少一部分映射至存储器块,地址转换板160可在块650转换目标地址,并且在块660,至少部分地基于存储器块来产生转换地址。无论用于转换地址和获得转换地址的方式如何,在块670,地址转换板检查转换地址以确认转换地址处于被分配给特定系统映像的地址范围内。一旦确认了这一点,则在块680,将转换地址从地址转换板160发送至存储器接口150。
已参考上述示例性实施例示出并且描述了本公开。然而,应理解的是,在不背离在下列权利要求所限定的本公开的思想和范围的情况下可以产生其他形式、细节和实施例。

Claims (15)

1.一种处理器,包括:
多个处理器核组件,其中每个处理器核组件分配给多个系统映像中的一个,并且其中所述多个系统映像通过至少利用地址转换板以保持分配给所述多个系统映像中的每一个的存储器区域之间分开,来共享公共存储器组件;
存储器接口组件,所述存储器接口组件由所述多个独立系统映像所共享;以及
所述地址转换板用于:
拦截从所述多个处理器核组件去往所述存储器接口组件的业务,其中每个业务包括系统映像标识符和目标地址,
至少部分基于所述系统标识符和所述目标地址来产生转换地址,以及
将所述转换地址发送至所述存储器接口组件。
2.根据权利要求1所述的处理器,其中所述地址转换板还在将所述转换地址发送至所述存储器接口组件之前检查所述转换地址,以确认所述转换地址不在被分配给与所述系统标识符相关联的所述系统映像的所述存储器区域之外。
3.根据权利要求1所述的处理器,其中所述地址转换板还对从所述存储器接口组件接收并且去往所述多个处理器核组件中的一个的业务进行逆向转换。
4.根据权利要求1所述的处理器,其中所述地址转换板通过将所述系统标识符看作一个或多个附加地址位并且通过将所述一个或多个附加地址位与所述目标地址相连接以生成所述转换地址,至少部分基于所述系统标识符和目标地址来产生所述转换地址。
5.根据权利要求1所述的处理器,其中所述地址转换板通过将所述系统标识符映射至固定地址偏移并且通过将所述固定地址偏移与所述目标地址相加以生成所述转换地址,至少部分基于所述系统标识符和目标地址来产生所述转换地址。
6.根据权利要求1所述的处理器,其中所述地址转换板通过将所述系统标识符和所述目标地址的至少一部分映射至被分配的存储器部分,至少部分基于所述系统标识符和目标地址来产生所述转换地址。
7.根据权利要求1所述的处理器,其中所述处理器用单个晶片制造。
8.根据权利要求1所述的处理器,其中分配给所述多个系统映像的所述存储器区域是动态可赋值的。
9.一种处理器,包括:
多个处理器核组件,每个处理器核组件分配给多个系统映像中的一个,其中所述多个系统映像通过至少利用地址转换板以保持分配给所述多个系统映像中的每一个的存储器区域之间分开,来共享公共存储器组件;以及
所述地址转换板拦截从所述多个处理器核组件去往存储器接口组件的业务,并且拦截从所述存储器接口组件去往所述多个处理器核心组件的业务,
其中所述地址转换板至少部分基于系统映像标识符和与去往所述存储器接口组件的业务相关联的地址来产生去往所述存储器接口组件的业务的转换地址,以及
其中所述地址转换板产生去往所述多个处理器核组件的业务的转换地址。
10.根据权利要求9所述的处理器,还包括管理组件,所述管理组件用于将所述多个处理器核组件中的每一个分配给多个独立系统映像中的一个。
11.根据权利要求9所述的处理器,其中所述多个处理器核组件中的一个将所述多个处理器核心组件中的每一个分配给多个独立系统映像中的一个。
12.一种处理器,包括:
多个处理器核组件,其中每个处理器核组件分配给多个系统映像中的一个,其中所述多个系统映像通过至少利用地址转换板以保持分配给所述多个系统映像中的每一个的存储器区域之间分开,来共享公共存储器组件;
存储器接口组件,所述存储器接口组件由所述多个独立系统映像所共享;以及
所述地址转换板拦截从所述多个处理器核组件去往所述存储器接口组件的业务,其中每个业务包括系统映像标识符和目标地址,并且其中所述地址转换板至少部分基于所述系统标识符和所述目标地址通过如下方式中的至少一种来产生转换地址:
将所述系统标识符看作一个或多个附加地址位并且将所述一个或多个附加地址位与所述目标地址相连接来产生所述转换地址,
将所述系统标识符映射至固定地址偏移,并且将所述固定地址偏移与所述目标地址相加以产生所述转换地址,以及
将所述系统标识符和所述目标地址的至少一部分映射至被分配的存储器部分。
13.根据权利要求12所述的处理器,其中所述地址转换板还检查所述转换地址,以确认所述转换地址不在被分配给与所述系统标识符相关联的所述系统映像的存储器范围之外。
14.根据权利要求12所述的处理器,其中所述地址转换板还对从所述存储器接口组件接收并且去往所述多个处理器核组件中的一个的业务进行逆向转换。
15.根据权利要求12所述的处理器,其中分配给所述多个系统映像的所述存储器区域是动态可赋值的。
CN201280072798.XA 2012-04-30 2012-04-30 地址转换板 Pending CN104272295A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/035776 WO2013165347A1 (en) 2012-04-30 2012-04-30 Address translation gasket

Publications (1)

Publication Number Publication Date
CN104272295A true CN104272295A (zh) 2015-01-07

Family

ID=49514616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280072798.XA Pending CN104272295A (zh) 2012-04-30 2012-04-30 地址转换板

Country Status (3)

Country Link
US (1) US20150113245A1 (zh)
CN (1) CN104272295A (zh)
WO (1) WO2013165347A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216599B2 (en) 2016-05-26 2019-02-26 International Business Machines Corporation Comprehensive testing of computer hardware configurations
US10223235B2 (en) 2016-05-26 2019-03-05 International Business Machines Corporation Comprehensive testing of computer hardware configurations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044882A1 (en) * 2000-03-20 2001-11-22 International Business Machines Corporation Multiple port memory apparatus
US20040133751A1 (en) * 2003-01-07 2004-07-08 Collins David L. Method and apparatus for physical memory partitioning
CN1758229A (zh) * 2005-10-28 2006-04-12 中国人民解放军国防科学技术大学 异构多核微处理器局部空间共享存储方法
CN1848095A (zh) * 2004-12-29 2006-10-18 英特尔公司 在多核心/多线程处理器中高速缓存的公平共享
US20100161929A1 (en) * 2008-12-18 2010-06-24 Lsi Corporation Flexible Memory Appliance and Methods for Using Such

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0658646B2 (ja) * 1982-12-30 1994-08-03 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション デ−タ持続性が制御される仮想記憶アドレス変換機構
US6874014B2 (en) * 2001-05-29 2005-03-29 Hewlett-Packard Development Company, L.P. Chip multiprocessor with multiple operating systems
US20070113229A1 (en) * 2005-11-16 2007-05-17 Alcatel Thread aware distributed software system for a multi-processor
US8151081B2 (en) * 2007-12-20 2012-04-03 Intel Corporation Method, system and apparatus for memory address mapping for sub-socket partitioning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044882A1 (en) * 2000-03-20 2001-11-22 International Business Machines Corporation Multiple port memory apparatus
US20040133751A1 (en) * 2003-01-07 2004-07-08 Collins David L. Method and apparatus for physical memory partitioning
CN1848095A (zh) * 2004-12-29 2006-10-18 英特尔公司 在多核心/多线程处理器中高速缓存的公平共享
CN1758229A (zh) * 2005-10-28 2006-04-12 中国人民解放军国防科学技术大学 异构多核微处理器局部空间共享存储方法
US20100161929A1 (en) * 2008-12-18 2010-06-24 Lsi Corporation Flexible Memory Appliance and Methods for Using Such

Also Published As

Publication number Publication date
US20150113245A1 (en) 2015-04-23
WO2013165347A1 (en) 2013-11-07

Similar Documents

Publication Publication Date Title
US11934883B2 (en) Computer cluster arrangement for processing a computation task and method for operation thereof
CN101819564B (zh) 协助在虚拟机之间进行通信的方法和装置
US9798682B2 (en) Completion notification for a storage device
US9135126B2 (en) Multi-core re-initialization failure control system
CN101751284B (zh) 一种分布式虚拟机监控器的i/o资源调度方法
CN108604209B (zh) 扁平化端口桥
US8918568B2 (en) PCI express SR-IOV/MR-IOV virtual function clusters
CN110098946B (zh) 虚拟化网元设备的部署方法以及装置
US9652182B2 (en) Shareable virtual non-volatile storage device for a server
US10372639B2 (en) System and method to avoid SMBus address conflicts via a baseboard management controller
US20050216696A1 (en) Multi-processor system and memory accessing method
CN104714846A (zh) 资源处理方法、操作系统及设备
CN101765838B (zh) 用于改善可路由架构的性能的系统和方法
US11579908B2 (en) Containerized workload scheduling
JP5365847B2 (ja) 仮想化装置における物理デバイスのコンフィグレーション処理方法及びコンピュータシステム
US20080229031A1 (en) Method of Automated Resource Management In A Partition Migration Capable Environment
US20080184021A1 (en) Flexibly configurable multi central processing unit (cpu) supported hypertransport switching
CN114662088A (zh) 用于提供对内核和用户空间存储器区域的访问的技术
US10838861B1 (en) Distribution of memory address resources to bus devices in a multi-processor computing system
TWI616759B (zh) 設備分配控制器以及設備分配方法
US20060085573A1 (en) Multi-context selection with PCI express to support hardware partitioning
US11093422B2 (en) Processor/endpoint communication coupling configuration system
CN104272295A (zh) 地址转换板
CN104272296A (zh) 提供多重系统镜像的处理器
US11360756B2 (en) Processing unit subtype configuration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150107