用于附接处理器的可编程一致代理的制作方法

文档序号:6520179阅读:200来源:国知局
用于附接处理器的可编程一致代理的制作方法
【专利摘要】主要一致系统内的一致附接处理器代理(CAPP)代表附接处理器(AP)参与主要一致系统的系统构造上的操作,该AP在主要一致系统的外部,并且耦接至CAPP。操作包括与CAPP通信的、包括请求和至少一个一致性消息的多个组件。CAPP通过参考可以重新编程的CAPP内的至少一个可编程数据结构来确定操作的组件中的一个或多个组件。
【专利说明】用于附接处理器的可编程一致代理【技术领域】
[0001]本发明涉及数据处理,并且更具体地涉及用于附接处理器的一致代理。
【背景技术】
[0002]诸如服务器计算机系统的传统的分布式共享存储器计算机系统包括全部耦接到系统互连的多个处理单元,该系统互连通常包括一个或多个地址、数据和控制总线。系统存储器耦接到系统互连,系统存储器表示多处理器计算机系统中最低等级的易失性存储器,并且一般地对于所有处理单元的读取和写入访问是可访问的。为了减少对驻留在系统存储器中的指令和数据的访问延迟,每个处理单元通常还由相应的多层高速缓存层级支持,该层级的较低级可以由一个或多个处理器核共享。
[0003]因为多个处理器核可以请求对相同存储器块(例如,高速缓存线或者扇区)的写入访问,并且因为被修改的高速缓存的存储器块没有立即与系统存储器同步,所以多处理器计算机系统的高速缓存层级通常实现高速缓存一致性协议,以保证在系统存储器的内容的各个处理器核的“视图”之间的至少最小所需一致性等级。最小所需一致性等级通过选择的存储器一致性模型来确定,该存储器一致性模型定义装置排序的规则以及对分布式共享存储器的更新的可见性。在所有的存储器一致性模型中,在弱一致性模型和强一致性模型之间的连续体(continuum)中,高速缓存一致性最低限度地要求:在处理单元访问存储器块的副本、并且随后访问存储器块的更新副本之后,处理单元无法再次访问存储器块的老(“旧”)副本。
[0004]高速缓存一致性协议通常定义与存储器块的高速缓存副本相关联地存储的一组高速缓存状态,以及高速缓存状态与要进行转换(transition)的高速缓存状态之间的事件触发转换。一致性协议一般地可以分类为基于目录的协议或者基于监听(snoop)的协议。在基于目录的协议中,公共的中心目录通过控制高速缓存对存储器块的访问、并且通过更新或者无效各种高速缓存中保持的存储器块的副本,来维持一致性。另一方面,基于监听的协议实现分布式设计范式,其中,每个高速缓存维持其内容的私有目录,针对目标是高速缓存中保持的存储器块的存储器访问请求而监控(“监听”)系统互连,通过更新其私有目录来应答存储器访问请求,并且如果需要的话,通过发送一致性消息和/或其存储器块的副本来应答存储器访问请求。
[0005]一致性协议的高速缓存状态例如可以包括那些已知的MESI (修改、专用、共享、无效)协议或者其变体。MESI协议允许数据的高速缓存线利用以下四个状态中的一个状态来标记:“M”(修改)、“E”(专用)、“S”(共享)和“I”(无效)。修改状态指示存储器块仅在保持修改存储器块的高速缓存中有效,并且存储器块与系统存储器不一致。专用状态指示相关联的存储器块与系统存储器相一致,并且相关联的高速缓存仅是保持相关联的存储器块的数据处理系统的高速缓存。共享状态指示:相关联的存储器块驻留在相关联的高速缓存以及可能的一个或多个其他高速缓存中,并且存储器块的所有副本与系统存储器相一致。最后,无效状态指示利用一致性颗粒相关联地标记的数据和地址都是无效的。
【发明内容】

[0006]在至少一个实施方式中,主要一致系统的一致附接处理器代理(CAPP)接收来自附接处理器(AP)的存储器访问请求以及相关于AP的高速缓存存储器的存储器访问请求的目标地址的预期一致性状态。作为响应,CAPP确定目标地址的一致性状态以及预期状态与所确定的一致性状态是否相匹配。响应于确定预期状态与所确定的一致性状态相匹配,CAPP在主要一致系统的系统构造上发布与从AP接收的存储器访问请求相对应的存储器访问请求。响应于确定预期状态与由CAPP确定的一致性状态不匹配,CAPP向AP发送失败消息,而不在系统构造上发布与从AP接收的存储器访问请求相对应的存储器访问请求。
[0007]在至少一个实施方式中,响应于在一致附接处理器代理(CAPP)处接收存储器访问请求和附接处理器处的预期一致性状态,CAPP确定冲突请求正在被服务。响应于确定CAPP正在服务冲突请求、并且预期状态匹配,CAPP的控制机(master)机器被分配在停止状态中,以便在完成冲突请求的服务之后服务存储器访问请求。停止状态防止CAPP服务在系统构造上监听到的进一步冲突请求。响应于完成冲突请求的服务,控制机机器转换出停止状态,并且在系统构造上发布与从AP接收的存储器访问请求相对应的存储器访问请求。
[0008]在至少一个实施方式中,主要一致系统内的一致附接处理器代理(CAPP)代表附接处理器(AP)参与主要一致系统的系统构造上的操作,该AP在主要一致系统外部并且耦接至CAPP。操作包括与CAPP通信的、包括请求和至少一个一致性消息的多个组件。CAPP通过参考可以重新编程的CAPP内的至少一个可编程数据结构来确定操作的组件中的一个或多个组件。
【专利附图】

【附图说明】
[0009]图1是示例性数据处理系统的高层框图,其中,一致设备通过代理跨越通信链路参与主要一致系统;
[0010]图2是图1的数据处理系统的示例性实施方式的更加详细的框图;
[0011]图3是图2的数据处理系统中的处理单元的示例性实施方式的更加详细的框图;
[0012]图4是对图2的数据处理系统的系统的系统构造的示例性操作的时空图;
[0013]图5是图3的处理单元中的、一致附接处理器代理(CAPP)的更加详细的框图;
[0014]图6是根据一个实施方式的、CAPP —致地处理从附接处理器(AP)接收的存储器访问请求的示例性过程的高层逻辑流程图;
[0015]图7是根据一个实施方式的、CAPP —致地处理监听到的存储器访问请求的示例性过程的高层逻辑流程图;
[0016]图8是AP请求一致地更新其附接到的主要一致系统内的存储器块的示例性处理场景的第一时空图;
[0017]图9是AP请求一致地更新其附接到的主要一致系统内的存储器块的示例性处理场景的第二时空图;
[0018]图10是AP请求一致地更新其附接到的主要一致系统内的存储器块的示例性处理场景的第三时空图;以及
[0019]图11是示例性设计过程的数据流图。【具体实施方式】
[0020]现在参考附图尤其是参考图1,示出了示例性数据处理系统100的高层框图,其中一致设备通过代理跨越通信链路参与主要一致系统。如图所示,数据处理系统100包括主要一致系统102,其中通过实现一致协议(诸如公知的MESI协议或者其变体)而维持分布式共享存储器的一致性。一致性协议在不同的实施方式中可以是基于目录的或者基于监听的,其特征在于针对每个存储器访问请求确定全系统的一致性响应。
[0021]如图所示,可以通过将附接处理器(AP) 104通过通信链路108耦接到主要一致系统102而扩展数据处理系统100的功能。AP104例如可以实现为现场可编程门阵列(FPGA)、专用集成电路(ASIC)或者其他通用或者专用处理器或系统。在各种实施方式中,AP104例如可以充当协同处理器(co-processor),其从主要一致系统102卸载预先确定的处理任务,提供数据处理系统100的通用处理能力的低成本扩展,和/或提供与在主要一致系统102外部的异构系统的接口。为了支持AP104的这些以及其他可能功能,AP104优选地包括高速缓存106,该高速缓存106在主要一致系统102的一致存储器地址空间中保持存储器块的本地副本,以支持由AP104对那些存储器块的低延迟访问。
[0022]在很多情况下,用于实现AP104、高速缓存106和/或通信链路108的技术不具有足够的速度、带宽和/或可靠性,来保证AP104可以在主要一致系统102的一致性协议所需要的有限时间范围内、参与确定针对存储器访问请求的全系统一致性响应。因此,主要一致系统102还包括一致附接处理器代理(CAPP)llO,其代表AP104在满足主要一致系统102的一致性协议的定时要求的时间范围内、参与确定针对AP104的全系统一致相应。虽然不是必须的,但是优选的是,如果CAPP110是可编程的,则可以被编程为支持AP104的多个不同实现中的任意一个。
[0023]现在参考图2,绘出了数据处理系统200的更加详细的框图,数据处理系统200是图1的数据处理系统100的多种可能实施方式中的一种。数据处理系统200例如可以利用IBM Power服务器,即纽约阿蒙克的国际商业机器公司的生产线来实现。
[0024]在所绘出的实施方式中,数据处理系统200是分布式共享存储器多处理器(MP)数据处理系统,其包括多个处理单元202a-202m。处理单元202a_202m中的每一个由共享系统存储器204a-204m中的相应一个来支持,该共享系统存储器204a_204m的内容一般地可以被处理单元202a-202m中的任意一个访问。处理单元202a_202m还被耦接用于与系统构造206通信,该系统构造206可以包括一个或多个总线式、交换式和/或无线通信链路。系统构造206上的通信包括请求由处理单元202进行的存储器访问请求,该存储器访问请求用于请求对各个共享系统存储器204a-204m内的各个存储器块的一致访问。
[0025]如图2进一步所示,处理单元204a_204m中的一个或多个还耦接至提供扩展连接性的一个或多个通信链路210。例如,处理单元202a和202m分别耦接至通信链路210a-210k和210p-210v,通信链路210a_210k和210p_210v例如可以利用外围组件互连高速(PCIe)本地总线来实现。如图所示,通信链路210可以用于支持输入/输出适配器(IOA)(诸如10A212a、212p和212v)的直接或者间接耦接,IOA例如可以是网络适配器、存储设备控制器、显示器适配器、外围适配器等。例如,10A212p是耦接至外部数据网络214的网络适配器,其可选地通过1/0构造216p耦接至通信链路210p,该1/0构造216p可以包括一个或多个交换机和/或桥接器。以相似的方式,10A212V是控制存储设备218的存储设备控制器,其可选地通过I/O构造216v耦接至通信链路210v。如参考图1所讨论的,通信链路210还可以用于支持一个或多个AP104直接附接到处理单元202 (如同AP104k的情况,该AP104k通过通信链路210k耦接至处理单元202a),或者通过中间I/O构造216间接附接至处理单元202 (如AP104w的情况,该AP104w可以通过通信链路210v和可选的I/O构造216v耦接至处理单元202m)。
[0026]数据处理系统200还包括服务处理器220,该服务处理器220管理数据处理系统200的启动过程,并且之后监控和报告性能和数据处理系统200中检测到的错误情况。服务处理器220耦接至系统构造206,并且由本地存储器222支持,该本地存储器222可以包括易失性存储器(例如,动态随机访问存储器(DRAM))和非易失性存储器(例如,非易失性随机访问存储器(NVRAM)或者静态随机访问存储器(SRAM))。服务处理器220还耦接至邮箱接口 224,服务处理器220通过该邮箱接口 224与通信链路210a传送I/O操作。
[0027]本领域技术人员将理解,数据处理系统的架构和组件将可以在实施方式之间进行变化。例如,可以备选地或者附加地使用其他设备和互连。因此,图2中给出的示例性数据处理系统200并不旨在暗示对所要求保护的发明的架构性限制。
[0028]现在参考图3,示出了图2的数据处理系统200中的处理单元202的示例性实施方式的更加详细的框图。在所绘出的实施方式中,每个处理单元202优选地实现为单集成电路芯片,其具有衬底,在衬底上制造半导体电路,如本领域所知。
[0029]每个处理单元202包括用于独立地处理指令和数据的多个处理器核302a_302n。每个处理器核302至少包括:用于获取指令并且对其进行排序以用于执行的指令序列单元(ISU) 304,以及用于执行指令的一个或对个执行单元306。执行单元306所执行的指令例如可以包括固定和浮点算数指令、逻辑指令、请求对数据处理系统200的一致地址空间中的存储器块的读取和写入访问的指令。
[0030]每个处理器核302a_302n的操作由多层易失性存储器层级支持,该多层易失性存储器层级在其最低层处具有一个或多个共享系统存储器204 (图3中仅示出其中一个),并且在其较高层处具有一个或多个高速缓存存储器层。如图所示,处理单元202包括集成存储器控制器(MO324,其控制响应于接收自处理器核302a-302n的请求而对相关联的系统存储器204的读取和写入访问以及在系统构造206上接收的操作。
[0031]在示意实施方式中,处理单元202的高速缓存存储器层级包括:每个存储器核302a-302n内的通过式存储(store-through)层I (LI)的高速缓存308以及进入式存储(store-1n)层2 (L2)高速缓存310。如图所示,L2高速缓存310包括L2阵列和目录314、控制机312和监听器316。控制机312响应于从相关联的处理器核302接收的存储器访问(和其他)请求,而在系统构造206上发起事务,并且访问L2阵列和目录314。监听器316检测系统构造206上的操作,提供适当的响应,并且执行操作所需的对L2阵列和目录314的任何访问。虽然示出的高速缓存层级仅包括高速缓存的两个层,但是本领域技术人员将理解,备选实施方式可以包括私有或共享、片上或片下、协同或者后备高速缓存的附加的层(L3、L4等),其可以完全包含、部分包含或者不包含高速缓存的较高层的内容。
[0032]进一步如图3所示,处理单元202包括集成互连逻辑320以及响应逻辑的实例322,处理单元202通过集成互连逻辑320耦接至系统构造206,在采用基于监听的一致性的实施方式中,响应逻辑的实例322实现维护处理单元202的高速缓存层级的一致性的分布式一致性消息收发机制的一部分。处理单兀202还包括一个或多个集成I/O (输入/输出)控制器330 (例如,PCI主机桥接器(PHB)),控制器330支持经由一个或多个通信链路210的I/O通信。处理单元202还包括先前描述的CAPP110。如图所示,CAPP110可以可选地包括专用I/O控制器332 (例如,PHB), CAPPl 10通过该专用I/O控制器332支持外部通信链路210k上的通信,AP104k也耦接到外部通信链路210k。在备选实施方式中,可以省略专用I/O控制器332,并且CAPP110可以经由共享I/O控制器330与AP104通信。
[0033]本领域技术人员将理解,数据处理系统200可以包括多种附加或者备选组件。因为这样的附加组件对于理解本发明不是必要的,所以在图3中没有示出或者在此没有进一步讨论。
[0034]现在参考图4,绘出了根据基于监听的一致性协议的一个实施方式的、在图2的数据处理系统200的系统构造206上的示例性操作的时空图。操作在控制机400 (例如,L2高速缓存310的控制机312、I/O控制器330内的控制机、或者CAPPl 10中的控制机)在系统构造206上发布请求时开始。请求402优选地至少包括:指示期望访问的类型的事务类型以及指示请求要访问的源的源标识符(例如,真实地址)。通常的请求类型优选地包括以下表1中阐述的那些。
[0035]表1
[0036]
【权利要求】
1.一种用于数据处理的方法,包括: 主要一致系统内的一致附接处理器代理(CAPP)代表附接处理器(AP)参与所述主要一致系统的系统构造上的操作,所述AP在所述主要一致系统的外部并且耦接至所述CAPP,其中所述操作包括与所述CAPP通信的、包括请求和至少一个一致性消息的多个组件; 所述CAPP通过参考所述CAPP内的至少一个可编程数据结构来确定所述操作的组件中的一个或多个组件;以及 对所述CAPP内的所述至少一个可编程数据结构进行重新编程。
2.根据权利要求1所述的方法,其中通过参考所述CAPP内的至少一个可编程数据结构来确定所述操作的组件中的一个或多个组件包括:确定所述AP的部分响应。
3.根据权利要求1所述的方法,其中通过参考所述CAPP内的至少一个可编程数据结构来确定所述操作的组件中的一个或多个组件包括:确定表示对所述请求的全系统一致性响应的组合响应。
4.根据权利要求3所述的方法,其中: 参与所述操作包括:所述CAPP内的控制机机器发布所述请求;以及确定表示对所述请求的全系统一致性响应的组合响应包括:所述CAPP将从所述系统构造接收的所述组合响应翻译为内部组合响应消息,并且向所述控制机机器呈现所述内部组合响应消息。
5.根据权利要求1所述的方法,其中: 通过参考所述CAPP内的至少一个可编程数据结构来确定所述操作的组件中的一个或多个组件包括:通过参考所述至少一个可编程数据结构中的事务类型翻译来确定所述操作的所述请求,所述至少一个可编程数据结构将由所述AP请求的事务类型翻译为在所述系统构造上采用的不同的事务类型;以及 参与操作包括:所述CAPP在所述系统构造上发布所述请求。
6.根据权利要求1所述的方法,还包括: 响应于在所述CAPP处从所述AP接收到存储器访问请求和预期一致性状态,所述CAPP确定相关于所述CAPP的目标地址的一致性状态,并且确定所述预期状态是否与由所述CAPP确定的所述一致性状态相匹配; 响应于确定所述预期状态与由所述CAPP确定的所述一致性状态相匹配,所述CAPP发布与在所述主要一致系统的所述系统构造上从所述AP接收的存储器访问请求相对应的存储器访问请求;以及 响应于确定所述预期状态与由所述CAPP确定的所述一致性状态不匹配,所述CAPP向所述AP发送失败消息,而不在所述系统构造上发布与从所述AP接收的存储器访问请求相对应的存储器访问请求。
7.根据权利要求6所述的方法,其中: 所述CAPP包括一个或多个控制机机器以及一个或多个监听机器; 所述CAPP确定所述目标地址的一致性状态包括:所述CAPP确定由所述CAPP目录指示的所述目标地址的所述一致性状态; 所述CAPP发送失败 消息包括:所述CAPP响应于确定由所述CAPP目录指示的一致性状态与所述预期状态不匹配而发送所述失败消息;所述方法还包括:在所述一个或多个控制机机器中分配停止状态的控制机机器用以服务所述存储器访问请求;以及 当所述控制机机器在停止状态中时,所述CAPP抑制响应于接收到与所述目标地址相冲突的监听到的存储器访问请求而将一个或多个监听机器中的一个转换到活跃状态。
8.根据权利要求7所述的方法,其中: 所述监听到的存储器访问请求是第一监听到的存储器访问请求;以及 所述方法还包括: 当所述控制器机器在所述停止状态中时,响应于接收到与所述目标地址相冲突的第二监听到的存储器访问请求,所述CAPP将所述一个或多个监听机器中的一个监听机器转换到活跃状态。
9.根据权利要求7所述的方法,其中所述CAPP确定所述目标地址的一致性状态包括:所述CAPP使用一致性信息的多个不同源的优先次序来确定所述一致性状态,其中所述一致性信息的多个不同源包括所述CAPP目录和所述一个或多个监听机器。
10.根据权利要求1所述的方法,其中: 所述CAPP包括代表所述AP发布请求的控制机机器以及代表所述AP服务监听到的请求的监听机器;以及 对所述CAPP内的所述至少一个可编程数据结构进行重新编程包括:修改所述控制机机器和所述监听机器中的至少一个的行为。
11.一种一致附接处理器代理(CAPP),包括: 传送逻辑,其具有第一接口和第二接口,所述第一接口被配置用于支持与主要一致系统的系统构造的通信,所述第二接口被配置用于支持与所述主要一致系统外部的附接处理器(AP)的通信; 监听器逻辑,代表所述AP参与从所述系统构造监听到的操作;以及 控制机逻辑,代表所述AP参与所述控制机逻辑在所述系统构造上发起的操作,其中所述操作中的每一个操作包括与所述CAPP通信的、包括请求和至少一个一致性消息的多个组件; 其中所述CAPP通过参考所述CAPP内的至少一个可编程数据结构来确定所述操作的所述组件中的一个或多个组件,并且其中所述CAPP响应于一输入而更新所述至少一个可编程数据结构。
12.根据权利要求11所述的一致附接处理器代理(CAPP),其中由所述CAPP通过参考所述至少一个可编程数据结构而确定的所述操作的所述组件中的一个或多个组件包括所述AP的部分响应。
13.根据权利要求11所述的一致附接处理器代理(CAPP),其中由所述CAPP参考所述至少一个可编程数据结构而确定的所述操作的所述组件中的一个或多个组件包括表示对请求的全系统一致性响应的组合响应。
14.根据权利要求13所述的一致附接处理器代理(CAPP),其中: 所述控制机逻辑包括代表所述AP发布请求的控制机机器;以及 所述至少一个可编程数据结构包括组合响应数据结构,所述组合响应数据结构将从所述系统构造接收的所述组合响应翻译为内部组合响应消息,并且向所述控制机机器呈现所述内部组合响应消息。
15.根据权利要求11所述的一致附接处理器代理(CAPP),其中: 所述至少一个可编程数据结构包括控制机数据结构,该控制机数据结构将由所述AP请求的事务类型翻译为在所述系统构造上采用的不同的事务类型。
16.根据权利要求11所述的一致附接处理器代理(CAPP),其中所述控制机逻辑响应于接收到来自所述AP的存储器访问请求以及相关于所述AP的所述高速缓存存储器的存储器访问请求的目标地址的预期一致性状态,而确定相关于所述CAPP的所述目标地址的一致性状态,并且确定所述预期状态与由所述CAPP确定的所述一致性状态是否匹配,以及 其中所述控制机逻辑响应于确定所述预期状态与由所述CAPP确定的所述一致性状态相匹配,在所述主要一致系统的所述系统构造上发布与从所述AP接收的存储器访问请求相对应的存储器访问请求,并且响应于确定所述预期状态与由所述CAPP确定的所述一致性状态不匹配,向所述AP发送失败消息,而不在所述系统构造上发布与从所述AP接收的存储器访问请求相对应的存储器访问请求。
17.根据权利要求16所述的一致附接处理器代理(CAPP),其中: 所述控制机逻辑包括一个或多个控制机机器; 所述监听器逻辑包括一个或多个监听机器; 所述控制机逻辑响应于确定由所述CAPP目录针对所述目标地址指示的一致性状态与所述预期状态不匹配而发送所述失败消息; 所述控制机逻辑从所述一个或多个控制机机器之中分配停止状态的控制机机器用以服务所述存储器访问请求;以及 在所述控制机机器在停止状态中时,所述监听器逻辑抑制响应于接收到与所述目标地址相冲突的监听到的存储器访问请求而将所述一个或多个监听机器中的一个转换到活跃状态。
18.根据权利要求17所述的一致附接处理器代理(CAPP),其中: 所述监听到的存储器访问请求是第一监听到的存储器访问请求;以及 在所述控制机机器正在停止状态中时,所述监听器逻辑响应于接收到与所述目标地址相冲突的第二监听到的存储器访问请求而将所述一个或多个监听机器中的一个监听机器转换到活跃状态。
19.根据权利要求17所述的一致附接处理器代理(CAPP),其中所述CAPP使用一致性信息的多个不同源的优先次序来确定所述目标地址的所述一致性状态,其中所述一致性信息的所述多个不同源包括所述CAPP目录和所述一个或多个监听机器。
20.根据权利要求11所述的一致附接处理器代理(CAPP),其中: 所述控制机逻辑包括代表所述AP发布请求的控制机机器,并且所述监听器逻辑包括代表所述AP服务监听到的请求的监听机器;以及 通过更新所述CAPP内的所述至少一个可编程数据结构来修改所述控制机机器和所述监听机器中的至少一个的行为。
21.一种处理单元,包括: 至少一个处理器核; 耦接至所述处理器核的高速缓存;以及根据权利要求11所述的一致附接处理器代理(CAPP)。
22.—种数据处理系统,包括: 主要一致系统,包括: 系统构造; 多个处理单元,耦接至用于在所述多个处理单元之间通信的所述系统构造,其中所述多个处理单元之中的处理单元包括: 至少一个处理器核; 耦接至所述处理器核的高速缓存;以及 一致附接处理器代理(CAPP)包括: 传送逻辑,具有第一接口和第二接口,所述第一接口被配置用于支持与主要一致系统的系统构造的通信,并且所述第二接口被配置用于支持与所述主要一致系统外部的附接处理器(AP)的通信; 监听器逻辑,代表所述AP参与从所述系统构造监听到的操作;以及控制机逻辑,代表所述AP参与由所述控制机逻辑在所述系统构造上发起的操作,其中所述操作中的每一个操作包括与所述CAPP通信的、包括请求和至少一个一致性消息的多个组件; 其中所述CAPP通过参考所述CAPP内的至少一个可编程数据结构来确定所述操作的所述组件中的一个或多个组件,并且其中所述CAPP响应于一输入而更新所述至少一个可编程数据结构。
23.根据权利要求22所述的数据处理系统,其中由所述CAPP通过参考所述至少一个可编程数据结构而确定的所述操作的所述组件中的一个或多个组件包括所述AP的部分响应。
24.根据权利要求22所述的数据处理系统,其中由所述CAPP通过参考所述至少一个可编程数据结构而确定的所述操作的所述组件中的一个或多个组件包括表示对请求的全系统一致性响应的组合响应。
25.根据权利要求24所述的数据处理系统,其中: 所述控制机逻辑包括代表所述AP发布请求的控制机机器;以及所述至少一个可编程数据结构包括组合响应数据结构,所述组合响应数据结构将从所述系统构造接收的所述组合响应翻译为内部组合响应消息,并且向所述控制机机器呈现所述内部组合响应消息。
26.根据权利要求22所述的数据处理系统,其中: 所述至少一个可编程数据结构包括控制机数据结构,所述控制机数据结构将由所述AP请求的事务类型翻译为在所述系统构造上采用的不同事务类型。
27.根据权利要求22所述的数据处理系统,其中所述控制机逻辑响应于接收到来自所述AP的存储器访问请求以及相关于所述AP的所述高速缓存存储器的存储器访问请求的目标地址的预期一致性状态,确定相关于所述CAPP的所述目标地址的一致性状态,并且确定所述预期状态与由所述CAPP确定的所述一致性状态是否匹配,并且其中所述控制机逻辑响应于确定所述预期状态与由所述CAPP确定的所述一致性状态相匹配,在所述主要一致系统的所述系统构造上发布与从所述AP接收的存储器访问请求相对应的存储器访问请求,并且响应于确定所述预期状态与由所述CAPP确定的所述一致性状态不匹配,则向所述AP发送失败消息,而不在所述系统构造上发布与从所述AP接收的存储器访问请求相对应的存储器访问请求。
28.根据权利要求27所述的数据处理系统,其中: 所述控制机逻辑包括一个或多个控制机机器; 所述监听器逻辑包括一个或多个监听机器; 所述控制机逻辑响应于确定由所述CAPP目录针对所述目标地址而指示的一致性状态与所述预期状态不匹配,而发送所述失败消息; 所述控制机逻辑从所述一个或多个控制机机器之中分配停止状态中的控制机机器用以服务所述存储器访问请求;以及 在所述控制机机器在所述停止状态中时,所述监听器逻辑抑制响应于接收到与所述目标地址相冲突的监听到的存储器访问请求而将所述一个或多个监听机器中的一个转换到活跃状态。
29.根据权利要求28所述的数据处理系统,其中: 所述监听到的存储器访问请求是第一监听到的存储器访问请求;以及在所述控制机正在所述停止状态中时,所述监听器逻辑响应于接收到与所述目标地址相冲突的第二监听到的存储器访问请求而将所述一个或多个监听机器中的一个监听机器转换到活跃状态。
30.根据权利要求27所述的数据处理系统,其中所述CAPP使用一致性信息的多个不同源的优先次序来确定所述目标地址的所述一致性状态,其中所述一致性信息的多个不同源包括所述CAPP目录和所述一个或多个监听机器。
31.根据权利要求22所述的数据处理系统,其中: 所述控制机逻辑包括代表所述AP发布请求的控制机机器,并且所述监听器逻辑包括代表所述AP服务监听到的请求的监听机器;以及 通过更新所述CAPP内的所述至少一个可编程数据结构来修改所述控制机机器和所述监听机器中的至少一个的行为。
32.—种有形地实现在机器可读存储介质中的设计结构,其用于设计、制造或者测试集成电路,所述设计结构包括: 一致附接处理器代理(CAPP),包括: 传送逻辑,具有第一接口和第二接口,其中所述第一接口被配置用于支持与主要一致系统的系统构造的通信,所述第二接口被配置用于支持与所述主要一致系统外部的附接处理器(AP)的通信; 监听器逻辑,代表所述AP参与从所述系统构造监听到的操作;以及控制机逻辑,代表所述AP参与由所述控制机逻辑在所述系统构造上发起的操作,其中所述操作中的每一个操作包括与所述CAPP通信的、包括请求和至少一个一致性消息的多个组件; 其中所述CAPP通过参考所述CAPP内的至少一个可编程数据结构来确定所述操作的所述组件中的一个或多个组件,并且其中所述CAPP响应于一输入而动态地更新所述至少一个可编程数据结构。
33.根据权利要求32所述的设计结构,其中所述设计结构包括硬件描述语言(HDL)设计结构。
【文档编号】G06F9/44GK103838567SQ201310594979
【公开日】2014年6月4日 申请日期:2013年11月21日 优先权日:2012年11月27日
【发明者】B·布拉纳, D·W·卡明斯, M·S·西格尔, W·J·斯塔克, J·A·施蒂切利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1