CN103218219A - 紧凑函数跟踪 - Google Patents

紧凑函数跟踪 Download PDF

Info

Publication number
CN103218219A
CN103218219A CN2013100200130A CN201310020013A CN103218219A CN 103218219 A CN103218219 A CN 103218219A CN 2013100200130 A CN2013100200130 A CN 2013100200130A CN 201310020013 A CN201310020013 A CN 201310020013A CN 103218219 A CN103218219 A CN 103218219A
Authority
CN
China
Prior art keywords
function
tracking
output mode
data
trace buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100200130A
Other languages
English (en)
Other versions
CN103218219B (zh
Inventor
阿尔布雷希特·迈尔
哈里·西贝特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN103218219A publication Critical patent/CN103218219A/zh
Application granted granted Critical
Publication of CN103218219B publication Critical patent/CN103218219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及紧凑函数跟踪,具体地说,涉及用于调试在多个微处理器内核特别是嵌入在芯片上系统中的微处理器内核中运行的软件的方法和系统。更具体地,本发明涉及用于在处理器内产生紧凑函数跟踪数据的方法和系统。根据本发明的一方面,提供了一种为叶函数产生紧凑函数跟踪数据的系统,该系统包括:中央处理器(CPU),适于输出产生程序流跟踪所需的程序流信息,以及耦接至CPU的跟踪单元,适于从CPU接收程序流信息用于产生紧凑函数跟踪数据。该跟踪单元还包括第一输出模式和第二输出模式,还适于选择产生紧凑跟踪数据的第一输出模式或第二输出模式。

Description

紧凑函数跟踪
技术领域
本发明涉及用于产生计算机处理系统的性能分析与调试的跟踪解决方案的方法和系统。更具体地,本发明涉及产生计算机系统中的紧凑函数跟踪数据的方法和系统。
背景技术
对于软件调试或性能分析,跟踪流使能够重建监控程序流并因此有利于确定在特定软件问题出现之前发生的事件种类。就调试目的而言,如果触发器逻辑允许在错误现象发生时或发生稍后停止跟踪记录,则通常只需有限的跟踪深度。但是,对于性能分析,为了测量最小/最大/平均函数执行时间,需要具有高定时分辨率的长跟踪。该分析可以是扁平的或与全函数调用层次嵌套。
传统跟踪接口存在一些缺陷。一个缺陷是跟踪需要的高带宽接口通常需要至少5个跟踪引脚。另一缺陷是时间戳在外部完成。跟踪信息的芯片上先入先出缓冲器会导致时间戳的一定误差。
因此,需要一种在微处理器中产生紧凑函数跟踪数据用于调试和性能分析的系统和方法,该系统和方法能够减少费用并要求更小带宽。
发明内容
根据本发明的一方面,提供了一种用于产生紧凑函数跟踪数据的系统,其包括:中央处理器(CPU),适于输出产生程序流跟踪所需的程序流信息;以及跟踪单元,耦接至该CPU,并适应从CPU中接收所述程序流信息用于产生紧凑函数跟踪数据。该跟踪单元可进一步包括第一输出模式和第二输出模式,并适应选择产生紧凑函数跟踪数据的第一输出模式或第二输出模式。
在一个实施方式中,本发明用于产生用于叶函数(leaf function)的紧凑函数跟踪数据。在此实施方式中,第一输出模式可用于极短叶函数,在这种情况下,跟踪单元不产生跟踪数据,第二输出模式可用于短叶函数,在这种情况下,仅为CALL指令产生跟踪数据。
在另一实施方式中,系统可进一步包括与耦接至跟踪单元的跟踪缓冲器。该跟踪缓冲器可进一步包括跟踪缓冲器使用率,跟踪单元可进一步适于根据跟踪缓冲器使用率选择输出紧凑函数跟踪数据的第一输出模式或第二输出模式。
根据本发明的又一方面,提供了一种用于产生用于叶函数的紧凑函数跟踪数据的方法,包括以下步骤:将叶函数执行长度与至少一个函数执行长度阈值进行比较,如果该函数的执行长度超出函数执行长度阈值,则为叶函数产生紧凑函数跟踪数据。
本发明的一个实施方式可用于极短叶函数,在这种情况下,如果函数的执行长度不超除函数执行长度阈值,则无跟踪数据产生。在本发明的另一种实施方式中,该方法进一步包括以下步骤:比较叶函数的执行长度和第二函数执行长度阈值,如果叶函数的执行长度不超出第二函数执行长度阈值,则为叶函数产生紧凑函数跟踪数据。该实施方式可用于短叶函数,在这种情况下,如果叶函数的执行长度不超出第二函数执行长度阈值,则仅为CALL指令产生跟踪数据。在另一实施方式中,所述方法还包括以下步骤:比较跟踪缓冲器使用率和跟踪缓冲器使用率阈值,并根据跟踪缓冲器使用率是否超出跟踪缓冲器使用率阈值而为叶函数产生紧凑函数跟踪数据。
本发明进一步的特征、方面及优势将通过参照附图进行的本发明以下详细描述变得显而易见。
附图说明
本申请包括附图,以提供对本发明的进一步理解,并且该附图被结合到该说明书中以构成该说明书的一部分。该附图图示本发明的实施方式,并与描述一起用于说明本发明的原理。本发明的其它实施方式和本发明的许多预期优势将被充分认识,因为通过参考以下详细描述,它们变得更易于理解。
图1示出根据本发明实施方式的系统的示例性示意图。
图2示出根据本发明实施方式的跟踪单元的示例性示意图。
图3示出根据本发明实施方式的产生紧凑函数跟踪数据的示例性方法步骤的流程图。
具体实施方式
以下详细描述中,参照了构成说明书一部分并通过图示本发明可实施的特定实例方式示出的附图。应理解在不脱离本发明范围的前提下可使用其它方式并可作出结构上或其它的改变。因此,以下详细描述不应被视为是限制行的,本发明的范围通过所附权利要求限定。
跟踪流用于应用程序的软件调试以确定在特定软件问题出现前发生了哪种事件。跟踪流还用于分析在不同软/硬件平台上执行的面向任务的嵌入式和非嵌入式应用程序的性能。例如,面向任务的软件程序可以由适用于控制工业和用户设备的方面的处理器执行,或可包括商业及科学应用软件。为了改改描述的目的、应用、软件程序、、应用软件、程序应用及程序包括微处理器可执行的指令集和,所述项可互换使用。通常,跟踪流使能够重建监控程序流。
图1为示出根据本发明实施方式的用于产生叶函数的紧凑函数程序流跟踪数据的计算机处理系统100的高层框图。在一实施方式中,该计算机处理系统可在微芯片上实施,包括中央处理器(CPU)104、系统总线106、内存控制器108、内部存储器110、跟踪单元112以及工具接口114。
该CPU104经由系统总线106被耦接到内部存储器110,并经由系统总线106被耦接到内存控制器108和外部存储器116。如所示,内部存储器110和CPU104可设置在单个微芯片上。但是,本领域的技术人员应理解本发明的范围还涵盖可为多种配置提供处理系统100的元件提供各种配置的多个微芯片。
内存110可包括易失随机存取内存(RAM)和非易失只读内存(ROM)的任意组合以存储操作系统(OS)和嵌入式和/或非嵌入式程序应用。
CPU104包括可存入当前程序指令地址的一个以上堆栈118。一个以上堆栈118包括返回地址堆栈(也称为CALL堆栈)以存储与CPU正在执行的当前程序的函数或子程序CALL指令相关联的返回指令地址。对应于该地址的当前程序指令可从内存110中加载由CPU104执行。更进一步,CPU104可包括一个以上指令指针寄存器120,该令指针寄存器120包含由CPU104或在可替代实施方式中由计算机处理系统100的其它微处理器(无图示)当前执行指令的内存地址的。在其它实施方式中,一些或所有堆栈118或寄存器120可为内存110的一部分。
外部存储器116可包括RAM和ROM的任意组合,被配置为存储在程序应用执行过程中可被CPU104使用并可能被修改的数据。内部存储器110也可适于存储数据以及程序指令。外部存储器116也可被设置在不同于微芯片102的微芯片上。
跟踪单元112使能够通过由工具接口114的管脚122耦接的外部工具(未示出)执行的流跟踪数据解压缩算法重建监控程序流。出于这些目的,跟踪单元112处理跟踪数据,即,运行的应用信息,无需停止其执行并可顺序记录该跟踪数据,例如,关于执行指令的信息可存储在其执行队列中。跟踪单元112可被直接耦接至CPU104,用于接收产生跟踪需要的程序流信息。跟踪单元112可记录一个以上指令指针寄存器120(也称为程序计数器)的值,以及CPU104的一个以上堆栈118的值,和/或记录由CPU104访问和处理的数据和/或CPU104的系统总线106或其它总线或系统100上的数据流。
如前所述,程序计数器120为CPU104内的寄存器,其指示CPU104在堆栈118中的正在执行的指令中其指令序列中的位置。根据微处理器或CPU104的类型,指令程序寄存器102包括正在执行的指令的地址或将要执行的下一指的令地址。
当跟踪指令指针寄存器120时,跟踪单元112连续接收包括程序流信息的消息,也称为跟踪数据。根据本发明的一实施方式,跟踪单元112接收调用(CALL)和返回(RET)指令的程序流跟踪数据,并响应于所选择的输出模式或阈值,输出程序流跟踪数据到工具接口114。例如,在一实施方式中,跟踪单元112可限制用于特定长度的叶函数的程序流跟踪数据的输出。在本发明的其它实施方式中,响应于工具接口114的用户选择的有效带宽或输出模式,跟踪单元112可限制程序流跟踪数据的输出。本领域技术人员应理解,术语叶函数用于指程序中不调用任意其它函数的函数或子程序。
图2为在根据本发明实施方式用于产生紧凑函数程序流跟踪数据的图1中示出的跟踪单元112的高层框图。跟踪单元112包括跟踪消息生成器202、输出模式选择器204和先进先出(FIFO)缓冲器206。
在操作中,在CPU102运行程序时,跟踪消息生成器202产生一个以上程序流跟踪数据或消息。输出模式选择器204估算一个以上标准来决定是否输出程序流跟踪数据,如果输出,那么输出何数据。在此估算后,输出模式选择器204决定通过跟踪消息生成器202输出程序流跟踪数据至FIFO缓冲器206。
在一实施方式中,本发明中的跟踪单元112用来产生函数或子程序的紧凑程序流跟踪数据。例如,输出模式选择器204可确定:1)对于极短(very short)叶函数,无跟踪数据产生,2)对于短(short)叶函数,仅CALL指令将输出跟踪消息,以及3)对于RET指令,仅输出源地址。输出模式选择器204可通过估算叶函数的执行长度或估算FIFO缓冲器206的使用率(fill level)来做出决定。在本发明的另一实施方式中,用户能够经由工具接口114直接操纵输出模式选择器204并选择输出模式或在各种输出模式间切换。在本发明的另一实施方式中,输出模式选择器204可包括更高分辨跟踪模式,其可无任何省略地输出程序流跟踪数据。此模式也可以基于函数的执行长度、基于FIFO缓冲206的使用率或工具接口114的用户的直接选择决定。
图3为根据本发明实施方式的产生紧凑函数跟踪数据的方法300的流程图。其它实施方式可执行与此处描述的顺序不同的步骤。此外,其它实施方式可执行此处描述之外的或不同于此的步骤。
首先,响应于CPU执行CALL/RET函数,跟踪单元估算310CALL/RET函数的执行长度以确定312其是否超出第一函数执行长度阈值。在一实施方式中,该第一函数执行长度阈值可为“极短”叶函数的阈值。以下为更详细地描述确定极短叶函数阈值的实例。
在一实施方式中,如果CALL/RET函数未超出第一函数执行长度阈值或“极短”叶函数的阈值,则无跟踪数据产生或输出314。
如果CALL/RET函数的执行长度超出该第一函数执行长度阈值,则跟踪单元可估算316CALL/RET函数的执行长度是否超出第二函数执行长度阈值。在一实施方式中,该第二函数执行长度阈值可用来识别“短”叶函数。下面更详细地描述确定短叶函数阈值的示例。
在一实施方式中,如果CALL/RET函数未超出第二函数执行长度阈值或“短叶”函数阈值,跟踪单元可以以“仅CALL跟踪”模式操作,并仅为CALL指令产生318紧凑函数跟踪数据。
如果CALL/RET函数的执行长度超出第二函数执行长度阈值或短叶函数阈值,则跟踪单元可为CALL/RET指令产生320跟踪数据。在一实施方式中,跟踪单元为每个CALL函数输出源地址加时间戳,为每个RET指令输出源地址、目标地址和时间戳,其通常为大约150位。输出中包括时间戳是可选的。
因此,本发明通过根据所选择的阈值限制或消除跟踪数据的产生或输出,有利地降低了带宽并节省了开销。尽管叶函数的执行长度被用来确定产生或输出哪一种紧凑函数跟踪数据,本领域技术人员将认识到跟踪数据的选择、限制或消除可基于诸如缓冲器使用率的其它因素或用户的选择来产生或输出。
本发明的函数执行长度阈值可以配置,并根据其它的性能规格而不同。同时,可仅有一个或几个函数执行长度阈值。例如,各种应用程序跟踪的统计分析,例如,那些用于各种自动化动力传动应用程序跟踪的统计分析,可表明每60个CPU时钟周期的平均函数调用,其中80%的函数调用为叶函数。对这些叶函数的调用中,全部函数调用的22%可能已经占用8个以下周期,39%可能已经占用16个以下周期,15%可像以前一样调用同一函数。因此,在一实施方式中,省略函数或“极短叶”函数的函数执行长度阈值可为16个周期,“仅CALL跟踪”或“短叶”函数的函数执行长度可为100个周期。通过限制不超过特定阈值的叶函数的程序流跟踪数据的输出,本发明有利地减少了输出函数跟踪数据所需的带宽。在此实例中,将为给定的函数产生仅45位的跟踪数据。因此,对于300MHz CPU,将产生大约28Mbyte/sec的跟踪数据,其小于3引脚DAP调试工具I/F的有效带宽。
对于RET指令,同样的步骤可以用来确定函数执行长度阈值,然而,该消息可立即输出。在这种情况下,被执行函数的长度在此时刻已知,因此,输出完整跟踪消息、缩减的跟踪消息还是无跟踪消息的决定可立刻做出并执行。一条完整的跟踪消息包括源地址、目标地址和时间戳。紧凑或缩减的跟踪消息只包括源地址和可选的时间戳。
在本发明的另一实施方式中,跟踪单元也可通过估算跟踪缓冲器使用率来确定是否产生或输出紧凑函数跟踪数据。根据本发明的跟踪单元可基于跟踪缓冲器使用率超出或未超出特定的跟踪缓冲器使用率阈值来限制函数的跟踪数据的产生或输出。
例如,在本发明的一实施方式中,响应于CPU执行CALL/RET函数,跟踪单元可估算跟踪缓冲器使用率和跟踪缓冲器使用率阈值。如果跟踪缓冲器使用率超出第一跟踪缓冲器使用率阈值,则没有跟踪数据可由跟踪单元产生或输出。跟踪单元可估算跟踪缓冲器使用率对较低的第二缓冲器使用率阈值。如果跟踪缓冲器的使用率超出第二缓冲器使用率阈值,则产生的跟踪数据可受限制。在一实施方式中,跟踪单元可在“仅CALL跟踪”模式下操作,并仅为CALL指令产生跟踪数据。
如果CALL/RET函数的执行长度未超出第一或第二缓冲器使用率阈值,则跟踪单元可为CALL/RET指令产生跟踪数据。在一实施方式中,跟踪单元可为每个CALL函数输出源地址和可选的时间戳,为每个RET指令输出源地址、目标地址和可选的时间戳,这些总体通常为大约150位。
本发明的跟踪缓冲器使用率阈值是可配置的,并且可根据其他性能规格而不同。此外,可能只有一个或几个跟踪缓冲器使用率阈值。
在本发明的又一实施方式中,跟踪缓冲器使用率可用来确定或配置短叶函数和/或极短叶函数的阈值。在这种实施方式中,本发明可比较跟踪缓冲器的使用率与跟踪缓冲器的使用率阈值,然后基于跟踪缓冲器使用率调整短叶函数和/或极短叶函数的阈值,例如函数执行长度阈值。
在本发明的另一实施方式中,由CALL函数产生的程序流跟踪数据可带时间戳本地存储在存储单元中,直到“省略函数”周期中的阈值已经过去或不再有效,此后输出跟踪数据。为了避免违反来自跟踪缓冲器中各种来源的跟踪数据的严格的时间顺序,或为了对齐数据跟踪和程序跟踪,程序跟踪模式可由第二跟踪源暂时改变。例如,该第二跟踪源可以是同一芯片上的另一CPU。函数,作为在第二CPU上运行的软件的一部分与第一CPU上的软件交互。因此当第二CPU上的特定函数运行时,第一CPU上的跟踪模式被改变到更高分辨率模式。
在本发明的另一实施方式中,阈值也可以被用于选择中断的输出模式。例如,用于中断的跟踪数据可完全被抑制或作为标准函数调用而不是CALL指令处理。此外,在另一实施方式中,当前任务ID也可被跟踪。这可由任务ID变量的数据跟踪完成,然后其允许不同任务的函数调用的层次分析。
虽然在此已经图示和描述了特定的实施方式,本领域普通技术人员应理解,在不脱离本发明的范围的情况下,用各种替换物和/或等同实施方式可替换所示出和描述的特定实施方式。本申请旨在涵盖本文讨论的特定实施方式的任何修改或变化。因此,旨在说明本发明仅受由权利要求及其等同物限定。

Claims (25)

1.一种用于生成紧凑函数跟踪数据的系统,包括:
中央处理器(CPU),适于输出产生程序流跟踪所需的程序流信息;以及
跟踪单元,耦接至所述中央处理器,适于从所述中央处理器接收所述程序流信息用于产生紧凑函数跟踪数据,所述跟踪单元至少包括第一输出模式和第二输出模式,并且还适于选择产生紧凑函数跟踪数据的所述第一输出模式或所述第二输出模式。
2.根据权利要求1所述的系统,其中,所述紧凑函数跟踪数据为叶函数产生。
3.根据权利要求1所述的系统,其中,所述第一输出模式用于极短叶函数,在这种情况下所述跟踪单元不产生跟踪数据。
4.根据权利要求1所述的系统,其中,所述第二输出模式用于短叶函数,在这种情况下,仅为CALL指令产生紧凑函数跟踪数据。
5.根据权利要求1所述的系统,还包括耦接至所述跟踪单元的跟踪缓冲器,所述跟踪缓冲器包括跟踪缓冲器使用率,其中,所述跟踪单元还适于根据所述跟踪缓冲器使用率选择输出紧凑函数跟踪数据的所述第一输出模式或所述第二输出模式。
6.根据权利要求1所述的系统,还包括耦接至所述跟踪单元的跟踪缓冲器,所述跟踪缓冲器包括跟踪缓冲器使用率,其中,所述跟踪单元还适于根据所述跟踪缓冲器使用率改变所述短叶函数和/或所述极短叶函数的阈值。
7.根据权利要求1所述的系统,其中,所述紧凑函数跟踪数据包括时间戳。
8.一种用于产生叶函数的紧凑函数跟踪数据的方法,所述叶函数包括执行长度,所述方法包括以下步骤:
比较所述叶函数的执行长度和至少一个函数执行长度阈值;以及
如果所述函数的所述执行长度超出所述函数执行长度阈值,则为所述叶函数产生跟踪数据。
9.根据权利要求8所述的方法,其种,如果所述函数的所述执行长度未超出所述函数执行长度阈值,则无跟踪数据产生。
10.根据权利要求8所述的方法,还包括以下步骤:
比较所述叶函数的所述执行长度和第二函数执行长度阈值;以及
如果所述叶函数的所述执行长度未超过所述第二函数执行长度阈值,则为所述叶函数产生紧凑函数跟踪数据。
11.根据权利要求10所述的方法,其中,如果所述叶函数的所述执行长度未超出所述第二函数执行长度阈值,则仅产生用于CALL指令的跟踪数据。
12.根据权利要求8所述的方法,还包括以下步骤:
估算跟踪缓冲器使用率:
比较所述跟踪缓冲器使用率和跟踪缓冲器使用率阈值;以及
如果所述跟踪缓冲器使用率未超出所述跟踪缓冲器使用率阈值,则为所述叶函数产生跟踪数据。
13.根据权利要求8所述的方法,还包括以下步骤:
估算所述跟踪缓冲器使用率:
比较所述跟踪缓冲器使用率和跟踪缓冲器使用率阈值;以及
根据所述跟踪缓冲器使用率,调整短叶函数和/或极短叶函数的阈值。
14.一种用于产生紧凑函数跟踪数据的系统,包括:
跟踪消息生成器,用于为函数生成紧凑函数跟踪数据;以及
输出模式选择器,耦接至所述跟踪消息生成器,所述输出模式选择器用于估算阈值并基于所述阈值确定通过所述跟踪消息生成器产生的所述紧凑函数跟踪数据。
15.根据权利要求14所述的系统,其中,所述函数为包括执行长度的叶函数,所述阈值包括函数执行长度阈值,并且所述输出模式选择器估算所述函数执行长度和所述函数执行长度阈值以产生紧凑函数跟踪数据。
16.根据权利要求15所述的系统,还包括第二阈值,其中,所述第一阈值包括极短叶函数阈值,所述第二阈值包括短叶函数阈值,所述输出模式选择器将所述叶函数的函数执行长度与所述极短叶函数阈值和所述短叶函数阈值进行比较。
17.根据权利要求16所述的系统,其中,无程序流跟踪数据为极短叶函数输出。
18.根据权利要求16所述的系统,其中,程序流跟踪数据仅为极短叶函数的CALL指令生成。
19.根据权利要求14所述的系统,其中,所述跟踪单元适于输出叶函数的RET指令的源地址。
20.根据权利要求14所述的系统,还包括耦接至所述跟踪消息生成器的缓冲器,所述缓冲器包括缓冲器使用率,其中,所述输出模式选择器适于根据所述跟踪缓冲器使用率产生紧凑函数跟踪数据。
21.一种用于为叶函数产生程序流跟踪数据的系统,包括:
中央处理器(CPU),包括适于存储程序的指令地址的堆栈,所述中央处理器适于为叶函数产生程序流跟踪数据;以及
跟踪单元,耦接至所述中央处理器,所述跟踪单元适于根据输出模式为叶函数输出程序流跟踪数据;以及
跟踪单元模式选择器,耦接至所述跟踪单元,所述跟踪单元模式选择器至少包括第一输出模式和第二输出模式,并适于选择用于输出程序流跟踪数据的所述第一输出模式或所述第二输出模式。
22.根据权利要求21所述的系统,还包括耦接至所述跟踪单元的跟踪缓冲器,其中,所述跟踪单元模式选择器适于根据所述跟踪缓冲器的使用率选择输出程序流跟踪数据的所述第一输出模式或所述第二输出模式。
23.根据权利要求21所述的系统,还包括耦接至所述跟踪单元的跟踪缓冲器,其中,短叶函数和/或极短叶函数的阈值根据所述跟踪缓冲器使用率而改变。
24.一种用于为叶函数产生紧凑函数跟踪数据的系统,包括:
中央处理器(CPU),适于传送产生程序流跟踪所需的程序流信息;以及
跟踪单元,耦接至所述中央处理器,所述跟踪单元适于从所述中央处理器接收所述程序流信息用于产生紧凑函数跟踪数据,所述跟踪单元至少包括第一输出模式和第二输出模式,还适于选择用于产生紧凑函数跟踪数据的第一输出模式或第二输出模式;其中,所述第一输出模式用于极短叶函数,在这种情况下,所述跟踪单元不产生跟踪数据,并且所述第二输出模式用于短叶函数,在这种情况下,仅为CALL指令产生紧凑函数跟踪数据。
25.根据权利要求24所述的系统,还包括耦接至所述跟踪单元的跟踪缓冲器,所述跟踪缓冲器包括跟踪缓冲器使用率,其中,所述跟踪单元还适于根据所述跟踪缓冲器使用率选择输出紧凑函数跟踪数据的所述第一输出模式或所述第二输出模式。
CN201310020013.0A 2012-01-18 2013-01-18 用于为叶函数产生紧凑函数跟踪数据的方法及系统 Active CN103218219B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/352,431 US8868982B2 (en) 2012-01-18 2012-01-18 Compact function trace based on execution length of leaf functions
US13/352,431 2012-01-18

Publications (2)

Publication Number Publication Date
CN103218219A true CN103218219A (zh) 2013-07-24
CN103218219B CN103218219B (zh) 2016-12-28

Family

ID=48693315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310020013.0A Active CN103218219B (zh) 2012-01-18 2013-01-18 用于为叶函数产生紧凑函数跟踪数据的方法及系统

Country Status (3)

Country Link
US (1) US8868982B2 (zh)
CN (1) CN103218219B (zh)
DE (1) DE102013000857A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433945A (zh) * 2020-11-26 2021-03-02 百富计算机技术(深圳)有限公司 一种用于程序动态跟踪的方法、装置及电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10067852B2 (en) * 2013-10-29 2018-09-04 Nxp Usa, Inc. Switching between traditional and history program trace modes without halting a processor
US9864670B2 (en) * 2015-04-15 2018-01-09 International Business Machines Corporation Dynamically choosing data to collect in a system
CA3039198A1 (en) 2016-10-11 2018-04-19 Green Hills Software, Llc Systems, methods, and devices for vertically integrated instrumentation and trace reconstruction
US11016773B2 (en) * 2019-09-27 2021-05-25 Intel Corporation Processor trace extensions to facilitate real-time security monitoring
US11558243B2 (en) * 2020-01-08 2023-01-17 Arris Enterprises Llc Proactive error capture

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059511A1 (en) * 2000-11-10 2002-05-16 Ryo Sudo Data processor
US20080016407A1 (en) * 2006-07-14 2008-01-17 Abernathy Christopher M System and Method for Selectively Engaging Optional Data Reduction Mechanisms for Capturing Trace Data
CN101237350A (zh) * 2008-02-27 2008-08-06 中兴通讯股份有限公司 用于多任务环境单板机的全局变量异常改写定位方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732272A (en) * 1995-07-31 1998-03-24 Apple Computer, Inc. Subroutine execution time tracer
US6918065B1 (en) * 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US7644397B2 (en) * 2004-06-19 2010-01-05 Apple Inc. Software performance analysis using data mining
US7793160B1 (en) * 2005-03-29 2010-09-07 Emc Corporation Systems and methods for tracing errors
US8286032B2 (en) * 2009-04-29 2012-10-09 Freescale Semiconductor, Inc. Trace messaging device and methods thereof
JP2011013867A (ja) * 2009-06-30 2011-01-20 Panasonic Corp データ処理装置、性能評価解析システム
US9582275B2 (en) * 2011-05-31 2017-02-28 Intel Corporation Method and apparatus for obtaining a call stack to an event of interest and analyzing the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059511A1 (en) * 2000-11-10 2002-05-16 Ryo Sudo Data processor
US20080016407A1 (en) * 2006-07-14 2008-01-17 Abernathy Christopher M System and Method for Selectively Engaging Optional Data Reduction Mechanisms for Capturing Trace Data
CN101237350A (zh) * 2008-02-27 2008-08-06 中兴通讯股份有限公司 用于多任务环境单板机的全局变量异常改写定位方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433945A (zh) * 2020-11-26 2021-03-02 百富计算机技术(深圳)有限公司 一种用于程序动态跟踪的方法、装置及电子设备

Also Published As

Publication number Publication date
CN103218219B (zh) 2016-12-28
DE102013000857A1 (de) 2013-07-18
US20130185601A1 (en) 2013-07-18
US8868982B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
CN103218219A (zh) 紧凑函数跟踪
EP3091434B1 (en) Chip starting method, multi-core processor chip and storage medium
CN101894591B (zh) 一种基于lfsr的外部存储接口的随机测试装置
US9767018B2 (en) Allocation aware heap fragmentation metrics
US10157155B2 (en) Operating system-managed interrupt steering in multiprocessor systems
CN103164321A (zh) 中央处理器占用率测量方法及装置
US10162324B2 (en) Method for manipulating a control program of a control device
CN109308213B (zh) 基于改进任务调度机制的多任务断点调试方法
US20130145135A1 (en) Performance of processors is improved by limiting number of branch prediction levels
CN109918190A (zh) 一种数据采集方法及相关设备
CN102243599A (zh) 根据资源使用率易失性管理分区计算系统的资源的系统和方法
CN106489132A (zh) 读写数据的方法、装置、存储设备和计算机系统
Katoen GSPNs revisited: Simple semantics and new analysis algorithms
CN103077080B (zh) 基于高性能平台的并行程序性能数据采集方法及装置
CN108292236A (zh) 一种信息处理方法及装置
WO2024103666A1 (zh) 一种多核处理器动态缓存分区隔离系统及其控制方法
JP6218645B2 (ja) プログラム解析装置及びプログラム解析方法及びプログラム
EP3866021A1 (en) Method for performance optimization of object grouping schema in a network key-value storage device using adaptive regression, and non-transitory computer readable medium and system using the same
CN111124034B (zh) 一种使用时间处理单元的时序控制方法
CN103838701A (zh) Plc系统中的数据处理装置和方法
CN104050034B (zh) 用于静态调度处理器的无阻塞执行的设备和方法
WO2013129061A1 (ja) 同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラム
CN107239376B (zh) 一种服务器互联芯片的自动化调试方法及装置
CN109614148B (zh) 数据逻辑运算方法、监测方法及装置
KR20130024352A (ko) 태스크 주기 스케쥴링 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant