用于改善跨越相干总线的信号量管理序列的性能的方法和设备的制造方法

文档序号:9383075阅读:249来源:国知局
用于改善跨越相干总线的信号量管理序列的性能的方法和设备的制造方法
【专利说明】用于改善跨越相干总线的信号量管理序列的性能的方法和设备
[0001]优先权串请
[0002]本申请要求2013年7月2日提交的名称为“用于改善跨越相干总线的信号量管理序列的性能的方法和设备(METHODS AND APPARATUS FOR IMPROVING PERFORMANCE OFSEMAPHORE MANAGEMENT SEQUENCES ACROSS A COHERENT BUS)” 的序列号为 13/933,337 的美国专利申请的优先权,该申请进一步要求2013年4月11日提交的名称为“用于改善跨越相干总线的信号量管理序列的性能的方法和设备(METHODS AND APPARATUS FOR IMPROVINGPERFORMANCE OF SEMAPHORE MANAGEMENT SEQUENCES ACROSS A COHERENT BUS)” 的序列号为61/810,889的美国临时专利申请的优先权,这两份申请的全文都以引用的方式并入本文中。
技术领域
[0003]本发明的实施例大体上涉及信号量管理方面,且更具体来说涉及跨越相干总线的信号量管理。
【背景技术】
[0004]许多便携式产品(例如蜂窝电话、膝上型计算机、个人数据助理(PDA)及类似者)利用执行程序(例如通信和多媒体程序)的处理系统。用于此类产品的处理系统可以包括多个处理器、包括用于存储指令和数据的多层高速缓冲存储器和存储器的复杂存储器系统、控制器、例如通信接口的外围装置和配置(例如)在单芯片上的固定功能逻辑块。
[0005]多处理器(MP),例如双核处理器或四核处理器,总体上设计成一种利用多层存储器层级的共享存储器系统。在此共享存储器MP中,数据可以组织成私用数据和共享数据。私用数据进一步组织为由MP中的每一处理器在本机使用。共享数据必需一种机制在处理器当中高效地传送数据,并且在处理器之间高效地维持数据的一致性。在处理器当中高效地传送数据的一种机制是在多层存储器层级内使用相干总线,所述相干总线支持一致性协议以确保共享的数据在处理器中的每一者之间是一贯的。
[0006]举例来说,可以在必需共享数据的一致性的高速缓冲存储器级使用总线,例如在共享存储器层级中的第2层高速缓冲存储器位置。在与MP中的每一处理器相关联的每一第2层高速缓冲存储器之间利用相干总线。已经研发了多种协议来维持共享的数据的一致性,例如修改自有排他共享无效(MOESI)协议。在MOESI协议中,每一高速缓冲存储线用某种方式标记,以指示所述高速缓冲存储线是下面哪种情况:高速缓冲存储线仅仅存在于当前高速缓冲存储器中并且是已使用的(修改),高速缓冲存储线仅仅存在于当前高速缓冲存储器中并且是干净的(排他),高速缓冲存储线可以存储在MP中的其它高速缓冲存储器中,并且在当前高速缓冲存储器中是已使用的(自有),高速缓冲存储线可以存储在MP中的其它高速缓冲存储器中,并且在当前高速缓冲存储器中是干净的(共享),高速缓冲存储线在当前高速缓冲存储器中是无效的(无效)。每当写入到高速缓冲存储线时检查MOESI状态以便确定写入对在多个高速缓冲存储器中共享的对应数据的影响。
[0007]在多处理器中,每一处理代理使用专门的指令进行信号量管理。信号量管理通常包括一对专门加载和存储指令,以读取存储器位置、设置保留粒度(reservat1ngranule),并且基于保留粒度的状态来条件性地写入存储器位置。如果两个或更多个处理器正在竞争获得相同信号量,则跨越总线维持高速缓冲存储器一致性的系统有这些信号量管理指令导致活锁或性能不佳的可能。

【发明内容】

[0008]在本发明的几个方面当中,本发明认识到期望提供用于跨越相干总线的信号量管理的更高效的方法和设备。为了这些目的,本发明的一实施例提出一种用于多处理器中的跨越相干总线的信号量管理的方法。响应于从第一处理器发出的加载排他指令确定在所述第一处理器本机的第一高速缓冲存储器在目标地址处未中。在从所述第一高速缓冲存储器到在第二处理器本机的第二高速缓冲存储器的相干总线上发出读取偏好型排他命令。响应于所述读取偏好型排他命令,确定所述第二高速缓冲存储器中的保留粒度处于未标记状态。响应于所述确定针对此地址在所述第二高速缓冲存储器中的所述保留粒度处于所述未标记状态,使所述第二高速缓冲存储器中的所述高速缓冲存储线失效。
[0009]另一个实施例提出一种用于多处理系统中的跨越相干总线的信号量管理的设备。第一高速缓冲存储器控制器经配置以响应于第一高速缓冲存储器具有加载排他指令提供的目标地址处的数据未中,在从所述第一高速缓冲存储器到第二高速缓冲存储器的相干总线上发出读取偏好型排他命令,其中所述第一高速缓冲存储器耦合到发出了所述加载排他指令的第一处理代理并且所述第二高速缓冲存储器耦合到第二处理代理。第二高速缓冲存储器控制器经配置以监听所述相干总线,并且响应于监听到的读取偏好型排他命令和所述第二高速缓冲存储器中的保留粒度针对此目标地址经过标记,确保所述第二高速缓冲存储器中的所述线的状态处于有效和共享状态。
[0010]另一个实施例提出一种用于多处理器中的跨越相干总线的信号量管理的方法。响应于从第一处理器发出的加载排他指令,确定在所述第一处理器本机的第一高速缓冲存储器在目标地址处命中,其中所述存取的第一高速缓冲存储线处于共享或自有状态。在从所述第一高速缓冲存储器到在第二处理器本机的第二高速缓冲存储器的相干总线上发出升级偏好型排他命令。响应于所述升级偏好型排他命令,确定所述第二高速缓冲存储器在所述目标地址处命中,其中所述存取的第二高速缓冲存储线的保留粒度处于未标记状态。响应于所述第二高速缓冲存储线处于共享状态,将所述第一处理器所请求的所述线升级成排他状态。
[0011]另一实施例提出一种编码有计算机可读程序数据和代码的计算机可读非暂时性媒体。响应于从第一处理器发出的加载排他指令确定在所述第一处理器本机的第一高速缓冲存储器在目标地址处未中。在从所述第一高速缓冲存储器到在第二处理器本机的第二高速缓冲存储器的相干总线上发出读取偏好型排他命令。响应于所述第二高速缓冲存储器中针对此地址的保留粒度处于未标记状态,使所述第二高速缓冲存储器中的所述高速缓冲存储线失效。
[0012]另一个实施例提出一种用于多处理系统中的跨越相干总线的信号量管理的设备。利用装置响应于第一高速缓冲存储器具有加载排他指令提供的目标地址处的数据未中,在从所述第一高速缓冲存储器到第二高速缓冲存储器的相干总线上发出读取偏好型排他命令,其中所述第一高速缓冲存储器耦合到发出了所述加载排他指令的第一处理代理并且所述第二高速缓冲存储器耦合到第二处理代理。利用装置来监听所述相干总线,并且响应于监听到的读取偏好型排他命令和所述第二高速缓冲存储器中的保留粒度针对此目标地址经过标记,确保所述第二高速缓冲存储器中的所述线的状态处于有效和共享状态。
[0013]应理解,所属领域的技术人员从以下详细描述将容易明白本发明的其它实施例,其中借助于说明来示出和描述本发明的各种实施例。将认识到,本发明能够在全部不脱离本发明的精神和范围的情况下具有其它及不同实施例且其若干细节能够在各种其它方面加以修改。因此,附图和详细描述应被视为本质上是说明性的而不是限制性的。
【附图说明】
[0014]在附图中作为实例而非作为限制说明本发明的各种方面,其中:
[0015]图1说明双核多处理器(MP)系统;
[0016]图2A说明两个处理代理之间的信号量管理的基本实例;
[0017]图2B说明跨越相干总线的信号量管理的第一场景;
[0018]图2C说明跨越相干总线的信号量管理的第二场景;
[0019]图2D说明跨越相干总线的信号量管理的第三场景,其说明活锁的情形;
[0020]图3A说明具有对高效活锁避免的支持的信号量管理过程;
[0021]图3B说明读取偏好型排他信号量管理过程;
[0022]图3C说明升级偏好型排他信号量管理过程;
[0023]图4A说明使用读取偏好型排他总线命令的示范性第一信号量管理技术;
[0024]图4B说明使用读取偏好型排他总线命令的示范性第二信号量管理技术;
[0025]图4C说明使用升级偏好型排他总线命令的示范性第三信号量管理技术;以及
[0026]图5说明根据本发明的实施例的利用具有高效活锁避免的示范性信号量管理的便携式装置的特定实施例。
【具体实施方式】
[0027]下文结合附图阐述的详细描述意图作为对本发明的各种示例性实施例的描述,且并不意图表示可以实践本发明的仅有实施例。为了提供对本发明的透彻理解,详细描述包含一些具体细节。然而,所属领域的技术人员将明白,可以在没有这些具体细节的情况下实践本发明。在一些情况下,以框图形式示出众所周知的结构和组件以便避免混淆本发明的概念。
[0028]图1说明多处理器(MP)系统100。MP系统100包括双核系统102,双核系统102具有第一处理代理(PX1)104(例如第一核心处理器)、第I层数据高速缓冲存储器-1 (LlDcache-1) 105、L2高速缓冲存储器和控制器-1 106、第二处理代理(PX2)108(例如第二核心处理器)、第I层数据高速缓冲存储器-2 (LlDcache-2) 109、L2高速缓冲存储器和控制器-2 110、相干总线114和主存储器116。L2高速缓冲存储器
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1