具有跟踪资源的系统的制作方法
【专利摘要】一种系统包括具有多个组件的功能单元。该系统还包括用于跟踪由功能单元所运行的过程的跟踪资源。跟踪资源包括具有多个节点和多个监测器的网络配置,其中监测器的每个耦合到节点,并且配置成确定组件的跟踪信息。此外,跟踪单元耦合到网络配置。
【专利说明】具有跟踪资源的系统
【技术领域】
[0001]本发明涉及电子系统,以及更具体来说,涉及跟踪或调试电子系统的技术。
【背景技术】
[0002]用于诸如片上系统(SoC)之类的可编程系统的软件开发是现代装置开发中的最引起兴趣的挑战之一。众所周知,装置的功能性、性能、正确操作、可用性和市场上的成功主要由经过开发以运行于装置的可编程系统的硬件的软件来确定。因此,通过提供跟踪/调试解决方案来向软件开发人员提供支持的可编程系统使系统对软件开发人员更为透明,并且由此降低使软件匹配硬件平台所花费的工作量和时间。此外,硬件平台的硬件误差可延迟上市的时间,并且应当是尽早可检测的。
【专利附图】
【附图说明】
[0003]通过结合附图来阅读作为举例的实施例的以下详细描述,使本公开的方面更加显而易见,附图包括:
图1是按照本公开的包括功能单元和跟踪资源的系统的示意框图;
图2是跟踪的示范架构和拓扑的示意框图;
图3是跟踪的示范架构和拓扑的示意框图;
图4是图3所示架构和拓扑的示范细节的示意框图;
图5是耦合到网络节点的监测器的示意框图;
图6是监测器的状态图的图示;
图7是示出按照本公开的节点仲裁策略的网络环的示意框图;
图8是示出节点权重缩放的网络环的节点的示意框图;
图9是用于跟踪网络环时间的示范计数器的示意图;
图10是按照本公开的跟踪资源的示范架构和拓扑的示意框图;以及 图11示出按照本公开的处理跟踪信息的方法。
【具体实施方式】
[0004]在以下详细描述中,参照形成其一部分的附图,附图中作为说明示出可实施本发明的实施例。要理解,可利用其它实施例,并且可进行结构或逻辑变更,而没有背离本公开的范围。因此,以下详细描述不是限制性的,本发明的范围而是由所附权利要求书来限定。
[0005]要理解,本文所述的各个示范实施例的特征可相互结合,除非另加具体说明。此夕卜,相似参考标号表示对应的相似部件。
[0006]如本说明书中所使用,术语“耦合”和/或“连接”不是意在一般表示元件必须直接耦合或连接在一起;而是中介元件可设置在“耦合”或“连接”的元件之间。但是,虽然并不是限制到那种含义,但是术语“耦合”和/或“连接”还可理解为可选地公开一种实现,其中元件直接耦合或连接在一起,而没有中介元件设置在“耦合”或“连接”的元件之间。[0007]应当理解,实施例可在分立电路、部分集成电路或完全集成电路中实现。此外,本发明的实施例可在单个半导体芯片上或者在相互连接的多个半导体芯片上实现。
[0008]本公开可包括功能单元,其中包括多个可编程和/或不可编程组件。组件可包括可编程处理器、(例如可编程或不可编程)存储器、(例如可编程或不可编程)专用硬件块、(例如可编程或不可编程)硬件加速器、(例如可编程或不可编程)互连等等中的一个或多个,多个可编程处理器、存储器、专用硬件块、硬件加速器或其它组件可通过所述互连进行交互。
[0009]功能单元的组件可集成在单个芯片上。在这种情况下,包括功能单元的系统可形成片上系统(SoC)。SoC可包含一个或多个高速缓存CPU (中央处理单元)和复杂、例如流水线的互连。互连可对一个或多个从设备来仲裁一个或多个主设备。
[0010]功能单元的组件还可分布于经由芯片间互连相互连接的多个半导体芯片。多个芯片可容纳在单个装置的共同壳体中,例如安装在装置所包含的一个或多个板上。备选地,多个芯片可分布于多个独立和/或远程装置,其中多个独立/远程装置经由例如因特网、无线蜂窝网络等的网络相互连接。
[0011]功能单元可实现为形成片上网络(NoC)。NoC是将网络架构应用于单个芯片的集成电路。在NoC中,使用分组在逻辑节点之间传递数据。功能单元的组件可通过网络的节点和/或通过NoC的节点之间的网络互连来实现。
[0012]提供跟踪资源以用于跟踪功能单元所运行的过程。跟踪资源涉及在功能单元的目标环境中对其进行观测,并且配置成跟踪操作期间、例如软件程序的执行期间的功能单元的活动。
[0013]跟踪资源可提供调试。配置用于调试的跟踪资源在本公开中通篇称作调试资源。
[0014]跟踪资源不仅可用于跟踪或记录操作期间的功能单元的行为,而且还可配置成与功能单元进行交互。在这种情况下,跟踪资源(还)能够用作系统的控制基础设施。作为对这种情况的补充,跟踪资源可配置成控制功能单元上的软件程序流的执行。
[0015]跟踪资源可包括使用分组交换通信的网络。分组交换通信的使用可提供高等待时间容差、高可缩放性,并且可允许在跟踪操作期间的功能单元的活动期间的高并发性等级。跟踪资源可提供例如可用于SoC跟踪(调试)的基于NoC的跟踪(调试)平台。
[0016]跟踪资源可通过添加到系统的功能单元的架构并且与其无关的架构来实现。因此,跟踪资源可通过与作为功能单元的基础的系统的主要(功能)互连结构“正交”的附加专用互连基础设施来实现。这可使整个跟踪过程对被观测的功能单元不可见。在这种及其它情况下,跟踪资源可对程序流完全是非侵入性的。
[0017]图1示出按照本公开的系统100的示范框图。系统100可包括在虚线101上方示出的功能架构10以及在虚线101下方示出的跟踪、调试或控制架构20。
[0018]不失一般性,下面将把跟踪、调试或控制架构20称作跟踪架构20。要注意,在整个描述中,跟踪架构20可特别用于调试,即,可能形成调试架构20。此外,跟踪架构20还可用于控制功能架构10的操作。控制功能架构10的操作可用于除了软件开发/软件调试之外的其他目的。
[0019]功能架构10可包括模块或组件1、2、3。这些组件1、2、3的至少一个是可编程组件。组件1、2、3例如可包括可编程处理器、专用硬件块、(可编程)互连或(可编程)存储器。组件1、2、3可经由数据链路4、5来互连。
[0020]作为举例,组件I例如可以是通过软件可编程并且可操作以运行功能架构10中的过程的处理器或处理器核心。组件2例如可以是可以可选地在互连软件控制下的互连(例如,在协议信息控制下的网络互连、在可编程参数控制下的交叉开关(crossbar)结构、总线或专用硬件通路)。组件3可以是例如可编程存储器、在接口软件控制下的可编程接口、另一个可编程处理器等。包括多个组件1、2、3的功能架构10或者其一部分在本公开中又称作功能单元。
[0021]功能架构10可实现为单个芯片上的集成电路,从而形成SoC。
[0022]功能架构10中包含的组件1、2、3可分布于多个半导体芯片。在这种情况下,数据链路4、5的至少一个包括半导体芯片的引脚。
[0023]功能架构10可基于网络。在这种情况下,组件1、2、3各可提供网络的逻辑节点,并且包括对组件1、2、3进行寻址的报头的分组由数据链路4、5通过网络来传递。
[0024]跟踪架构20可包括监测器21、22和23、双向耦合到监测器21、22、23的网络结构24以及双向耦合到网络结构24的跟踪、调试或控制单元25。将监测器21、22、23和跟踪、调试或控制单元25耦合到网络结构24的双向数据链路分别由参考标号21a、22a、23a和25a来表示。具有用于对监测器21、22、23或者跟踪、调试或控制单元25进行寻址的报头的数据分组分别经由数据链路21a、22a、23a和25a以及经由网络结构24来传送。
[0025]不失一般性,下面作为举例将把跟踪、调试或控制单元25称作跟踪单元25。但是,要注意,在整个描述中,跟踪单元25具体可以是调试器和/或可包括用于控制功能架构10的操作的某种控制功能性。此外,跟踪单元25可包括多个独立和/或远程单元,即,跟踪单元25的诸如收集跟踪信息、调试命令或者控制跟踪架构20或功能架构10的操作之类的功能性可分布于一个芯片中的多个功能块、分布于多个芯片和/或分布于多个远程装置。
[0026]跟踪架构20可实现为网络、即通过分组交换通信部件来实现,或者跟踪架构20可在单个芯片上实现,从而形成NoC。在这种情况下,所有监测器21、22和23、网络结构24以及跟踪单元25由一个半导体芯片上的集成电路来形成。这个半导体芯片可与其上建立功能架构10 (这可选地又可实现为网络)的半导体芯片是相同的。
[0027]监测器21、22和23、网络结构24以及跟踪单元25可分布于多个半导体芯片。在这种情况下,至少一个监测器21以及网络结构24的第一部分在第一半导体芯片上实现,而至少第二监测器(例如监测器22或23)以及网络结构24的第二部分在第二半导体芯片上实现。网络结构24可包括供分组传输的引脚或其它芯片间互连。
[0028]网络结构24可配置成显示环拓扑,例如包括一个或多个网络环,其中多个节点按照闭环配置相互连接。备选地,网络结构24可配置成显示其它拓扑,例如星形拓扑、总线拓扑等。
[0029]监测器21、22、23分别通过观测通道31、32和33耦合到组件1、2、3。观测通道31、32,33允许监测器21、22、23分别从组件1、2、3得到跟踪或调试信息。也就是说,各监测器
21、22、23可观测操作期间的一个组件1、2、3的活动,将指示被观测组件1、2、3的活动的跟踪或调试信息封装到一个或多个分组中,并且可将这个或这些分组发送给跟踪单元25。要注意,监测器21、22、23可跟踪可编程组件1、2、3,但是还可跟踪不可编程组件1、2、3,例如存储器、专用硬件块、硬件加速器、互连等。[0030]如下面进一步更详细说明,可在处理器指令级上观测组件1、2、3。也就是说,命令和地址经由观测通道31、32、33来得到。可在事务级上观测组件1、2、3。也就是说,命令、地址和数据经由观测通道31、32、33来得到。事务是引起可编程处理器(例如组件I和/或3)上以及互连(例如组件2)上的活动的处理器指令的结果。
[0031]要注意,系统100可允许软件调试(这例如可在指令级进行)、硬件调试(这例如可在指令级进行并且可在时钟循环级执行)以及例如可在事务级进行并且可在事务循环而不是时钟循环上执行的系统级调试(即,多个可编程或不可编程组件1、2、3的系统级调试)。
[0032]在事务级,诸如地址、命令和数据之类的事务的性质可由监测器21、22、23来分包,并且经由网络结构24传送给跟踪单元25、例如调试器。
[0033]观测通道31、32、33可通过分别建立从监测器21、22、23到组件1、2、3的连接、SP通过建立上述实体之间的双向通道的控制通道(未示出)来补充。在这种情况下,跟踪架构20能够扩展到不只观测而且还在需要时与功能架构10进行交互。在这种情况下,跟踪架构20还可以能够用作用于影响功能架构10的程序控制操作的控制基础设施。作为举例,跟踪架构20可将控制信息传递给不同组件1、2、3,组件1、2、3通过控制通道耦合到监测器21、22,23(它们在这种情况下又可称作监测器/控制单元)。这样,在整个描述通篇中,跟踪架构20又可用于系统调整(tuning)。要注意,跟踪架构20可与向其传递的信息无关,S卩,从功能架构10到跟踪单元25的跟踪/调试信息和/或从跟踪架构20的跟踪单元25到功能架构10的控制信息。
[0034]大量电子装置和应用可实现结构100。作为举例,可实现结构100的装置和应用例如是诸如移动装置、无线装置、控制单元等的电子装置。作为举例,移动电话、智能电话、平板PC、用于汽车应用的电动机控制单元等可配备有按照本文的公开的结构100,其中它是包括实现装置功能的电路的功能架构10。
[0035]下面描述跟踪架构20的各种实施例和实现。下面描述的各个实施例的细节可同样适用于图1的结构100。反过来也是一样,如上所述的结构100的概念和实现同样可适用于以下实施例,除非另加相反的明确说明或技术上禁止。
[0036]图2示出跟踪架构200的示范架构和拓扑,跟踪架构200可包括其中包含网络环240的网络结构24。
[0037]网络环240可包括直接驻留在网络环240上的节点240a、240b、240c、240d、240e。网络环240的节点240a-240e可以是例如路由器。如下面将更详细说明,节点240a_240e可经由双向链路2la、22a、23a分别耦合到监测器21、22、23,如图1所示。此外,跟踪单元25可经由双向数据链路25a耦合到网络环240。
[0038]网络节点240a_240e可与监测器关联。作为举例,监测器21可与节点240a关联,并且可经由双向数据链路21a将跟踪信息传递给节点240a ;监测器22可与节点240b关联,并且可经由双向数据链路22a将跟踪信息传递给节点240b ;以及监测器23可与节点240c关联,并且可经由双向数据链路23a将跟踪信息传递给节点240c。如上所述,控制信息可沿相反方向从节点240a-240e转发到监测器/控制单元21、22、23。
[0039]为了降低实现开支,网络环240可以是单向的。因此,信息(即,分组)能够仅沿一个方向(顺时针或逆时针)转发。这意味着,某个等待时间可被网络环240上传播的分组遇到。但是,如下面将进一步更好地理解,分组的传播时间可以不是等待时间关键过程。换言之,使用如图2例示的环拓扑上的分组交换通信可提供容许等待时间跟踪/调试。此夕卜,环拓扑、例如网络环240可以是可缩放的,并且因此可易于适合功能架构10的大多数不同设计。此外,例如单个半导体芯片(NoC)上的分组交换通信的使用允许检测功能架构10的组件1、2、3的活动中的高并发性等级。此外,代替使用网络环240,可采用其它网络拓扑,例如星形、总线等。
[0040]图3示出按照本公开的示范跟踪架构300的架构和拓扑的示意框图。跟踪架构300可包括分层网络结构24。更具体来说,网络结构24可包括多个网络环240、250和260以及一个主环280。又分别称作环1、环2、环3的网络环240、250、260各分别经由双向数据链路240x、250x和260x耦合到主环280。主环280可经由双向数据链路25a耦合到跟踪单元25。在所有网络环240、250、260和280中,节点可按照闭环配置相互连接。
[0041]主环280可用作主干,在跟踪单元25与不同网络环240、250、260之间沿两个方向传递信息。更具体来说,由网络环240、250、260的每个所得到的跟踪信息可传送给主环280,然后从主环280传送给跟踪单元25。另一方面,诸如监测控制信息之类的控制信息或者使监测器(控制单元)与功能架构10进行交互的控制信息可由跟踪单元25分包为分组,并且经由主环280和相应网络环240、250、260传送到其目的地节点,例如网络环240的节点240a-e其中之一。网络环250的节点由参考标号250a、250b、250c和260d来表示,以及网络环260的节点由参考标号260a、260b、260c、260d、260e来表示。
[0042]图3示出一个主环280互连到网络环240、250、260的一个或多个的拓扑。网络环240、250、260各可与功能架构10的一个子系统关联。此外,不是使用采取环240、250、260和/或主环280的形式的一个或多个网络配置,这些网络配置的一个或多个可由诸如星形、总线等的其它拓扑的网络配置取代。
[0043]功能架构10的每个子系统可由特定时钟域来限定。换言之,功能架构10可包括运行于不同时钟、即定义不同时钟域的电路块。功能架构10的各电路块或子系统可与一个网络环240、250、260关联。在这种情况下,各网络环240、250、260可运行于不同时钟。
[0044]作为举例,网络环240可在跟踪架构20中实现并且可与第一时钟域CLl的功能架构10关联,第二网络环250可在跟踪架构20中实现并且可与第二时钟域CL2的功能架构10关联,第三网络环260可在跟踪架构20中实现并且可与第三时钟域CL3的功能架构10关联,以及主环280可在主环时钟域CLO的跟踪架构20中实现。图3中,结构100的(例如单个半导体芯片的)时钟域CL1、CL2、CL3、CLO通过指示相应时钟域的边界的虚线示出。各时钟域CL1、CL2、CL3、CL0可被看作是例如具有单独时钟的“频率岛”,并且至少可在时间上相互不同。不同时钟可具有不同时钟循环,例如,时钟域CLl的第一时钟的频率至少可在时间上与时钟域CL2、CL3、CLO的其它时钟的一个或多个的频率不同。不同时钟频率的时钟可由不同的时钟源来生成。但是,例如如果(在时间上)选通时钟域CL1、CL2、CL3、CL0的时钟中的至少一个,则时钟域CL1、CL2、CL3中的不同时钟也可由单个或公共时钟源来生成。
[0045]功能架构10的每个子系统可由特定功率域来限定。在这种情况下,功能架构10可包括具有不同功率源、即定义不同功率域的电路块。例如,网络环240、250、260的每个可互连到一个子系统或功率域。在这种情况下,各网络环240、250、260可关联到具有它自己的电源的子系统。各电源可配置成单独关断和/或接通其相应子系统/网络环240、250、260。要注意,一般来说,本文所使用的术语“接通”和“关断”并不是限制到功率选通。而是预计其含义广义地涵盖例如通过时钟选通来接通或切断电路的其它方式。
[0046]换言之,子系统可以是电压或功率域而不是时钟域。此外,子系统可以是组合时钟和电压或功率域,即,不同子系统具有单独时钟和单独电压/电源。一般来说,各网络环240、250、260可与通过功能架构10和跟踪架构20的特定时钟域和/或特定功率域所限定的系统100的子系统关联。作为举例,JPEG压缩块、视频压缩块、音频压缩块、WiFi块、例如触摸屏显示器的用户接口、语音控制单元或小键盘各可实现一个子系统。
[0047]如图3所示的跟踪架构300的分层环网络拓扑允许完全去除(切断)单独子系统而没有影响调试/跟踪过程。作为举例,如果切断时钟域CLl (或者对应功率域),则禁用功能架构10的组件1、2、3以及系统100的跟踪架构20中的第一网络环240。但是,第二子系统(例如时钟域CL2和/或对应功率域)中的第二网络环240的操作以及第三子系统(例如时钟域CL3和/或对应功率域)中的第三网络环250的操作不受切断第一子系统影响。
[0048]其中实现主环280的子系统(例如主环时钟域CLO和/或对应功率域)可以从不关断(关机),和/或可随时间具有恒定时钟。这可保证在主环280与连接到主环280的网络环240、250、260之间交换的分组始终传递给跟踪单元25或者反过来也是一样,以及从跟踪单元25所发送的分组始终经由主环280传递给目标环240或250或260。
[0049]跟踪单元25可驻留在与图3的CL1、CL2、CL3、CL0所例示的子系统不同的子系统中。例如,跟踪单元25可在图3所示的子系统之一中实现,例如在具有恒定时钟或功率的CLO所例示的子系统中实现。所有子系统可设置在单个半导体芯片上,从而引起NoC跟踪架构20。备选地,子系统的一个或多个可在芯片外设置,或者甚至可设置在不同装置中,从而引起分布于若干芯片和/或装置的网络。在这种情况下,作为举例,跟踪单元25可以是例如在可连接到考虑中的电子装置的计算机中实现的外部跟踪单元。
[0050]连接到主环280的网络环240、250、260的数量可以是任意的。不同子系统(例如时钟或功率域)可具有不同的网络环240、250、260,或者甚至可共享网络环240、250、260。此外,单个子系统可适应一个以上网络环240、250、260。
[0051]在一些实施例中,如前面所述并且通过图2的示例所示,可丢弃主环280,并且在多个网络环240、250、260的情况下,这些环可直接(即,不干涉主环280)相互连接。如果子系统的关断是不允许的或者是不可能的,则这些实施例可特别受到关注。
[0052]此外,单个网络环240、250、260上的节点的数量是任意的。但是,要注意,用于对节点/监测器进行寻址的地址空间应当充分大,以使得分别适应环240、250和260的所有节点 240a-e、250a-d、260a_e。
[0053]要注意,功能架构10中的子系统可使用不同协议和/或不同类型的事务。也就是说,与不同网络环关联的监测器观测的协议或者事务种类能够根据其中实现节点/监测器的子系统而有所不同。
[0054]此外,与单个网络环240、250、260关联的监测器观测的协议和事务能够根据对应子系统的功能架构10中观测的组件1、2、3而有所不同。这允许跟踪架构20应用于由具有异构接口的组件1、2、3组成的系统100。作为举例,参照图1和图3,耦合到例如环240的节点240a的监测器21可基于第一协议来观测组件I的事务,耦合到例如环240的节点240b的监测器22可基于第二协议来观测组件2的事务,以及耦合到例如第一环240的节点240c的监测器23可基于第三协议来观测组件3的事务,其中第一、第二和第三协议可以是不同的。
[0055]对特定协议的事务(或者以其为基础的跟踪信息)进行分包可取决于协议本身。因此,参照上述示例,监测器21、22和23可使用分别适合组件1、2和3中使用的相应协议或事务的不同分包过程。
[0056]如将结合图5更详细说明,各节点240a-240e、250a_250d和260a_260e可以是路由器。此外,各节点240a-240e、250a-250d和260a_260e可耦合到监测器,例如监测器21、
22、23。每个网络环240、250、260的监测器的数量可以不同。要注意,每个网络环的监测器
21、22、23的数量可改变,并且无需在环之间平衡。
[0057]图4示出按照本公开的网络环(或者具有诸如星形、总线等的另一种拓扑的网络配置)与主环(或者具有诸如星形、总线等的另一种拓扑的网络配置)之间的网络连接。作为举例,网络环240示为连接到主环280。在这个示例中,网络环240包含分别耦合到监测器21、22和23的三个节点240a、240b、240c以及经由同步器270耦合到主环280上的节点281的一个节点241。同步器270可以是桥接器。网络环240上的节点240a、240b、240c和241以及主环280上的节点281可以是路由器。
[0058]不失一般性,下面将节点240a-240e、250a_250d和260a_260e称作路由器。图5作为举例示出按照一个实施例、经由双向数据链路21a耦合到监测器21的路由器240a。
[0059]路由器240a可具有两个双向端口,即端口 O和端口 I。端口 O连接到网络环240的环结构。更具体来说,路由器240a具有从网络环240的环结构接收分组的第一输入243,并且具有向网络环240的环结构发出分组的第一输出244。端口 I可连接到监测器M,例如监测器21。路由器240a可具有从监测器21接收分组的第二输入245,并且可具有向监测器21发送分组的第二输出246。第一输入/输出243、244与端口 O关联,第二输入/输出245、246与端口 I关联。
[0060]将网络环240桥接到主环280的节点241同样地可以是路由器。路由器241还可具有两个双向端口(端口 O和端口 I),如图5所示。路由器241的端口 O连接到网络环240的环结构。路由器241的端口 I可以不连接到监测器。端口 I而是可连接到同步器或桥接器270,并且用来与主环280进行通信。
[0061]在主环280中,所有节点或路由器281可与路由器241相似地设计。路由器281连接到同步器(桥接器)270,同步器(桥接器)270桥接到其它网络环、例如网络环250、260
坐寸ο
[0062]如本文所述的两个端口路由器可具有两个输入缓冲器。在这种情况下,第一输入缓冲器243a与端口 O关联,并且缓冲在输入243所接收的数据分组。第二输入缓冲器245a与端口 I关联,并且缓冲在输入245所接收的数据分组,如图5所示。
[0063]备选地,路由器可以没有输出缓冲器。因此,连接到环结构的输出244以及连接到监测器21或同步器(例如桥接器)270的输出246可以是无缓冲的。
[0064]监测器21、22、23可以是可编程的以工作在不同的监测器模式。作为举例,示出例如四种不同监测器模式的状态图如图6所示。
[0065]第一监测器模式IDLE禁用监测器,而没有产生任何数据业务。监测器被切断。[0066]第二监测器模式STATISTICS (stats)使监测器提供关于组件活动的观测的统计信息。作为举例,模式STATISTICS可使监测器计算某个特定时帧中的发生次数,以及向跟踪单元25报告统计信息。作为举例,被观测事务的数量可被得到并且周期地向跟踪单元25?艮告。
[0067]第三监测器模式SHORT MESSAGE (short)可使监测器仅对各事务的命令和地址进行分包,并且向跟踪单元25传送事务的各观测处的这个跟踪信息。
[0068]第四监测器模式LONG MESSAGE(1ng)可使监测器对整个事务(命令、地址、数据)进行分包,并且向跟踪单元25传送这个“完整”跟踪信息。如图6中的箭头所示,通过对监测器重新编程,监测器模式的每个之间的状态转变是可能的。
[0069]监测器模式限定传送给跟踪单元25的跟踪信息的粒度。粒度越细,则监测器传送其观测所需的带宽越大。作为举例,例如,第三和第四模式在将其观测作为分包跟踪信息发送给跟踪单元25时可遇到业务拥塞的问题。这因被观测的大量数据而可能发生。在这类情况下,通知关于跟踪信息的不完整传送的分组可由监测器21、22、23来生成,并且向跟踪单元25发出。
[0070]作为举例,如果因业务拥塞或带宽限制而不可能使监测器21、22、23在某种模式期间(例如SHORT MESSAGE模式期间或者LONG MESSAGE模式期间)对整个跟踪信息进行分包,则监测器21、22、23可配置成生成指示关于丢失(例如未被传送)跟踪信息的统计信息的丢失统计,将丢失统计分包为一个或多个分组,并且将其发送给跟踪单元25。作为举例,丢失统计可包括未被传送的观测的数量和/或类型。丢失统计例如可在称作丢失信息分组的特定分组中分包,或者可结合到其它分组中,例如添加到携带跟踪信息的分组。作为举例,如果P个观测丢失,则关于P个观测丢失的信息可包含在丢失信息分组中或者添加到携带与P+1观测有关的跟踪信息的下一分组。作为举例,所添加信息可以是指示P的数量的位序列,或者例如可以是与P个丢失观测有关的任何其它二进制编码丢失统计。
[0071]此外,监测器可配置成剪裁`观测的数据内容,以便减小分组大小。作为举例,在除了地址和命令信息之外还封装事务的数据的LONG MESSAGE模式期间,只有所观测数据的一部分才可传送给跟踪单元25。
[0072]对监测器21、22、23编程可例如由跟踪单元25或者与网络结构24关联的任何其它控制单元来实现。为此,跟踪单元25 (或者对应控制单元)输出携带用于对目标监测器的行为进行编程、例如设置目标监测器21、22、23的监测器状态的控制信息的数据分组。这个特征可实现监测器的功能性的未来扩展。
[0073]因此,在更一般方面,存在信息的两个通路,即,从主环280到网络环240、250、260的一个通路以及从网络环240、250、260到主环280的一个通路。为了简洁起见,这两个通路将分别称作上游和下游。下游通路可携带从监测器21、22、23下至跟踪单元25的调试和/或跟踪信息。因此,下游通路可负责网络结构24中的数据业务的大多数。另一方面,上游通路可沿相反方向、即从主环280到网络环240、250、260携带控制信息。封装在控制分组中的这个控制信息可用于例如按照图6的状态图来对监测器21、22、23进行编程。
[0074]如前面所述,封装在控制分组中的控制信息还可用于对监测器21、22、23进行编程,以便与功能架构10的组件1、2、3进行交互。在这种情况下,跟踪架构20还可用于控制功能架构10的操作。这样,跟踪架构20的功能性可以并不限制到只观测功能架构10的组件1、2、3的活动(指令、事务),而是还可用于控制或操纵功能架构10的程序执行。
[0075]路由器240a_240c、241(参见图4)的端口(端口 O与端口 I)之间的仲裁可通过权重来实现。例如,可使用具有权重的循环算法。作为举例,可向各路由器240a-240c、241的各端口分配特定权重。权重确定选择特定端口的概率。如下面进一步更详细说明,仲裁(例如权重的确定)可在网络节点(例如路由器240a-240c、241)中本地实现或者在诸如跟踪单元25之类的中央单元中实现。
[0076]静态权重可用于路由器240a_240c、241的各端口。这些静态权重被预先定义并且不是可改变的。作为举例,图7示出包括分别与监测器M1、M2、M3、M4关联的四个路由器R1、R2、R3、R4(对应于240a-240d)以及用于桥接到主环280或者直接桥接到跟踪单元25 (未示出)的一个路由器RO (对应于241)的网络环240。此外,网络环240只是一个示例,并且可能由具有诸如星形、总线等的其它拓扑的网络配置取代。作为举例,(端口 O:端口 I)的静态权重最初可对路由器Rl选择为(3:1)、对路由器R2选择为(2:1)、对路由器R3选择为(1:1)以及对路由器R4选择为(1:1)。这样,能够实现通信监测器M1-M4之间的公平性。
[0077]仍然参照图7,路由器Rl、R2、R3、R4的仲裁权重可在时间上是可变的。权重的可变性例如可用于在变化监测器操作条件下确保监测器公平性,或者保证路由器特定跟踪信息可在给定的适当等待时间极限之内到达路由器R1-R4的端口 O的输出244。
[0078]在第一情况下,如果将实现通信监测器M1-M4之间的公平性,则权重可按照图7所示的示例动态调整。在第一操作阶段,所有监测器M1-M4被认为被启用,即工作在除了 IDLE之外的某种状态。在这种情况下,路由器R1、R2、R3、R4的(端口 O:端口 I)权重可按与静态情况中相同的方式来调整,即,分别为(3:1)、(2:1)、(1:1)和(1:1)。然后,假定监测器M2和M4被切断,即,编程为进入IDLE状态。切断监测器M2和M4在图7中通过紧接监测器M2和M4的叉号来表示。在第二操作阶段中,将路由器Rl和路由器R2的权重调整为(1:1)和(1:1),以便也确保第二操作阶段中的公平性。在这个具体示例中,仅调整端口 O权重,但是,可同样地调整端口 I权重。
[0079]在第二情况下,如果将特许来自特定监测器M1-M4的跟踪信息,则路由器权重也可动态改变,以便确保封装来自待特许的特定监测器与其附连的有利组件1、2、3的跟踪信息的分组的适当带宽和等待时间。这例如可通过增加待特许的监测器与其通信的路由器的端口 I权重来实现。在这个具体示例中,仅调整端口 I权重,但是,可同样地调整端口 O权重。
[0080]仲裁可在网络节点(例如路由器R1-R4)中本地实现。作为举例,无论是为了公平性(第一情况)还是不公平性(第二情况)所应用的权重调整可由路由器R1-R4响应与其它路由器R1-R4关联的监测器M1-M4所传送的一个或多个状态变化分组而实现。一旦经过(例如特定)状态转变,各监测器M1-M4可生成并且传送状态变化分组。
[0081]端口权重可在路由器处响应所接收的状态变化分组而调整。图8示出一个示例。监测器M4接收将监测器M4编程为工作在监测器状态之一的控制分组。监测器M4可响应状态转变而传送状态变化分组。这个状态变化分组在端口 O的输出244离开路由器R4,并且通过环网络循环,由此通过路由器R3、路由器R2等。路由器R3可检测来自监测器M4的状态变化分组,并且可调整端口 O的权重。类似地,路由器R2可检测来自监测器M4的状态变化分组,并且可调整端口 O的权重。[0082]在一个示例中,只有两个不同状态变化分组可存在。在这种情况下,如果监测器状态切换到IDLE(即,切断监测器),则发出这两个状态变化分组之一。如果监测器状态切换到状态STATISTICS、SHORT MESSAGE和LONG MESSAGE其中之一,则发出两个状态变化分组中的另一个。在这个具体示例中,由监测器M1-M4所发出的状态变化分组仅指示已经发出状态变化分组的对应监测器M1-M4的通或断状态。接收这个状态变化分组的路由器R1-R4则可相应地调整其端口权重。回到图7,作为举例,路由器R2和路由器R4可发出指示这些路由器已经转到IDLE状态的状态变化分组。路由器R3在接收路由器R4的状态变化分组时将不会调整其端口 O权重,路由器R2在接收路由器R4的状态变化分组时将其端口 O权重从2调整到1,以及路由器Rl在接收来自路由器R4和路由器R2的状态变化分组时将其端口权重从3调整到I。因此,使用这些或其它概念,网络环240中的路由器端口权重可通过监测器所发出的分组来本地并且动态调整,而无需由中央仲裁单元、例如跟踪单元25来实现直接权重控制。
[0083]此外,仲裁例如可中央地实现。路由器端口权重可由中央网络单元、例如跟踪单元25所发出的控制分组来控制。这类控制分组可称作端口权重设定分组。端口权重设定分组例如可从跟踪单元25发送给多个节点(例如路由器R1-R4)的至少一个。在接收端口权重设定分组时,由端口权重设定分组所寻址的节点可按照分组中编码的权重设定信息来调整端口权重。如果预期网络环240的监测器M1-M4之间的不公平或特许仲裁,则可使用通过例如跟踪单元25所传送的控制分组来控制端口权重。
[0084]为了防止分组的非决定性到达所引起的误差,可为携带不同信息的分组分配不同优先级。作为举例,优先级可取决于用于生成跟踪信息的监测器状态。
[0085]为包含LONG MESSAGE状态中和/或SHORT MESSAGE状态中生成的跟踪信息的分组给予最低优先级。为包含STATISTICS状态中生成的跟踪信息的分组给予相同或更高优先级。对于携带控制信息的分组(例如时间周期分组、用于对监测器进行编程或者用于与功能架构10进行交互的分组),将给予最高优先级。这样,这类分组可尽快到达其目的地。
[0086]分包为分组并且由监测器21、22、23、M1-M4所发出的跟踪信息可提供有至少一个时间戳。时间戳可指示确定跟踪信息、即进行特定观测的时间。提供例如模式STATISTICS中生成的统计跟踪信息的分组可配置成携带两个时间戳,一个指定生成模式STATISTICS中的统计信息的观测的起始时间以及一个指定生成模式STATISTICS中的统计信息的观测的结束时间。
[0087]由分组所携带的时间戳可以是差分时间戳。差分时间戳与生成它们的子系统的时钟相关。差分时间戳可由计数器来生成,计数器计算对应子系统的时钟的时钟循环。网络环240、250、260的各监测器(参见例如图3)可有权访问计数器。
[0088]计数器可以是对应子系统的一个中央单元,S卩,可提供用于整个子系统的一个计数器。这种中央计数器可由位于对应子系统中的所有监测器来共享。如前面所述,子系统可由特定时钟域、例如时钟域CL0、CL1、CL2或CL3(参见图3)来限定。
[0089]子系统可包括多个计数器。在这种情况下,子系统(时钟域)中的所有计数器是同步的。中央计数器或者多个计数器可由监测器并且由位于对应子系统(时钟域)中的网络环或多个网络环的节点(路由器)来访问。
[0090]时间戳可对应于N位计数器的值,如图9所示。也就是说,将这个计数器的值印记在监测器21、22、23发射到对应子系统的网络环、例如在考虑时钟域CLl的子系统时的网络环240中的分组上。另外,网络环的桥接路由器241可有权访问计数器。
[0091]为了降低功率和半导体面积消耗,N位计数器可限制到仅对较小范围的循环进行计数。作为举例,N≤12、10或8。
[0092]N位计数器的宽度N限定计数器的最大范围2N-1。在计数到这个极限之后,计数器上溢、回绕并且重新开始。位计数器宽度N可限定附连到分组的差分时间戳的最大范围。
[0093]计数器的最大范围可分为称作周期(period)的较小相等大小的间隔。作为举例,周期可由K位来定义。在这种情况下,用作分组的时间戳的计数值可以仅为计数器的K位值,即,最大可对应于2K-1时钟循环的周期。
[0094]在这种情况下,每一个周期翻转计数器的前导M位,Μ=Ν_Κ。因此,N位计数器的前导M位能够被看作是周期计数器。周期计数器对K位的差分时间戳计数的上溢的数量进行计数。
[0095]周期计数器(即,N位计数器的前导M位)可用于触发向跟踪单元25传送特殊控制分组。这个控制分组以下将称作时间周期分组。时间周期分组可在周期计数器的各计数发射。
[0096]因此,与时钟域CL0、CL1、CL2、`CL3关联的每个子系统可周期地向跟踪单元25发射时间周期分组。时间周期分组向跟踪单元25报告在特定子系统中例如周期已经结束。N、M、K的每个在至少两个或者在所有子系统中可以是不同或者相同的。
[0097]例如,如图9所例示,能够对1023个时钟循环进行计数的计数器能够具有四个这种周期,各具有256个循环的长度。因此,时间周期分组将由配备有这种计数器的网络环在每256个时间循环来发射。
[0098]与子系统关联的一个或多个(同步)计数器和/或这个子系统中的一个或多个网络环可以是在网络环的节点以及在监测器可访问的。例如,指示子系统时间的时间周期分组可由桥接路由器241来生成并且可选地经由主环280向跟踪单元25发出。
[0099]时间周期分组包含源的地址,使得跟踪单元25知道从哪一个子系统和/或网络环发出了时间周期分组。
[0100]跟踪单元25可基于分组中包含的差分时间戳以及从发布了分组的子系统和/或网络环所接收的时间周期分组的计数来计算观测的绝对时间(又称作系统时间)。封装在分组中的跟踪信息的观测的准确绝对时间例如可按照下式来计算:
T(P) = [η X Δ (subsystem)+dTS(P)]X Tc(subsystem)。
[0101]在这里,T(P)是封装在分组P中的跟踪信息的绝对观测时间,η是在跟踪单元25所计数的与来自所考虑的子系统的时间周期分组的到达数量对应的周期数量,Δ (subsystem)是所考虑的子系统的时钟循环中的周期的时长,以及dTS (P)表示时钟循环中的分组的差分时间戳的值。从以上所述显而易见,每个子系统的计数器的时钟循环K中的周期时长和时钟循环周期Tc在跟踪单元25应当是已知的。此外,要注意,绝对时间可通过其它公式来计算,和/或附加概念可用于计算绝对时间。作为举例,在计算绝对时间之前可将入局分组对齐适当周期。作为举例,当接收例如两个周期之前(即,在周期nl-2中)生成但是因等待时间而迟到的分组时,跟踪单元25可能计算了 nl个周期。在这种情况下,通过观测周期计数器的当前值nl以及时间戳的周期计数(例如时间戳的前导M位),与正确周期nl_2的对齐是可能的。
[0102]基于差分时间戳的跟踪或调试使跟踪或调试架构20的复杂度为最小。计数器(2N-1)的最大值越大并且周期数量(2M)越大,则在跟踪单元25错误计算其绝对时间(即,系统时间)之前可容许分组的更大等待时间。
[0103]例如,只有K位可作为分组的差分时间戳来传送。备选地,整个计数器值(N位)可作为分组的差分时间戳来传送。在这种情况下,跟踪单元25能够易于确定分组属于周期的哪一个。此外,跟踪单元25能够通过将入局分组的差分时间戳的前导M位与在跟踪单元25基于时间周期分组(若使用的话)所计算的周期数η进行比较,来监测分组传输的近似实际等待时间。
[0104]换言之,只有跟踪单元25可得到各种网络环中的观测的绝对时间的知识。在这种情况下,跟踪单元25保持对于从每个网络环所接收的特定时间周期分组的计数。跟踪单元25则可基于时间周期分组的计数以及例如基于分组所提供的N位时间戳的前导M位值来对于从各网络环所接收的其它分组进行排序。由于跟踪单元25具有关于每个子系统中的时钟频率Tc—1的知识以及每个子系统中的计数器的周期范围K,所以跟踪单元25可计算来自每个子系统的各分组所报告的各观测的绝对时间。因此,子系统可定时在不同频率而没有影响系统的其余部分、跟踪信息的流动和跟踪单元25中的跟踪信息的评估。
[0105]可发射指示例如与时钟域CLO、CLU CL2、CL3关联的特定子系统的频率变化的控制分组。在这种情况下,子系统中的频率变化引起与子系统关联的组件1、2、3定时在改变的频率。这种类型的控制分组以下将称作频率变化分组。频率变化分组可用于向其它网络实体报告在特定子系统中频率变化已经发生。因此,子系统中的频率变化可触发频率变化分组的传输。
[0106]作为举例,频率变化分组可携带对应于与对应子系统(时钟域)关联的在频率变化时取样的计数器值的(例如差分)时间戳。此外,频率变化分组可包含源的地址,使得目的地单元知道从哪一个子系统和/或网络环发出了频率变化分组。
[0107]与诸如时间周期分组之类的其它类型的控制分组相似,频率变化分组可由例如所考虑的子系统和/或网络环的桥接路由器241来发出。为此,通知有权访问子系统的计数器的桥接路由器241关于频率变化发生时的事件,以及在那个时刻,该桥接路由器241对计数器取样以得到对应时间戳。然后,频率变化分组可以可选地经由主环280传送给跟踪单元25 (或者另一个目的地单元)。假定通过适当部件、例如通过功能架构10的控制单元(未示出)所发出的二进制频率变化启用信号来通知发射频率变化分组的桥接路由器241关于频率变化发生时的事件。
[0108]跟踪单元25 (或者另一个目的地单元)可使用频率变化分组中包含的(例如差分)时间戳来确定乘法器Tc (subsystem)应当改变成与所考虑的子系统(或时钟域)的新时钟频率Tc—1对应的新值的时刻。
[0109]跟踪架构20可使用可保持为不被单独子系统的关断和启动(boot up)影响的定时协议。在子系统关断和随后接通之后的单独子系统的恢复可基于主环280 (参见例如图
3)的时间来实现。主环280可位于连续保持功率、即从不关断的子系统中。因此,与主环280关联的计数器从不重置。在一个实施例中,与主环280关联的计数器可具有与以上所述并且如图9的示范图示所示相同的结构。[0110]当子系统关断时,与驻留在子系统中的网络环关联的计数器因断电而停止计数。每当子系统再次接通时,与子系统的网络环关联的计数器被重置,并且再次开始计数,从O开始。在那个时刻,将信号(例如从O和I进行切换的二进制信号)发送给主环280上的桥接路由器281,桥接路由器281与接通的网络环240连接。桥接路由器281则可生成称作唤醒分组的特定分组。唤醒分组可携带在信号的时刻与主环280关联的计数器的当前计数器值(例如当二进制信号从O切换到I时的计数器值)。此外,它可携带接通的子系统和/或子系统的网络环的标识符。
[0111]唤醒分组可发送给跟踪单元25。在接收唤醒分组时,跟踪单元25被通知关于接通子系统的时间(例如接通过程开始的时间)。由于主环280从不关断(即,连续操作),所以这个时间可以是子系统的绝对接通或启动时间的非常准确估计。从接通的子系统所接收的分组的绝对时间则可由跟踪单元25与如上所述相同的方式使用唤醒时间作为子系统计数器值O的起始时间偏移来计算。
[0112]因此,主环280可提供用作用于在子系统关断(关机)以及后续接通之后从自网络环所接收的差分时间戳来计算绝对时间的参考时间的连续时间基础。在一些实施例中,例如,如果没有使用主环280,则参考时间可由连接到跟踪单元25的参考计数器来提供。在这种情况下,按照以上描述在接通时从子系统发送给桥接路由器281的信号被发送给有权访问参考时间的跟踪单元2 5。
[0113]如果包括主环280的所有网络环均关断,则所产生的跟踪将重新开始。在一个实施例中,可通知跟踪单元25关于这种全局系统关断。如果通知跟踪单元25关于这种全局关断的时间,则可存储跟踪单元25中与单独网络环有关的时间信息。可通过系统100所发出的关断消息或者通过从系统100的外部所得到的信息来通知跟踪单元25关于整个系统100的关断。
[0114]当整个系统100再次接通时,可使用跟踪单元25中存储的与单独网络环有关的关于全局系统关断的时间信息。在系统100接通(启动)时,所有计数器被重置。如前面所述,每个子系统中的计数器始终计数,除非存在相应子系统中的关断。
[0115]作为举例,系统100可包括以不同时钟运行的两个子系统。子系统I (例如图3中的时钟域CLl)具有周期为7 ns的时钟,以及子系统2(例如图3中的时钟域CL2)具有周期为9 ns的时钟。这两个子系统通过各以它们所在的子系统的时钟频率来运行的跟踪架构20的两个网络环240、250来互连。桥接两个网络环240、250的主环280例如可具有周期比两个网络环240、250的时钟周期要短的时钟。作为举例,主环280的时钟周期可以为3 ns。
[0116]部分或全部链路(例如网络结构24、路由器端口端口 O、端口 I,参见例如图5,其中网络结构24和路由器端口 O的位宽度由w表示)的位宽度可设置为16,并且所有路由器的端口 O的输入缓冲器243和/或端口 I的输入缓冲器245可具有等于3 flit ( —flit具有16个数据位)的深度。从网络环240、250、260到主环280的互连可经由同步器270来实现,同步器270也可具有等于3 flit的大小的缓冲器。为了跟踪时间,10位计数器可在所有子系统/网络环上使用。因此,各计数器可具有1023的最大值。最高的两个位用于对周期进行计数,这引起将最大值分为256个计数的相等长度的四个周期。
[0117]图10示出按照本公开的跟踪架构20的示范架构和拓扑。在这个示例中,两个子系统的每个可与一个网络环(或者一般来说与具有例如星形、总线等的拓扑的一个网络配置)关联,并且各网络环可具有例如五个监测器。在这个实施例和本文所述的其它实施例中可使用不同类型的路由器。由“a”所表示的路由器可以仅能够转发分组。由“b”所表示的路由器可配置成转发分组、将网络环ID(标识符)添加到地址以及生成时间周期分组。由“c”所表示的路由器可配置成转发分组、检测子系统接通以及通过发射唤醒分组来向跟踪单元25报告子系统接通。由“d”所表示的路由器可配置成转发分组以及生成主环定时分组。图10所示的网络环是示范性的,并且可由具有诸如星形、总线等的其它拓扑的一个或多个网络配置取代。
[0118]要注意,用于在不同子系统/网络环中生成时间戳的计数器能够具有不同位宽度N。此外,考虑到N、K和M,各网络环可具有不同大小的计数器。由计数器所使用的位的数量N指定在错误计算其绝对时间之前分组能够容许的等待时间。因此,位宽度N将考虑系统的规范来确定。此外,周期计数器的位宽度M对于不同网络环也可以是不同的,并且考虑系统的要求来指定。
[0119]各监测器可配置成忽略预定义地址空间中发生的特定事务。这例如可确保安全通信能够不被跟踪单元25观测到。因此,跟踪互连可以不引起任何安全风险。但是,还有可能具有同一地址空间中的安全和非安全事务,以及通过其它部件来保证针对跟踪架构20的通信安全性。
[0120]将跟踪单元25连接到主环280 (或者例如另一种拓扑类型的中央网络配置)的路由器可以是可选的。而是可建立直接连接。在这种情况下,跟踪单元25必须跟踪定义主网络配置(例如环280)上的时间的计数器。
[0121]类似地,网络环上(或者例如其它拓扑类型的网络配置上)的桥接路由器241可以是可选的。在这个以及例如在所有其它实施例中,可以不提供路由器的端口 O与端口 I之间的交叉连接。
[0122]所有链路的位宽度能够是不同的。也就是说,分层拓扑中的不同网络环可通过使用其网络结构上的不同位宽度进行操作。缩放位宽度影响系统的吞吐量。具有更高位宽度的链路将具有更高吞吐量和更高带宽。
[0123]图11中示出按照本公开的一种方法。虽然该方法以下示为和描述为一系列动作或事件,但是将会理解,本发明并不受这类动作或事件的所示顺序限制。例如,按照本发明,一些动作可按照不同顺序发生和/或与除了本文所示和/或所述之外的其它动作或事件同时发生。另外,并非要求所有所示步骤实现按照本发明的方法。该方法包括在Si操作包括多个组件1、2、3的功能单元10。
[0124]在S2,组件1、2、3的跟踪信息由与组件1、2、3关联的监测器21、22、23来确定。
[0125]在S3,例如通过跟踪信息的二进制编码,并且通过将二进制编码跟踪信息写入分组中提供的跟踪信息数据结构中,将跟踪信息分包为分组。
[0126]在S4,将分组传递给网络配置,例如包括多个节点240a_240e的网络环240。然后,可通过使用例如定义其目的地的分组报头中包含的地址,在网络配置中路由分组。
[0127]在S5,分组从网络配置(例如网络环240)传递给跟踪单元25。然后,跟踪单元25可通过例如分析分组中包含的信息(例如时间戳、跟踪信息、丢失统计等)来处理分组,并且例如可控制网络操作、跟踪架构20的操作以及(可选的)功能架构10的操作,如上所述。[0128]虽然本文已经说明和描述了具体实施例,但是,本领域的技术人员将会理解,许多备选和/或等效实现可取代所示和所述的具体实施例,而没有背离本发明的范围。作为举例,在所有实施例中,例示为具有环拓扑的网络配置可具有其它拓扑,例如星形或总线。本申请预计涵盖本文所述实施例的任何适配或变更。因此,预计本发明仅由权利要求书及其等效物限制。
【权利要求】
1.一种系统,包括: 功能单元,包括多个组件;以及 跟踪资源,用于跟踪由所述功能单元所运行的至少一个过程,所述跟踪资源包括: 具有多个第一节点的第一网络配置; 多个第一监测器,其中所述多个第一监测器的每个耦合到所述多个第一节点中的第一节点,并且配置成确定所述多个组件中的组件的跟踪信息;以及 跟踪单元,耦合到所述第一网络配置。
2.如权利要求1所述的系统,其中,所述跟踪资源还包括: 具有多个第二节点的第二网络配置;以及 多个第二监测器,其中所述多个第二监测器的每个耦合到所述多个第二节点中的第二节点,并且配置成确定所述多个组件中的组件的跟踪信息。
3.如权利要求2所述的系统,其中,所述跟踪资源还包括: 主网络配置,耦合到所述第一网络配置、所述第二网络配置和所述跟踪单元。
4.如权利要求2所述的系统,其中,所述多个第一监测器配置成确定所述多个组件的至少一个第一组件的跟踪信息,所述第二监测器配置成确定所述多个组件中的至少一个第二组件的跟踪信息,并且所述至少一个第一组件和所述至少一个第二组件配置成工作在不同时钟。
5.如权利要求1所述的系统,其中,所述多个第一监测器的至少一个配置成将跟踪信息分包为分组,并且将所述分组传递给与其耦合的所述第一网络配置的第一节点。
6.如权利要求5所述的系统,其中,所述多个第一监测器的至少一个可编程为工作在不同的监测器模式,其中待分包的所述跟踪信息取决于所述监测器操作模式。
7.如权利要求6所述的系统,其中,所述不同监测器模式包括其中所述跟踪信息包括关于所述功能单元所运行的过程的事务的统计信息的至少一种监测器模式。
8.如权利要求5所述的系统,其中,所述多个第一监测器的至少一个配置成为所述分组提供至少一个时间戳,其中所述时间戳指示确定所述跟踪信息的时间。
9.如权利要求1所述的系统,其中,所述功能单元的所述多个组件包括可编程处理器、专用硬件块、存储器以及配置成提供通过所述互连所耦合的所述多个组件之间的通信的互连中的一个或多个。
10.如权利要求1所述的系统,其中,所述第一网络配置包括网络环。
11.如权利要求1所述的系统,其中,所述跟踪资源形成片上网络(NoC)的一部分或者所述功能单元形成片上系统(SoC)的一部分。
12.—种方法,包括: 操作包括多个组件的功能单元; 由与组件关联的监测器来确定所述多个组件中的该组件的跟踪信息; 将所述跟踪信息分包为分组; 将所述分组传递给包括多个节点的网络配置;以及 将所述分组从所述网络配置传递给跟踪单元。
13.如权利要求12所述的方法,还包括: 为所述分组提供至少一个时间戳,其中所述时间戳指示确定所述跟踪信息的时间。
14.如权利要求13所述的方法,其中,所述时间戳指示相对于一连串时间周期中的时间周期的差时,还包括: 在各时间周期将包括所述时间戳的时间控制分组从所述网络配置发送给所述跟踪单元。
15.如权利要求14所 述的方法,还包括: 计算基于所述时间戳以及基于在所述跟踪单元所接收的时间控制分组的计数数量确定了所述跟踪信息的系统时间。
16.如权利要求12所述的方法,还包括: 向所述跟踪单元发送指示组件处的频率变化的频率变化分组。
17.如权利要求12所述的方法,还包括: 将控制分组从所述跟踪单元发送给所述监测器;以及 将所述监测器编程为工作在所述控制分组所设置的监测器模式,其中待分包的所述跟踪信息由所述监测器模式来确定。
18.如权利要求12所述的方法,还包括: 由所述监测器响应所述监测器模式的变化而将状态变化分组发送到所述网络配置中;以及 响应接收状态变化分组而调整所述网络配置的至少一个节点中的端口权重。
19.如权利要求12所述的方法,还包括: 将端口权重设定分组从所述跟踪单元发送给所述多个节点的至少一个;以及 响应接收所述端口权重设定分组而调整所述多个节点的至少一个中的端口权重。
20.如权利要求12所述的方法,还包括: 由所述监测器将指示跟踪信息的不完整传送的分组发送到所述网络配置中。
21.一种操作包括适合被关断和接通的网络配置、连接到所述网络配置的主网络配置以及连接到所述主网络配置的跟踪单元的跟踪架构的方法,包括: 关断所述网络配置; 接通所述网络配置; 向所述主网络配置的路由器发信号通知关于所述网络配置的接通的开始实例; 由所述主网络配置的所述路由器来生成唤醒分组,其中所述唤醒分组配置成包括识别被接通的所述网络配置的信息;以及 将所述唤醒分组传送给所述跟踪单元。
22.如权利要求21所述的方法,其中,所述唤醒分组配置成还包括关于指示接通所述网络配置的时间的信息。
23.—种系统,包括: 功能单元;以及 跟踪资源,用于跟踪由所述功能单元所运行的过程,所述跟踪资源包括具有多个节点的至少一个网络环以及连接到所述网络环的跟踪单元。
24.—种系统,包括: 功能单元;以及 跟踪资源,用于跟踪由所述功能单元所运行的过程,所述跟踪资源包括:具有多个第一节点的第一网络环; 具有多个第二节点的第二网络环;以及 跟踪单元,耦合到所述第一网络环以及所述第二网络环。
25.如权利要求24所述的系统,其中,所述第一网络环由第一时钟来定时,所述第二网络环由第二时钟来定时,以及所述第一和第二时钟配置为至少在时间上是不同的。
26.如权利要求24所述的系统,其中,所述第一网络环由第一电源供电,以及所述第二网络环由第二电源供 电,其中所述第一和第二电源配置成单独关断或接通。
【文档编号】H04L12/42GK103560924SQ201210573178
【公开日】2014年2月5日 申请日期:2012年12月26日 优先权日:2011年12月27日
【发明者】V.托多罗夫, H.赖尼希, A.吉里巴尔迪, P.埃德 申请人:英特尔移动通信有限责任公司