跟踪处理程序模块系统和使用所述系统的方法技术方案

技术编号:34316888 阅读:9 留言:0更新日期:2022-07-30 23:18
本发明专利技术公开了一种跟踪处理程序模块系统和用于通过使用跟踪处理程序模块系统使用最小处理器指令集从跟踪消息中生成跟踪数据流的方法。本发明专利技术的目的是提供一种能够处理从消耗最小控制器带宽的处理器的固件流中提取的跟踪消息并且不引入运行时间变化的跟踪消息的装置和方法,这将通过跟踪处理程序模块系统来解决,该跟踪处理程序模块系统被配置为经由芯片内部总线系统来接管表示在SOC的处理器上运行的固件的内部状态的跟踪消息,其中跟踪消息由通过芯片内部总线系统在总线主设备和总线从设备之间交换的总线数据信号来承载,并且总线地址信号ADDR被用于对跟踪消息的附加跟踪元数据进行编码,其中跟踪处理程序模块系统包括:总线从设备,被配置为将特定总线协议数据转换为基于选通的协议数据;输入逻辑,被配置为添加时间戳以对来自总线从设备的转换数据进行过滤和通道分配;先进先出(FIFO)移位寄存器,被配置为将总线传送速度与跟踪数据流速度解耦并输出FIFO数据格式;以及输出逻辑,被配置为将FIFO数据格式转换为表示跟踪消息的跟踪数据流格式以重构由处理器发出的系统行为。为。为。

【技术实现步骤摘要】
【国外来华专利技术】跟踪处理程序模块系统和使用所述系统的方法
[0001]本专利技术涉及跟踪处理程序(trace handler)模块系统和用于通过使用跟踪处 理程序模块系统来使用最小处理器指令集从跟踪消息中生成跟踪数据流的方法。
[0002]片上系统(SoC)将系统组件集成在单个芯片管芯上;系统组件可以是电源 管理、模拟接口、数字接口和一个或多个处理器。处理器固件与接口和外部组 件高度交互。
[0003]芯片内部组件通常经由标准化总线系统(即,高级高性能总线(AHB),参 见:“Advanced microcontroller bus architecture,”2019.[Online].Available: https://en.wikipedia.org/wiki/Advanced_Microcontroller_Bus_Architecture或者 Wishbone,参见:“Wishbone(computer bus)”,2019.[Online].Available: https://en.wikipedia.org/wiki/Wishbone_(computer_bus))链接。存在各种标准和实 施方式。它们所有都具有共同的最小信号集。信号的名称可能因标准而异,功 能相似。
[0004]‘
CLK

时钟线,由时钟源驱动,
[0005]‘
ADDR

地址,BUSAWID位(即32)向量,由总线主设备驱动,由总线 从设备消耗,
[0006]‘
WRITEr/>’
读写,在读取或写入传送之间进行选择,由总线主设备驱动, 由总线从设备消耗,
[0007]‘
TRANS

传送,用信号传递新总线操作的开始,由总线主设备驱动,由 总线从设备消耗,
[0008]‘
WDATA

要写入的数据,BUSDWID位(即32)向量,由总线主设备驱 动,由总线从设备消耗,
[0009]‘
RDATA

读取数据,BUSDWID位(即32)向量,由总线从设备驱动, 由总线主设备消耗,
[0010]‘
READY

就绪,用信号传递总线操作的结束,由总线从设备驱动,由总 线主设备消耗。
[0011]图1描绘了单次读取传送。总线主设备应用ADDR、WRITE、TRANS并等 待READY变为高电平。于是读取数据RDATA是有效的。
[0012]图2描绘了单次写入传送。总线主设备应用ADDR、WRITE、TRANS、 WDATA并等待READY变为高电平。
[0013]确切的信号时序因标准而异。除了列出的信号之外,还存在以下重要的常 见事实:
[0014]‑
传送总是包括地址并且是读取操作或写入操作。
[0015]‑
读取操作将数据从从设备传送到主设备。
[0016]‑
写入操作将数据从主设备传送到从设备。
[0017]‑
传送具有定义的开始,由总线主设备发起。
[0018]‑
传送具有定义的结束,由总线从设备定义/延迟。
[0019]‑
ADDR信号的最高有效位(MSB)用于在从设备之间进行选择。
[0020]‑
ADDR信号的最低有效位(LSB)根据它们的需要在从设备内使用。
[0021]一些总线协议还支持不同于数据宽度(BUSDWID)的传送大小。本专利技术所 需的最小
传送粒度为BUSDWID。
[0022]芯片内部总线基础设施具有以下参与者:
[0023]“主设备”模块,其可以发起总线传送,
[0024]“从设备”模块,其响应于总线传送。
[0025]主设备模块可以是,即,微控制器或直接存储器存取(DMA)模块。
[0026]从设备模块可以是存储器,其是可读取和/或可写入的字的完整矩阵,或者 是寄存器文件,其是可读取和/或可写入的触发器的单个向量或多个向量。这些 触发器控制或观察硬件信号。这些触发器可以一个或多个地址进行总线访问。 还存在其他从模块,即FLASH控制器等等。
[0027]片上系统(SoC)的几乎每个芯片内部微控制器都具有总线主设备接口,该 总线主设备接口发起符合总线协议的读取和写入传送。固件只读取和写入地址。
[0028]典型的处理器指令集需要两条处理器指令进行读取传送:
[0029]1.将地址常量加载到处理器寄存器A。
[0030]2.从处理器寄存器A中的地址加载,将读取的值存储到处理器寄存器B。
[0031]写入传送需要三条处理器指令:
[0032]1.将地址常量加载到处理器寄存器A。
[0033]2.将数据常量加载到处理器寄存器B。
[0034]3.将处理器寄存器B的内容存储在处理器寄存器A的地址处。
[0035]总之,总线传送总是消耗大量指令并且取决于处理器架构消耗甚至更多的 时钟周期。多次传送在下一条加载指令或存储指令之前总是需要地址寄存器A 的更新指令。在某些情况下,甚至更多。有多种方法来缓解这些问题:总线突 发传送、处理器流水线等。
[0036]在突发模式传送中,设备重复传送数据,而无需完成在单独事务中传输每 条数据所需的所有步骤。具有突发模式能力或使用突发模式的通常原因是增加 数据吞吐量。
[0037]处理器流水线试图通过将传入指令划分为由不同处理器单元执行的一系列 顺序步骤来使处理器的每个部分都忙于某些指令,其中指令的不同部分被并行 处理。它允许在给定时钟速率下比其他方式更快的CPU吞吐量,但可能由于流 水线过程本身的额外开销而增加延迟。
[0038]主要问题是在处理器上运行的固件可能包含难以分析的错误,因为它们需 要深入了解固件状态。任何处理器停止和中间读出都影响处理器行为以及随之 的系统交互。在最坏情况的场景下,调试条件会由于中间读出而消失。相反, 跟踪无条件转储内部状态。可以基于跟踪数据来重建系统行为。跟踪消息是具 有诊断信息和静态或动态长度的数据结构。跟踪消息包括跟踪数据和元数据, 并且可以被视为内部固件状态变量值,该内部固件状态变量值表示在片上系统 的处理器上运行的固件的内部状态。每条跟踪消息都具有明确定义的数据格式, 并且在每个程序执行步骤之间都可用。通常,在软件开发过程期间,例如在SoC 的处理器上运行的固件的开发期间,决定在固件中的特定位置处转储处理器的 内部状态可能会较好。但是任何具有时间戳、跟踪类型等和跟踪过滤的输出格 式,例如跟踪类型、跟踪级别、通道等消耗控制器带宽并引入运行时变化。
[0039]因此,本专利技术的目的是提供一种装置和方法,其能够处理从处理器的固件 流中提取出的跟踪消息,从而消耗最小控制器带宽并且不引入运行时变化。同 时,为了跟踪片上
系统处理器,跟踪消息应该具有时间戳,其允许与内部时序 和类型相关以本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种跟踪处理程序模块系统,其被配置为经由芯片内部总线系统来接管表示在片上系统的处理器上运行的固件的内部状态的跟踪消息,其中,所述跟踪消息由通过芯片内部总线系统在总线主设备和总线从设备之间交换的总线数据信号来承载,并且总线地址信号ADDR被用于对所述跟踪消息的附加跟踪元数据进行编码,其中,所述跟踪处理程序模块系统包括:所述总线从设备,被配置为将特定总线协议数据转换为基于选通的协议数据;输入逻辑,被配置为添加时间戳以对来自所述总线从设备的转换数据进行过滤和通道分配;FIFO移位寄存器,被配置为将总线传送速度与跟踪数据流速度解耦并输出FIFO数据格式;以及输出逻辑,被配置为将所述FIFO数据格式转换为表示所述跟踪消息的跟踪数据流格式以重构由处理器发出的系统行为。2.根据权利要求1所述的跟踪处理程序模块系统,其中,在所述跟踪处理程序模块系统的设计时,假设函数该函数返回对n个不同的值进行编码所需的位数,定义以下符号:BUSAWID,定义芯片内部总线地址宽度;BUSDWID,定义芯片内部总线数据宽度,LEVELWID定义所述跟踪消息的跟踪级别的级别宽度;TYPEWID,定义跟踪消息类型标识符的类型宽度;和CHANWID,定义跟踪通道的通道宽度,所述跟踪通道作为传输协议层实体以在总线主设备和总线从设备之间的传输期间分离不同的跟踪消息。3.根据权利要求1所述的跟踪处理程序模块系统,其中,所述跟踪处理程序模块系统使用总线ADDR信号的不同切片来提取所述跟踪消息的所述跟踪元数据。4.根据权利要求3所述的跟踪处理程序模块系统,其中,所述总线ADDR 信号的一个切片定义了数据标记IS_DATA,其指定跟踪消息有效载荷字节。5.根据权利要求3所述的跟踪处理程序模块系统,其中,所述总线ADDR信号的一个切片定义了结束标记IS_END,其指定通道的关闭。6.根据权利要求3所述的跟踪处理程序模块系统,其中,所述总线ADDR信号的一个切片定义了跟踪级别LEVEL,其指定所述跟踪消息的类别相关性。7.根据权利要求3所述的跟踪处理程序模块系统,其中,所述总线ADDR信号的一个切片定义了跟踪类型TYPE,其指定所述跟踪消息类型标识符。8.根据权利要求3所述的跟踪处理程序模块系统,其中,所述总线ADDR信号的一个切片定义了所述跟踪通道CHAN,其指定跟踪通道编号。9.根据权利要求1所述的跟踪处理程序模块系统,其中,所述输入逻辑由递送报头时间戳的时基馈送,所述报头时间戳被捕获并转发到所述FIFO移位寄存器。10.根据权利要求6所述的跟踪处理程序模块系统,其中,所述输入逻辑根据所述跟踪级别来过滤所述跟踪消息,而取决于...

【专利技术属性】
技术研发人员:丹尼尔
申请(专利权)人:深圳市汇顶科技股份有限公司
类型:发明
国别省市:

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

1