[发明专利]处理设备、追踪单元及诊断设备有效
申请号: | 201180064982.5 | 申请日: | 2011-11-29 |
公开(公告)号: | CN103314356A | 公开(公告)日: | 2013-09-18 |
发明(设计)人: | 约翰·霍尔利;西蒙·克拉斯克;迈克尔·吉布斯;保罗·吉尔克森 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F11/34;G06F11/36 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 李晓冬 |
地址: | 英国*** | 国省代码: | 英国;GB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 设备 追踪 单元 诊断 | ||
技术领域
本发明关于数据处理的领域。更特定言,本发明关于追踪由处理设备执行的处理运算并分析在追踪期间产生的追踪数据。
背景技术
在处理设备中,可提供追踪电路以用于监视由处理电路执行的处理运算并用于产生指示所执行的处理运算的追踪数据。诊断设备可分析追踪数据,以便演绎处理运算的处理结果。可针对预期结果来核对处理结果以验证处理设备是否正确操作。
处理设备可执行条件式指令,所述条件式指令规定相关联的条件。条件式指令的处理结果取决于在执行条件式指令时是否满足相关联的条件。在由追踪电路追踪条件式指令的执行时,追踪电路可产生追踪数据,该追踪数据包括对通过条件还是未通过条件的指示。当分析追踪数据时,该通过/未通过指示可用以确定条件式指令的结果。
然而,当追踪一些进阶处理器时,可能难以获得条件式结果的通过/未通过结果。一些处理器可能包含处理流水线,所述处理流水线具有该此并行的多个执行阶段。一些处理器可执行指令的乱序运行以改良效能。因此,可能难以预先预测何时及在流水线中的哪一点处该通过/未通过结果将变为可用。本发明的技术力图简化条件式指令的追踪。
发明内容
根据一个方面,本发明提供一种处理设备,该处理设备包含:
处理电路,该处理电路被配置为响应于程序指令而执行处理运算;
条件状态储存位置,该条件状态储存位置被配置为储存至少一个条件旗标(flag),该至少一个条件旗标指示该处理电路的条件;以及
追踪电路,该追踪电路被配置为产生追踪数据元素,所述追踪数据元素指示由该处理电路响应于所述程序指令而执行的所述处理运算;其中:
该处理电路对至少一个条件式指令作出响应,以取决于该至少一个条件旗标的子集的当前值来执行条件式运算;且
该追踪电路被配置为响应于该处理电路处理至少一个选定的指令而产生追踪数据元素,该追踪数据元素包括所追踪条件值,该所追踪条件值指示该至少一个条件旗标的至少该子集,该所追踪条件值提供用于确定该至少一个条件式指令的处理结果的信息。
处理设备可具有条件状态储存位置(例如,寄存器),该条件状态储存位置用于储存至少一个条件旗标,该至少一个条件旗标指示该处理电路的条件。该处理电路可取决于该至少一个条件旗标的至少一子集的当前值来执行条件式指令。举例而言,当执行条件式指令时,若所述条件旗标的子集的当前值满足给定条件,则可执行该条件式指令的相关联条件式运算,否则,若未满足该条件,则可不执行运算。该追踪电路可被配置为响应于该处理电路处理至少一个选定的指令而产生追踪数据元素,该追踪数据元素包括所追踪条件值,该所追踪条件值指示该条件式指令所取决于的该至少一个条件旗标的至少该子集。该所追踪条件值提供用于确定该至少一个条件式指令的处理结果的信息。
本发明的技术认识到,条件旗标的值通常比该条件式指令的通过/未通过结果容易获得。举例而言,条件旗标通常为该处理设备的架构状态的部分,且因此条件旗标可在处理流水线的早期阶段被读取,而不需要监视何时及在该流水线的哪一阶段指令的执行结果变为可用。因此,藉由追踪条件旗标值而非通过/未通过结果,简化了该追踪电路的配置。
该所追踪条件值可具有不同形式。在一个实例中,该所追踪条件值可包含该至少一个条件旗标的至少该子集的当前值。因此,该追踪数据元素直接识别条件旗标值。
或者,该所追踪条件值可包含识别符,该识别符识别该至少一个条件旗标的至少该子集的值。在一些情况下,此举可比追踪条件旗标的实际值更高效。举例而言,若条件旗标的值的某些图样(pattern)比其它图样常用,则可对最常用的图样指派特定识别符,该特定识别符具有少于条件旗标的实际值的位数。此举将倾向于减少由追踪电路产生的追踪数据量,因此减轻了对追踪频宽的约束。
指令流中条件旗标被追踪的点可变化,且未必需要是将使用所追踪条件值来确定其结果的条件式指令。该所追踪条件值可在任何选定的指令下输出。
在一个实例中,该处理电路对至少一个条件更新指令作出响应,以执行相关联的处理运算并取决于该相关联的处理运算的处理结果来更新该至少一个条件旗标。在此情况下,触发条件旗标的追踪的该至少一个选定的指令可包含该至少一个条件更新指令。举例而言,该条件更新指令可包含比较指令,该比较指令比较两个数据值且取决于该比较的结果来更新该至少一个条件旗标,且该至少一个条件旗标可在该比较指令执行后加以追踪。在更新该至少一个条件旗标时该追踪流中包括的所追踪条件值提供用于确定任何后续条件式指令通过还是未通过其相关联条件的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180064982.5/2.html,转载请声明来源钻瓜专利网。