CN103748574A - 执行原子操作而不使互连结构静默 - Google Patents
执行原子操作而不使互连结构静默 Download PDFInfo
- Publication number
- CN103748574A CN103748574A CN201280040890.8A CN201280040890A CN103748574A CN 103748574 A CN103748574 A CN 103748574A CN 201280040890 A CN201280040890 A CN 201280040890A CN 103748574 A CN103748574 A CN 103748574A
- Authority
- CN
- China
- Prior art keywords
- address
- processor
- entry
- locking
- affairs
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
在一个实施例中,本发明包括用于从系统的静默控制装置接收对于在处理器中的地址的锁定消息的方法。这一锁定消息指示所述系统的请求程序代理将进入关于所述地址的锁定阶段。对接收到这一消息做出响应,所述处理器的逻辑能够将条目写入对于所述地址的所述处理器的跟踪缓冲器中,并且之后,如果事务的地址与存储在所述跟踪缓冲器中的任何地址不相匹配,则允许经由互连从所述处理器发送所述事务。描述并请求保护了其它实施例。
Description
背景技术
计算机系统由耦接到一起以便提供处理能力、通信能力、存储能力等等的许多不同部件形成。在现代计算机系统中,经常存在诸如两个或更多个多核心处理器的多个处理器。
在多处理器计算机系统内的操作过程中,多个处理器会试图访问相同的数据。因此,能够提供对于所述系统的一致性方案以便实现所述系统中数据的一致观点(view)。在许多计算机系统中使用的一种这样的机制是锁定协议,其中处理器试图阻止其它处理器的操作以便因而防止那些处理器在各种互连上发出循环,同时锁定处理器执行关于给定数据的原子操作。然而,这一锁定操作会对系统性能具有大的影响,因为系统中的所有其它处理器被防止发出事务,直到完成所述原子操作。
附图说明
图1是根据本发明实施例的方法的流程图。
图2是根据本发明实施例执行的信号传送的流程图。
图3是根据本发明实施例的处理器的方框图。
图4是根据本发明实施例的系统的方框图。
图5是根据本发明另一实施例的系统的方框图。
具体实施方式
在各种实施例中,系统代理能够在诸如点对点(PtP)互连、总线或其它互连机制的互连上执行事务,即使另一代理具有被锁定的某一存储器区域。也就是说,只要能够确定将被从代理发送的事务不与和未决锁定相关联的区域相冲突,就可以在锁定期间发送事务。尽管本文描述的实施例与包括多个处理器、诸如输入/输出集线器(IOH)的芯片集、外围控制器集线器等等的多处理器系统相结合,但是应该理解,本发明的范围并不局限于这一方面,并且可以适用于规定到某些数据的共享访问的其它系统。
现在参照图1,示出了根据本发明实施例的方法的流程图。如图1所示,方法100可以由系统代理执行,该系统代理例如是试图在诸如PtP互连或总线的互连上发出事务的处理器。尽管本发明的范围并不局限于这一方面,但是在各种实施例中,方法100可以由多核心处理器的非核心部分内的逻辑执行。然而应该理解,在不同实施例中,图1的方法可以由其它逻辑执行。如所看到的,方法100可以通过从静默控制装置接收对于第一地址的锁定消息来开始(方框110)。这一静默控制装置在一个实施例中可以是I/O集线器。如将在下面进一步讨论的,这一锁定消息可以是停止请求消息,并且可以进一步包括或跟随有第一地址。这一地址因而识别存储器区域。在一些实施例中,可以提供例如与具有要受锁定影响的数据的高速缓存块相对应的单个地址。然而,在其它实施例中,这一地址可以与给定的高速缓存块和下一个高速缓存块(CL和CL+1)相对应。在进一步实施例中,这一地址可以具有存储器区域,例如,受锁定影响的存储器的页面尺寸区域。注意到,这一锁定可以由另一处理器请求以便使所述处理器能够执行关于位于所述地址处或者由所述地址表示的存储器区域内的数据的原子操作
仍然参照图1,控制转到方框120,其中能够将条目写入对于所述第一地址的所述处理器的跟踪缓冲器中。作为示例,多核心处理器的非核心逻辑的高速缓存控制器可以包括跟踪缓冲器,该跟踪缓冲器包括多个条目,其中每一个条目用于当前受锁定影响的系统的存储器区域。可以将各种信息存储在这些条目中。例如,在一个实施例中,每一个条目可以包括所述地址、有效指示符、所述锁定的请求程序的标识等等。
如所看到的,控制接着转到菱形130,其中能够确定是否从所述静默控制装置接收到了对于所述第一地址的释放消息。这一释放消息可以因而与锁定处理器已经使在这一地址或存储器区域上的锁定无效的指示相对应。如果为是,则控制转到方框140,其中能够清除对于这一第一地址的跟踪缓冲器中的条目。
如果替代地没有接收到释放消息,则锁定对于这一第一地址保持有效。在各种实施例中,与常规系统操作相反,即使锁定有效,处理器仍然能够沿着互连发送事务,只要所述事务与受当前锁定影响的任何地址不相冲突。因此,控制转到菱形150,其中能够确定处理器是否具有将被沿着所述互连发送的未决事务。作为示例,传输缓冲器可以存在于非核心中以便存储将被沿着所述互连发送的未决事务。如果在这一缓冲器中存在任何事务,则控制转到菱形160。在那里能够确定被选择为要被从所述互连传输的未决事务的地址是否与所述跟踪缓冲器中的条目相匹配。这一分析因而确定这一事务的地址是否与任何当前未决的锁定操作相冲突。如果不相冲突,则控制转到方框180,其中允许所述事务沿着所述互连被发送,因为在这种情况下,所述事务不干扰任何锁定的地址。
否则,如果所述地址与所述跟踪缓冲器中的条目相匹配,则这意味着将发生冲突,并且因此,控制转到方框170,其中能够防止在所述互连上发送这一事务,同时相冲突的地址保持存在于所述跟踪缓冲器中的条目中。注意到,从方框170和180二者,控制转回到上面讨论的菱形130。尽管以在图1的实施例中的这一特定实现示出,但是应该理解,本发明的范围并不局限于这一方面。
为了进一步说明根据本发明实施例的操作,可以参照图2,其是根据本发明实施例执行的信号传送的流程图。如图2所示,存在三个代理,即,请求程序处理器(PROC1)、对等处理器(PROC2)和在图2的实施例中可以是IO集线器的静默控制装置。尽管仅示出了三个这样的代理,但是应该理解,本发明的范围并不局限于这一方面,并且在许多实施例中,可以存在多于两个的处理节点和多于单个的静默控制装置。而且,尽管将对等和请求程序代理表示为处理器,但是应该理解,本发明的范围并不局限于这一方面,并且在其它实施例中,诸如控制器、图形芯片等等的其它设备也可以是代理。
如在图2中看到的,当请求程序初始化被指向静默控制装置的处理锁定请求(ProcLock)时,操作可以开始。连同这一锁定请求一起发送的是对于所述锁定请求的地址。也就是说,不是简单地请求整体锁定,因而使所有其它代理使沿着它们的互连的它们的操作静默),所述请求只针对到由所述地址表示的给定存储器区域的锁定。
如所看到的,对在所述静默控制装置中这一请求的接收做出响应,所述控制装置将锁定消息发送到所述系统的代理。具体地说,如在图2中看到的,这一锁定消息(StopReq1)能够被发送(连同对于其做出锁定的地址)到对等代理,并且此外,这一锁定消息也能够被发送到请求程序。对接收到这一锁定消息做出响应,对等代理能够将条目写入其锁定跟踪缓冲器中以便将这一地址指示为受锁定影响。当完成这一步骤时,对等代理能够将确认发送回到静默控制装置(即,完成消息(CmpD))。如进一步看到的,请求程序也可以发送这一消息的确认。
接着,静默控制装置可以将另一锁定消息发送到代理,该另一锁定消息可以用于死锁避免的目的。注意到,这一锁定消息(StopReq2)不跟随有相关联的地址。在确认所述代理接收到这一锁定消息时,现在可以进入锁定阶段。也就是说,请求程序可以执行其期望的原子操作,因为确保没有其它代理正在访问该地址或处于访问该地址的过程中。为了开始该锁定阶段,静默控制装置将确认发送到请求程序。在接收到这一确认时,请求程序能够执行其原子操作,其在所示的实施例中可以是读取-修改-写入,其中读取位于该地址处的数据,由请求程序修改数据,并且接着将修改的数据写回到其源。这在图2中表示为非一致读取(NcRead),后面是数据返回(DataNc)。之后,请求程序能够执行其数据的修改,并且相应地将该数据写回(作为非一致写入(NcWr))。
注意到,在锁定阶段期间,对等代理能够发送一个或多个事务,只要与这些事务相关联的地址不与存在于其锁定跟踪缓冲器的条目中的地址相对应。只要是这种情况,对等代理就能够在这一锁定阶段期间发送一个或多个事务。
当由静默控制装置接收到修改的写入数据时,它可以将完成发送回到请求程序,这使请求程序发送解锁请求消息以便因而结束锁定阶段。因此,如图2所示,静默控制装置能够将释放消息发送到系统的代理。具体地如图2所示,可以连同地址或跟随有地址地来发送这一释放消息(StartReq1)。对接收到这一释放消息做出响应,对等代理清除与这一地址相关联的其锁定跟踪缓冲器条目,并且发送完成消息。这一操作的确认可以跟随有系统代理的另一释放消息。尽管在图2的实施例中以特定的实现示出,但是应该理解,本发明的范围并不局限于这一方面。
现在参照图3,示出了根据本发明实施例的处理器的方框图。如图3所示,处理器300可以是包括多个核心310a–310n的多核心处理器。在一个实施例中,每一个核心可以配置为在多个电压和/或频率处操作,并且如所指示的进入turbo模式。各种核心可以经由互连315耦接到系统代理或包括各种部件的非核心320。如所看到的,非核心320可以包括可以是最后一级高速缓存的共享高速缓存330。此外,非核心可以包括集成的存储器控制器340、各种接口350和功率控制单元355。
仍然参照图3,非核心进一步包括高速缓存控制器335,其可以控制共享高速缓存330的一致性操作和管理。此外,高速缓存控制器335可以包括锁定跟踪缓冲器337,其能够用于存储条目以便识别系统存储器中受未决锁定影响的位置。具体地说,如上面讨论的,锁定跟踪缓冲器337可以包括多个条目,每一个条目存储与接收到的锁定消息相关联的地址,当静默控制装置向对于代表存储器位置的地址的给定代理许可锁定时,可以将该多个条目发送到处理器。
高速缓存控制器335能够进一步包括锁定监控逻辑339,其能够监控到处理器的进来的消息以便确定是否接收到任何锁定消息,并且如果为是,则使与所述消息相关联的地址存储在锁定跟踪缓冲器337中。此外,当释放了给定锁定时,锁定监控逻辑339可以使条目被清除。仍然进一步地,锁定监控逻辑339可以进一步帮助处理来自处理器的出去的事务,以使得所述逻辑能够通过参照锁定跟踪缓冲器337内的条目来确定给定事务的地址是否受未决锁定操作影响,并且如果将发生冲突,则防止事务的传输。
进一步参照图3,处理器300可以例如经由存储器总线与系统存储器360通信。此外,通过接口350,可以产生到诸如外围设备、海量存储等等的各种片外部件的连接。尽管在图3的实施例中利用这一特定的实现示出,但是本发明的范围并不局限于这一方面。还注意到,图3的处理器和存储器可以是具有多个处理器和存储器的多处理器系统的单个多核心处理器和相对应的本地存储器。
可以在许多不同的系统类型中结合实施例,这些系统类型可以设计有各种系统代理,例如处理器插座、芯片集、存储器、经由点对点互连或其它基于串联的互连耦接的其它系统代理。
图4是可以经由PtP互连耦接到一起的系统的方框图。如图4所示,系统400可以包括多个处理器插座,即,处理器插座420a-420d(一般是处理器插座420)。每一个处理器插座可以是包括根据本发明实施例的跟踪缓冲器和逻辑的多核心处理器,以便监控受锁定影响的地址并且在锁定阶段期间相应地控制事务传输。
仍然参照图4,系统400进一步包括芯片集部件。具体地说,如图4所示,系统400包括第一集线器代理445和第二集线器代理450,这两个集线器代理都可以与IOH相对应。这样的集线器代理可以用于将系统400耦接到各种外围设备、网络或其它这样的系统。
为了实现系统400的各种部件之间的通信,可以存在各种点对点互连以便将部件耦接到一起。具体地说,如图4所示,每一个处理器插座420可以包括到其它处理器插座的三个链路的接口。而且,还可以进一步提供每处理器插座到第一或第二集线器代理445和450中的一个的互连。因此,第一处理器插座420a可以提供到本身与第二、第三和第四处理器插座420b-d之间的链路430、432和436的接口。第一处理器插座420a进一步提供到耦接在本身和第一集线器代理445之间的链路442的接口。类似地,第二处理器插座420b分别经由互连434和438耦接到第三和第四处理器插座420c和420d,并且经由互连444进一步耦接到第一集线器代理445。类似地,第三和第四处理器插座420c和420d经由互连435耦接,而这两个处理器插座分别经由互连446和448与第二集线器代理450通信。尽管在图4的实施例中以这一特定实现进行描述,但是应该理解,本发明的范围并不局限于此。
也可以在其它系统中实现实施例。现在参照图5,示出了根据本发明另一实施例的系统的方框图。如图5所示,多处理器系统500可以包括多个处理器5101–510n,每一个处理器可以是包括根据本发明实施例的跟踪缓冲器和逻辑以便监控受锁定影响的地址的多核心处理器。如所看到的,每一个处理器可以通过PtP互连而连接到每一个其它处理器。此外,每一个处理器510可以耦接到系统存储器的本地部分,即,本地存储器5201–520n。
转而,每一个处理器510可以耦接到IOH530,该IOH530在各种实施例中能够用作静默控制装置以便因而从不同的处理器接收进来的锁定请求。
当接收到具有将受锁定影响的区域的指示的这样的请求时,IOH530能够将相对应的锁定消息发送到与所述地址相关联的处理器以便因而使这些位置被维持在所述处理器的跟踪缓冲器中并且被监控。按照这种方式,其它处理器能够在锁定阶段期间发送不相关的事务(即,与锁定事务的地址不相关)以便因而减少系统时延。如进一步看到的,IOH530能够耦接到该系统的其它部件。在所示实施例中,IOH530可以耦接到外围控制器集线器540,该外围控制器集线器540转而能够耦接到一个或多个外围设备550。尽管在图5的实施例中在这一高级别处示出,但是应该理解,本发明的范围并不局限于这一方面。
可以将实施例实现在代码中并且可以将其存储在非暂态存储介质上,该非暂态存储介质具有存储在其上的指令,该指令能够用于对系统编程以便执行所述指令。存储介质可以包括但不局限于任何类型的磁盘,包括软盘,光盘,固态驱动(SSD),压缩盘只读存储器(CD-ROM),压缩盘可重写(CD-RW)和磁光盘,诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM)的半导体设备,磁卡或光卡,或者适合于存储电子指令的任何其它类型的介质。
尽管关于有限数量的实施例描述了本发明,但是本领域的普通技术人员将意识到根据所述实施例的许多修改和变化。意图是所附权利要求涵盖落入本发明的真实精神和范围内的所有这样的修改和变化。
Claims (20)
1.一种方法,包括:
从耦接到第一处理器的静默控制装置接收对于所述第一处理器中的第一地址的锁定消息,所述锁定消息用于指示请求程序代理将进入关于所述第一地址的锁定阶段;
将条目写入对于所述第一地址的所述第一处理器的跟踪缓冲器中;以及
如果事务的地址与存储在所述跟踪缓冲器中的任何地址不相匹配,则允许经由互连从所述第一处理器发送所述事务。
2.如权利要求1所述的方法,进一步包括从所述静默控制装置接收对于所述第一地址的释放消息。
3.如权利要求2所述的方法,进一步包括对接收到对于所述第一地址的所述释放消息做出响应,清除位于存储所述第一地址的所述跟踪缓冲器中的所述条目。
4.如权利要求1所述的方法,进一步包括如果所述事务的所述地址与所述跟踪缓冲器中的条目相匹配,则防止从所述第一处理器发送所述事务。
5.如权利要求2所述的方法,其中,所述锁定消息包括停止请求消息和所述第一地址。
6.如权利要求5所述的方法,其中,所述释放消息包括开始请求消息和所述第一地址。
7.如权利要求1所述的方法,进一步包括在将所述条目写入对于所述第一地址的所述跟踪缓冲器中之后,向所述静默控制装置发送确认。
8.如权利要求7所述的方法,其中,所述请求程序代理在所述锁定阶段期间在所述第一地址处执行关于数据的原子操作。
9.如权利要求8所述的方法,进一步包括在所述锁定阶段期间从所述第一处理器发送与第二地址相关联的事务。
10.一种装置,包括:
包括多个核心和高速缓存存储器的多核心处理器,所述多核心处理器进一步包括具有多个条目的锁定跟踪缓冲器和第一逻辑,每一个条目用于存储与受锁定操作影响的存储器区域相关联的地址,并且所述第一逻辑用于使得能够在所述锁定操作中的至少一个的锁定阶段期间,从所述多核心处理器发送对于不存在于所述锁定跟踪缓冲器的所述多个条目中的任何一个中的地址的事务。
11.如权利要求10所述的装置,其中,所述第一逻辑用于对接收到具有第一地址的锁定消息做出响应而将第一条目写入具有所述第一地址的所述锁定跟踪缓冲器中。
12.如权利要求11所述的装置,其中,所述第一逻辑用于从静默控制装置接收所述锁定消息,所述锁定消息用于指示代理将在所述第一地址处执行关于数据的原子操作。
13.如权利要求12所述的装置,其中,所述代理用于在所述锁定操作的所述锁定阶段期间执行所述原子操作。
14.如权利要求13所述的装置,其中,所述第一逻辑用于在所述原子操作的完成之后清除所述锁定跟踪缓冲器中的所述第一条目。
15.如权利要求12所述的装置,其中,所述第一逻辑用于使得能够在所述锁定阶段期间从所述多核心处理器发送多个事务,其中,所述多个事务中的每一个针对不存在于所述锁定跟踪缓冲器的所述多个条目中的任意一个中的地址。
16.一种系统,包括:
第一处理器,用于执行指令并且发出对于关于与第一地址相关联的数据的锁定的请求;
第二处理器,耦接到所述第一处理器以便执行指令并且包括具有多个条目的跟踪缓冲器,每一个条目用于存储与锁定相关联的地址;以及
静默控制装置,耦接到所述第一处理器和第二处理器,并且用于接收所述锁定请求并且发出锁定消息以便使所述第二处理器将所述第一地址存储在所述跟踪缓冲器的第一条目中,其中,所述第二处理器用于在与所述第一地址相关联的所述锁定期间发送与不存在于所述跟踪缓冲器中的第二地址相关联的事务。
17.如权利要求16所述的系统,其中,所述第二处理器进一步包括用于对接收到所述锁定消息做出响应来将所述第一地址存储在所述跟踪缓冲器的所述第一条目中的逻辑。
18.如权利要求17所述的系统,其中,所述第二处理器的所述逻辑用于在结束所述锁定之后清除所述锁定缓冲器中的所述第一条目。
19.如权利要求17所述的系统,其中,所述第一处理器用于从所述静默控制装置接收所述锁定请求的确认并且对所述确认做出响应来执行关于与所述第一地址相关联的所述数据的原子操作,并且之后用于发出请求以便释放所述锁定。
20.如权利要求19所述的系统,其中,所述第二处理器的所述逻辑用于从所述静默控制装置接收对于所述第一地址的释放消息并且对所述释放消息做出响应来清除所述跟踪缓冲器的所述第一条目。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/214,384 US9015436B2 (en) | 2011-08-22 | 2011-08-22 | Performing an atomic operation without quiescing an interconnect structure |
US13/214,384 | 2011-08-22 | ||
PCT/US2012/050828 WO2013028414A2 (en) | 2011-08-22 | 2012-08-15 | Performing an atomic operation without quiescing an interconnect structure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103748574A true CN103748574A (zh) | 2014-04-23 |
CN103748574B CN103748574B (zh) | 2016-07-13 |
Family
ID=47745372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280040890.8A Active CN103748574B (zh) | 2011-08-22 | 2012-08-15 | 执行原子操作而不使互连结构静默 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9015436B2 (zh) |
CN (1) | CN103748574B (zh) |
DE (1) | DE112012003462T5 (zh) |
WO (1) | WO2013028414A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897230A (zh) * | 2015-11-27 | 2017-06-27 | Arm 有限公司 | 用于处理原子更新操作的装置和方法 |
CN114586004A (zh) * | 2019-07-08 | 2022-06-03 | 圣巴诺瓦系统公司 | 静默可重新配置数据处理器 |
US11983140B2 (en) | 2018-11-21 | 2024-05-14 | SambaNova Systems, Inc. | Efficient deconfiguration of a reconfigurable data processor |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11176111B2 (en) * | 2013-03-15 | 2021-11-16 | Nuodb, Inc. | Distributed database management system with dynamically split B-tree indexes |
KR102094475B1 (ko) | 2013-04-29 | 2020-03-27 | 삼성전자주식회사 | 멀티-트랜잭션의 아토믹 라이트 방법 |
CN105765547A (zh) * | 2013-10-25 | 2016-07-13 | 超威半导体公司 | 用于执行总线锁定和转译后备缓冲器失效的方法和装置 |
US11157407B2 (en) * | 2016-12-15 | 2021-10-26 | Optimum Semiconductor Technologies Inc. | Implementing atomic primitives using cache line locking |
US10146440B2 (en) * | 2016-12-20 | 2018-12-04 | Intel Corporation | Apparatus, system and method for offloading collision check operations in a storage device |
US11593275B2 (en) | 2021-06-01 | 2023-02-28 | International Business Machines Corporation | Operating system deactivation of storage block write protection absent quiescing of processors |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404482A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
US5442755A (en) * | 1989-12-25 | 1995-08-15 | Hitachi, Ltd. | Multi-processor system with lock address register in each processor for storing lock address sent to bus by another processor |
US20040064675A1 (en) * | 2002-09-27 | 2004-04-01 | Jahnke Steven R. | Data synchronization hardware primitive in an embedded symmetrical multiprocessor computer |
US20050021918A1 (en) * | 2003-07-24 | 2005-01-27 | Sang-Won Hwang | Memory and information processing systems with lockable buffer memories and related methods |
US20080235474A1 (en) * | 2007-03-21 | 2008-09-25 | Samsung Electronics Co., Ltd. | Method and system for processing access to disk block |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US8347010B1 (en) * | 2005-12-02 | 2013-01-01 | Branislav Radovanovic | Scalable data storage architecture and methods of eliminating I/O traffic bottlenecks |
JP2009093344A (ja) | 2007-10-05 | 2009-04-30 | Denso Corp | マイクロコンピュータ、その使用方法、及び電子制御装置 |
-
2011
- 2011-08-22 US US13/214,384 patent/US9015436B2/en not_active Expired - Fee Related
-
2012
- 2012-08-15 WO PCT/US2012/050828 patent/WO2013028414A2/en active Application Filing
- 2012-08-15 CN CN201280040890.8A patent/CN103748574B/zh active Active
- 2012-08-15 DE DE201211003462 patent/DE112012003462T5/de active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5442755A (en) * | 1989-12-25 | 1995-08-15 | Hitachi, Ltd. | Multi-processor system with lock address register in each processor for storing lock address sent to bus by another processor |
US5404482A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
US20040064675A1 (en) * | 2002-09-27 | 2004-04-01 | Jahnke Steven R. | Data synchronization hardware primitive in an embedded symmetrical multiprocessor computer |
US20050021918A1 (en) * | 2003-07-24 | 2005-01-27 | Sang-Won Hwang | Memory and information processing systems with lockable buffer memories and related methods |
US20080235474A1 (en) * | 2007-03-21 | 2008-09-25 | Samsung Electronics Co., Ltd. | Method and system for processing access to disk block |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897230A (zh) * | 2015-11-27 | 2017-06-27 | Arm 有限公司 | 用于处理原子更新操作的装置和方法 |
CN106897230B (zh) * | 2015-11-27 | 2021-12-14 | Arm 有限公司 | 用于处理原子更新操作的装置和方法 |
US11983140B2 (en) | 2018-11-21 | 2024-05-14 | SambaNova Systems, Inc. | Efficient deconfiguration of a reconfigurable data processor |
CN114586004A (zh) * | 2019-07-08 | 2022-06-03 | 圣巴诺瓦系统公司 | 静默可重新配置数据处理器 |
Also Published As
Publication number | Publication date |
---|---|
US20130054915A1 (en) | 2013-02-28 |
WO2013028414A2 (en) | 2013-02-28 |
DE112012003462T5 (de) | 2014-05-08 |
WO2013028414A3 (en) | 2013-05-02 |
US9015436B2 (en) | 2015-04-21 |
CN103748574B (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103748574A (zh) | 执行原子操作而不使互连结构静默 | |
US9575895B2 (en) | Providing common caching agent for core and integrated input/output (IO) module | |
US8140828B2 (en) | Handling transaction buffer overflow in multiprocessor by re-executing after waiting for peer processors to complete pending transactions and bypassing the buffer | |
CN102214120B (zh) | 处理非相干设备的原子操作 | |
CN101097545B (zh) | 独占所有权探听过滤器 | |
CN100452015C (zh) | 用于数据处理的方法和设备 | |
CN102279817B (zh) | 用于持久存储器的高速缓冲存储器相干性协议 | |
US7480770B2 (en) | Semi-blocking deterministic directory coherence | |
JP3575595B2 (ja) | 不均等メモリ・アクセス・システム内で書き戻しの衝突によって生じるライブロックを避けるための方法およびシステム | |
CN100458758C (zh) | 用于数据处理的方法和设备 | |
CN104346317B (zh) | 共享资源访问方法和装置 | |
US20090198694A1 (en) | Resolving conflicts in a transactional execution model of a multiprocessor system | |
US7685373B2 (en) | Selective snooping by snoop masters to locate updated data | |
CN1908890B (zh) | 用于使用记录板机制处理加载锁定指令的方法和装置 | |
JPH07281955A (ja) | マルチプロセッサーシステムのスヌープ回路 | |
US6269428B1 (en) | Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system | |
CN101676887B (zh) | 一种基于ahb总线结构的总线监听方法及装置 | |
CN101061462B (zh) | 多处理器系统以及其中的排他控制方法 | |
US7089376B2 (en) | Reducing snoop response time for snoopers without copies of requested data via snoop filtering | |
CN114064552A (zh) | 用于可扩展的硬件一致存储器节点的系统和方法 | |
US7904663B2 (en) | Secondary path for coherency controller to interconnection network(s) | |
US8938588B2 (en) | Ensuring forward progress of token-required cache operations in a shared cache | |
EP1789876B1 (en) | Method and apparatus for modifying an information unit using an atomic operation in a system with a mixed architecture | |
US20020087766A1 (en) | Method and apparatus to implement a locked-bus transaction | |
JP3713876B2 (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |