CN112602072A - 探测中断传递 - Google Patents
探测中断传递 Download PDFInfo
- Publication number
- CN112602072A CN112602072A CN201980055423.4A CN201980055423A CN112602072A CN 112602072 A CN112602072 A CN 112602072A CN 201980055423 A CN201980055423 A CN 201980055423A CN 112602072 A CN112602072 A CN 112602072A
- Authority
- CN
- China
- Prior art keywords
- message
- interrupt
- coherent
- probe
- coherent probe
- 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
Links
- 230000001427 coherent effect Effects 0.000 claims abstract description 136
- 239000000523 sample Substances 0.000 claims abstract description 130
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000009471 action Effects 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims description 33
- 230000015654 memory Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Abstract
公开了用于在相干探测网络上路由中断的系统、设备和方法。一种计算系统包括多个处理节点、相干探测网络以及一个或多个控制单元。所述相干探测网络在相干代理之间载送相干探测消息。由控制单元检测到的中断被转换为与相干探测消息兼容的消息,然后经由所述相干探测网络路由到目标目的地。中断以第一编码生成,而相干探测消息具有第二编码。高速缓存子系统基于嵌入在接收到的消息中的编码来确定经由所述相干探测网络接收到的消息是中断消息还是相干探测消息。中断消息被路由到中断控制器,而相干探测消息根据嵌入在所述消息中的相干性探测动作字段进行处理。
Description
背景技术
通常,中断或异常是将指令执行从当前执行的指令流更改为另一指令流的事件。中断通常由处理器或耦合至处理器的装置生成。典型的中断处理机制将中断的处理器的程序控制流更改为中断处理程序。基于中断控制器的编程或正被传递的中断类型,通常需要将输入/输出(I/O)装置和中央处理单元(CPU)至CPU中断传递至计算系统中的任何CPU线程。历史上,将中断传递至核心经常使用边带线。边带线是专用的单核线,用于将中断类型和中断向量传递至每个核心。然而,随着核心数量增加,边带线变得难以扩展,从而导致非常大量的线专用于中断传递。
附图说明
通过结合附图参考以下描述,可更好地理解本文中描述的方法和机制的优点,在附图中:
图1是计算系统的一个实现方式的框图。
图2是计算系统的另一实现方式的框图。
图3是核心复合体的一个实现方式的框图。
图4示出了根据各种实现方式的相干探测消息和中断消息的示例。
图5是示出用于生成消息以通过相干探测网络发送的方法的一个实现方式的通用流程图。
图6是示出用于确定消息是相干探测消息还是中断消息的方法的一个实现方式的通用流程图。
图7是示出用于生成中断消息的方法的一个实现方式的通用流程图。
图8是示出用于在高速缓存子系统处处理接收到的消息的方法的一个实现方式的通用流程图。
具体实施方式
在以下描述中,阐述了众多具体细节以提供对本文中呈现的方法和机制的透彻理解。然而,本领域普通技术人员应认识到,可在没有这些特定细节的情况下实践各种实现方式。在一些情况下,并未详细示出众所周知的结构、部件、信号、计算机程序指令和技术,以避免混淆本文描述的方法。应了解,为了使说明简单且清楚,附图中所示的元件未必按比例绘制。例如,一些元件的尺寸可相对于其他元件被放大。
本文公开了用于在相干探测网络上路由中断的各种系统、设备和方法。在一个实现方式中,一种计算系统包括至少多个处理节点、相干探测网络以及一个或多个控制单元。所述相干探测网络在相干代理之间载送相干探测消息。由控制单元检测到的中断被转换为与相干探测消息兼容的消息,然后经由所述相干探测网络路由到目标目的地。中断以第一编码生成,而相干探测消息具有第二编码。高速缓存子系统基于嵌入在接收到的消息中的编码来确定经由所述相干探测网络接收到的消息是中断消息还是相干探测消息。中断消息被路由到中断控制器,而相干探测消息根据嵌入在所述消息中的相干性探测动作字段进行处理。
现在参考图1,示出了计算系统100的一个实现方式的框图。在一个实现方式中,计算系统100至少包括核心复合体105A至105N、输入/输出(I/O)接口120、总线125、一个或多个存储器控制器130和网络接口135。在其他实现方式中,计算系统100包括其他部件,和/或计算系统100不同地布置。在一个实现方式中,每个核心复合体105A至105N包括一个或多个通用处理器,例如中央处理单元(CPU)。应注意,“核心复合体”在本文中也称为“处理节点”或“CPU”。在一些实现方式中,一个或多个核心复合体105A至105N包括具有高度并行架构的数据并行处理器。数据并行处理器的示例包括图形处理单元(GPU)、数字信号处理器(DSP)等等。在各种实现方式中,核心复合体105A至105N内的每个处理器核心包括中断控制器和具有一个或多个层级的高速缓存的高速缓存子系统。在一个实现方式中,每个核心复合体105A至105N包括在多个处理器核心之间共享的高速缓存(例如,第三层级(L3)高速缓存)。
一个或多个存储器控制器130表示可由核心复合体105A至105N访问的任何数量和类型的存储器控制器。一个或多个存储器控制器130耦合至任何数量和类型的存储器装置(未示出)。例如,耦合至一个或多个存储器控制器130的一个或多个存储器装置中的存储器的类型可包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、NAND闪存存储器、NOR闪存存储器、铁电随机存取存储器(FeRAM)等。I/O接口120表示任何数量和类型的I/O接口(例如,外围部件互连(PCI)总线、PCI扩展(PCI-X)、PCIE(PCI高速)总线、吉比特以太网(GBE)总线、通用串行总线(USB))。各种类型的外围装置可耦合至I/O接口120。此类外围装置包括(但不限于)显示器、键盘、鼠标、打印机、扫描仪、操纵杆或其他类型的游戏控制器、媒体记录装置、外部存储装置、网络接口卡等。
在各种实现方式中,计算系统100是计算机、膝上型计算机、移动装置、游戏控制台、服务器、流式传输装置、可穿戴装置,或各种其他类型的计算系统或装置中的任一种。应注意,计算系统100的部件的数量随实现方式的不同而不同。例如,在其他实现方式中,存在与图1中示出的数量相比更多或更少的每种部件。还应注意,在其他实现方式中,计算系统100包括图1中未示出的其他部件。另外,在其他实现方式中,计算系统100以与图1中所示不同的方式进行结构化。
现在转向图2,示出了计算系统200的另一实现方式的框图。在一个实现方式中,系统200包括控制单元210、相干探测网络215、中断控制器220、装置225A至225N以及节点230A至230D。在一个实现方式中,控制单元210位于相干性单元内。在其他实现方式中,控制单元210是各种其他类型的部件中的任何一个的一部分。替代地,在另一实现方式中,控制单元210是独立部件。装置225A至225N代表经由中断控制器220连接至控制单元210的任何数量和类型的外围设备或输入/输出(I/O)装置。
在一个实现方式中,系统200是片上系统(SoC)。在其他实现方式中,系统200是各种其他类型的计算系统中的任何一种。节点230A至230D代表任何数量和类型的处理节点。每个节点230A至230D分别包括任何数量的处理器核心245A至245N、250A至250N、255A至255N和260A至260N。尽管在图2的系统200中示出了四个节点230A至230D,但是这仅仅是出于说明性目的而示出。应理解,系统200中包括的节点的数量根据实现方式而变化。在其他实现方式中,系统200包括其他部件和/或通过其他合适的方式进行组织。
在一个实现方式中,系统200强制执行存储器相干协议以确保处理器核心或装置不会同时访问正由另一核心或装置修改的数据。为了遵守存储器相干协议,系统200的核心和装置在相干探测网络215上传输相干消息(例如,相干探测消息和探测响应)。因此,相干探测网络215被设计成在系统200的相干代理之间载送相干探测消息和探测响应。相干探测消息是寻求与特定存储器位置相关联的数据的相干状态的消息。通常将探测响应发送回生成相干探测消息的相干代理。探测响应指示参考数据的相干状态,响应于探测而传送数据,或响应于探测而提供其他信息。通常,相干探测网络215仅载送相干探测消息和探测响应。然而,在系统200中,相干探测网络215还载送针对核心230A至230D中的一个或多个的中断。这允许中断受益于使用专用的低延迟网络,所述网络跨越系统200内的多个部件,并且可扩展至任意数量的线程。
在各种实现方式中,每个装置225A至225N能够通过断言由中断控制器220检测到的中断信号来生成中断。响应于检测到中断信号,中断控制器220生成具有例如目的地标识符、传递模式、中断向量或其他合适信息的信息的中断消息。然后,中断控制器220将中断消息传送至控制单元210。在一个实现方式中,控制单元210将中断消息转换为具有特殊编码的相干探测消息,然后控制单元210将在相干探测网络215上的特殊编码的相干探测消息传送至一个或多个目标。
为了促进在相干探测网络215上传送中断,控制单元210包括用于生成、接收、处理和转发中断的逻辑。此逻辑还处理相干探测消息的正常处理。在一个实现方式中,当控制单元210检测到或接收到中断时,控制单元210生成与相干探测消息的格式兼容的中断消息。以兼容格式生成中断消息允许相干探测网络215以与相干探测消息相似的方式载送中断消息。尽管中断消息与相干探测消息兼容,但是中断消息包括嵌入的编码,所述编码允许其他部件将中断消息与相干探测消息区分开。在以相干兼容格式生成中断消息之后,控制单元210将相干探测网络215上的中断消息传送至中断所针对的一个或多个节点230A至230D。在一个实现方式中,控制单元210将相干探测网络215上的中断消息广播至所有节点230A至230D。在另一实现方式中,控制单元210仅将相干探测网络215上的中断消息发送至中断消息所针对的节点。
在一个实现方式中,相干探测网络215分别连接至每个节点230A至230D中的高速缓存子系统240A至240D。每个高速缓存子系统240A至240D包括任何数量的高速缓存层级。例如,在一个实现方式中,每个高速缓存子系统240A至240D包括第三层级(L3)高速缓存和第二层级(L2)高速缓存。在此实现方式中,每个核心包括本地第一层级(L1)高速缓存。在其他实现方式中,每个高速缓存子系统240A至240D包括其他高速缓存层级。当给定的高速缓存子系统240A至240D经由相干探测网络215接收到消息时,给定的高速缓存子系统240A至240D确定所述消息是中断消息还是相干探测消息。如果所述消息是中断消息,则给定的高速缓存子系统240A至240D将中断消息发送至对应的一个或多个核心内的一个或多个中断控制器。如系统200中所示,节点230A至230D在核心245A至245N、250A至250N、255A至255N和/或260A至260N中分别包括中断控制器247A至247N、252A至252N、257A至257N和/或262A至262N。在一个实现方式中,响应于接收到中断消息,给定的高速缓存子系统240A至240D将中断消息广播至对应节点中的所有核心。在另一实现方式中,响应于接收到中断消息,给定的高速缓存子系统240A至240D仅将中断消息发送至中断消息所针对的那些核心。一个或多个核心中的一个或多个中断控制器将检查中断消息并生成中断以发送至目标核心。
现在参看图3,示出了核心复合体300的一个实现方式的框图。在一个实现方式中,核心复合体300包括四个处理器核心310A至310D。在其他实现方式中,核心复合体300包括其他数量的处理器核心。应注意,“核心复合体”在本文中也可称为“处理节点”、“节点”或“CPU”。在一个实现方式中,核心复合体300的部件包括在(图1的)核心复合体105A至105N内。
每个处理器核心310A至310D包括用于存储从存储器子系统(未示出)中检索的数据和指令的高速缓存子系统。例如,在一个实现方式中,每个核心310A至310D包括对应的第一层级(L1)高速缓存315A至315D。每个处理器核心310A至310D还包括或耦合至对应的第二层级(L2)高速缓存320A至320D。另外,在一个实现方式中,核心复合体300包括由处理器核心310A至310D共享的第三层级(L3)高速缓存330。应注意,在其他实现方式中,核心复合体300可包括具有其他数量的高速缓存和/或具有不同高速缓存层级的其他配置的其他类型的高速缓存子系统。
L3高速缓存330经由相干探测网络340耦合至总线/结构。L3高速缓存330经由相干探测网络340接收相干探测和中断消息两者。L3高速缓存330将相干探测和中断消息转发至L2高速缓存320A至320D。在一个实现方式中,L3高速缓存330将接收到的相干探测和中断消息广播至所有L2高速缓存320A至320D。在另一实现方式中,L3高速缓存330将接收到的相干探测或中断消息仅转发至探测或中断消息所针对的那些L2高速缓存320A至320D。在此实现方式中,L3高速缓存330包括检查相干探测和中断消息以确定它们的目标的逻辑。一旦从L3高速缓存330接收到消息,L2高速缓存320A至320D就检查所述消息以确定所述消息是中断还是相干探测。L2高速缓存320A至320D将用于处理的中断消息分别转发至中断控制器317A至317D。L2高速缓存320A至320D根据其嵌入的相干探测动作字段来处理相干探测。
现在转到图4,示出了以混合消息格式对相干探测消息和中断消息进行编码的示例。表400示出了可以使用混合消息格式发送的消息类型的示例。表400的最左列指示消息类型410,其中表400中示出了两种不同类型的消息:相干探测消息410A和中断消息410B。在其他实现方式中,以混合消息格式对其他数量的不同类型的消息进行编码。使用混合消息格式允许中断消息410B以与相干探测消息410A相似的方式进行格式化。因此,中断消息410B的字段或在某些情况下字段的组合被对准以匹配相干探测消息410A的字段。混合消息格式包括任何数量的字段,其中字段的数量因实现方式而异。如表400所示,混合消息格式包括相干探测动作字段415、地址字段420、响应字段425以及任意数量的其他字段。
表400的第一条目示出相干探测消息410A的示例。对于相干探测消息410A,用相干探测动作指示符415A对字段415进行编码。可以根据探测动作类型将相干探测动作指示符415A设置为等于各种不同值中的任何一个。对于中断消息410B,用中断传递指示符415B对字段415进行编码以指示所述消息是中断。在一个实现方式中,高速缓存子系统(例如,图2的高速缓存子系统240A)中的控制逻辑查看字段415以确定接收到的消息是相干探测消息还是中断消息。
字段420指定由相干探测消息415A所针对的相应存储器位置的地址。对于中断消息410B,字段420将中断类型指示符420B存储在位的第一子集中,且字段420将目标指示符420C存储在位的第二子集中。换句话说,地址字段420被重新调整用途以保持中断消息410B的中断类型指示符420B和目标指示符420C两者。这是可能的,因为中断类型指示符420B和目标指示符420C的组合具有与地址字段420A相同的大小。中断类型指示符420B存储由中断消息410B传送的中断的类型,并且目标字段420C指定中断消息410B的目标。
字段425指定应该在处理消息之后生成的响应的类型。对于相干探测消息410A,用各种响应指示符425A的值中的任何一个对字段425进行编码,这些值指定了要发送回源的响应的类型。对于中断消息410B,用无响应指示符425B对响应字段425进行编码以指示不需要将响应发送回源。在其他实现方式中,混合消息格式包括其他字段。例如,在另一实现方式中,混合消息格式包括中断向量字段,用于存储中断处理程序的存储器位置。其他类型的字段也是可能的,并且可以考虑用于混合消息格式。
现在参考图5,示出了用于生成消息以通过相干探测网络发送的方法500的一个实现方式。出于论述的目的,按顺序次序示出此实现方式中的步骤和图6至图8的那些步骤。然而,应注意,在所描述的方法的各种实现方式中,所描述的要素中的一者或多者同时地执行,以与所示不同的次序执行,或者完全地被省略。还根据需要执行其他另外的要素。本文中所描述的各种系统或设备中的任一者被配置为实现方法500。
结构互连中的控制逻辑接收呈混合消息格式的消息(框505)。响应于接收到呈混合消息格式的消息,控制逻辑确定所述消息是相干探测消息还是中断消息(框510)。在关于图6的方法600的讨论中描述了如何确定消息是相干探测消息还是中断消息的一个示例。如果接收到的消息是中断消息(条件框515的“是”分支),则控制逻辑从中断消息中检索目标字段,其中目标字段是混合消息格式的地址字段的子集(框520)。换句话说,如果地址字段的长度为Y位,则目标字段的长度为X位,其中X小于Y,并且其中X和Y均为正整数。目标字段是地址字段的子集的示例在图4的表400中示出。接下来,控制单元经由相干探测网络将中断消息路由至目标字段中指定的一个或多个装置(框525)。如果接收到的消息是相干探测消息(条件框515的“否”分支),则控制逻辑从相干探测消息中检索地址字段(框530)。接下来,控制逻辑经由相干探测网络将相干探测消息转发至与地址字段中指定的地址相对应的一个或多个装置(框535)。在框525和535之后,方法500结束。
现在转向图6,示出了用于确定消息是相干探测消息还是中断消息的方法的一个实现方式。控制逻辑经由相干探测网络接收消息(框605)。响应于接收到消息,控制逻辑从接收到的消息中检索相干探测动作字段(框610)。如果相干探测动作字段是用中断传递指示符编码的(条件框615的“是”分支),则控制逻辑将接收到的消息视为中断消息(框620)。如果相干探测动作字段是用相干探测动作指示符编码的(条件框615的“否”分支),则控制逻辑将接收到的消息视为相干探测消息(框625)。换句话说,如果消息的相干探测动作字段是使用除中断传递指示符以外的任何值进行编码的,则控制逻辑将接收到的消息视为相干探测消息。在框620和625之后,方法600结束。
现在参考图7,示出了用于生成中断消息的方法700的一个实现方式。控制逻辑接收中断(框705)。取决于实现方式,控制逻辑位于高速缓存子系统、相干点或计算系统内的其他位置。响应于接收到中断,控制逻辑生成与相干探测消息兼容的中断消息,其中生成的中断消息的字段与相干探测消息的字段对准(框710)。然后,控制逻辑经由相干探测网络将中断消息转发至目标目的地(框715)。在框715之后,方法700结束。
现在转向图8,示出了用于在高速缓存子系统处处理接收到的消息的方法800的一个实现方式。高速缓存子系统中的控制逻辑经由相干探测网络接收消息(框805)。在一个实现方式中,控制逻辑是L2高速缓存的一部分。在其他实现方式中,控制逻辑位于高速缓存子系统的其他层级。响应于接收到消息,控制逻辑确定所述消息是相干探测消息还是中断消息(框810)。在图6的方法600中描述了如何确定消息是相干探测消息还是中断消息的一个示例。
如果消息是中断消息(条件框815的“是”分支),则控制逻辑从消息中检索目标字段(框820)。然后,控制逻辑将中断消息路由至中断所针对的一个或多个处理器核心的一个或多个中断控制器(框825)。替代地,在另一实现方式中,控制逻辑将中断消息广播至节点中所有处理器核心的中断控制器。如果消息是相干探测消息(条件框815的“否”分支),则控制逻辑从消息中检索相干探测动作字段和地址字段(框830)。接下来,控制逻辑根据相干探测动作字段中指定的探测动作来处理相干探测消息(框835)。在框825和835之后,方法800结束。
在各种实现方式中,使用软件应用程序的程序指令来实现本文所述的方法和/或机制。例如,可由通用或专用处理器执行的程序指令是预期的。在各种实现方式中,此类程序指令由高级编程语言表示。在其他实现方式中,程序指令从高级编程语言编译成二进制形式、中间形式或其他形式。替代地,写入描述硬件的行为或设计的程序指令。此类程序指令由例如C的高级编程语言表示。替代地,使用例如Verilog的硬件设计语言(HDL)。在各种实现方式中,程序指令存储在多种非暂时性计算机可读存储介质中的任一种上。在使用期间,计算系统可访问存储介质,以将程序指令提供到计算系统以用于程序执行。一般来讲,此类计算系统至少包括一个或多个存储器和被配置为执行程序指令的一个或多个处理器。
应强调,上述实现方式仅是实现方式的非限制性示例。一旦充分地了解以上公开内容,众多变化和修改对于本领域的技术人员而言就将变得显而易见。所附权利要求意图被解释为涵盖所有此类变化和修改。
Claims (20)
1.一种系统,其包括:
一个或多个处理节点;
控制单元;以及
相干探测网络,所述相干探测网络被配置成在所述一个或多个处理节点与所述控制单元之间传送相干探测消息;
其中所述控制单元被配置成:
响应于检测到中断,生成与相干探测消息兼容的中断消息;以及
经由所述相干探测网络在去往目标的路径上发送所述中断消息。
2.如权利要求1所述的系统,其中所述控制单元还被配置成:
生成用于相干探测消息的第一编码;
将所述第一编码嵌入在所述相干探测网络上发送的相干探测消息的给定字段;
生成用于中断消息的第二编码,其中所述第二编码与所述第一编码不同;以及
将所述第二编码嵌入在所述相干探测网络上发送的中断消息的给定字段。
3.如权利要求1所述的系统,其中所述中断消息包括在响应字段中的指示不需要发送响应的编码。
4.如权利要求1所述的系统,其中所述系统还包括一个或多个高速缓存子系统,其中每个高速缓存子系统被配置成基于嵌入的编码来确定接收到的消息是相干探测消息还是中断消息。
5.如权利要求4所述的系统,其中每个高速缓存子系统还被配置成:响应于确定所述接收到的消息是中断消息,将中断消息广播至相应节点的多个处理器核心。
6.如权利要求1所述的系统,其中所述中断消息的字段被对准以匹配所述相干探测消息的字段。
7.如权利要求1所述的系统,其中所述控制单元还被配置成:利用中断传递指示符对所述中断消息的相干探测动作字段进行编码。
8.一种方法,其包括:
由控制单元响应于检测到中断而生成与相干探测消息兼容的中断消息;以及
经由相干探测网络在去往目标的路径上发送所述中断消息,其中所述相干探测网络被配置成在一个或多个处理节点与所述控制单元之间载送相干探测。
9.如权利要求8所述的方法,其还包括:
生成用于相干探测消息的第一编码;
将所述第一编码嵌入在所述相干探测网络上发送的相干探测消息的给定字段;
生成用于中断消息的第二编码,其中所述第二编码与所述第一编码不同;以及
将所述第二编码嵌入在所述相干探测网络上发送的中断消息的给定字段。
10.如权利要求8所述的方法,其中所述中断消息包括在响应字段中的指示不需要发送响应的编码。
11.如权利要求8所述的方法,还包括由高速缓存子系统基于嵌入的编码来确定接收到的消息是相干探测消息还是中断消息。
12.如权利要求11所述的方法,还包括:由所述高速缓存子系统响应于确定所述消息是中断消息而将中断消息广播至相应节点的多个处理器核心。
13.如权利要求8所述的方法,其中所述中断消息的字段被对准以匹配所述相干探测消息的字段。
14.如权利要求8所述的方法,还包括:利用中断传递指示符对所述中断消息的相干探测动作字段进行编码。
15.一种设备,其包括:
多个处理器核心;以及
高速缓存子系统;
其中所述设备被配置成:
响应于检测到中断,生成与相干探测消息兼容的中断消息;以及
经由相干探测网络在去往目标装置的路径上发送所述中断消息,其中所述相干探测网络被配置成在所述设备与一个或多个相干代理之间载送相干探测。
16.如权利要求15所述的设备,其中所述设备还被配置成:
生成用于相干探测消息的第一编码;
将所述第一编码嵌入在所述相干探测网络上发送的相干探测消息的给定字段;
生成用于中断消息的第二编码,其中所述第二编码与所述第一编码不同;以及
将所述第二编码嵌入在所述相干探测网络上发送的中断消息的给定字段。
17.如权利要求15所述的设备,其中所述中断消息包括在响应字段中的指示不需要发送响应的编码。
18.如权利要求15所述的设备,其中所述设备还被配置成基于嵌入的编码来确定接收到的消息是相干探测消息还是中断消息。
19.如权利要求18所述的设备,其中所述设备还被配置成:响应于确定所述接收到的消息是中断消息,将中断消息广播至相应节点的多个处理器核心。
20.如权利要求15所述的设备,其中所述中断消息的字段被对准以匹配所述相干探测消息的字段。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/112,367 | 2018-08-24 | ||
US16/112,367 US11210246B2 (en) | 2018-08-24 | 2018-08-24 | Probe interrupt delivery |
PCT/US2019/039288 WO2020040874A1 (en) | 2018-08-24 | 2019-06-26 | Probe interrupt delivery |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112602072A true CN112602072A (zh) | 2021-04-02 |
CN112602072B CN112602072B (zh) | 2024-10-01 |
Family
ID=67297342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980055423.4A Active CN112602072B (zh) | 2018-08-24 | 2019-06-26 | 探测中断传递 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11210246B2 (zh) |
EP (1) | EP3841482A1 (zh) |
JP (1) | JP7182694B2 (zh) |
KR (1) | KR102542492B1 (zh) |
CN (1) | CN112602072B (zh) |
WO (1) | WO2020040874A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11341069B2 (en) | 2020-10-12 | 2022-05-24 | Advanced Micro Devices, Inc. | Distributed interrupt priority and resolution of race conditions |
USD1019486S1 (en) * | 2021-09-29 | 2024-03-26 | Hyundai Motor Company | Hood panel for vehicles |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083254A1 (en) * | 2000-12-22 | 2002-06-27 | Hummel Mark D. | System and method of implementing interrupts in a computer processing system having a communication fabric comprising a plurality of point-to-point links |
US20080222389A1 (en) * | 2007-03-06 | 2008-09-11 | Freescale Semiconductor, Inc. | Interprocessor message transmission via coherency-based interconnect |
CN101739369A (zh) * | 2008-11-13 | 2010-06-16 | 索尼株式会社 | 中断检测装置和信息处理系统 |
CN101896896A (zh) * | 2007-12-17 | 2010-11-24 | 微软公司 | 高效中断消息定义 |
US20110173640A1 (en) * | 2010-01-08 | 2011-07-14 | International Business Machines Corporation | Controlling operations according to another system's architecture |
CN102906705A (zh) * | 2010-06-23 | 2013-01-30 | 国际商业机器公司 | 将消息信号中断转换为对客户操作系统的i/o适配器事件通知 |
US20130080673A1 (en) * | 2011-09-26 | 2013-03-28 | Oracle International Corporation | Validating message-signaled interrupts |
US8612659B1 (en) * | 2010-12-14 | 2013-12-17 | Vmware, Inc. | Hardware interrupt arbitration in virtualized computer systems |
US20140181557A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Methods and apparatus related to processor sleep states |
CN103959267A (zh) * | 2011-11-30 | 2014-07-30 | 马维尔国际贸易有限公司 | 用于具有多个总线的pcie电桥的中断处理系统及方法 |
KR101520234B1 (ko) * | 2014-10-24 | 2015-05-13 | 주식회사 엘지씨엔에스 | 인터럽트 감지 장치 및 인터럽트 감지 방법 |
CN107771327A (zh) * | 2015-06-22 | 2018-03-06 | 高通股份有限公司 | 扩展的消息信令中断(msi)消息数据 |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303362A (en) | 1991-03-20 | 1994-04-12 | Digital Equipment Corporation | Coupled memory multiprocessor computer system including cache coherency management protocols |
US5412788A (en) | 1992-04-16 | 1995-05-02 | Digital Equipment Corporation | Memory bank management and arbitration in multiprocessor computer system |
US6049851A (en) | 1994-02-14 | 2000-04-11 | Hewlett-Packard Company | Method and apparatus for checking cache coherency in a computer architecture |
US5537575A (en) | 1994-06-30 | 1996-07-16 | Foley; Denis | System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information |
US5655140A (en) | 1994-07-22 | 1997-08-05 | Network Peripherals | Apparatus for translating frames of data transferred between heterogeneous local area networks |
US5517494A (en) | 1994-09-30 | 1996-05-14 | Apple Computer, Inc. | Method and system of multicast routing for groups with a single transmitter |
US5659708A (en) | 1994-10-03 | 1997-08-19 | International Business Machines Corp. | Cache coherency in a multiprocessing system |
US5684977A (en) | 1995-03-31 | 1997-11-04 | Sun Microsystems, Inc. | Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system |
US5987544A (en) | 1995-09-08 | 1999-11-16 | Digital Equipment Corporation | System interface protocol with optional module cache |
US5673413A (en) | 1995-12-15 | 1997-09-30 | International Business Machines Corporation | Method and apparatus for coherency reporting in a multiprocessing system |
US5893144A (en) | 1995-12-22 | 1999-04-06 | Sun Microsystems, Inc. | Hybrid NUMA COMA caching system and methods for selecting between the caching modes |
US6038644A (en) | 1996-03-19 | 2000-03-14 | Hitachi, Ltd. | Multiprocessor system with partial broadcast capability of a cache coherent processing request |
US5749095A (en) | 1996-07-01 | 1998-05-05 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient write operations |
US5878268A (en) | 1996-07-01 | 1999-03-02 | Sun Microsystems, Inc. | Multiprocessing system configured to store coherency state within multiple subnodes of a processing node |
US5859983A (en) | 1996-07-01 | 1999-01-12 | Sun Microsystems, Inc | Non-hypercube interconnection subsystem having a subset of nodes interconnected using polygonal topology and other nodes connect to the nodes in the subset |
US5887138A (en) | 1996-07-01 | 1999-03-23 | Sun Microsystems, Inc. | Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes |
US5991819A (en) | 1996-12-03 | 1999-11-23 | Intel Corporation | Dual-ported memory controller which maintains cache coherency using a memory line status table |
US6018791A (en) | 1997-04-14 | 2000-01-25 | International Business Machines Corporation | Apparatus and method of maintaining cache coherency in a multi-processor computer system with global and local recently read states |
US5924118A (en) | 1997-04-14 | 1999-07-13 | International Business Machines Corporation | Method and system for speculatively sourcing cache memory data prior to upstream cache invalidation within a multiprocessor data-processing system |
US5966729A (en) | 1997-06-30 | 1999-10-12 | Sun Microsystems, Inc. | Snoop filter for use in multiprocessor computer systems |
US6112281A (en) | 1997-10-07 | 2000-08-29 | Oracle Corporation | I/O forwarding in a cache coherent shared disk computer system |
US6108752A (en) | 1997-10-24 | 2000-08-22 | Compaq Computer Corporation | Method and apparatus for delaying victim writes in a switch-based multi-processor system to maintain data coherency |
US6085294A (en) | 1997-10-24 | 2000-07-04 | Compaq Computer Corporation | Distributed data dependency stall mechanism |
US6101420A (en) | 1997-10-24 | 2000-08-08 | Compaq Computer Corporation | Method and apparatus for disambiguating change-to-dirty commands in a switch based multi-processing system with coarse directories |
US6108737A (en) | 1997-10-24 | 2000-08-22 | Compaq Computer Corporation | Method and apparatus for reducing latency of inter-reference ordering in a multiprocessor system |
US6209065B1 (en) | 1997-10-24 | 2001-03-27 | Compaq Computer Corporation | Mechanism for optimizing generation of commit-signals in a distributed shared-memory system |
US6085263A (en) | 1997-10-24 | 2000-07-04 | Compaq Computer Corp. | Method and apparatus for employing commit-signals and prefetching to maintain inter-reference ordering in a high-performance I/O processor |
US6070231A (en) | 1997-12-02 | 2000-05-30 | Intel Corporation | Method and apparatus for processing memory requests that require coherency transactions |
US6292705B1 (en) | 1998-09-29 | 2001-09-18 | Conexant Systems, Inc. | Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system |
US6012127A (en) | 1997-12-12 | 2000-01-04 | Intel Corporation | Multiprocessor computing apparatus with optional coherency directory |
US6138218A (en) | 1998-02-17 | 2000-10-24 | International Business Machines Corporation | Forward progress on retried snoop hits by altering the coherency state of a local cache |
US6098115A (en) | 1998-04-08 | 2000-08-01 | International Business Machines Corporation | System for reducing storage access latency with accessing main storage and data bus simultaneously |
US6286090B1 (en) | 1998-05-26 | 2001-09-04 | Compaq Computer Corporation | Mechanism for selectively imposing interference order between page-table fetches and corresponding data fetches |
US6199153B1 (en) | 1998-06-18 | 2001-03-06 | Digital Equipment Corporation | Method and apparatus for minimizing pincount needed by external memory control chip for multiprocessors with limited memory size requirements |
US6295583B1 (en) | 1998-06-18 | 2001-09-25 | Compaq Information Technologies Group, L.P. | Method and apparatus for resolving probes in multi-processor systems which do not use external duplicate tags for probe filtering |
US6275905B1 (en) | 1998-12-21 | 2001-08-14 | Advanced Micro Devices, Inc. | Messaging scheme to maintain cache coherency and conserve system memory bandwidth during a memory read operation in a multiprocessing computer system |
US6370621B1 (en) | 1998-12-21 | 2002-04-09 | Advanced Micro Devices, Inc. | Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation |
US6631401B1 (en) | 1998-12-21 | 2003-10-07 | Advanced Micro Devices, Inc. | Flexible probe/probe response routing for maintaining coherency |
US6295573B1 (en) * | 1999-02-16 | 2001-09-25 | Advanced Micro Devices, Inc. | Point-to-point interrupt messaging within a multiprocessing computer system |
US6389526B1 (en) * | 1999-08-24 | 2002-05-14 | Advanced Micro Devices, Inc. | Circuit and method for selectively stalling interrupt requests initiated by devices coupled to a multiprocessor system |
US7536495B2 (en) * | 2001-09-28 | 2009-05-19 | Dot Hill Systems Corporation | Certified memory-to-memory data transfer between active-active raid controllers |
KR100532417B1 (ko) * | 2003-01-21 | 2005-11-30 | 삼성전자주식회사 | 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법 |
US8234458B2 (en) * | 2008-12-09 | 2012-07-31 | Nvidia Corporation | System and method for maintaining cache coherency across a serial interface bus using a snoop request and complete message |
US8990582B2 (en) * | 2010-05-27 | 2015-03-24 | Cisco Technology, Inc. | Virtual machine memory compartmentalization in multi-core architectures |
US10019390B2 (en) * | 2012-03-30 | 2018-07-10 | Intel Corporation | Using memory cache for a race free interrupt scheme without the use of “read clear” registers |
US9311243B2 (en) | 2012-11-30 | 2016-04-12 | Intel Corporation | Emulated message signaled interrupts in multiprocessor systems |
EP3198466A4 (en) * | 2014-09-25 | 2018-04-18 | Intel Corporation | Multicore memory data recorder for kernel module |
US20160117247A1 (en) * | 2014-10-24 | 2016-04-28 | Advanced Micro Devices, Inc. | Coherency probe response accumulation |
-
2018
- 2018-08-24 US US16/112,367 patent/US11210246B2/en active Active
-
2019
- 2019-06-26 WO PCT/US2019/039288 patent/WO2020040874A1/en unknown
- 2019-06-26 JP JP2021510054A patent/JP7182694B2/ja active Active
- 2019-06-26 KR KR1020217008785A patent/KR102542492B1/ko active IP Right Grant
- 2019-06-26 EP EP19740194.6A patent/EP3841482A1/en active Pending
- 2019-06-26 CN CN201980055423.4A patent/CN112602072B/zh active Active
-
2021
- 2021-12-10 US US17/548,385 patent/US20220100686A1/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083254A1 (en) * | 2000-12-22 | 2002-06-27 | Hummel Mark D. | System and method of implementing interrupts in a computer processing system having a communication fabric comprising a plurality of point-to-point links |
US20080222389A1 (en) * | 2007-03-06 | 2008-09-11 | Freescale Semiconductor, Inc. | Interprocessor message transmission via coherency-based interconnect |
CN101896896A (zh) * | 2007-12-17 | 2010-11-24 | 微软公司 | 高效中断消息定义 |
CN101739369A (zh) * | 2008-11-13 | 2010-06-16 | 索尼株式会社 | 中断检测装置和信息处理系统 |
US20110173640A1 (en) * | 2010-01-08 | 2011-07-14 | International Business Machines Corporation | Controlling operations according to another system's architecture |
CN102906705A (zh) * | 2010-06-23 | 2013-01-30 | 国际商业机器公司 | 将消息信号中断转换为对客户操作系统的i/o适配器事件通知 |
US8612659B1 (en) * | 2010-12-14 | 2013-12-17 | Vmware, Inc. | Hardware interrupt arbitration in virtualized computer systems |
US20130080673A1 (en) * | 2011-09-26 | 2013-03-28 | Oracle International Corporation | Validating message-signaled interrupts |
CN103959267A (zh) * | 2011-11-30 | 2014-07-30 | 马维尔国际贸易有限公司 | 用于具有多个总线的pcie电桥的中断处理系统及方法 |
US20140181557A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Methods and apparatus related to processor sleep states |
KR101520234B1 (ko) * | 2014-10-24 | 2015-05-13 | 주식회사 엘지씨엔에스 | 인터럽트 감지 장치 및 인터럽트 감지 방법 |
CN107771327A (zh) * | 2015-06-22 | 2018-03-06 | 高通股份有限公司 | 扩展的消息信令中断(msi)消息数据 |
Also Published As
Publication number | Publication date |
---|---|
EP3841482A1 (en) | 2021-06-30 |
US11210246B2 (en) | 2021-12-28 |
US20220100686A1 (en) | 2022-03-31 |
CN112602072B (zh) | 2024-10-01 |
US20200065275A1 (en) | 2020-02-27 |
JP2021534511A (ja) | 2021-12-09 |
JP7182694B2 (ja) | 2022-12-02 |
WO2020040874A1 (en) | 2020-02-27 |
KR102542492B1 (ko) | 2023-06-13 |
KR20210046060A (ko) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220100686A1 (en) | Probe interrupt delivery | |
US8825922B2 (en) | Arrangement for processing trace data information, integrated circuits and a method for processing trace data information | |
US9417952B2 (en) | Direct memory access (DMA) unit with error detection | |
US9864687B2 (en) | Cache coherent system including master-side filter and data processing system including same | |
US9684613B2 (en) | Methods and systems for reducing spurious interrupts in a data storage system | |
US11275632B2 (en) | Broadcast command and response | |
US12079097B2 (en) | Techniques for testing semiconductor devices | |
CN112313636A (zh) | 用于gpu发起的通信的网络分组模板化 | |
KR20220113505A (ko) | 제로 값 메모리 압축 | |
TW201331754A (zh) | 以多重中斷向量模擬訊息發訊中斷之方法 | |
US9442819B2 (en) | Method and apparatus for storing trace data | |
US10776282B2 (en) | Home agent based cache transfer acceleration scheme | |
US8447934B2 (en) | Reducing cache probe traffic resulting from false data sharing | |
US7243178B2 (en) | Enable/disable claiming of a DMA request interrupt | |
US8938588B2 (en) | Ensuring forward progress of token-required cache operations in a shared cache | |
CN114365101B (zh) | 服务质量脏线跟踪 | |
US11341069B2 (en) | Distributed interrupt priority and resolution of race conditions | |
CN111699476A (zh) | 取消和回放协议方案以改进排序带宽 | |
US11170462B1 (en) | Indirect chaining of command buffers | |
US11947473B2 (en) | Duplicated registers in chiplet processing units | |
US20240354268A1 (en) | Duplicated Registers in Chiplet Processing Units | |
CN114846455A (zh) | 系统直接存储器访问引擎卸载 | |
JP2017146786A (ja) | 演算処理装置、制御装置、情報処理装置及び情報処理装置の制御方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |