一种用以产生互连总线的传输识别的方法

文档序号:6623233阅读:135来源:国知局
一种用以产生互连总线的传输识别的方法
【专利摘要】本发明涉及一种在总线互连设计中产生传输识别的方法。可以通过计算从所有的主控器至从控器的所有可能传输,来导出针对每个从控器的编码表,以决定互连总线中的从控器所接收的传输识别的最小宽度,如此一来可避免互连总线中发生传输拥塞。
【专利说明】一种用以产生互连总线的传输识别的方法

【技术领域】
[0001]本发明涉及一种总线互连设计,特别指一种基于传输识别(Transact1n ID)的总线互连设计。

【背景技术】
[0002]先进可扩展接口(advancedextensible interface, AXI)、先进微控制器总线架构(advanced microcontroller bus architecture, AMBA)规格中所定义的第三代先进微控制器总线架构用于高效能、高频率系统设计,并包括非常适用于高速次微米(sub-micrometer)互连的特征。先进可扩展接口总线系统支持多重突出地址(outstandingaddress)发布(issue)以及乱序完成(out of order complet1n),因此需要编码表来识别不同的传输。传统的做法是附加上识别位,该些识别位被用于识别每个主控器以及用于识别出传输来源的主控器。
[0003]图1A为使用传统方法来得到编码表的例子。其中有通过互连总线来连接的7个主控器(Master)M0、Ml、M2、M3、M4、M5 以及 M6,以及 4 个从控器(Slave) SO, SU S2 以及 S3。MO的主控器识别位为4bXXXX,代表主控器MO可同时启动16个传输;M1的主控器识别位为3bxxx,代表主控器Ml可同时启动8个传输;M2的主控器识别位为2bxx,代表主控器M2可同时启动4个传输。
[0004]主控器M3、M4、M5与M6的主控器识别宽度为零,这样的宽度代表M3、M4、M5或M6分别只可以同时启动一个传输。当主控器的总数为7时,需要3位来识别每一主控器。互连(Interconnect1n)会附加3个位至每个传输识别,使得互连总线中的传输识别是唯一的。因此,MO的传输识别为7位,包括用来识别来自MO的16个传输的4位,与用来识别MO本身的3位。当传输识别由从控器回来时,互连会将传输识别解码以得到原始来源的主控器。
[0005]图1B为一传统多级互连总线设计的例子,其中,包含一具有从控器端口 SP与主控器端口 MP的内部节点。当从控器端口 SP从6个主控器接收传输,以及主控器Ml具有3位的最长主控器识别宽度时,需要6位将从控器端口 SP所接收的所有传输编码。对于从控器S0,会需要7个位来对SO所接收的所有传输编码,其中,包含代表从控器端口 SP所接收的所有传输的6个位,以及识别MO与MP的I位。
[0006]过去已提出一些解法用以降低传输识别的宽度。如美国专利公开文献US20120311210,“用以优化基于多层多级互连系统芯片(system-on-chip,S0C)结构的从控器传输识别的系统与方法”中所述,可通过考虑多层多级互连系统芯片架构中的多重主控器与多重从控器之间的稀疏连接,来优化从控器传输识别(Transact1n ID)的宽度(Width),并通过移除基于稀疏连接信息的每个所产生的从控器传输标识符中的不重要位来产生针对每个主控器至任一从控器的优化的从控器传输标识符。然而,美国专利公开文献US20120311210中所述的解法并不保证在主控器与从控器之间的所有互连情况下都会产生优化的传输标识符宽度,而从控器与主控器识别的宽度会随着设计而不同。
[0007]因此,如何在互连总线设计中产生传输识别来优化传输标识符的宽度是一个重要课题。


【发明内容】

[0008]本发明的一目的为公开一种通过收集每个从控器的可能识别传输来将互连总线中的传输标识符编码的方法,以优化互连总线设计中的传输标识符的宽度,如此一来避免互连总线中的传输拥塞。
[0009]在一实施例中,一种在互连总线中产生传输识别的方法包含以下步骤:提供多个主控器与多个从控器,其中多个主控器中的每一个均会传送至少一传输至多个从控器中的至少一个;多个从控器中的每个从控器均会进行以下子步骤:依据每个主控器的主控器识别宽度来决定所有传输至少一传输至从控器的主控器的传输总数量;决定最小正整数n,以使2η大于或等于传输的总数量;将传输标识符宽度设为该正整数η并依据传输标识符宽度η,分别指定一唯一的传输标识符给每一个传输,以识别每一个传输。
[0010]在一实施例中,上述方法中的所有主控器的传输总数量为每个主控器的实际传输的数量总和。在一实施例中,上述方法中的所有主控器的传输的总数量为每个主控器的最大传输数量的总和,其中主控器识别宽度为m的主控器的最大传输数量为2m。在一实施例中,互连总线的设计为基于先进可扩展接口规格。

【专利附图】

【附图说明】
[0011]图1A?图1B为一种将互连总线设计中的传输识别编码的传统方法;
[0012]图2A?图2B为本发明一实施例的将互连总线中的传输识别编码的示意图;
[0013]图3为本发明一实施例的将传输识别编码的流程图;
[0014]图4A?图4B为本发明一实施例的基于图3中指定传输识别的多个方法。
[0015]附图标记说明:M0?M6-主控器;SO?S3-从控器;301?304、401?404、405?408-步骤。

【具体实施方式】
[0016]本发明的详细说明于随后描述,这里所描述的较佳实施例是作为说明和描述的用途,并非用来限定本发明的范围。
[0017]本发明的一实施例公开一种在互连设计中产生传输识别的方法。在支持乱序传输完成的互连架构,例如先进可扩展接口中,互连设计需要指定一唯一的传输标识符给每一个传输,以识别每一个传输。随着互连的主控器的数量增加,以及主控器识别的宽度改变,先进可扩展互连的传输识别总线上的位数量也会越来越大。为解决此问题,本发明提出了一种通过优化每个从控器的识别宽度来降低先进可扩展接口识别总线上的位数量的方法,如此一来可纾解先进可扩展接口互连中的传输拥塞。
[0018]确切地说,主控器识别宽度定义如下。主控器具有主控器识别宽度m,这意味着主控器所能产生的传输的最大数量,或是所有可能传输的数量是2m ;而主控器所能产生的传输的最小数量是2m-l+l,其中,主控器所能产生的传输的实际数量在2m-l+l到2m之间。举例来说,主控器具有主控器识别宽度4,意指主控器所能产生的传输的最大数量是16 ;而主控器所能产生的传输的最小数量是9 ;而主控器所能产生的传输的实际数量在9到16之间。
[0019]本发明一实施例公开了一种在互连总线设计中产生传输识别的方法,该方法包括以下步骤:提供连接至互连总线的多个主控器与多个从控器,多个主控器中的每一个均会传送至少一传输至多个从控器的其中至少一个;每一个从控器均进行以下子步骤:依据每个主控器的主控器识别宽度来决定传送至少一传输至该从控器的所有主控器的传输的总数量;决定最小正整数n,以使2n大于或等于传输的总数量;将传输识别宽度设定为最小正整数η并指定每一个传输一唯一传输识别,以分别识别每一个传输,其中,传输识别在范围O至2η-1之中。也就是说,传输识别以η个二进制位来编码。
[0020]在一实施例中,所有主控器的传输的总数量为每个主控器的传输的实际数量总和。在一实施例中,所有主控器的传输的总数量为每一个主控器的识别宽度的所有可能传输的数量的总和。举例来说,假如主控器具有4位的主控器识别,主控器的所有可能传输的数量为24,也就是16。
[0021]在一实施例中,如图2所示,图2为本发明一实施例的主控器与从控器之间的互连示意图。如图2所示,在一实施例中,O主控器的所有可能传输的数量基于该主控器的主控器识别的宽度;针对一从控器,统计来自所有主控器至该从控器的所有可能传输数量的总和以得到该从控器的编码的宽度。举例来说,如图2Α所示,主控器O (MO)具有4位的识别,这样代表可能传输数量为16 ;主控器I (Ml)具有3位的识别,代表可能传输数量为8 ;主控器2 (M2)具有2位的识别,代表可能传输数量为4 ;而Μ3、Μ4、Μ5或Μ6分别具有O位的识别,这样代表可能传输数量为I。例如,以从控器端口 O(SO)来说,从所有主控器至从控器端口O(SO)的所有可能传输为32(16+8+4+1+1+1+1),也就是统计每一个主控器的识别宽度所决定的所有可能传输的总和,以得到从控器端口 O(SO)的所有可能传输;因此,需要5位来识别从控器SO所接收的每一个传输。接下来,通过以下步骤可导出用以识别从控器SO所接收的每个传输的编码表。在第一步骤中,会选择连接至SO并具有最长的主控器识别宽度的主控器来导出编码表的第一入口。MO的主控器识别宽度为4位(24= 16),而MO会采用从O到15的传输识别,所以指定5bOXXXX给MO以代表主控器MO的所有传输识别,其中,通过以上所述,已选择5位来识别从控器SO的每个传输,因此会附加一个O在MO的主控器识别位前面。在下一步骤中,会选择尚未编码并具有最长的主控器识别宽度的主控器来得到编码表的第二入口。Ml的识别宽度为3位(23 = 8),并采用从16到23的传输识别,所以指定5bl0xxx给主控器Ml来代表主控器Ml的所有传输识别。在下一步骤中,会选择尚未编码并具有最长的识别主控器来得到编码表的第三入口。M2的识别宽度为2位(22 = 4),并采用从24到27的传输识别,所以指定5bll0xx给主控器M2来代表主控器M2的所有传输识别。最后,M3、M4、M5以及M6会分别采用传输识别28、29、30以及31。
[0022]请注意指定传输识别至每个传输的顺序不被局限于上述例子,以及只要所有传输都在编码表的识别宽度内并且每一个传输在编码表中都具有唯一传输识别,那么就可以任何顺序来指定传输识别至每个传输。此外,基于主控器识别宽度,可通过统计每个主控器的多个传输的总和来计算传输的总数量,其中,主控器的传输的数量在2m-l+l到2m范围之间,其中,m为主控器的识别宽度。也就是说,可依据每个主控器的主控器识别宽度来决定一特定从控器所接收的传输的总数量,其中,可以指定给主控器的传输的数量在2m-l+l到2m之间范围,其中,m为主控器的识别宽度。请注意,可指定给主控器的传输的数量可以等于或大于来自主控器的要被初始的传输的实际数量。举例来说,假如m等于4以及传输的实际数量为9,则指定给主控器的传输的数量可以是9、10、11、12、13、14、15或16。然而,由于选择16符合二元编码方式,因此可以简化硬件设计。
[0023]同样地,依据传送传输给从控器SI的每个主控器的主控器识别宽度,通过统计Ml、M2、M3、M4、M5与M6的所有可能传输的总和,可知传送至从控器SI的所有可能传输为16 ;因此,需要4位来识别从控器SI所接收的每个传输。接下来,通过以下步骤可导出用以识别从控器SI所接收的每个传输的编码表。在第一步骤中,选择连接至SI并具有最长识别宽度的主控器来导出从控器SI编码表的第一入口。Ml的主控器识别宽度为3位(23 =8),这样代表O?7,所以会指定4b0xxx给主控器Ml来代表主控器Ml的传输识别。在下一步骤中,选择尚未被编码并具有最长主控器识别的主控器来得到从控器SI编码表的第二入口。M2的识别宽度为2位(22 = 4),这样代表8?11,所以会指定4bl0xx给主控器M2来代表主控器M2的传输识别。接下来,重复该作业直到所有连接至从控器SI的主控器都被编码。因为S2与SO具有与所有主控器的相同互连,所以S2的编码表会与SO的编码表相同。同样地,S3只连接至具有O识别宽度的4个主控器,所以从控器S3所接收的传输的总数量为4,也就是说需要2位来代表这4个传输。
[0024]主控器与从控器之间的互连可以是阶层式的。图3为一内有作为从主控器接收传输的内部从控器,并作为初始传输至从控器的主控器的一内部节点的阶层式互连。上述的相同步骤可被用于导出内部从控器节点的编码表。在导出内部从控器节点的编码表后,编码表会在主控器与从控器相连时作用,而内部主控器节点的主控器识别位会是4bXXXX。因此,可以阶层式地决定每个从控器的编码表。
[0025]图3为本发明一实施例的将传输识别编码的流程图。在步骤301中,提供连至互连总线的多个主控器与多个从控器,其中,多个主控器中的每一个均会传送至少一传输至多个从控器中的至少一个;以及多个从控器中的每一个均会进行以下子步骤:决定传送至少一传输至从控器的所有主控器的传输的总数量(子步骤302);决定最小正整数η以使2n大于或等于传输的总数量(子步骤303);将传输识别宽度设定为该最小正整数n,并依据传输识别宽度η来指定总数量的多个传输中的每一个传输一唯一传输识别,以分别识别每一个传输(子步骤304)。
[0026]图4Α?图4Β为本发明一实施例的基于图3的指定传输识别的计数方法。如图4Α所示,将O设作传输识别的指数(步骤401);依据从控器所能接收的所有传输的实际总数量来决定编码识别表宽度(步骤402);接下来,选择无编码的主控器并将该主控器的每个传输的传输识别编码,其中,当其中一传输被编码至表中时,指数会加I来递增(步骤403);并重复步骤403直到所有主控器都被编码至识别表(步骤404)。
[0027]如图4Β所示,将O设作传输识别的初始指数(步骤405);依据从控器所接收的所有可能传输的总数量来决定编码识别表宽度(步骤406);接下来,选择无编码的具有最长主控器识别宽度的主控器,并依据该主控器识别宽度将该主控器的传输识别编码,其中,主控器识别宽度的所有可能传输与指数相加(步骤407);以及重复步骤403直到所有主控器被编码至识别表(步骤408)。
[0028]总结来说,可以先决定特定从控器的传输识别的宽度,从而依据该特定从控器的传输识别的宽度,完成指定一传输识别给该从控器接收的每一个传输,其中,可根据来自所有主控器的传输的实际数量来决定传输的总数量,或可通过统计每个主控器的所有可能传输的数量来决定传输的总数量,其中,即使传输的实际数量小于主控器的所有可能传输的数量,主控器的主控器识别宽度仍会导出主控器的所有可能传输的数量。举例来说,假如主控器所能启动的传输的实际数量为14,而主控器的主控器识别宽度为4,则主控器的所有可能传输的数量为16。
[0029]虽然本发明以前述较佳实施例揭露如上,然其并非用以限定本发明,任何熟习相像技艺者,在不脱离本发明的精神和范围内,当可作些许更动与润饰,因此本发明的保护范围须视本说明书所附的权利要求所界定为准。
【权利要求】
1.一种用以产生互连总线的传输识别的方法,其特征在于,包括以下步骤: 提供多个主控器与多个从控器,其中,该多个主控器与该多个从控器通过一互连总线连接; 针对每一个从控器,产生针对该从控器所接收的每一个传输的一传输识别,该传输识别包括决定该从控器从该多个主控器所接收的传输的总数量; 决定一最小正整数n,以使2n大于或等于该传输的总数量; 指定该总数量的多个传输中的每一个传输一唯一传输识别,以分别识别该传输,其中,每一个被指定的传输识别为一正整数并从O至2n-l范围中选出。
2.如权利要求1所述的方法,其中,从该多个主控器所接收的该多个传输的该总数量基于每个主控器的一实际传输数量。
3.如权利要求1所述的方法,其中,从该多个主控器所接收的该多个传输的该总数量基于每个主控器的识别宽度的所有可能传输。
4.如权利要求1所述的方法,其中,该多个从控器包括一内部从控器节点。
5.如权利要求1所述的方法,其中,该互连总线的设计基于先进可扩展接口规格。
【文档编号】G06F13/38GK104375960SQ201410394849
【公开日】2015年2月25日 申请日期:2014年8月12日 优先权日:2013年8月13日
【发明者】廖英泽, 喻佩, 方勇胜 申请人:创意电子股份有限公司, 台湾积体电路制造股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1