CN104854845B - 使用高效的原子操作的方法和装置 - Google Patents

使用高效的原子操作的方法和装置 Download PDF

Info

Publication number
CN104854845B
CN104854845B CN201280076233.9A CN201280076233A CN104854845B CN 104854845 B CN104854845 B CN 104854845B CN 201280076233 A CN201280076233 A CN 201280076233A CN 104854845 B CN104854845 B CN 104854845B
Authority
CN
China
Prior art keywords
equipment
shared resource
request
main equipment
access
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.)
Active
Application number
CN201280076233.9A
Other languages
English (en)
Other versions
CN104854845A (zh
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104854845A publication Critical patent/CN104854845A/zh
Application granted granted Critical
Publication of CN104854845B publication Critical patent/CN104854845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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
    • 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
    • G06F13/1673Details of memory controller using buffers
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/16Memory access
    • G06F2213/1602Memory access type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/36Arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

公开了一种控制多个主设备之间对共享资源的访问的方法。该方法包括:从第一主设备接收对共享资源进行访问的请求,以及确定共享资源的可用性。如果该共享资源是可用的,则向第一主设备返回成功响应,以建立第一主设备对共享资源的访问。如果该共享资源是不可用的,则向第一主设备返回失败响应。在该资源的不可用期间,针对该共享资源何时变得可用来自动地进行监测。一旦可用,那么自动通知第一主设备。

Description

使用高效的原子操作的方法和装置
技术领域
概括地说,本申请的实施例涉及数据通信,更具体地说,本申请的实施例涉及提供用于对数据进行缓冲的流控制的方法和装置。
背景技术
原子操作经常用于多核处理器架构中。通常,原子操作是操作的集合,这些操作被组合以便它们对于***的其余部分而言表现为仅具有两种可能的结果(成功或失败)的单个操作。
使用原子操作的两种常规方法包括相应的“锁定”和“独占”方案。锁定操作通常一次仅允许一个主设备访问总线。对于使用共享变量的多核应用来说,锁定方案可能是效率低下的,这是因为其它主设备需要一直等待,直到活动的主设备结束对总线的使用为止。
独占方案允许多个主设备在操作期间共享总线。这对于可以由多个处理线程共享的信号量变量来说尤其有用。一般来说,独占操作涉及执行对存储器的读访问的第一主设备。然后由同一个主设备进行对相同位置的写访问。如果位置地址自从读访问以来没有发生变化,那么写访问成功。第二主设备可以在第一主设备的读周期和写周期之间的间隔期间发起读操作。在出现失败的情况下,第二主设备通过发送请求来对共享资源进行轮询,直到该资源是可用的为止。一旦可用,则重复对该资源的独占访问的请求。
虽然独占方案适用于其目标应用,但是确定资源的可用性的重复的轮询增加了总线业务和上下文切换,相应地减少了沿总线的可用信令带宽,并且增加了***延迟。
发明内容
公开了一种控制多个主设备之间对共享资源的访问的方法。所述方法包括:从第一主设备接收对共享资源进行访问的请求,以及确定所述共享资源的可用性。如果所述共享资源是可用的,则向所述第一主设备返回成功响应,以建立所述第一主设备对所述共享资源的访问。如果所述共享资源是不可用的,则向所述第一主设备返回失败响应。在所述资源的不可用期间,针对所述共享资源何时变得可用来自动地监测所述共享资源。一旦所述共享资源变得可用,就自动地通知所述第一主设备。
附图说明
本申请的实施例是通过举例的方式来说明的,并不旨在由附图中的图所限制,其中:
图1示出了多处理器***的一个实施例;
图2示出了使用图1的***来实现原子操作的高级命令和操作流;
图3从主设备的角度示出了包括与图2的命令和操作流的一个实施例相对应的详细步骤的流程图;
图4A从从设备的角度示出了包括与对应于图2的命令和操作流的方法的一个实施例相对应的详细步骤的流程图的一部分;以及
图4B示出了与图4A类似的流程图的一部分。
具体实施方式
根据本申请的实施例,公开了一种控制多个主设备之间对共享资源的访问的方法。该方法包括:从第一主设备接收对共享资源进行访问的请求,以及确定该共享资源的可用性。如果该共享资源是可用的,则向第一主设备返回成功响应,以建立第一主设备对该共享资源的独占访问。如果该共享资源是不可用的,则向第一主设备返回失败响应。在该资源的不可用期间,针对该共享资源何时可用来自动地监测该共享资源。一旦可用,则自动地通知第一主设备。通过提供自动监测和通知,可以显著地减少来自主设备的轮询和相关的上下文切换,从而改善***性能。
在下面的描述中,阐述了大量的具体细节(例如,具体部件、电路和过程的例子)以提供对本公开内容的透彻理解。另外,在下面的描述中以及出于解释的目的,阐述了特定的术语,以提供对本申请的实施例的透彻理解。然而,对于本领域技术人员显而易见的是,可以不需要这些具体细节来实现本申请的实施例。在其它实例中,为了避免模糊本公开内容,以框图形式示出了公知的电路和设备。如本文中所使用的术语“耦合”意指直接连接到一个或多个中间部件或电路或者通过一个或多个中间部件或电路来连接。可以将本文中描述的各个总线上提供的信号中的任何一个与其它信号进行时间复用,并且通过一个或多个公共总线来提供。另外,可以将电路单元或软件框之间的互连示为总线或单个信号线。这些总线中的每一个还可以是单个信号线,并且这些单个信号线中的每一个还可以是总线,并且单个线或总线可以表示用于部件之间的通信的各种物理或逻辑机制中的任何一个或多个。本申请的实施例并非被解释为受限于本文中描述的特定例子,而是将由所附的权利要求书限定的所有实施例包括在它们的范围内。
更具体地说,并且通常参照图1,多主设备信令***100使用经由共享总线106互连到从设备104的多个主设备102A-102N。在一个实施例中,主设备102A-102N体现为可以设置在一个或多个集成电路芯片上的集成电路处理器。在一个实施例中,从设备104体现为存储器***,该存储器***使用存储器控制器108来仲裁对一个或多个存储器设备110的访问。为了在维持高利用率和效率的同时允许对存储器的共享访问,支持用于信号量类型和非信号量类型的原子操作的新方案(下面更全面描述的)。
进一步参照图1,每个主设备(例如,设备102A)包括使用请求/响应逻辑单元114和待命队列116的调度器112。请求/响应逻辑单元114生成并接收具有命令或请求/响应形式的消息,这些消息在主设备102A与从设备104之间被派发,以对用于执行操作的独占访问进行协调。主设备102A中的核心电路118提供用于生成和或处理数据的计算资源,所述数据是作为独占访问的结果而写入从设备104中的或从从设备104取得的。在能够保障主设备与从设备之间的独占访问之前,待命队列116暂时地对用于给定的原子事务的命令和数据进行存储。
继续参照图1,从设备104包括调度接口120,其中,调度接口120与多个主设备102A-102N进行通信,以在不同的时刻协调独占事务。调度接口120包括请求队列122(例如,缓冲器),其中,请求队列122用于接收并存储来自各个主设备的请求(例如,基于先进先出)。响应逻辑单元124耦合到请求队列122,以检测从设备104对于独占访问的可用性。在一个实施例中,响应逻辑单元124包括计数器,其中,该计数器在存储器可用于访问时呈现第一值(例如,1),并且在存储器***104在主设备中的一个主设备的操作中被锁定时呈现第二减小的值(例如,0)。如下面更全面描述的,控制器108还包括响应生成器126,其用于生成消息并向各个主设备发送这些消息。
进一步参照图1,调度接口120耦合到核心逻辑单元128,其中,核心逻辑单元128提供用于跟踪和处理进行中的和/或排队等待由控制器108处理的各种操作的处理资源。如上所述,在一个实施例中,由主设备中的每个主设备轮流进行独占访问的共享资源是存储器。因此,提供存储器接口130,以在控制器108与一个或多个存储器设备110之间执行访问。在一些实施例中,控制器108和存储器设备110体现为单独的集成电路设备。在其它实施例中,控制器功能可以作为电路来分布并包括在主设备102A-102N中的每个主设备中。
图2描绘了示出多个主设备与共享从设备之间的一系列操作的流程图。对共享资源的独占访问是通过对信号量类型的原子操作的使用来仲裁的,其中,该原子操作涉及用于执行单个事务的一系列命令。原子操作减少了来自不具有对共享资源的独占访问的主设备的轮询。因此,减少的轮询和相关联的上下文切换改善了互连的信令带宽,从而改善了***性能。
进一步参照图2,并且将存储器***上下文用作一个例子,在202处,期望对共享从设备(例如,存储器)进行独占访问的第一主设备(例如,处理器)向该从设备发出第一请求“ACQUIRE ACCESS(获得访问)”。如果在204处从设备可用于另一个主设备的独占操作,那么在206处,从从设备向第一主设备发出“SUCCEED(成功)”信号。这建立了这两个设备之间的锁定情况,以用于执行第一主设备与从设备之间的一系列读和/或写数据事务。
继续参照图2,假如在208处,第二主设备向从设备发出了独占访问请求,而第一主设备具有独占访问,那么与第一主设备的锁定情况导致在210处从设备利用“FAIL(失败)”响应来对第二主设备进行响应。然后在存储器是可用的之前,第二主设备进入操作的待命模式以执行操作。在212处,当第一主设备发出“RELEASE(释放)”命令时,可用性发生。在214处,响应于RELEASE命令,将从设备从第一主设备释放,并且在216处,自动地生成“WAKE(觉醒)”命令并向第二主设备发出该命令(假设先前失败的请求是从设备队列中的最高优先级操作)。一旦第二主设备接收到WAKE命令,则在218处,发出新的ACQUIRE(获得)请求以建立与从设备的锁定状态,在220处,由从设备发出对应的SUCCEED命令以确认独占性。此时,在222处,从设备被锁定到第二主设备。
图3从与上面图2中描述的与信号量类型原子操作相关的方法相对应的主设备的角度,更详细地示出了方法步骤的一个实施例。当主设备需要从由从设备控制的存储器读取数据(或者向该存储器写入数据)时,在302处,其执行指令以使得请求/响应逻辑单元114生成“ACQUIRE”访问命令,并且在304处,向从设备发送该请求。请求传输由气泡“A”表示,其转移到图4A。如果在306处确定该命令是信号量类型的操作,那么在308处,主设备在对从设备采取进一步动作之前等待响应。如果该命令是非信号量类型的命令,那么使用该命令对所有其它的操作和操作数进行分组化,并且在310处将其派发到从设备。
现在参照图4A,在步骤402处(经由气泡A),从设备的调度接口120从第一主IC接收“ACQUIRE”命令。然后在404处,进行该请求是否涉及信号量类型的操作的确定。如果不涉及,那么在406处,从设备对请求队列122中的独占命令进行排队,并且在408处按顺序以原子的方式来执行这些独占命令。如果该操作是信号量类型的操作,那么在410处访问用于指示存储器的可用性的变量值,并且在412处检测该变量的当前值。
参照图4B,在414处,由响应逻辑单元124对所检测到的变量的值进行评估(经由连接图4A和图4B的气泡“B”)。在一个实施例中,大于“0”的值指示资源的可用性,其导致在416处写入比先前的值减小的新的变量值。然后在418处,经由气泡“C”来向第一主IC返回成功响应。
在变量值不高于阈值从而指示资源是不可用的情况下,由响应生成器126生成失败响应,并且在420处,经由气泡“D”来将其返回给进行请求的主设备。在422处,由响应逻辑单元124自动地对资源进行监测,并且在424处,当变量值超过阈值时,经由气泡“E”来将自动通知(响应)发送给进行请求的主设备。
非信号量类型的原子操作涉及将操作信息中的所有信息分组化到一个访问中。不应用自动检测或通知机制。
返回参照图3,对于信号量类型的操作来说,主设备在操作的待命模式中等待,其中,在322处,其对经由气泡C、D或E来接收的消息进行评估,并且确定是否接收到“FAIL”响应。由待命队列116(图1)激活待命模式,其中,在主设备能够获得对从设备的访问之前,待命队列116将原始的访问请求暂时地存储在缓冲器中。当返回非FAIL响应(SUCCEED或者WAKE),并且由请求/响应逻辑单元114(图1)接收到该响应时,在324处,进行所接收的消息是否是SUCCEED的进一步确定。如果是,那么主设备与从设备之间的链路被锁定,并且在326处,发生一系列的读和/或写操作以执行原子事务。如果没有接收到SUCCEED响应,那么假设是“WAKE”响应,在302处,主设备生成随后的“ACQUIRE”命令,以用于向从设备派发来发起锁定情况,这是通过经由上述步骤进行的对随后的“SUCCEED”响应的接收来确认的。
因此,所提出的方案提供了使访问的数量最小化的原子操作,并且减少了用于确定可用性的轮询操作。这相应地减少了访问总线以及相关联的上下文切换行为所涉及的开销。
在前述说明中,已经参考本申请的实施例的特定的示例性实施例对其进行了描述。然而,显而易见的是,可以在不脱离如所附权利要求书中给出的、本公开内容的更广的精神和范围的情况下,对其作出各种修改和改变。因此,应将本说明书和附图视为说明性的而不是限制性的。

Claims (21)

1.一种控制多个主设备之间对从设备的共享资源的访问的方法,所述方法是在所述从设备处进行的,并且所述方法包括:
从第一主设备接收对所述共享资源进行访问的请求;
确定所述请求是否涉及信号量类型的操作;
如果所述请求不涉及信号量类型的操作,则对所述请求进行排队;
如果所述请求涉及信号量类型的操作,则确定所述共享资源的可用性;
如果所述共享资源是可用的,则向所述第一主设备返回成功响应,以建立所述第一主设备对所述共享资源的访问;以及
如果所述共享资源是不可用的:
向所述第一主设备返回失败响应;
针对所述共享资源何时变得可用来自动地进行监测;以及
当所述共享资源变得可用时,自动地通知所述第一主设备。
2.根据权利要求1所述的方法,其中,确定可用性包括:
识别具有表示所述共享资源是否可用于访问的值的变量;以及
检测所述变量的当前值。
3.根据权利要求2所述的方法,其中,自动地进行监测包括:
检测所述变量值何时达到预先确定的阈值。
4.根据权利要求2所述的方法,其中,所述变量包括信号量变量。
5.根据权利要求1所述的方法,还包括:
从多个主设备中的每个主设备接收针对对所述共享资源进行访问的请求;以及
对所述请求进行排队。
6.一种控制多个主设备之间对从设备的共享资源的访问的方法,所述方法是在所述主设备处进行的,并且所述方法包括:
生成用于请求对用于执行操作的所述从设备的所述共享资源的独占访问的命令;
向所述从设备发送所述命令;
确定所述命令是否涉及信号量类型的操作;
如果所述命令不涉及信号量类型的操作,则使用所述命令对操作和操作数进行分组化,并且将其派发到所述从设备;
如果所述命令涉及信号量类型的操作,则等待来自从设备的响应;
从所述从设备接收失败响应;
进入相对于所述操作的待命模式;以及
保持所述待命模式,直到接收到来自所述从设备的所述共享资源的觉醒响应为止。
7.一种主设备,其包括:
请求逻辑单元,其用于生成用于请求对用于执行操作的从设备的共享资源的独占访问的命令,所述共享资源由多个主设备共享,并且向所述从设备发送所述命令,其中,如果所述命令不涉及信号量类型的操作,则使用所述命令对操作和操作数进行分组化,并且将其派发到所述从设备,如果所述命令涉及信号量类型的操作,则等待来自从设备的响应;以及
待命逻辑单元,其用于对来自所述共享资源的失败响应信号进行响应,以执行以下操作:
进入相对于所述操作的待命模式,以及
保持所述待命模式,直到接收到来自所述共享资源的觉醒响应为止。
8.根据权利要求7所述的设备,其体现为集成电路处理器。
9.根据权利要求7所述的设备,还包括:
用于耦合到信令总线的接口,所述信令总线还耦合到所述多个主设备和所述共享资源。
10.根据权利要求7所述的设备,其中,所述待命逻辑单元通过重新请求对所述从设备的所述共享资源的独占访问来对所述觉醒响应的接收进行响应。
11.一种从设备,其包括:
接口,其用于对所述从设备的共享资源与主设备之间的事务进行仲裁;
监测器,其用于从所述主设备接收针对对所述共享资源进行访问的传入请求;
请求队列,如果所述请求不涉及信号量类型的操作,则在所述请求队列中对所述请求进行排队;
仲裁逻辑单元,其用于如果所述请求涉及信号量类型的操作,则确定所述共享资源的可用性;以及
响应逻辑单元,其用于生成用于指示给定的主设备获得对所述从设备的所述共享资源的访问的成功或失败的信号;
响应生成器,用于:
如果所述共享资源是可用的,则向所述主设备返回成功响应,以建立所述主设备对所述共享资源的访问;以及
如果所述共享资源是不可用的,则向所述主设备返回失败响应,其中,所述从设备还针对所述共享资源何时变得可用来自动地进行监测,以及当所述共享资源变得可用时,自动地通知所述主设备。
12.根据权利要求11所述的设备,其中,所述监测器从多个主设备接收针对对所述共享资源进行访问的传入请求。
13.根据权利要求12所述的设备,其中,所述监测器包括所述请求队列。
14.根据权利要求13所述的设备,还包括:用于对所述请求队列中的所述传入请求进行排序的逻辑单元。
15.根据权利要求11所述的设备,其体现为存储器***。
16.根据权利要求11所述的设备,其中,所述共享资源包括存储器。
17.根据权利要求11所述的设备,其中,所述仲裁逻辑单元包括计数器电路,其中所述计数器电路生成用于指示所述共享资源是否可用于访问的值。
18.一种用于数据通信的***,其包括:
多个主设备;
总线,其耦合到所述多个主设备;以及
从设备,其耦合到所述总线,并且包括由所述多个主设备共享的资源,所述从设备包括:
接口,其用于对所述从设备的所述共享资源与所述多个主设备中的第一主设备之间的独占事务进行仲裁;
请求队列,其用于对来自所述多个主设备中的至少一部分的、针对对所述共享资源进行访问的传入请求进行监测,其中,如果请求不涉及信号量类型的操作,则在所述请求队列中对所述请求进行排队;
仲裁逻辑单元,其用于如果所述请求涉及信号量类型的操作,则确定所述共享资源的可用性;
响应逻辑单元,其用于生成用于指示所述多个主设备中的给定的主设备获得对所述从设备的所述共享资源的访问的成功或失败的信号,其中,所述给定的主设备向所述从设备发送对所述共享资源进行访问的请求;以及
响应生成器,用于:
如果所述共享资源是可用的,则向所述主设备返回成功响应,以建立所述主设备对所述共享资源的访问;以及
如果所述共享资源是不可用的,则向所述主设备返回失败响应,其中,所述从设备还针对所述共享资源何时变得可用来自动地进行监测,以及当所述共享资源变得可用时,自动地通知所述主设备。
19.根据权利要求18所述的***,其中,所述多个主设备包括多个处理器。
20.根据权利要求18所述的***,其中,所述从设备包括存储器***。
21.根据权利要求18所述的***,其中,所述共享资源包括存储器。
CN201280076233.9A 2012-10-04 2012-10-04 使用高效的原子操作的方法和装置 Active CN104854845B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/082523 WO2014053074A1 (en) 2012-10-04 2012-10-04 Method and apparatus using high-efficiency atomic operations

Publications (2)

Publication Number Publication Date
CN104854845A CN104854845A (zh) 2015-08-19
CN104854845B true CN104854845B (zh) 2019-07-23

Family

ID=50434354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280076233.9A Active CN104854845B (zh) 2012-10-04 2012-10-04 使用高效的原子操作的方法和装置

Country Status (6)

Country Link
US (1) US20150234759A1 (zh)
EP (1) EP2904765B1 (zh)
JP (1) JP6129976B2 (zh)
KR (1) KR20150065803A (zh)
CN (1) CN104854845B (zh)
WO (1) WO2014053074A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639946B1 (ko) * 2015-04-13 2016-07-14 엘에스산전 주식회사 듀얼 포트 메모리 시스템의 접근 제어 방법
CN105404555A (zh) * 2015-12-29 2016-03-16 重庆安碧捷科技股份有限公司 医疗多线程共享资源分配处理方法及***
US10176131B1 (en) * 2017-09-27 2019-01-08 Xilinx, Inc. Controlling exclusive access using supplemental transaction identifiers
CN108197046A (zh) * 2017-12-30 2018-06-22 盛科网络(苏州)有限公司 一种实现原子操作的***及方法
CN109445950A (zh) * 2018-09-30 2019-03-08 青岛海尔科技有限公司 Ocf资源的互斥访问方法及***、服务端、介质、设备
US11068303B2 (en) 2019-02-19 2021-07-20 International Business Machines Corporation Adjusting thread balancing in response to disruptive complex instruction
US10942775B2 (en) 2019-03-01 2021-03-09 International Business Machines Corporation Modified central serialization of requests in multiprocessor systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004038580A1 (en) * 2002-10-28 2004-05-06 Devlabs Ab Method and arrangement for use of shared resources in a network
CN1774699A (zh) * 2003-04-24 2006-05-17 国际商业机器公司 共享资源的并发访问
WO2006104804A2 (en) * 2005-03-28 2006-10-05 Raza Microelectronics, Inc. Mechanism for managing access to resources in a heterogeneous data redirection device
CN102025528A (zh) * 2009-09-23 2011-04-20 中兴通讯股份有限公司 地址管理方法、装置和***

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53105139A (en) * 1977-02-24 1978-09-13 Nec Corp Dynamic main memory controller
JPS60169969A (ja) * 1984-02-15 1985-09-03 Fuji Electric Co Ltd マルチプロセツサシステム
JPH04128957A (ja) * 1990-09-20 1992-04-30 Fujitsu Ltd マルチプロセッサシステムにおける共有資源の排他制御方法
CA2057446C (en) * 1991-04-04 1998-02-17 Brian Neil Baker Shared memory access and data structure access control
JPH04361340A (ja) * 1991-06-07 1992-12-14 Fujitsu Ltd メモリ排他制御方式
JP2852149B2 (ja) * 1991-10-31 1999-01-27 日本電気アイシーマイコンシステム株式会社 セマフォビット回路
JP2861943B2 (ja) * 1996-05-29 1999-02-24 日本電気株式会社 セマフォに関するプロセス制御方法
JPH1145193A (ja) * 1997-07-28 1999-02-16 Toshiba Corp ソフトウエア開発支援方法およびソフトウエア開発支援装置および記録媒体
US6134579A (en) * 1997-08-15 2000-10-17 Compaq Computer Corporation Semaphore in system I/O space
US6910212B2 (en) * 2000-12-04 2005-06-21 International Business Machines Corporation System and method for improved complex storage locks
US7007108B2 (en) * 2003-04-30 2006-02-28 Lsi Logic Corporation System method for use of hardware semaphores for resource release notification wherein messages comprises read-modify-write operation and address
US8607241B2 (en) * 2004-06-30 2013-12-10 Intel Corporation Compare and exchange operation using sleep-wakeup mechanism
US8443083B2 (en) * 2005-05-04 2013-05-14 Qualcomm Incorporated Arbitration of resources at a wireless device among contending applications
US7984202B2 (en) * 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
EP2037635A1 (en) * 2007-09-13 2009-03-18 Deutsche Thomson OHG Method for managing network resources in a network and network resource management apparatus
US8396014B2 (en) * 2008-06-25 2013-03-12 Intel Corporation Techniques for management of shared resources in wireless multi-communication devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004038580A1 (en) * 2002-10-28 2004-05-06 Devlabs Ab Method and arrangement for use of shared resources in a network
CN1774699A (zh) * 2003-04-24 2006-05-17 国际商业机器公司 共享资源的并发访问
WO2006104804A2 (en) * 2005-03-28 2006-10-05 Raza Microelectronics, Inc. Mechanism for managing access to resources in a heterogeneous data redirection device
CN102025528A (zh) * 2009-09-23 2011-04-20 中兴通讯股份有限公司 地址管理方法、装置和***

Also Published As

Publication number Publication date
EP2904765A1 (en) 2015-08-12
KR20150065803A (ko) 2015-06-15
CN104854845A (zh) 2015-08-19
EP2904765A4 (en) 2016-07-13
JP2015530679A (ja) 2015-10-15
US20150234759A1 (en) 2015-08-20
WO2014053074A1 (en) 2014-04-10
EP2904765B1 (en) 2019-05-08
JP6129976B2 (ja) 2017-05-17

Similar Documents

Publication Publication Date Title
CN104854845B (zh) 使用高效的原子操作的方法和装置
JP6475625B2 (ja) コア間通信装置及び方法
EP0358716B1 (en) Node for servicing interrupt request messages on a pended bus
WO2018107772A1 (zh) 写入请求处理方法、装置及设备
US9736034B2 (en) System and method for small batching processing of usage requests
CN102630315B (zh) 用于防止死锁状态的数据处理方法及***
US5428794A (en) Interrupting node for providing interrupt requests to a pended bus
US5146597A (en) Apparatus and method for servicing interrupts utilizing a pended bus
JP2002342299A (ja) クラスタシステム、コンピュータ及びプログラム
TWI291102B (en) Sender to receiver request retry method and apparatus
CN116541227A (zh) 故障诊断方法、装置、存储介质、电子装置及bmc芯片
US20150293844A1 (en) Broadcast and unicast communication between non-coherent processors using coherent address operations
US9830263B1 (en) Cache consistency
JPH04271453A (ja) 複合電子計算機
KR102053849B1 (ko) 항공기 시스템 및 그것의 제어 방법
JPH07287064A (ja) レーダ信号処理装置
CN112631984A (zh) 多核数据交互电路和控制方法
JP2009251652A (ja) マルチコアシステム
TWI282057B (en) System bus controller and the method thereof
US20140173365A1 (en) Semiconductor apparatus, management apparatus, and data processing apparatus
CN214042316U (zh) 多核数据交互电路
JP5488693B2 (ja) マルチクラスタシステム
JP6992295B2 (ja) 電子装置
JPH0844661A (ja) 情報処理装置
CN118227353A (zh) 基于多核异构***的核间通讯方法、装置、设备及介质

Legal Events

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