一种传达与高速缓存相干性相关的信息的方法及系统转让专利

申请号 : CN201280059804.8

文献号 : CN104094241B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 让-雅克·勒克莱

申请人 : 高通科技公司

摘要 :

本发明揭示一种用于在半导体芯片上的起始者代理与目标代理之间传达相干性信息的系统和方法。经由仅使用三个信道的套接字接口来执行用以支持完全相干性的充分信息通信。在一个信道上发布事务请求,同时在第二信道上给出响应。在与事务响应相同的信道上发布干预请求。在第三信道上给出干预响应。相比于常规方法,此方法大幅度降低了高速缓存相干套接字接口的复杂性。实际效果为逻辑加快、硅区域减小、架构性能得到改善且由相干起始者和目标的设计者造成的故障概率减少。

权利要求 :

1.一种传达与高速缓存相干性相关的信息的系统,所述系统包括:起始者;

目标;和

套接字,其经配置以使得能够在所述起始者和所述目标之间传达信息,所述套接字由如下各者组成:第一信道;

第二信道;和

第三信道,

其中所述套接字经配置以允许传达与高速缓存相干性相关的信息,且其中:所述起始者经配置以经由所述第一信道发送命令请求,并经由所述第二信道接收命令响应,及所述目标经配置以经由所述第二信道发送干预请求,并经由所述第三信道接收干预响应。

2.根据权利要求1所述的系统,其进一步包括所述目标经配置以经由其而充当起始者的第二套接字。

3.根据权利要求1所述的系统,其进一步包括所述起始者经配置以经由其而充当目标的第二套接字。

4.根据权利要求1所述的系统,其进一步包括经布置而使得代理经配置以为一套接字上的起始者和另一套接字上的目标两者的第二套接字。

5.根据权利要求1所述的系统,其中所述信息被包化。

6.根据权利要求1所述的系统,其中所述起始者进一步经配置以确保所述第二信道独立于所述第一信道的向前前进而向前前进。

7.根据权利要求1所述的系统,其中所述目标进一步经配置以确保所述第三信道独立于所述第一和第二信道的向前前进而向前前进。

8.根据权利要求1所述的系统,其中所述信息是指可寻址空间的线。

9.根据权利要求1所述的系统,其中所述套接字进一步经配置以允许传达与地址翻译服务相关的信息。

10.根据权利要求1所述的系统,其中所述第二信道上的至少一个信息片经配置以传送命令响应信息和干预请求信息。

11.根据权利要求1所述的系统,其中所述起始者进一步经配置以按照与将所述命令请求发送至所述目标的顺序不同的顺序来接收所述命令响应。

12.根据权利要求1所述的系统,其中所述目标进一步经配置以按照与所述起始者发送所述命令请求的顺序不同的顺序来发送所述命令响应。

13.根据权利要求1所述的系统,其中可以任何顺序接收所述命令响应。

14.根据权利要求1所述的系统,其中以与发送所述干预请求的顺序不同的顺序接收所述干预响应。

15.根据权利要求1所述的系统,其中可以任何顺序接收所述干预响应。

16.一种传达与高速缓存相干性相关的信息的方法,所述方法包括:在第一信道上将干预请求信息从目标传送到起始者;

在第二信道上将干预响应信息从所述起始者传送到所述目标;

在第三信道上将命令请求信息从所述起始者传送到所述目标;和在所述第一信道上传送命令响应信息。

17.根据权利要求16所述的方法,其中所述起始者在所述第一信道上接受信息,而无需等待在所述第三信道上发送信息。

18.根据权利要求16所述的方法,其中所述起始者在所述第二信道上发送信息,而无需等待在所述第三信道上发送信息或在所述第一信道上接收信息。

19.根据权利要求16所述的方法,其中所述目标在所述第一信道上发送信息,而无需等待在所述第三信道上接收信息。

20.根据权利要求16所述的方法,其中所述目标在所述第二信道上接受信息,而无需等待在所述第三信道上接收信息或在所述第一信道上发送信息。

21.根据权利要求16所述的方法,其中将信息包化。

22.根据权利要求21所述的方法,其中被包化的信息包括传送命令响应信息和干预请求信息的至少一个包。

23.一种传达与高速缓存相干性相关的信息的系统,所述系统包括:起始者;

目标;和

套接字,其经配置以使得能够在所述起始者和所述目标之间传达信息,所述套接字包括:第一信道;

第二信道;和

第三信道,

其中所述起始者经配置以经由所述第一信道发送命令请求,并经由所述第二信道接收命令响应;且所述目标经配置以经由所述第二信道发送干预请求,并经由所述第三信道接收干预响应。

24.根据权利要求23所述的系统,其进一步包括所述目标经配置以经由其而充当起始者的第二套接字。

25.根据权利要求23所述的系统,其进一步包括所述起始者经配置以经由其而充当目标的第二套接字。

26.根据权利要求23所述的系统,其进一步包括经布置而使得代理经配置以为一套接字上的起始者和另一套接字上的目标两者的第二套接字。

27.根据权利要求23所述的系统,其中所述信息被包化。

28.根据权利要求23所述的系统,其中所述起始者进一步经配置以确保所述第二信道独立于所述第一信道的向前前进而向前前进。

29.根据权利要求23所述的系统,其中所述目标进一步经配置以确保所述第三信道独立于所述第一和第二信道的向前前进而向前前进。

30.根据权利要求23所述的系统,其中所述信息是指可寻址空间的线。

31.根据权利要求23所述的系统,其中所述套接字进一步经配置以允许传达与地址翻译服务相关的信息。

32.根据权利要求23所述的系统,其中所述第二信道上的至少一个信息片经配置以传送命令响应信息和干预请求信息。

33.根据权利要求23所述的系统,其中以与发送所述命令请求的顺序不同的顺序接收所述命令响应。

34.根据权利要求23所述的系统,其中以任何顺序接收所述命令响应。

35.根据权利要求23所述的系统,其中以与发送所述干预请求的顺序不同的顺序接收所述干预响应。

36.根据权利要求23所述的系统,其中可以任何顺序接收所述干预响应。

说明书 :

一种传达与高速缓存相干性相关的信息的方法及系统

[0001] 对相关申请案的交叉参考
[0002] 本申请案主张由发明人吉恩·雅克勒克莱(Jean-Jacques Lecler)在2011年10月26日申请的,标题为“三信道高速缓存相干性套接字协议(A THREE-CHANNEL CACHE-COHERENCY SOCKET PROTOCOL)”的第61/551,917号美国临时申请案,以及由发明人吉恩·雅克勒克莱(Jean-Jacques Lecler)在2012年10月24日申请的,标题为“三信道高速缓存相干性套接字协议(A THREE-CHANNEL CACHE-COHERENCY SOCKET PROTOCOL)”的第13/659,
781号美国非临时申请案的优先权和权利,所述申请案中的每一者并入本文中。

技术领域

[0003] 本发明大体上涉及半导体技术领域,且更具体来说涉及具有高速缓存相干代理的芯片上系统。

背景技术

[0004] 在存储器映射式系统中,例如CPU、GPU或其它代理的起始者通过在目标存储器中读取和写入数据字节而进行操作。一些代理被高度惩罚延时以能够实际存取其数据。接着,常见方法为使用数据的子集的本地暂时拷贝,称为高速缓冲存储器。系统中一出现高速缓冲存储器,系统必须确保无数据写入到存储器目标中,而一些此后过时数据仍驻留在所述高速缓冲存储器中。用以确保此性质的机制被称为高速缓存相干性。
[0005] 在各种逻辑组件可由不同团队、潜在地在不同公司设计的系统中,形式化交换高速缓存相干性信息的方式是重要的。在芯片上系统中,以下协议包含高速缓存相干性:由 OCP国际伙伴推出的开放核心协议(OCP)3.0,以及由ARM推出的高级微控制器总线架构(AMBA)高级可扩展接口(AXI)相干性扩展(ACE)。在集成电路之间,已提议其它协议: FSB(前端总线,由因特尔(Intel)推出)、QPI(因特尔快速路径,由因特尔推出)和超传输(由超传输联盟推出)。
[0006] 一股协议和特定高速缓存相干性协议对实施其的逻辑块具有直接或间接影响。所述影响包含如下方面和其它方面:
[0007] 1)满足协议要求所要求的逻辑门的量
[0008] 2)阻碍最大可达频率的此逻辑的复杂性
[0009] 3)处理由横跨硅裸片展布各种代理所诱发的延迟的能力。
[0010] 4)系统的架构性能。
[0011] 5)设计故障的风险

发明内容

[0012] 本发明为一种实施相干性的简化方法。其仅使用三个信道来实施的完全高速缓存相干套接字接口。其减少所要求的逻辑量。所述逻辑较简单,且因此所述逻辑可较快地运行。本发明可扩展以用于大型且物理上复杂的系统。其消除复杂相依性且借此改善架构性能。本发明也较简单,且借此减少设计故障的风险。总的来说,所揭示的本发明为较适合于芯片上系统内的连接性的现代芯片上网络实施方案的相干性协议。

附图说明

[0013] 图1说明根据本发明的教示的在起始者与目标之间经由套接字通信的系统。
[0014] 图2说明根据本发明的教示的具有三个信道的图1的系统。
[0015] 图3说明根据本发明的教示的由起始者将请求发送到目标且随后由目标将响应发送到起始者的命令事务。
[0016] 图4说明根据本发明的教示的由目标将请求发送到起始者且随后由起始者将响应发送到目标的干预事务。
[0017] 图5说明根据本发明的教示的包含命令和干预的自干预,其中由相同包携带命令响应和干预请求。
[0018] 图6说明根据本发明的教示的具有四个DSP的系统。

具体实施方式

[0019] 现参看图1,展示系统10,其中起始者12经由套接字16连接到目标14以输送高速缓存相干性信息。在起始者12与目标14之间经由信道输送信息。信道为用于信息传送的单向接口,其中发送方可将信息发送到接收方,且接收方能够使发送方停止发送信息。
[0020] 套接字16包括若干信道,起始者12为其中的一些信道充当发送方且目标14为其中的一些信道充当接收方,并且目标14为其中的一些信道充当发送方且起始者12为其中的一些信道充当接收方。信道的常见实施方案包括:
[0021] 从发送方到接收方的数据信号,所述信号携带信息字;
[0022] 从发送方到接收方的有效信号,其表示希望发送方输送信息字;和
[0023] 从接收方到发送方的就绪信号,其表示接收方愿意接受信息字。
[0024] 发送方和接收方两者都同意在断言有效信号和就绪信号两者时传送信息字。信道的其它实施方案是可能的,例如,其中接收方经由信用向发送方指示接受信息的能力的实施方案,或其中在相同物理导线上多路复用多个信道的实施方案。
[0025] 根据本发明的一个方面,协议使用3个信道。具有ACE扩展的AXI协议使用八个信道(称为AR、R、AW、W、B、AC、CR和CD)和两个退化信道(RACK、WACK),其中接收方必须无条件接受由发送方所提供的信息。OCP3.0协议使用四个信道。
[0026] 现参看图2,所揭示协议包含三个信道。两个信道20和22(称为(阿尔法)α和伽马(γ)) 经定向以将信息从起始者12传送到目标14。一个信道24(称为贝塔(β))经定向以将信息从目标14传送到起始者12。通常将穿过信道的信息框在包中,此过程被称为包化。包由一或多个信息字组成。
[0027] 如在许多协议中,起始者12或目标14可要求其对应方执行一些操作,且对应方稍后确认已实际上执行了所述操作。此交换被称为事务。事务由在一方向上流动的请求包以及在另一方向上流动的响应包组成。业务仅由事务组成的协议提供令人关注的性质。举例来说,始终可能通过对自从世界的开始就可看见的请求包的数目与响应包的数目之间的差进行计数而以低成本确定任何内容是否“正在进行中”。
[0028] 现参看图3,事务30(称为命令)包含从起始者经由信道α20发送到目标的请求包,和从目标经由信道β24发送到起始者的响应包。其中请求从起始者12走向目标14(且因此响应从目标14走向起始者12)的事务被称为命令。
[0029] 现参看图4,展示事务40(称为干预)。请求从目标14经由信道β24流向起始者12。响应从起始者12经由信道γ22流向目标14。
[0030] 现参看图5,展示事务50。首先,将命令请求从起始者12经由信道α20发送到目标14。然后,根据本发明的一个方面,在信道β24上将包从目标14发送到起始者12。所述包同时包括命令响应和干预请求。最后,在信道γ22上将干预响应包从起始者12 发送到目标14。
此耦合式命令和干预被称为自干预。
[0031] 在高速缓存相干的系统中,通常以给定粒度(称为线)划分地址空间。线大小通常为 2连续字节的地址空间的幂。尽管一股的套接字接口可要求支持事务分裂、事务排序和部分响应排序,但对于将高速缓冲存储器作为起始者的系统的实施方案而言,这些支持无一者是必需的。根据本发明的优化套接字接口由于缺乏对非相干事务要求的支持而具有简化的逻辑。本发明的实施例避免支持分裂逻辑、排序逻辑和部分响应排序逻辑中的一或多者。
[0032] 根据本发明的教示,使用较小数目个(仅三个)信道具有优于现存标准协议的若干益处和优势。由于每一信道具有独立的流量控制,因此必须针对每一信道提供一定量的逻辑和数据缓冲。此成本通过具有较少的信道而最小化。此外,自然地排序给定信道中的包,而信道之间的包易于具有逻辑竞争条件。防止此类竞争条件要求较高层协议具有较大的复杂性。通过由共享命令响应和干预请求信道所确保的排序来避免这种情况。
[0033] 举例来说,在大部分高速缓存相干性协议中,起始者可获得线的所有权,且目标可请求起始者释放这所有权。在ACE上,经由“R”信道传送所有权,并经由“AC”信道释放所述所有权。这种情况需要协议中存在特定规则,从而限制目标请求释放线,直到目标确定线的所有权已到达起始者为止;因此存在“RACK”伪信道。因此,ACE目标必须维持当前正给予起始者的所有权的上下文,并避免请求对应释放。为以全部吞吐量进行操作,这表必须能够含有与从目标到起始者(经由R)并回到目标(经由RACK)的往返时间成正比的上下文的数目。在某些情况中,可能需要在起始者与目标之间引入时钟域交叉,从而延长此往返。“AC”信道上的任何干预请求必须首先查询此上下文表。在一些实施方案中,此必要查询可花费整个额外延迟循环。
[0034] 根据OCP3.0协议,经由命令响应信道传送所有权,并经由不同的干预请求信道释放所述所有权。为了避免竞争,OCP使用自干预,其中由起始者发出的任何命令实际上经由目标环绕回到其自身。借此起始者能够检测来自剩余系统的干预及其自身的自干预的相对排序。根据本发明,避免由OCP3.0自干预所产生的业务开销。
[0035] 在OCP3.0中,出于排序目的,每一命令产生自干预。在本发明中,命令响应和干预请求的相对排序使得大部分自干预并不必要。然而,如图5中所展示,一些自干预具有所关注的性质。举例来说,在ACE中,取决于传送由起始者起始还是由目标起始,起始者可经由两个不同机制将本地经修改(通常称为“脏的”)数据给予回到目标。当由其自身起始时,起始者在AW信道上请求“写回”命令,且稍后在“B”信道上接收响应。当由目标起始时,起始者经由“AC”信道接收干预请求,并经由“CR”信道接收响应。由于目标起始的收回必须存在于高速缓存相干系统中,因此本发明重新使用此必要机制以用于起始者起始的收回。自干预使得此情况较简单:起始者发送要求目标从起始者收回线的命令请求。来自目标的命令响应也是干预请求,从而要求收回线。
[0036] 为了避免死锁的可能性,要求由套接字接口的目标或起始者侧上的逻辑的设计者借助许多信道协议来实施要求复杂、缓慢和错误倾向逻辑的许多复杂规则。在本发明中,信息以以下顺序流过α、β、γ。在具有如下简单规则的情况下:由于α上的流量控制而不允许起始者在β上停止向前前进,以及由于β上的流量控制而不允许目标在γ上停止向前前进,能避免运输层级死锁的风险。此外,规则足够简单以由正式的性质检查器进行检验。
[0037] 在一些系统中,对高速缓存相干代理进行级联也是合乎需要的。此对于(例如)互连多个芯片上交换机结构可能是有用的。为此,要求一侧上具有起始者套接字接口且另一侧上具有目标套接字接口的代理。此代理可包括内部高速缓冲存储器。经级联高速缓存相干系统由于常规协议的复杂排序规则而为不实用的。举例来说,为保留排序规则,窥探未命中之后的窥探命中必须等待,直到传回窥探未命中响应为止。这情况将是耗时的且不利于系统性能。本发明做出经级联高速缓存相干套接字的实用实施方案。
[0038] 现参看图6,四个DSP处理器60的系统连接到交换机结构62,所述交换机结构62 还连接到RAM64和内部高速缓冲存储器66。内部高速缓冲存储器66连接到第二交换机结构68,所述交换机结构68连接到两个CPU70的系统,并管理下游后备存储器存取。任何两个所连接元件可使用三信道高速缓存相干性协议来执行命令请求、命令响应、干预请求和干预响应。
[0039] 在现代系统中,由实际起始者所使用的地址通常不是物理存储器所使用的地址。由起始者所使用的地址被称为虚拟地址(VA),由存储器所使用的地址被称为物理地址(PA)。在高速缓存相干系统中,虚拟地址到物理地址的转换必须在高速缓冲存储器层级的上游发生。由具有最近转换的高速缓冲存储器(称为转换后援缓冲器(TLB))进行此操作。当 TLB遇到其转换未知的存取时,其必须请求进行转换。计算给定地址的实际虚拟到物理转换要求在存储器中的数据结构(称为“页表”)中进行若干连续存取。由于进行所述转换的逻辑片走过页表,因此其有时被称为“步行机”。每一步骤越短,步行机操作得越快,因此步行机往往会位于高速缓冲存储器层级的下游处,接近存储器。由于TLB和步行机是远离的,因此其必须进行通信。所述交换有时被称为地址转换服务(ATS)。
[0040] ATS包括TLB向步行机请求地址转换的交换,和步行机请求使一些先前已建立转换无效的其它交换。本发明能够使用转换请求命令和无效请求干预而有效地运输地址转换服务。
[0041] 根据本发明的各种方面,所描述组件中的至少一者(例如,起始者或目标)为制品。制品的实例包含:服务器、大型计算机、移动电话、个人数字助理、个人计算机、膝上型计算机、机顶盒、MP3播放器、支持电子邮件的装置、平板计算机、具有一或多个处理器的支持网络的装置,或经配置以执行算法(例如,计算机可读程序或软件)来接收数据、发射数据、存储数据或执行方法的其它专用计算机(例如,中央处理单元、图形处理单元或微处理器)。通过实例,起始者和/或目标各自为包含处理器的计算装置的部分,所述处理器执行编码于非暂时性计算机可读媒体上的计算机可读程序代码,以执行一或多个步骤。
[0042] 应理解,本发明并不限于所描述的特定实施例或方面,因而其可发生变化。还应了解,本文中所使用的术语仅是出于描述特定实施例的目的,而并不希望为限制性的,这是由于本发明的范围将仅受到所附权利要求书的限制。
[0043] 在提供值范围的情况下(例如,信道数目或芯片数目或模块数目),应理解,所述范围的上限与下限之间的每一中间值,和所述陈述范围中的任何其它所陈述值或中间值都涵盖于本发明内。这些较小范围的上限和下限可独立地包含于较小范围中,且也涵盖于本发明内,在所陈述范围内受到任何特定排除限制。在所陈述范围包含界限值中的一者或两者的情况下,排除所包含的那些界限值中的任一者或两者的范围也包含于本发明中。
[0044] 除非另外定义,否则本文中所使用的所有技术和科学术语具有与本发明所属领域的一股技术人员通常所理解相同的含义。类似于或等效于本文中所描述的那些方法和材料的任何方法和材料也可用于实践或测试本发明。
[0045] 本说明书中所引用的所有公开案和专利都以引用的方式并入本文中,如同特定地且个别地指示每一个别公开案或专利以引用的方式并入一股,并以引用的方式并入本文中以结合所引用的公开案来揭示和描述方法和/或材料。对任何公开案的引用是关于其在申请日期之前的揭示内容,且不应理解为承认本发明未被授权凭借现有发明而将所述公开案的日期提前。另外,所提供的公开案的日期可不同于可需要独立确认的实际公开案日期。
[0046] 应注意,除非上下文另外清楚地指示,否则如本文中所使用和在所附权利要求书中,单数形式“一”和“所述”包含复数对象。应进一步注意,权利要求书可经起草而排除任何可选元件。因而,此陈述希望结合对所主张元件的引述而充当使用如“仅”和类似术语的此类排他性术语或使用“负面”限制的前提基础。
[0047] 如所属领域的技术人员在阅读本发明之后将显而易见,本文中所描述和说明的个别实施例中的每一者具有离散组件和特征,在并不脱离本发明的范围或精神的情况下,所述离散组件和特征可容易地与其它若干实施例中的任一者的特征分离或与其组合。任何所引述方法都可以所引述事件的顺序或以逻辑上可能的任何其它顺序来进行。
[0048] 尽管已出于理解清晰性的目的通过说明和实例相当详细地描述前述发明,但根据本发明的教示,所属领域的一股技术人员能容易地显而易见,可在不脱离所附权利要求书的精神或范围的情况下对其作出某些改变和修改。
[0049] 因此,先前内容仅仅说明本发明的原理。将了解,所属领域的技术人员将能够设计各种布置,尽管本文中未明确地描述或展示所述布置,但其体现本发明的原理且包含于其精神和范围内。此外,本文中所引述的所有实例和条件性语言主要希望辅助读者理解本发明的原理,和由发明人所提供的概念以促进所属领域,且应将其理解为并不限制此类特定所引述实例和条件。此外,引述本发明的原理、方面和实施例以及其特定实例的所有本文中陈述都希望涵盖其结构上和功能上两者的等效物。另外,希望此类等效物包含当前已知等效物和未来开发的等效物(即,不管结构如何,执行相同功能的任何所开发元件)两者。因此,本发明的范围并不希望限于本文中所展示和描述的示范性实施例。而是,由所附权利要求书体现本发明的范围和精神。