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

当追踪数据处理系统时的键配置技术方案

技术编号:8369142 阅读:218 留言:0更新日期:2013-02-28 19:17
本发明专利技术提供了一种追踪单元,该追踪单元被配置为产生指示数据处理单元的处理活动的追踪数据的项目。该追踪单元包括追踪索引单元,该追踪索引单元被配置为将索引值与由该追踪单元产生的追踪数据的项目的至少一个子集相关联。该追踪索引单元被配置为产生作为索引值的预定序列中的一个的每个索引值,其中该预定序列中的第n+1索引值仅可从在该预定序列中的第n索引值确定。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及监视数据处理单元的活动,具体地,涉及产生指示该数据处理单元的处理活动的追踪数据的项目。
技术介绍
现代数据处理设备(如微处理器)的复杂性意味着将这种数据处理设备的操作的编程和调试是复杂和耗时的任务。因此,对于寻求正确地配置数据处理设备的程序设计师,极有用的是当数据处理设备实行其处理活动时能监视其操作,以确认操作如需求地实行且当问题发生时加以排除。监视数据处理设备的处理活动的这种需求必须相对于现代数据处理设备通常经·配置成为极小规模装置(例如芯片上系统(SoC))的知识来平衡。已知这种装置中的空间限制是其构造中的极重要因素,并且因此,将监视组件加入这种装置中的机会受到极大限制。同样地,在SoC周边的管脚也有代价,这限制可从SoC输出用于外部分析的诊断数据的数量。由于这些原因,已知提供与这种数据处理设备相关联的追踪单元,追踪单元被配置为监视数据处理设备的处理活动并产生指示处理活动的序列追踪数据项。具体地,为了减少必须转移的数据的带宽,已知是以高度压缩形式来提供追踪数据的项目,省略任何冗余信息并仅包括用于目前分析目的的严格必要的数据。美国专利第7,707,394号提出用于减少指令追踪期间产生的数据流大小的一些技术。如果数据处理设备能进行可推测指令执行,则与追踪数据处理设备的活动相关联的困难将更突显。已知由于机会而提供推测指令执行,此技术例如通过避免管道平台被闲置提供更快速的操作。然而,推测指令执行使追踪单元具有困难,因为直至解决该推测(即,已知给定指令是否实际上已确定),追踪单元不能提供明确地指示数据处理设备的操作的追踪数据流。一种可能性是使追踪单元缓冲其产生的追踪数据直至解决推测,但如果处理器的推测深度过大,此技术需要的缓冲器空间可能变成不符合需求的大。替代技术还推测地产生追踪数据,且接着如果随后发现其对应的指令是误推测则取消追踪数据的某些项目。例如,Nexus 协议(“The Nexus5OOl Forum-Standard for a Global EmbeddedProcessor Debug Interface,,,IEEE-IST0 5001-2003,2003 年 12 月 23 日)支持取消追踪数据项的特定数目。然而,即使数据处理设备特定地指示追踪单元哪些指令(或更典型地成群组的指令)应被取消,但识别对应于经取消指令的追踪数据的项目并不直接。成群组的指令是典型推测执行,因为仅一些指令可导致程序流中的改变,且因此如果其中该群组中任何指令被执行则可识别成群组的指令,接着整个群组将被执行。仅产生用于选定指令的追踪数据的追踪技术会产生特定问题,因为此可使追踪数据的对应取消项目的产生困难,因为如果(例如)数据处理设备指示最近的两指令群组应被取消,则追踪单元不能仅指示下游分析单元追踪数据的该两项目应被取消,因为在成群组的指令及所产生追踪数据的项目的数目间没有此直接相关性。关联后续识别追踪数据的特定项目的困难的另一问题产生于资料转移的背景中。由于加载或储存操作可能花许多循环来完成,当(例如)执行加载指令且产生追踪数据的对应项目时,在已从内存撷取到所请求数据值之前,难以识别数据值应联结的追踪数据的对应项目(许多循环之前产生)。如果处理器可脱离程序顺序执行指令或施行数据转移,则追踪单元也许没有方法来识别哪些数据值属于哪些数据地址。关于追踪无序处理器的一些
技术介绍
信息可在2005年7月4的“TheTO TraceInterface and Trace Control Block Specification,,中找至丨J (其可自 http://www.mips, com/products/product-materials/processor/mips-architecture/ 获得)及在 ARMETMv3 架构(自 http://infocenter. arm. com 获得)中找到。因而将会需求提供一种用于产生追踪数据的项目的改良技术,该改良技术将会允许追踪单元克服上述问题。
技术实现思路
本专利技术的第一方面提供一种追踪单元,该追踪单元被配置为产生指示数据处理单元的处理活动的追踪数据的项目,该追踪单元包括追踪索引单元,该追踪索引单元被配置为关联索引值与由该追踪单元产生的追踪数据的项目的至少一个子集。该追踪索引单元被配置为产生该索引值成为索引值的预定序列的一个,其中该预定序列中的第n+1索引值可仅从在该预定序列中的第η索引值确定。根据本专利技术的技术,该追踪单元包括追踪索引单元,该追踪索引单元被配置为关联索引值与由该追踪单元产生的追踪数据的项目的至少一个子集。具体地,索引值是根据索引值的预定序列由该追踪索引单元产生,使得该预定序列中的第n+1索引值可仅从在该预定序列的第η索引值确定。就追踪数据的项目的产生而言,这种索引值与追踪数据的至·少一些项目的关联是有利,因为此举允许追踪单元将其产生的追踪数据的至少一些项目「加标」,因此后续可引用追踪数据的特定项目。此举例如当寻求后续由于误推测而取消追踪数据的特定项目时具有特定益处。或者当寻求使数据值与产生用于数据转移指令的追踪数据的项目的关联(该关联可能花费长时间来完成)时具有益处。通过依此方式索引追踪数据的项目,可造成后续对追踪数据的特定项目的引用。另外,通过能从该预定序列中的第η索引值确定该预定序列中的第n+1索引值,可暗指大部分索引,而大体上无须显示地追踪。可因此节省追踪单元内的可贵的空间,且可造成相当节省追踪数据带宽。虽然可能有提供索引值的预定序列的一些方法,在具体实施例中该追踪单元包括计数器,该计数器被配置为提供索引值的该预定序列。计数器可相对地容易在该追踪单元的硬件中实施且由计数器产生的索引值的预定序列(典型是渐增序列)有利地易于管理。存在其中该追踪单元能使用关联追踪数据的一些项目的索引值的每个种方法,但在具体实施例中该追踪单元包括索引储存单元,该索引储存单元被配置为储存至少该索引值。提供索引储存单元允许该追踪单元保持至少一个索引值的记录,使得该追踪单元的后续操作可引用该储存值且因此与该储存值关联的追踪数据的项目。在一些具体实施例中,该追踪单元包括索引储存单元,该索引储存单元被配置为储存两索引值的间的差值。此提供有利的紧凑储存机制,通过该机制(例如)可储存索引值的范围。在具体实施例中,此索引储存单元可是FIFO装置。FIFO装置呈现其中可储存值的序列的简单结构。该追踪单元经组态所监视的数据处理单元能采取一些形式,然而在具体实施例中,该数据处理单元的处理活动包括推测指令执行且该至少一个索引值是与至少一个推测执行指令关联。指令的推测执行可将困难呈现给追踪单元,因为如果推测执行指令后续通过数据处理单元指示已被误推测,则可能需求追踪单元将此事实向其追踪数据的接受者表明。通过具有索引储存单元(其中可能储存与推测执行指令关联的索引值),追踪单元是具有机制,通过该机制可保持对该推测指令的引用甚至在其已产生追踪数据的对应项目一段时间后。在一些具体实施例中,该索引储存单元被配置为储存该至少一个索引值,直至该至少一个推测执行指令已被确定或取消。因此该索引储存单元将接着保持对应于推测执行指令的索引值直至已知该推测执行指令的结果,即该指令是否正确地推测执行(并且是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.06.21 GB 1010350.51.一种追踪单元,该追踪单元被配置为产生指示数据处理单元的处理活动的追踪数据的项目,该追踪单元包括 追踪索引单元,该追踪索引单元被配置为关联索引值和由该追踪单元产生的追踪数据的项目的至少一个子集, 所述追踪索引单元被配置为产生作为索引值的预定序列中的一个的所述索引值, 其中所述预定序列中的第n+1索引值仅可从在所述预定序列中的第η索引值确定。2.如权利要求I的追踪单元,其中所述追踪单元包括计数器,该计数器被配置为提供索引值的所述预定序列。3.如权利要求I的追踪单元,其中所述追踪单元包括索引储存单元,该索引储存单元被配置为储存至少一个所述索引值。4.如权利要求I的追踪单元,其中所述追踪单元包括索引储存单元,该索引储存单元被配置为储存两索引值的间的差值。5.如权利要求4的追踪单元,其中该索引储存单元是FIFO装置。6.如权利要求3的追踪单元,其中介于数据处理单元的处理活动包括推测指令执行并且,介于至少一个索引值是与至少一个推测执行指令相关联的。7.如权利要求6的追踪单元,其中所述索引储存单元被配置为储存所述至少一个索引值,直至所述至少一个推测执行指令已被确定或取消。8.如权利要求6的追踪单元,其中所述推测执行指令形成指令群组的一部分,其中所述指令群组的第一指令的推测执行使所述群组指令的所有指令的推测执行成为必要。9.如权利要求8的追踪单元,其中所述索引储存单元包括第一索引储存单元,该第一索引储存单元被配置为储存第一索引值,该第一索引值与所述指令群组内的第一指令相关联。10.如权利要求9的追踪单元,其中所述第一索引储存单元包括第一多个条目被配置为取决于指示所述指令群组的指示符而储存所述第一索引值。11.如权利要求10的追踪单元,其中所述第一多个条目的数目至少对应于能由所述数据处理单元推测执行的指令群组的最大数目。12.如权利要求9的追踪单元,其中所述追踪单元被配置为从所述数据处理单元接收取消指示,所述取消指示会指示已经推测执行的选定指令群组已被取消,并且,所述追踪单元被配置为产生指示所述选定指令群组的追踪数据的取消项目。13.如权利要求12的追踪单元,其中所述追踪单元被配置为当接收到所述取消指示时,取决于第一索引值产生追踪数据的所述取消项目,该第一索引值储存在所述第一索引储存单元中并与所述选定指令群组相关联。14.如权利要求13的追踪单元,其中所述追踪单元包括计数器,该计数器被配置为提供索引值的所述预定序列,并且,所述追踪单元被配置为进一步取决于所述计数器的目前计数器值产生追踪数据的所述取消项目。15.如权利要求8的追踪单元,其中所述索引储存单元包括最后索引储存单元,该最后索引储存单元被配置为储与所述指令群组内的最后指令相关联的最后索引值。16.如权利要求15的追踪单元,其中所述最后索引储存单元包括第二多个项,并且,被配置为取决于指示所述群组指令的指示符储存所述最后索引值。17.如权利要求16的追踪单元,其中所述第二多个条目的数目至少对应于可由所述数据处理单元推测执行的指令群组的最大数目。18.如权利要求15的追踪单元,其中所述追踪单元是组态以从所述数据处理单元接收确定指示,所述确定指示指示已经推测执行的选定指令群组已被确定,并且,所述追踪单元是组态以产生指示所述选定指令群组的追踪数据的确定项目。19.如权利要求18的追踪单元,其中所述追踪单元被配置为当接收到该确定指示时取决于最后索引值产生追踪数据的所述确定项目,该最后索引值储存在所述最后索引储存单元中并与所述选定指令群组相关联。20.如权利要求19的追踪单元,其中所述追踪单元包括计数器,该计数器被配置为提供索引值的所述预定序列和未确定储存单元,所述追踪单元被配置为当产生追踪的所述确定项目时,在所述未确定储存单元中储存所述计数器的目前计数器值。21.如权利要求20的追踪单元,其中所述追踪单元是被配置为取决于值产生追踪的所述确定项目,该值储存在所述未确定储存单元中。22.如权利要求8的追踪单元,其中所述索引储存单元包括第一索引储存单元,该第一索引储存单元被配置为储存与所述指令群组内的第一指令相关联的第一索引值,其中所述索引储存单元包括最后索引储存单元,该最后索引储存单元被配置为储存与所述群组指令中的最后指令相关联的最后索引值,其中所述最后索引值是以与所述第一索引值相关的格式储存的。23.如权利要求22的追踪单元,其中与所述第一索引值相关的所述格式是2位数据格式。24.如权利要求18的追踪单元,其中所述追踪单元包括推测深度计数器,该推测深度计数器被配置为指示由所述数据处理单元执行的指令的目前推测深度。25.如权利要求24的追踪单元,其...

【专利技术属性】
技术研发人员:约翰·霍尔利安德鲁·斯维尼保罗·吉尔克森
申请(专利权)人:ARM有限公司
类型:
国别省市:

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

1