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

用于收集追踪数据的装置和方法制造方法及图纸

技术编号:37355548 阅读:41 留言:0更新日期:2023-04-27 07:05
公开了用于处理数据的数据处理装置和方法。数据处理装置包括用以处理指令的处理电路;和追踪电路,其包括:追踪缓冲区;用以存储写指针以指示追踪缓冲区中的当前位置的写指针存储装置;和用以指示事件的数量的调用深度计数器,其中追踪电路被配置为生成指示处理电路的处理活动的追踪数据,并且响应于第一事件:沿第一方向修改调用深度计数器,将指示第一事件的第一追踪数据存储在追踪缓冲区中的当前位置处,以及将写指针修改为指向追踪缓冲区中的下一位置;响应于第二事件,当调用深度计数器不等于阈值调用深度时:沿第二方向修改调用深度计数器,并将写指针修改为指向追踪缓冲区中的前一位置;以及响应于第二事件,当调用深度计数器等于阈值调用深度时,将指示第二事件的第二追踪数据存储在追踪缓冲区中的当前位置处。前位置处。前位置处。

【技术实现步骤摘要】
【国外来华专利技术】用于收集追踪数据的装置和方法
[0001]本公开涉及指示处理活动的追踪数据的生成。
[0002]追踪数据包括指示数据处理装置的处理活动的一系列数据项。通常,追踪数据被收集在追踪缓冲区中,该追踪缓冲区可以是用于存储追踪数据的专用存储器或系统存储器的映射区域。追踪缓冲区的使用模型是循环缓冲区,追踪数据被连续地写入到该循环缓冲区中由写指针确定的位置处,该写指针随着追踪数据的写入而推进通过追踪缓冲区。当写指针到达缓冲区的末尾时,它绕回到缓冲区的开头。以这种方式,连续地记录追踪数据。系统在触发事件时停止收集追踪数据也是常见的。这种停止有可能发生:在触发时立即发生,使得可检索触发前的追踪;当写指针绕回到触发点时发生,使得收集触发后的追踪数据;或者在它们之间的某处发生,使得收集触发周围的追踪数据。
[0003]通常希望存储与数据处理装置采用的每个分支相关的追踪数据。以这种方式,可重建调用返回堆栈,并且使用该信息,可重建在触发之前、触发周围或触发之后已执行的指令序列。然而,当与多个分支相关联的数据变得大于缓冲区的大小时,仅存储调用返回堆栈的顶部。因此,不可能重建完整的调用返回堆本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种数据处理装置,所述数据处理装置包括:处理电路,所述处理电路用以处理指令;和追踪电路,所述追踪电路包括:追踪缓冲区;写指针存储装置,所述写指针存储装置用以存储写指针以指示所述追踪缓冲区中的当前位置;和调用深度计数器,所述调用深度计数器用以指示事件的数量,其中所述追踪电路被配置为:生成指示所述处理电路的处理活动的追踪数据,以及响应于第一事件:沿第一方向修改所述调用深度计数器,将指示所述第一事件的第一追踪数据存储在所述追踪缓冲区中的所述当前位置处,以及将所述写指针修改为指向所述追踪缓冲区中的下一位置;以及响应于第二事件,当所述调用深度计数器不等于阈值调用深度时:沿第二方向修改所述调用深度计数器,以及将所述写指针修改为指向所述追踪缓冲区中的前一位置,并且其中所述追踪电路对触发事件做出响应,以重置所述调用深度计数器与所述阈值调用深度之间的差。2.根据权利要求1所述的数据处理装置,其中当将所述调用深度计数器与所述阈值调用深度之间的所述差重置为零时,所述追踪电路被适配为进行以下操作中的一个操作:将所述调用深度计数器重置为所述阈值调用深度;以及将所述阈值调用深度设置为所述调用深度计数器。3.根据权利要求1或权利要求2所述的数据处理装置,其中所述追踪电路对所述触发事件做出响应,以将指示所述触发事件的第三追踪数据存储在所述追踪缓冲区中,并将所述写指针修改为指向所述追踪缓冲区中的下一位置。4.根据任一项前述权利要求所述的数据处理装置,其中所述追踪电路对所述触发事件做出响应,以生成并存储指示所述处理电路的所述处理活动的附加信息。5.根据权利要求4所述的数据处理装置,所述数据处理装置还包括统计剖析电路,所述统计剖析电路用以对与当前指令相关的处理信息进行采样,其中指示所述处理电路的所述处理活动的所述附加信息是基于由所述统计剖析电路采样的所述处理信息生成的。6.根据任一项前述权利要求所述的数据处理装置,其中当所述调用深度计数器等于所述阈值调用深度时,所述追踪电路对所述第二事件做出响应,以将所述写指针修改为指向所述追踪缓冲区中的所述下一位置。7.根据任一项前述权利要求所述的数据处理装置,其中响应于所述第二事件,当所述调用深度计数器等于所述阈值调用深度时,将指示所述第二事件的第二追踪数据存储在所述追踪缓冲区中的所述当前位置处。8.根据权利要求1至5中任一项所述的数据处理装置,其中所述追踪缓冲区还包括下溢计数器,并且其中当所述调用深度计数器等于所述阈值调用深度时,所述追踪电路对所述第二事件做出响应,以修改所述下溢计数器。9.根据权利要求8所述的数据处理装置,其中当所述调用深度计数器等于所述阈值调
用深度并且所述下溢计数器等于阈值下溢时,所述追踪电路对所述第二事件做出响应,以进行以下操作:存储指示所述下溢计数器的当前值的第二追踪数据;以及将所述写指针修改为指向所述追踪缓冲区中的所述下一位置,并且其中当所述调用深度计数器等于所述阈值调用深度并且所述下溢计数器不等于所述阈值下溢时,所述追踪电路对所述第二事件做出响应,以进行以下操作:将所述写指针修改为指向所述追踪缓冲区中的所述前一位置;存储指示所述下溢计数器的当前值的第二追踪数据;以及将所述写指针修改为指向所述追踪缓冲区中的所述下一位置。10.根据从属于权利要求3的权利要求8所述的数据处理装置,其中所述追踪电路对所述触发事件做出响应,以在所述第三追踪数据中指示所述下溢计数器的当前值。11.根据权利要求9至10所述的数据处理装置,其中所述追踪电路对所述触发事件做出响应,以将所述下溢计数器重置为所述阈值下溢。12.根据权利要求9至11中任一项所述的数据处理装置,其中所述阈值下溢为零。13.根据权利要求9至12中任一项所述的数据处理装置,其中所述下溢计数器被初始化为所述阈值下溢。14.根据任一项前述权利要求所述的数据处理装置,其中所述追踪数据被存储为预定大小的追踪数据分组。15.根据权利要求1至13中任一项所述的数据处理装置,其中所述追踪数据被存储为追踪数据分组,并且在所述追踪数据中指示所述追踪数据分组的大小。16.根据权利要求14所述的数据处理装置,其中所述追踪缓冲区被划分为多个块,并且所述多个块中的每个块具有由块基址和块极限定义的块大小,并且其中所述块大小为所述预定大小的整数倍。17.根据权利要求16所述的数据处理装置,其中所述当前位置是所述多个块中的当前块中的位置,并且其中所述追踪电路对追踪数据被存储到所述当前块做出响应,以将所述当前块中的所述位置递增所述预定大小。18.根据权利...

【专利技术属性】
技术研发人员:迈克尔
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

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

1