当前位置: 首页 > 专利查询>ARM有限公司专利>正文

跟踪分支指令制造技术

技术编号:26045220 阅读:33 留言:0更新日期:2020-10-23 21:25
一种装置包括数据处理电路,用于响应于指令序列而执行数据处理操作,其中指令序列包括分支指令。跟踪生成电路生成指示数据处理操作的跟踪项的跟踪流。跟踪生成电路响应于指令序列中一个或多个未被采用分支指令后跟随有被采用分支指令而进行以下操作:当装置的当前状态条件被满足时,在跟踪流中包括与一个或多个未被采用分支指令相对应的至少一个未被采用跟踪项(其后跟随有被采用跟踪项),以及当装置的当前状态条件不被满足时在跟踪流中包括与被采用分支指令相关联的源地址。因此,提供了一种在跟踪未被采用分支指令与跟踪与被采用分支指令相关联的源地址之间的混合方法。

【技术实现步骤摘要】
【国外来华专利技术】跟踪分支指令
本公开涉及数据处理。更具体地,本公开涉及跟踪分支指令。
技术介绍
可以向数据处理系统提供跟踪由系统的数据处理器执行的操作的能力。这通常包括生成跟踪项的跟踪流,这些跟踪项指示那些数据处理操作。该跟踪流是在数据处理系统内(例如,在片上系统内)生成的,并且需要从系统中导出,以便可以监视数据处理系统的操作。然而,可以为此目的保留(例如,经由专用的跟踪输出引脚)的带宽通常非常有限,因此必须严格选择要添加到跟踪流中的跟踪项并且高效地表示那些选择的跟踪项。由数据处理器执行的许多操作不需要被显式跟踪,因为在数据处理器经常执行指令序列的情况下,当该序列中的第一条指令被执行时,可以推断按顺序在其后的指令也被执行。然而,分支指令需要更显式的跟踪,因为是否采用分支通常取决于运行时(runtime)条件,因此,为了能够重构处理器所做的工作,需要知道是否采用了分支以及因此在分支指令之后执行了哪些指令。
技术实现思路
在至少一个示例实施例中,存在一种装置,该装置包括:数据处理电路,用于响应于指令序列执行数据处理操作,其中所述指令序列包括分支指令;以及跟踪生成电路,用于生成指示所述数据处理操作的跟踪项的跟踪流,其中,所述跟踪生成电路响应于指令序列中一个或多个未被采用分支指令后跟随有被采用分支指令,而进行以下操作:当所述装置的当前状态条件被满足时,在所述跟踪流中包括与所述一个或多个未被采用分支指令相对应的至少一个未被采用跟踪项(其后跟随有被采用跟踪项);以及当所述装置的所述当前状态条件不被满足时,在所述跟踪流中包括与所述被采用分支指令相关联的源地址。在至少一个示例实施例中,存在一种操作装置的方法,该方法包括:响应于指令序列,执行数据处理操作,其中,所述指令序列包括分支指令;生成指示所述数据处理操作的跟踪项的跟踪流,其中,当在指令序列中一个或多个未被采用分支指令后跟随有被采用分支指令时,所述生成指示所述数据处理操作的跟踪项的跟踪流包括:当所述装置的当前状态条件被满足时,在所述跟踪流中包括与所述一个或多个未被采用分支指令相对应的至少一个未被采用跟踪项(其后跟随有被采用跟踪项);以及当所述装置的所述当前状态条件不被满足时,在所述跟踪流中包括与所述被采用分支指令相关联的源地址。在至少一个示例实施例中,存在一种装置,该装置包括:用于响应于指令序列执行数据处理操作的构件,其中所述指令序列包括分支指令;以及用于生成指示所述数据处理操作的跟踪项的跟踪流的构件,其中,当指令序列中一个或多个未被采用分支指令后跟随有被采用分支指令时,所述用于生成的构件激活:用于在所述装置的当前状态条件被满足时在所述跟踪流中包括与所述一个或多个未被采用分支指令相对应的至少一个未被采用跟踪项以及其后的被采用跟踪项的构件;以及用于在所述装置的所述当前状态条件不被满足时在所述跟踪流中包括与所述被采用分支指令相关联的源地址的构件。附图说明将参考附图中所示的本技术的实施例,仅通过示例的方式进一步描述本技术,其中:图1示意性地示出了一个示例实施例中的装置。图2示意性地示出了一个示例实施例中的片上系统装置。图3示意性地示出了一个示例实施例中的装置。图4A示意性地示出了一个示例实施例中的装置的一些组件;图4B示意性地示出了一个示例实施例中的装置的一些组件;图5A、5B和5C示出了一个示例实施例中的包括分支指令和相应产生的跟踪流的示例指令序列。图6A是示出在一个示例实施例中采取的一系列步骤的流程图,并且图6B示出了图6A的变型;以及图7和8是流程图,每一个均示出了在一个示例实施例中采取的用于处理异常的一系列步骤。具体实施方式至少一些实施例提供了一种装置,包括:数据处理电路,用于响应于指令序列执行数据处理操作,其中,指令序列包括分支指令;以及跟踪生成电路,用于生成指示数据处理操作的跟踪项的跟踪流,其中,跟踪生成电路响应于指令序列中一个或多个未被采用分支指令后跟随有被采用分支指令,而进行以下操作:当装置的当前状态条件被满足时,在跟踪流中包括对应于一个或多个未被采用分支指令的至少一个未被采用跟踪项(其后跟随有被采用跟踪项);以及当装置的当前状态条件不被满足时,在跟踪流中包括与被采用分支指令相关联的源地址。跟踪分支指令的一种方法可能是为每个分支输出指示符(即,跟踪项)。例如,可以将这样的指示符编码以指示分支被采用或未被采用。能够对这样的被采用/未被采用指示符的任意序列进行编码的效率允许跟踪流在这方面有类似的效率。然而,这种方法需要知道所有分支,即被采用的分支和未被采用的分支两者。此外,在当代处理器体系结构中,这种“未被采用”执行已被优化剔除,并且仅出于跟踪目的而保留它变得成本更高。跟踪分支指令的另一种方法可能是仅输出与被采用分支有关的指示符(即,跟踪项),但是为了重构程序流,这需要知道具体哪些分支被采用。可以输出被采用分支的源地址以提供该知识,但是输出这种源地址与上述经编码的被采用/未被采用指示符的任意序列相比,(就编码效率而言)效率低得多。在这种上下文中,本技术提出了一种混合方法,根据该混合方法,跟踪生成电路监视装置的当前状态条件,以确定其如何响应跟随有被采用分支指令的一个或多个未被采用分支指令。当当前状态条件被满足时,跟踪生成电路在跟踪流中包括跟随有被采用跟踪项的至少一个未被采用跟踪项,这至少一个未被采用跟踪项与那一个或多个未被采用分支指令相对应。相反,当装置的当前状态条件不被满足时,跟踪生成电路在跟踪流中包括与被采用分支指令相关联的源地址。换句话说,跟踪生成电路可以在上述两种用于跟踪分支的方法之间切换,即,在某些情况下生成至少一些未被采用跟踪项,而在其他情况下生成包括与被采用分支指令相关联的源地址的显式被采用跟踪项。此外,该装置具有可配置性,以根据当前状态条件的定义来控制跟踪生成电路何时在这两种方法之间切换。当前状态条件可以采取多种形式,并且可以根据任何一个或多个相关标准来定义。然而,在一些实施例中,当前状态条件包括一个或多个未被采用分支指令的多重性(multiplicity)。换句话说,当前状态条件可以取决于在指令序列中被这个被采用分支指令跟随的有多少个未被采用分支指令。简而言之,在序列中遇到越多未被采用分支指令,当那些未被采用分支指令被显式跟踪时,表示它们所需的一个或多个跟踪项的大小就越大。此外,尽管跟踪被采用分支指令的源地址需要相对较大的跟踪项以便表示该源地址,但是本文的技术认识到,这种负担是相对的,并且作为替代方案而被显式跟踪的未被采用分支指令越多,对被采用分支指令源地址进行这种跟踪的负担就变得越小。因此,在一些实施例中,装置的当前状态条件是多重性小于阈值。因此,通过设置阈值,可以控制两种方法之间的转换,使得当未被采用分支指令的多重性(数目)低于阈值时,满足当前状态条件并跟踪未被采用分本文档来自技高网...

【技术保护点】
1.一种装置,包括:/n数据处理电路,用于响应于指令序列而执行数据处理操作,其中所述指令序列包括分支指令;以及/n跟踪生成电路,用于生成指示所述数据处理操作的跟踪项的跟踪流,/n其中,所述跟踪生成电路响应于所述指令序列中跟随有被采用分支指令的一个或多个未被采用分支指令,而进行以下操作:/n当所述装置的当前状态条件被满足时,在所述跟踪流中包括跟随有被采用跟踪项的至少一个未被采用跟踪项,其中所述至少一个未被采用跟踪项与所述一个或多个未被采用分支指令相对应;以及/n当所述装置的所述当前状态条件不被满足时,在所述跟踪流中包括与所述被采用分支指令相关联的源地址。/n

【技术特征摘要】
【国外来华专利技术】20180313 GB 1803991.71.一种装置,包括:
数据处理电路,用于响应于指令序列而执行数据处理操作,其中所述指令序列包括分支指令;以及
跟踪生成电路,用于生成指示所述数据处理操作的跟踪项的跟踪流,
其中,所述跟踪生成电路响应于所述指令序列中跟随有被采用分支指令的一个或多个未被采用分支指令,而进行以下操作:
当所述装置的当前状态条件被满足时,在所述跟踪流中包括跟随有被采用跟踪项的至少一个未被采用跟踪项,其中所述至少一个未被采用跟踪项与所述一个或多个未被采用分支指令相对应;以及
当所述装置的所述当前状态条件不被满足时,在所述跟踪流中包括与所述被采用分支指令相关联的源地址。


2.根据权利要求1所述的装置,其中,所述当前状态条件包括所述一个或多个未被采用分支指令的多重性。


3.根据权利要求2所述的装置,其中,所述装置的所述当前状态条件是所述多重性小于阈值。


4.根据权利要求3所述的装置,还包括响应于未被采用分支指令而递增的未被采用计数器。


5.根据权利要求4所述的装置,其中,所述未被采用计数器是被布置为在所述阈值处饱和的饱和计数器。


6.根据权利要求4或权利要求5所述的装置,其中,所述未被采用计数器包括一位存储元件。


7.根据权利要求4或权利要求5所述的装置,其中,所述未被采用计数器包括多位存储元件。


8.根据权利要求4至7中任一项所述的装置,其中,当所述装置的所述当前状态条件被满足时,所述跟踪生成电路响应于所述指令序列中的被采用分支指令而在所述跟踪流中包括与所述未被采用计数器所指示的一样多的未被采用跟踪项。


9.根据权利要求4至8中任一项所述的装置,其中,所述跟踪生成电路响应于所述数据处理电路中发生异常而在所述跟踪流中包括异常跟踪项并且重置所述未被采用计数器,该异常跟踪项指示所述指令序列中所述异常发生的点。


10.根据权利要求9所述的装置,其中,所述跟踪生成电路响应于所述数据处理电路中发生异常而在所述跟踪流中包括与所述未被采用计数器所指示的一样多的未被采用跟踪项。


11.根据权利要求3至10中任一项所述的装置,其中,所述阈值是针对所述装置的预定静态值。


12.根据权利要求3至10中任一项所述的装置,其中,所述阈值是可变值。


13.根据权利要求12所述的装置,其中,所述跟踪生成电路响应于针对所述装置的当前资源使用指示而动态地设置...

【专利技术属性】
技术研发人员:约翰·霍尔利
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1