当前位置: 首页 > 专利查询>英特尔公司专利>正文

执行原子操作而不使互连结构静默制造技术

技术编号:9978293 阅读:159 留言:0更新日期:2014-04-29 00:26
在一个实施例中,本发明专利技术包括用于从系统的静默控制装置接收对于在处理器中的地址的锁定消息的方法。这一锁定消息指示所述系统的请求程序代理将进入关于所述地址的锁定阶段。对接收到这一消息做出响应,所述处理器的逻辑能够将条目写入对于所述地址的所述处理器的跟踪缓冲器中,并且之后,如果事务的地址与存储在所述跟踪缓冲器中的任何地址不相匹配,则允许经由互连从所述处理器发送所述事务。描述并请求保护了其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】在一个实施例中,本专利技术包括用于从系统的静默控制装置接收对于在处理器中的地址的锁定消息的方法。这一锁定消息指示所述系统的请求程序代理将进入关于所述地址的锁定阶段。对接收到这一消息做出响应,所述处理器的逻辑能够将条目写入对于所述地址的所述处理器的跟踪缓冲器中,并且之后,如果事务的地址与存储在所述跟踪缓冲器中的任何地址不相匹配,则允许经由互连从所述处理器发送所述事务。描述并请求保护了其它实施例。【专利说明】执行原子操作而不使互连结构静默
技术介绍
计算机系统由耦接到一起以便提供处理能力、通信能力、存储能力等等的许多不同部件形成。在现代计算机系统中,经常存在诸如两个或更多个多核心处理器的多个处理器。在多处理器计算机系统内的操作过程中,多个处理器会试图访问相同的数据。因此,能够提供对于所述系统的一致性方案以便实现所述系统中数据的一致观点(view)。在许多计算机系统中使用的一种这样的机制是锁定协议,其中处理器试图阻止其它处理器的操作以便因而防止那些处理器在各种互连上发出循环,同时锁定处理器执行关于给定数据的原子操作。然而,这一锁定操作会对系统性能具有大的影响,因为系统中的所有其它处理器被防止发出事务,直到完成所述原子操作。【专利附图】【附图说明】图1是根据本专利技术实施例的方法的流程图。图2是根据本专利技术实施例执行的信号传送的流程图。图3是根据本专利技术实施例的处理器的方框图。图4是根据本专利技术实施例的系统的方框图。图5是根据本专利技术另一实施例的系统的方框图。【具体实施方式】在各种实施例中,系统代理能够在诸如点对点(PtP)互连、总线或其它互连机制的互连上执行事务,即使另一代理具有被锁定的某一存储器区域。也就是说,只要能够确定将被从代理发送的事务不与和未决锁定相关联的区域相冲突,就可以在锁定期间发送事务。尽管本文描述的实施例与包括多个处理器、诸如输入/输出集线器(10H)的芯片集、外围控制器集线器等等的多处理器系统相结合,但是应该理解,本专利技术的范围并不局限于这一方面,并且可以适用于规定到某些数据的共享访问的其它系统。现在参照图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所示,存在三个代理,S卩,请求程序处理器(PR0C1)、对等处理器(PR0C2)和在图2的实施例中可以是IO集线器的静默控制装置。尽管仅示出了三个这样的代理,但是应该理解,本专利技术的范围并不局限于这一方面,并且在许多实施例中,可以存在多于两个的处理节点和多于单个的静默控制装置。而且,尽管将对等和请求程序代理表示为处理器,但是应该理解,本专利技术的范围并不局限于这一方面,并且在其它实施例中,诸如控制器、图形芯片等等的其它设备也可以是代理。如在图2中看到的,当请求程序初始化被指向静默控制装置的处理锁定请求(ProcLock)时,操作可以开始。连同这一锁定请求一起发送的是对于所述锁定请求的地址。也就是说,不是简单地请求整体锁定,因而使所有其它代理使沿着它们的互连的它们的操作静默),所述请求只针对到由所述地址表示的给定存储器区域的锁定。如所看到的,对在所述静默控制装置中这一请求的接收做出响应,所述控制装置将锁定消息发送到所述系统的代理。具体地说,如在图2中看到的,这一锁定消息(StopReql)能够被发送(连同对于其做出锁定的地址)到对等代理,并且此外,这一锁定消息也能够被发送到请求程序。对接收到这一锁定消息做出响应,对等代理能够将条目写入其锁定跟踪缓冲器中以便将这一地址指示为受锁定影响。当完成这一步骤时,对等代理能够将确认发送回到静默控制装置(即,完成消息(CmpD))。如进一步看到的,请求程序也可以发送这一消息的确认。接着,静默控制装置可以将另一锁定消息发送到代理,该另一锁定消息可以用于死锁避免的目的。注意到,这一锁定消息(StopReq2)不跟随有相关联的地址。在确认所述代理接收到这一锁定消息时,现在可以进入锁定阶段。也就是说,请求程序可以执行其期望的原子操作,因为确保没有其它代理正在本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:P·S·支
申请(专利权)人:英特尔公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1