首页 / 专利库 / 电脑编程 / 计算机编程 / 避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死锁

避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死

阅读:1017发布:2021-01-31

专利汇可以提供避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死专利检索,专利查询,专利分析的服务。并且本文所公开的方面包含避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死 锁 。就此而言, 接口 桥接 电路 以通信方式耦合到实施重试总线一致性协议的第一核心装置及实施按次序响应非重试总线一致性协议的第二核心装置。所述接口桥接电路从所述第一核心装置接收窥探命令并将所述窥探命令转发到所述第二核心装置。在所述窥探命令待决时,所述接口桥接电路检测所述第一核心装置与所述第二核心装置之间的潜在死锁情况。响应于检测到所述潜在死锁情况,所述接口桥接电路经配置以将重试响应发送到所述第一核心装置。这使所述第一核心装置能够继续处理,由此消除所述潜在死锁情况。,下面是避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死专利的具体信息内容。

1.一种接口桥接电路,其经配置以:
从实施重试总线一致性协议的第一核心装置接收窥探命令;
将所述窥探命令转发到实施按次序响应非重试总线一致性协议的第二核心装置;
在所述窥探命令待决时,检测所述第一核心装置与所述第二核心装置之间的潜在死情况;及
响应于检测到所述潜在死锁情况,将重试响应发送到所述第一核心装置。
2.根据权利要求1所述的接口桥接电路,其经配置以通过以下方式检测所述第一核心装置与所述第二核心装置之间的所述潜在死锁情况:
在所述窥探命令待决时从所述第二核心装置接收写入命令;及
检测所述写入命令与所述窥探命令之间的地址冲突。
3.根据权利要求1所述的接口桥接电路,其包括倒计时器;
所述接口桥接电路进一步经配置以:
响应于所述接口桥接电路从所述第一核心装置接收所述窥探命令及等待窥探响应而启动所述倒计时器;及
响应于从所述第二核心装置接收所述窥探响应而将所述倒计时器复位;
其中所述接口桥接电路经配置以通过检测到所述倒计时器已到期来检测所述第一核心装置与所述第二核心装置之间的所述潜在死锁情况。
4.根据权利要求3所述的接口桥接电路,其中所述倒计时器包括可编程倒计时器。
5.根据权利要求1所述的接口桥接电路,其进一步经配置以:
从所述第二核心装置接收窥探响应;
确定所述窥探响应是否包括由所述第二核心装置提供的经修改数据;
响应于确定所述窥探响应包括由所述第二核心装置提供的所述经修改数据,将所述经修改数据发送到所述第一核心装置,用于写回操作;及
响应于确定所述窥探响应不包括由所述第二核心装置提供的所述经修改数据,丢弃所述窥探响应。
6.根据权利要求1所述的接口桥接电路,其中所述按次序响应非重试总线一致性协议包括高级可扩展接口AXI一致性扩展ACE总线一致性协议。
7.根据权利要求1所述的接口桥接电路,其集成到集成电路IC中。
8.根据权利要求1所述的接口桥接电路,其集成到选自由以下组成的群组的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;
移动电话;蜂窝式电话;智能电话;平板电脑;平板手机;计算机;便携式计算机;
桌上型计算机;个人数字助理PDA;监视器;计算机监视器;电视机;调谐器;
无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘DVD播放器;便携式数字视频播放器;及机动车。
9.一种基于处理器的系统,其包括:
实施重试总线一致性协议的第一核心装置;
实施按次序响应非重试总线一致性协议的第二核心装置;及
接口桥接电路,其以通信方式耦合到所述第一核心装置及所述第二核心装置;
其中所述接口桥接电路经配置以:
从所述第一核心装置接收窥探命令;
将所述窥探命令转发到所述第二核心装置;
在所述窥探命令待决时,检测所述第一核心装置与所述第二核心装置之间的潜在死锁情况;及
响应于检测到所述潜在死锁情况,将重试响应发送到所述第一核心装置。
10.一种接口桥接电路,其包括:
用于从实施重试总线一致性协议的第一核心装置接收窥探命令的装置;
用于将所述窥探命令转发到实施按次序响应非重试总线一致性协议的第二核心装置的装置;
用于在所述窥探命令待决时检测所述第一核心装置与所述第二核心装置之间的潜在死锁情况的装置;及
用于响应于检测到所述潜在死锁情况而将重试响应发送到所述第一核心装置的装置。
11.根据权利要求10所述的接口桥接电路,其中所述用于检测所述第一核心装置与所述第二核心装置之间的所述潜在死锁情况的装置包括:
用于在所述窥探命令待决时从所述第二核心装置接收写入命令的装置;及用于检测所述写入命令与所述窥探命令之间的地址冲突的装置。
12.根据权利要求10所述的接口桥接电路,其进一步包括:
用于响应于所述接口桥接电路从所述第一核心装置接收所述窥探命令及等待窥探响应而启动倒计时器的装置;及
用于响应于从所述第二核心装置接收所述窥探响应而将所述倒计时器复位的装置;
其中所述用于检测所述第一核心装置与所述第二核心装置之间的所述潜在死锁情况的装置包括用于检测到所述倒计时器已到期的装置。
13.根据权利要求12所述的接口桥接电路,其中所述倒计时器包括可编程倒计时器。
14.根据权利要求10所述的接口桥接电路,其进一步包括:
用于从所述第二核心装置接收窥探响应的装置;
用于确定所述窥探响应是否包括由所述第二核心装置提供的经修改数据的装置;
用于响应于确定所述窥探响应包括由所述第二核心装置提供的所述经修改数据而将所述经修改数据发送到所述第一核心装置以用于写回操作的装置;及
用于响应于确定所述窥探响应不包括由所述第二核心装置提供的所述经修改数据而丢弃所述窥探响应的装置。
15.根据权利要求10所述的接口桥接电路,其中所述按次序响应非重试总线一致性协议包括高级可扩展接口AXI一致性扩展ACE总线一致性协议。
16.一种用于避免基于处理器的系统的核心之间的死锁的方法,其包括:
通过基于处理器的系统的接口桥接电路从实施重试总线一致性协议的第一核心装置接收窥探命令;
将所述窥探命令转发到实施按次序响应非重试总线一致性协议的第二核心装置;
在所述窥探命令待决时,检测所述第一核心装置与所述第二核心装置之间的潜在死锁情况;及
响应于检测到所述潜在死锁情况,将重试响应发送到所述第一核心装置。
17.根据权利要求16所述的方法,其中检测所述第一核心装置与所述第二核心装置之间的所述潜在死锁情况包括:
在所述窥探命令待决时从所述第二核心装置接收写入命令;及
检测所述写入命令与所述窥探命令之间的地址冲突。
18.根据权利要求16所述的方法,其进一步包括:
响应于所述接口桥接电路从所述第一核心装置接收所述窥探命令及等待窥探响应而启动倒计时器;及
响应于从所述第二核心装置接收所述窥探响应而将所述倒计时器复位;
其中检测所述第一核心装置与所述第二核心装置之间的所述潜在死锁情况包括检测到所述倒计时器已到期。
19.根据权利要求18所述的方法,其中所述倒计时器包括可编程倒计时器。
20.根据权利要求16所述的方法,其进一步包括:
从所述第二核心装置接收窥探响应;
确定所述窥探响应是否包括由所述第二核心装置提供的经修改数据;
响应于确定所述窥探响应包括由所述第二核心装置提供的所述经修改数据,将所述经修改数据发送到所述第一核心装置以用于写回操作;及
响应于确定所述窥探响应不包括由所述第二核心装置提供的所述经修改数据,丢弃所述窥探响应。
21.根据权利要求16所述的方法,其中所述按次序响应非重试总线一致性协议包括高级可扩展接口AXI一致性扩展ACE总线一致性协议。

说明书全文

避免采用重试及按次序响应非重试总线一致性协议的基于处

理器的系统中的死

[0001] 优先权申请
[0002] 本申请案要求2015年9月24日提交的标题为“避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死锁(AVOIDING DEADLOCKS IN PROCESSOR-BASED SYSTEMS EMPLOYING RETRY AND IN-ORDER-RESPONSE NON-RETRY BUS COHERENCY PROTOCOLS)”的第14/863,645号美国专利申请案的优先权,所述申请案通过引用以其全文并入本文中。

技术领域

[0003] 本发明的技术大体上涉及基于处理器的系统中的窥探式缓存一致性,且具体来说,涉及避免采用不同总线一致性协议的装置之间的潜在死锁情况。

背景技术

[0004] 多个常规的基于处理器的系统,例如基于ARM架构的片上系统(SoC)可包含多核装置(作为非限制性实例,例如,中央处理单元(CPU)、图形处理单元(GPU)、处理器群集,及/或硬件加速器),所述多核装置中的每一者可访问共享数据并保持共享数据的其自身的缓存。为了确保基于处理器的系统内的每个核心装置的缓存含有共享数据的最新版本,核心装置可实施总线一致性协议以保持缓存器之间的缓存一致性。一种类别的总线一致性协议基于称为“窥探”的机构。使用窥探,每个核心装置监视总线以检测源自其它核心装置并涉及在核心装置之间共享的数据的所有读取及写入请求。如果核心装置检测到(或“窥探”)其具有最新数据的读取请求,则核心装置可将所请求数据提供到请求核心装置。如果核心装置窥探总线上的写入事务,则核心装置可使其缓存器内的写入数据的本地副本无效。以此方式,可将共享数据的一致视图提供到基于处理器的系统内的所有核心装置。
[0005] 为了提供额外功能性,基于处理器的系统可支持总线一致性协议的混合。举例来说,基于处理器的系统可包含与采用内部专用总线一致性协议的专用核心装置一起实施特定总线一致性协议(例如,高级可扩展接口(AXI)一致性扩展(ACE)总线一致性协议)的ARM核心装置。专用总线一致性协议可提供附加特征及需求,以实现处理大量总线代理的较高性能及能。一个此需求可指定接收窥探命令的核心装置必须及时地提供窥探响应(窥探响应与核心装置的自身输出请求,例如写入操作之间不应存在相依性)。专用总线一致性协议可通过实施重试能力来满足此需求,从而在核心装置出于任何原因无法服务窥探命令的情况下,使核心装置能够将重试响应发送到窥探命令。此专用总线一致性协议在本文中可称为“重试总线一致性协议”。
[0006] 然而,例如ACE协议的一些协议是按次序处理传出响应的相对简单的非重试协议(在本文中也称为“按次序响应非重试总线一致性协议”)。因此,对于实施按次序响应非重试总线一致性协议的核心装置,可在对地址的窥探命令与对所述同一地址的写入操作之间存在相依性。因此,在相同一致性域中采用重试总线一致性协议及按次序响应非重试总线一致性协议两者的基于处理器的系统可经历请求的死锁。因此,需要提供一种在面积及功率消耗方面高效且并不涉及现有总线一致性协议或核心装置的内部变化的死锁避免机构。

发明内容

[0007] 本文所公开的方面包含避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死锁。就此而言,在一个方面,提供一种接口桥接电路(例如,作为基于处理器的系统的一部分)。接口桥接电路以通信方式耦合到第一核心装置,所述第一核心装置实施重试总线一致性协议,作为非限制性实例,例如私有协议。接口桥接电路还以通信方式耦合到实施按次序响应非重试协议(作为非限制性实例,例如,高级可扩展接口(AXI)一致性扩展(ACE)总线一致性协议)的第二核心装置。接口桥接电路经配置以从第一核心装置接收窥探命令,及将窥探命令转发到第二核心装置。尽管窥探命令是待决的(即,在从第二核心装置接收窥探响应之前),但是接口桥接电路检测第一核心装置与第二核心装置之间的潜在死锁情况。在一些方面中,检测潜在死锁情况可包含检测窥探命令与通过第二核心装置发送的后续写入操作之间的地址冲突,及/或检测当窥探命令等待窥探响应时启动的倒计时器的到期。响应于检测到潜在死锁情况,接口桥接电路经配置以将重试响应发送到第一核心装置。这使第一核心装置能够继续处理,由此消除潜在死锁情况。以此方式,一旦检测到潜在死锁情况,接口桥接电路就解决所述潜在死锁情况,同时保持与现有总线一致性协议及核心装置的兼容性并且不涉及修改现有总线。
[0008] 在另一方面,提供一种接口桥接电路。接口桥接电路以通信方式耦合到实施重试总线一致性协议的第一核心装置及实施按次序响应非重试总线一致性协议的第二核心装置。接口桥接电路经配置以从第一核心装置接收窥探命令,及将窥探命令转发到第二核心装置。接口桥接电路进一步经配置以在窥探命令待决时检测第一核心装置与第二核心装置之间的潜在死锁情况。接口桥接电路还经配置以响应于检测到潜在死锁情况而将重试响应发送到第一核心装置。
[0009] 在另一方面,提供一种基于处理器的系统。基于处理器的系统包括实施重试总线一致性协议的第一核心装置,及实施按次序响应非重试总线一致性协议的第二核心装置。基于处理器的系统进一步包括以通信方式耦合到第一核心装置及第二核心装置的接口桥接电路。接口桥接电路经配置以从第一核心装置接收窥探命令,及将窥探命令转发到第二核心装置。接口桥接电路进一步经配置以在窥探命令待决时检测第一核心装置与第二核心装置之间的潜在死锁情况。接口桥接电路还经配置以响应于检测到潜在死锁情况而将重试响应发送到第一核心装置。
[0010] 在另一方面,提供一种接口桥接电路。接口桥接电路包括用于从实施重试总线一致性协议的第一核心装置接收窥探命令的装置。接口桥接电路进一步包括用于将窥探命令转发到实施按次序响应非重试总线一致性协议的第二核心装置的装置。接口桥接电路还包括用于在窥探命令待决时检测第一核心装置与第二核心装置之间的潜在死锁情况的装置。接口桥接电路另外包括用于响应于检测到潜在死锁情况而将重试响应发送到第一核心装置的装置。
[0011] 在另一方面,提供一种用于避免基于处理器的系统的IP核心之间的死锁的方法。所述方法包括通过基于处理器的系统的接口桥接电路从实施重试总线一致性协议的第一核心装置接收窥探命令。所述方法进一步包括将窥探命令转发到实施按次序响应非重试总线一致性协议的第二核心装置。所述方法还包括在窥探命令待决时检测第一核心装置与第二核心装置之间的潜在死锁情况。所述方法另外包括响应于检测潜在死锁情况,将重试响应发送到第一核心装置。
附图说明
[0012] 图1是示例性基于处理器的系统的框图,其中可在实施重试总线一致性协议的第一核心装置与实施按次序响应非重试总线一致性协议的第二核心装置之间产生死锁;
[0013] 图2是说明可产生死锁情况的在图1中的第一核心装置与第二核心装置之间的示例性通信流的框图;
[0014] 图3是示例性基于处理器的系统的框图,所述示例性基于处理器的系统提供用于避免实施重试总线一致性协议的第一核心装置与实施按次序响应非重试总线一致性协议的第二核心装置之间的死锁的接口桥接电路;
[0015] 图4A及4B是说明用于避免核心装置之间的死锁的在图3的接口桥接电路与核心装置之间的示例性通信流的框图;
[0016] 图5A及5B是说明用于避免核心装置之间的死锁的图3的接口桥接电路的示例性操作的流程图;及
[0017] 图6是可包含图3的接口桥接电路的示例性基于处理器的系统的框图。

具体实施方式

[0018] 现参考附图,描述本发明的若干个示例性方面。词语“示例性”在本文中用于意指“充当实例、例子或说明”。本文中描述为“示例性”的任何方面不必解释为比其它方面优选或有利。
[0019] 本文所公开的方面包含避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死锁。在描述用于避免实施重试及按次序响应非重试总线一致性协议的核心装置之间的死锁的操作之前,论述可在此类核心装置之间产生死锁情况的示例性情形。就此而言,提供图1及2。图1说明其中可在核心装置之间产生死锁的示例性基于处理器的系统,而图2展示可产生死锁情况的在核心装置之间的示例性通信流。
[0020] 在图1中,其中可产生死锁的示例性基于处理器的系统100包含核心装置102及核心装置104。在一些方面,作为非限制性实例,核心装置102、104中的每一者可包括中央处理单元(CPU)、图形处理单元(GPU)、处理器群集、及/或硬件加速器。基于处理器的系统100的核心装置102、104包含对应缓存器106、108,所述缓存器使共享数据(未展示)能够本地存储以由核心装置102、104更快地访问。
[0021] 图1的核心装置102、104经由总线110及111及桥接器112以通信方式耦合到彼此。以此方式,核心装置102、104中的每一者可窥探由其它核心装置发送的读取请求(未展示),并且可提供窥探响应及/或干预数据。缓存器106、108中的每一者可存储共享数据的本地副本,所述共享数据的本地副本可由核心装置102、104中的任一者读取及/或修改。因此,为了确保核心装置102、104以一致方式查看存储于缓存器106、108中的共享数据,核心装置102、
104中的每一者实施窥探式总线一致性协议。在图1的实例中,核心装置102实施重试总线一致性协议,例如,专用总线一致性协议。核心装置104实施按次序响应非重试总线一致性协议(作为非限制性实例,例如,高级可扩展接口(AXI)一致性扩展(ACE)总线一致性协议)。在其中核心装置104实施ACE协议的方面,核心装置104可提供地址写入(AW)通道114、一致性响应(CR)通道116及地址一致性(AC)通道118。地址写入通道114可由核心装置104用于发送写入命令。一致性响应通道116可由核心装置104用于应答窥探请求,而地址一致性通道118可由核心装置104用于发送窥探请求。
[0022] 现参考图2,由于本文所说明的示例性通信流,可产生核心装置102与核心装置104之间的死锁情况。在图2中,核心装置102经由桥接器112将具有存储器地址A的窥探命令(“SNOOP CMD”)200发送到核心装置104。在核心装置104处理窥探命令200之前,核心装置104经由桥接器112将也具有存储器地址A的写入命令(“WRITE CMD”)202异步地发送到核心装置102。由于通过核心装置104实施的按次序响应非重试总线一致性协议的相依性需求,在如通过元件206所指示完成写入命令202的处理之前,核心装置104不会生成对窥探命令
200的窥探响应204。然而,因为核心装置102检测到写入命令202的存储器地址A与仍待决的窥探命令200(即,地址险)相同,因此在如通过元件208所指示接收到对窥探命令200的窥探响应204之前,核心装置102不会处理写入命令202。因此,在核心装置102、104中的每一者等待另一者在继续进行之前完成操作时,出现死锁情况。在一些方面,如果写入命令202在正由核心装置104处理的其它命令后在(未展示)“卡住”,则也可能出现死锁情况。
[0023] 因此,为了避免采用重试及按次序响应非重试总线一致性协议的核心装置之间的死锁,提供接口桥接电路作为核心装置之间的互连件。就此而言,图3说明包含接口桥接电路302的示例性基于处理器的系统300。基于处理器的系统300可涵盖已知数字逻辑元件、半导体电路、处理核心及/或存储器结构以及其它元件中的任一者,或其组合。本文中所描述的各方面并不限于任何特定元件布置,且所公开的技术可容易地扩展到半导体裸片或封装上的不同结构及布局。
[0024] 接口桥接电路302经由总线308及309以通信方式耦合到核心装置304及核心装置306。作为非限制性实例,核心装置304、306中的每一者可包括CPU、GPU、处理器群集,及/或硬件加速器。应理解,在一些方面,基于处理器的系统300可包含比图3所说明更多的核心装置,并且其间的互连件可不同于图3中所示的连接。
[0025] 核心装置304、306提供用于存储共享数据(未展示)的本地副本的对应缓存器310、312。因为缓存器310、312可存储可通过核心装置304、306中的任一者读取及/或修改的共享数据的本地副本,因此核心装置304、306中的每一者实施窥探式总线一致性协议以确保向核心装置304、306呈现共享数据的一致视图。在图3中,核心装置304实施重试总线一致性协议(例如,专用总线一致性协议),而核心装置306实施按次序响应非重试总线一致性协议(作为非限制性实例,例如,ACE协议)。根据其中核心装置306实施ACE协议的方面,核心装置
306可提供地址写入(AW)通道314、一致性响应(CR)通道316及地址一致性(AC)通道318,其各自具有与图1及2的对应元件相同的功能性。
[0026] 接口桥接电路302经配置以检测由于由核心装置304使用的重试总线一致性协议及由核心装置306使用的按次序响应非重试总线一致性协议的不同需求产生的核心装置304、306之间的潜在死锁情况。在一些方面,接口桥接电路302可通过检测由核心装置304发布的写入命令(未展示)与由核心装置306发布的窥探命令(未展示)之间的地址冲突来检测潜在死锁情况。一些方面可提供以下情况:接口桥接电路302可通过检测到当从核心装置
304产生的窥探命令等待窥探响应时由接口桥接电路302启动的倒计时器320已到期来检测潜在死锁情况。在从核心装置306接收与从核心装置304产生的待决窥探命令对应的窥探响应(未展示)之后,倒计时器320可通过接口桥接电路302复位。倒计时器320可在一些方面使用预设计时器值,而根据一些方面,倒计时器320是使用可编程设定的计时器值的可编程倒计时器。
[0027] 响应于检测到潜在死锁情况(例如,通过检测地址冲突或倒计时器320的到期),接口桥接电路302经配置以将重试响应发送到核心装置304,如相对于图4A及4B更详细地论述。以此方式,核心装置304能够继续处理,由此消除潜在死锁情况。作为非限制性实例,当由于窥探命令与写入命令之间的地址冲突,将重试响应发送到核心装置304时,核心装置304及/或总线308可能够解决对待决窥探命令的相依性,并且可继续处理写入命令。在通过核心装置304完成写入命令之后,核心装置306随后可自由地对初始窥探命令作出响应,因此避免潜在死锁情况。类似地,在其中由于倒计时器320的到期而将重试响应发送到核心装置304的方面,在核心装置306完成其进行中操作时,核心装置304能够继续处理。
[0028] 提供图4A及4B以说明用于避免核心装置304、306之间的死锁的在图3的接口桥接电路302与核心装置304、306之间的示例性通信流。为清楚起见,在描述图4及4B时引用图3的元件。另外,从图4A及4B省略图3的总线308。
[0029] 在图4A中,将对存储器地址A的窥探命令(“SNOOP CMD”)400从核心装置304发送到接口桥接电路302,所述接口桥接电路将窥探命令400转发到核心装置306。在一些方面,核心装置306可将对同一存储器地址A的写入命令(“WRITE CMD”)402发送到接口桥接电路302。在此类方面,接口桥接电路302可确定窥探命令400与写入命令402之间存在的地址冲突,并且因此可确定在核心装置304、306之间存在潜在死锁条件。一些方面可提供以下情况:当接口桥接电路302接收窥探命令400并开始其等待对窥探命令400的窥探响应(未展示)时,启动倒计时器320。当在从核心装置306接收窥探响应之前,接口桥接电路302检测到倒计时器320已到期时,检测到潜在死锁情况。此潜在死锁情况下可在写入命令402在正由核心装置306处理的其它命令(未展示)后“卡住”的情形下出现。在检测到核心装置304、306之间的潜在死锁情况之后,接口桥接电路302将重试响应404发送到核心装置304。以此方式,核心装置304能够继续处理,由此消除潜在死锁情况。
[0030] 如图4B中所见,在一些方面,接口桥接电路302可从核心装置306接收与从核心装置304产生的窥探命令400对应的窥探响应406。如果在倒计时器320已到期之前通过接口桥接电路302接收窥探响应406,则倒计时器320可复位。在已检测到潜在死锁情况及已将重试响应404发送到核心装置304之后,可接收窥探响应406。如果核心装置304同时重试相同窥探命令400,则在接口桥接电路302尚未完成原始窥探命令400的情况下,将以与原始窥探命令400相同的方式处理经重试窥探命令400。如果窥探响应406含有经修改数据408(即,“脏”数据),则可将经修改数据408提供到核心装置304,作为对窥探命令400的响应。核心装置304随后可使用经修改数据408执行写回操作(未展示)。然而,如果窥探响应406不含经修改数据408,则接口桥接电路302可丢弃窥探响应406。
[0031] 为了说明用于避免第一核心装置304与第二核心装置306之间的死锁的图3的接口桥接电路302的示例性操作,提供图5A及5B。为清楚起见,在描述图5A及5B时引用图3、4A及4B的元件。在图5A中,操作开始于基于处理器的系统300的接口桥接电路302从实施重试总线一致性协议的第一核心装置304接收窥探命令400(500)。就此而言,接口桥接电路302在本文中可称为“用于从实施重试总线一致性协议的第一核心装置接收窥探命令的装置”。
在一些方面,由第一核心装置304实施的重试总线一致性协议可包括支持对窥探命令的重试响应的专用总线协议。
[0032] 在其中接口桥接电路302提供倒计时器320,用于检测潜在死锁情况的方面,接口桥接电路302可响应于接口桥接电路302从第一核心装置304接收窥探命令400并且开始其等待对窥探命令400的窥探响应406而启动倒计时器320(块502)。因此,接口桥接电路302在本文中可称为“用于响应于从第一核心装置产生的窥探命令等待窥探响应而启动倒计时器的装置”。接口桥接电路302随后将窥探命令400转发到实施按次序响应非重试总线一致性协议的基于处理器的系统300的第二核心装置306(块504)。接口桥接电路302因此在本文中可称为“用于将窥探命令转发到实施按次序响应非重试总线一致性协议的第二核心装置的装置”。根据一些方面,由第二核心装置306实施的按次序响应非重试总线一致性协议可包括ACE总线一致性协议。
[0033] 在窥探命令400待决时,接口桥接电路302接下来检测第一核心装置304与第二核心装置306之间的潜在死锁情况(块506)。就此而言,接口桥接电路302在本文中可称为“用于在窥探命令待决时检测第一核心装置与第二核心装置之间的潜在死锁情况的装置”。在一些方面,用于检测潜在死锁情况的块506的操作可包括在窥探命令400待决时,接口桥接电路302从第二核心装置306接收写入命令402(块508)。因此,接口桥接电路302在本文中可称为“用于在窥探命令待决时从第二核心装置接收写入命令的装置”。接口桥接电路302随后可检测写入命令402与窥探命令400之间的地址冲突(块510)。因此,接口桥接电路302在本文中可称为“用于检测写入命令与窥探命令之间的地址冲突的装置”。一些方面可提供以下情况:用于检测潜在死锁条件的块506的操作可包括接口桥接电路302检测到倒计时器320已到期(块512)。就此而言,接口桥接电路302在本文中可称为“用于检测到倒计时器已到期的装置”。
[0034] 响应于检测到潜在死锁情况,接口桥接电路302将重试响应404发送到第一核心装置304(块514)。因此,接口桥接电路302在本文中可称为“用于响应于检测到潜在死锁情况而将重试响应发送到第一核心装置的装置”。通过将重试响应404发送到第一核心装置304,接口桥接电路302使第一核心装置304能够继续处理,由此消除第一核心装置304与第二核心装置306之间的潜在死锁情况。在一些方面,处理随后可在图5B的块516处恢复。
[0035] 现在参考图5B,根据一些方面的接口桥接电路302可从第二核心装置306接收窥探响应406(块516)。因此,接口桥接电路302在本文中可称为“用于从第二核心装置接收窥探响应的装置”。在从第二核心装置306接收窥探响应406之后,接口桥接电路302可将倒计时器320复位(块518)。就此而言,接口桥接电路302在本文中可称为“用于响应于从第二核心装置接收窥探响应而将倒计时器复位的装置”。在一些方面,在已检测到潜在死锁情况及已将重试响应404发送到第一核心装置304之后,可接收窥探响应406。如果第一核心装置304同时重试相同窥探命令400,则在接口桥接电路302尚未完成原始窥探命令400的情况下,将以与原始窥探命令400相同的方式处理经重试窥探命令400。
[0036] 接口桥接电路302随后可确定窥探响应406是否包括由第二核心装置306提供的经修改数据408(块520)。因此,接口桥接电路302在本文中可称为“用于确定窥探响应是否包括由第二核心装置提供的经修改数据的装置”。如果接口桥接电路302在决策块520处确定窥探响应406包括经修改数据408,则接口桥接电路302可将经修改数据408发送到第一核心装置304以用于写回操作(块522)。因此,接口桥接电路302在本文中可称为“用于响应于确定窥探响应包括由第二核心装置提供的经修改数据而将经修改数据发送到第一核心装置以用于写回操作的装置”。然而,如果接口桥接电路302在决策块520处确定窥探响应406不包括经修改数据408,则接口桥接电路302可丢弃窥探响应406(块524)。就此而言,接口桥接电路302在本文中可称为“用于响应于确定窥探响应不包括由第二核心装置提供的经修改数据而丢弃窥探响应的装置”。
[0037] 根据本文所公开的各方面的避免采用重试及按次序响应非重试总线一致性协议的基于处理器的系统中的死锁可提供于或集成到任何基于处理器的装置中。实例包含但不限于机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、智能电话、平板电脑、平板手机、计算机、便携式计算机、桌上型计算机、个人数字助理(PDA)、监视器、计算机监视器、电视、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器及机动车。
[0038] 就此而言,图6说明可采用图3所说明的接口桥接电路(IBC)302的基于处理器的系统600的实例。在此实例中,基于处理器的系统600可对应于图3的基于处理器的系统300。基于处理器的系统600包含一或多个CPU 602(0)到602(X),每一CPU包含一或多个处理器604(0)到604(X)。CPU 602(0)到602(X)可分别对应于核心装置102及104。CPU 602(0)到602(X)可具有耦合到处理器604(0)到604(X)的缓存存储器606(0)到606(X),用于快速访问临时存储的数据。CPU 602(0)到602(X)耦合到系统总线608,且可将基于处理器的系统600中所包含的主装置与从装置互相耦合。众所周知,CPU 602(0)到602(X)通过在系统总线608上交换地址、控制及数据信息而与这些其它装置通信。举例来说,CPU 602(0)到602(X)可将总线事务请求传送到存储器控制器610(作为从装置的实例)。
[0039] 其它主装置及从装置可连接到系统总线608。如图6中所说明,举例来说,这些装置可包含存储器系统612、一或多个输入装置614、一或多个输出装置616、一或多个网络接口装置618,及一或多个显示器控制器620。输入装置614可包含任何类型的输入装置,包含但不限于输入按键、开关、语音处理器等。输出装置616可包含任何类型的输出装置,包含但不限于音频、视频、其它视觉指示符等。网络接口装置618可为经配置以允许将数据交换到网络622及从网络622交换数据的任何装置。网络622可为任何类型的网络,包含但不限于有线或无线网络、私用或公用网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、BLUETOOTHTM网络及因特网。网络接口装置618可经配置以支持所要的任何类型的通信协议。存储器系统612可包含一或多个存储器单元624(0到N)。
[0040] CPU 602还可经配置以通过系统总线608将显示器控制器620接入传送到一或多个显示器626的控制信息。显示器控制器620将信息发送到显示器626,以经由一或多个视频处理器628显示,所述视频处理器处理将显示成适合于显示器626的格式的信息。显示器626可包含任何类型的显示器,包含但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等。
[0041] 本领域技术人员将进一步理解,举例来说,本文所描述的方法可用于任何电路、硬件组件、集成电路(IC)或IC芯片中。本文所公开的存储器可为任何类型及大小的存储器,并且可经配置以存储所要的任何类型的信息。为了清楚说明此可互换性,上文已大体上关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。如何实施此功能性取决于特定应用、设计选项及/或强加于整个系统的设计约束。本领域技术人员可针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起对本发明的范围的偏离。
[0042] 可用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所描述的功能的任何组合来实施或执行结合本文中所公开的方面而描述的各种说明性逻辑块、模块及电路。处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心的结合,或任何其它此种配置)。
[0043] 还应注意,描述本文中的示例性方面中的任一者中所描述的操作步骤是为了提供实例及论述。所描述的操作可按除所说明的序列之外的多种不同序列来执行。此外,单个操作步骤中所描述的操作实际上可在许多不同步骤中执行。另外,可组合在示例性方面中所论述的一或多个操作步骤。应理解,本领域的技术人员将易于显而易见,流程图中所说明的操作步骤可经受多种不同修改。本领域技术人员还将理解,可使用多种不同技术及技艺中的任一者来表示信息及信号。举例来说,可通过电压电流电磁波磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号及芯片。
[0044] 提供本发明的先前描述以使本领域技术人员能够制造或使用本发明。本领域技术人员将易于显而易见对本发明的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本发明的精神或范围。因此,本发明并不希望限于本文中所描述的实例及设计,而应被赋予与本文中所公开的原理及新颖特征相一致的最广范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈