• 浪潮孙丕恕从信息时代到智能时代 人工智能价值将爆发式释放 2019-12-21
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
    • / 15
    • 下载费用:30 金币  

    重庆时时彩技巧教程: 多层追踪.pdf

    关 键 词:
    多层 追踪
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201310734379.4

    申请日:

    2013.12.27

    公开号:

    CN103902426A

    公开日:

    2014.07.02

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 11/30申请日:20131227|||公开
    IPC分类号: G06F11/30 主分类号: G06F11/30
    申请人: 英飞凌科技股份有限公司
    发明人: A.迈尔
    地址: 德国瑙伊比贝尔格市坎芘昂1-12号
    优先权: 2012.12.27 US 61/746390; 2013.02.08 US 13/762660
    专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 刘金凤;胡莉莉
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201310734379.4

    授权公告号:

    ||||||

    法律状态公告日:

    2017.04.12|||2014.07.30|||2014.07.02

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明涉及用于计算机处理系统中的追踪解决方案的方法和系统。更具体地,本发明涉及用于多层追踪体系结构的方法和系统。一种用于将原始追踪数据分离的方法包括:从系统中的一个或多个CPU和/或总线接收原始追踪数据,将原始追踪数据分离成高带宽追踪信息(HBTI)和低带宽追踪信息(LBTI),将HBTI记录在片上追踪缓冲器上直至特定事件被触发,以及并行地通过片外追踪接口来提供LBTI。在一个实施例中,原始追踪数据分别被提供给单独的HBTI追踪单元和单独的LBTI。HBTI追踪单元处理HBTI并生成HBTI消息,并且LBTI追踪单元处理LBTI并生成LBTI消息。

    权利要求书

    权利要求书
    1.  一种用于将从多个CPU和/或总线输出的追踪数据分离的系统,该系统包括: 
    低带宽追踪信息(LBTI)路径,其被配置成从所述多个CPU和/或总线接收并处理低带宽追踪信息;
    高带宽追踪信息(HBTI)路径,其被配置成从所述多个CPU和/或总线接收并处理高带宽追踪信息;
    片上追踪缓冲器,其被配置成记录高带宽追踪信息直至发生特定事件触发;以及
    片外追踪接口,其被配置成并行地接收和输出低带宽追踪信息。

    2.  权利要求1的系统,还包括:
    HBTI追踪单元,其被配置成处理高带宽追踪信息并生成HBTI消息; 
    LBTI追踪单元,其被配置成处理低带宽追踪信息,并生成LBTI消息;以及
    复制器,其被耦合到所述多个CPU和/或总线,并被配置成从所述CPU和/或总线接收原始追踪数据,并将该原始追踪数据提供给HBTI追踪单元和LBTI追踪单元。

    3.  权利要求2的系统,还包括:
    HBTI消息封装器,其被耦合到HBTI追踪单元,并被配置成接收并封装所述高带宽追踪信息并将所述高带宽追踪信息转送至片上追踪缓冲器。

    4.  权利要求2的系统,还包括:
    LBTI消息封装器,其被耦合到LBTI追踪单元,并被配置成接收并封装所述低带宽追踪信息并将所述低带宽追踪信息转送至片外追踪接口。

    5.  权利要求1的系统,还包括:
    追踪单元,其被配置成从所述CPU和/或总线接收原始追踪数据并将所述高带宽追踪信息转送至HBTI消息封装器且将所述低带宽追踪信息转送至LBTI消息封装器;
    其中,HBTI消息封装器被配置成将所述高带宽追踪信息转送至片上追踪缓冲器,并且LBTI消息封装器被配置成将所述低带宽追踪信息转送至片外追踪接口。

    6.  权利要求5的系统,其中,所述追踪单元还包括被配置成生成HBTI消息或LBTI消息或它们两者的消息发生器。

    7.  权利要求1的系统,其中,LBTI是HBTI的子集。

    8.  权利要求1的系统,其中,所述低带宽追踪信息包括低带宽高级追踪信息。

    9.  权利要求1的系统,其中,所述高带宽追踪信息包括高带宽低级追踪信息。

    10.  权利要求8的系统,其中,所述低带宽高级追踪信息包括在任务切换时作为数据追踪而被记录的任务ID。

    11.  权利要求9的系统,其中,所述高带宽低级追踪信息包括完整程序流程和CPU的所有数据访问。

    12.  一种用于将来自多个CPU和/或总线的追踪数据分离的方法,该方法包括:
    从CPU和/或总线接收原始追踪数据;
    将原始追踪数据分离成高带宽追踪信息(HBTI)和低带宽追踪信息(LBTI);
    将高带宽追踪信息记录在片上追踪缓冲器上直至特定事件被触发;以及
    通过片外追踪接口与高带宽追踪信息的记录并行地输出低带宽追踪信息。

    13.  权利要求12的方法,还包括:
    将原始追踪数据提供给HBTI追踪单元和LBTI追踪单元,以及
    在HBTI追踪单元中生成HBTI消息并在LBTI追踪单元中生成LBTI消息。

    14.  权利要求13的方法,还包括:
    将来自HBTI追踪单元的HBTI提供给HBTI消息封装器以生成封装的HBTI;
    将封装的HBTI提供给片上追踪缓冲器;
    将来自LBTI追踪单元的LBTI提供给LBTI消息封装器以生成封装的LBTI;以及
    将封装的LBTI提供给片外追踪接口。

    15.  权利要求12的方法,其中,所述原始追踪数据被提供给单个追踪单元。

    16.  权利要求15的方法,还包括:
    生成HBTI消息和LBTI消息;
    将HBTI消息提供给HBTI消息封装器以生成封装的HBTI;
    将LBTI消息提供给LBTI消息封装器以生成封装的LBTI;
    将封装的HBTI提供给片上追踪缓冲器;以及
    与提供封装的HBTI并行地将封装的LBTI提供给片外追踪接口。

    17.  权利要求12的方法,其中,LBTI是HBTI的子集。

    18.  权利要求12的方法,其中,所述低带宽追踪信息包括低带宽高级追踪信息。

    19.  权利要求12的方法,其中,所述高带宽追踪信息包括高带宽低级追踪信息。

    20.  权利要求17的方法,其中,所述低带宽高级追踪信息包括在任务切换时作为数据追踪而被记录的任务ID。

    21.  权利要求18的方法,其中,所述高带宽低级追踪信息包括完整程序流程和CPU的所有数据访问。

    22.  一种用于将从多个CPU和/或总线输出的原始追踪数据分离的系统,该系统包括:
    低带宽追踪信息(LBTI)追踪单元,其被配置成处理低带宽追踪信息;
    高带宽追踪信息(HBTI)追踪信息,其被配置成处理高带宽追踪信息;以及
    复制器,其被耦合到所述多个CPU,并被配置成从所述CPU和/或总线接收原始追踪数据并将该原始追踪数据提供给LBTI追踪单元和HBTI追踪单元;
    片上追踪缓冲器,其被配置成记录HBTI直至发生特定事件触发;以及
    片外追踪接口,其被配置成与记录HBTI并行地接收和输出LBTI。

    23.  权利要求22的系统,其中,LBTI追踪单元和HBTI追踪单元将原始追踪数据分离成HBTI和LBTI,并且LBTI追踪单元被配置成生成用于LBTI的LBTI消息,并且HBTI追踪单元被配置成生成用于HBTI的HBTI消息。

    24.  权利要求22的系统,还包括:
    HBTI消息封装器,其被耦合到HBTI追踪单元,并被配置成将高带宽追踪信息封装且将高带宽追踪信息转送至片上追踪缓冲器。

    25.  权利要求22的系统,还包括:
    LBTI消息封装器,其被耦合到LBTI追踪单元,并被配置成将低带宽追踪信息封装并将低带宽追踪信息转送至片外追踪接口。

    26.  权利要求22的系统,其中,LBTI是HBTI的子集。

    27.  权利要求22的系统,其中,所述低带宽追踪信息包括低带宽高级追踪信息。

    28.  权利要求22的系统,其中,所述高带宽追踪信息包括高带宽低级追踪信息。

    29.  权利要求27的系统,其中,所述低带宽高级追踪信息包括在任务切换时作为数据追踪而被记录的任务ID。

    30.  权利要求28的系统,其中,所述高带宽低级追踪信息包括完整程序流程和CPU的所有数据访问。

    31.  一种用于将从多个CPU和/或总线输出的原始追踪数据分离的系统,该系统包括:
    追踪单元,其被配置成从所述CPU和/或总线接收原始追踪数据并将原始追踪数据分离成高带宽追踪信息(HBTI)和低带宽追踪信息(LBTI);
    片上追踪缓冲器,其被配置成从追踪单元接收并记录HBTI,直至发生特定事件触发;以及
    片外追踪接口,其被配置成与HBTI的记录并行地从追踪单元接收LBTI。

    32.  权利要求31的系统,其中,所述追踪单元被配置成生成用于高带宽追踪信息的HBTI消息并生成用于低带宽追踪信息的LBTI消息。

    33.  权利要求31的系统,还包括:
    HBTI消息封装器,其被配置成在将HBTI提供给片上追踪缓冲器之前将其封装;以及
    LBTI消息封装器,其被配置成在将LBTI提供给片外追踪接口之前将其封装。

    34.  权利要求31的系统,其中,LBTI是HBTI的子集。

    35.  权利要求31的系统,其中,所述低带宽追踪信息包括低带宽高级追踪信息。

    36.  权利要求31的系统,其中,所述高带宽追踪信息包括高带宽低级追踪信息。

    37.  权利要求35的系统,其中,所述低带宽高级追踪信息包括在任务切换时作为数据追踪而被记录的任务ID。

    38.  权利要求36的系统,其中,所述高带宽低级追踪信息包括完整程序流程和CPU的所有数据访问。

    说明书

    说明书多层追踪
    相关申请的交叉引用
    本申请要求题为“Multi-Tier Trace”的2012年12月27日提交的美国临时专利申请序列号61/746,390的优先权,其内容通过引用由此被并入。
    技术领域
    本公开涉及用于计算机处理系统中的追踪解决方案的方法和系统。更具体地,本公开涉及用于多层追踪体系结构的方法和系统,所述多层追踪体系结构用于在实时系统中观察和追踪一个或多个计算机处理单元。
    背景技术
    对于软件调试或性能分析而言,追踪流程使得能够实现被监视程序流程的重构,并且因此对在特定软件问题出现之前确定发生哪种类型的事件有用。追踪系统或体系结构被用来观察较高层上的实时控制系统(例如汽车电子控制单元ECU)的行为。此类实时控制系统从传感器获得输入值,控制算法根据该输入值来计算致动器值。所有这些值都是所谓的信号,其需要被观察以便分析系统行为。
    图1是图示出用于计算机系统10的常规追踪体系结构的高级框图。常规追踪系统被实施在微芯片上且可以包括具有追踪适配器12a的一个或多个中央处理单元(CPU)12、具有本地追踪适配器14a的一个或多个总线14以及被耦合以从所述一个或多个CPU 12和所述一个或多个总线14接收追踪数据的追踪单元16。追踪单元16还包括用于生成追踪数据的消息发生器18和用于将生成的追踪数据封装的消息封装器20。消息封装器20然后将封装的追踪数据提供给复用器或复制器22,复用器或复制器22提供用以专有地或并行地向不同目标输出数据的选项。封装的追踪消息然后被输出到片上追踪缓冲器24或者经由片外追踪接口26和管脚28被输出芯片外(未示出)。遵循这种方法的典型体系结构是ARM的CoreSight、Infineon的MCDS和符合Nexus标准的体系结构。
    诸如图1中所示的追踪单元的常规追踪单元具有若干缺点。常规追踪单元追踪CPU和总线的活动并将相同的流用于封装的追踪消息,所述封装的追踪消息然后被输出到片上缓冲器和/或经由管脚被输出到片外接口。常规追踪单元的一个缺点是有限的带宽,其使追踪仅限于没有或仅具有少数数据访问(例如通过地址范围来准许)的程序流程。为了在其中期望在长时间段内追踪所有芯片内部活动的硬实时系统中发现突发的错误,要求较大芯片面积和/或交替封装(alternate packaging)、板设计和/或加工的高速接口是成本过高的。
    另外,常规芯片具有带有有限带宽的追踪接口,其允许用于没有或仅具有少数数据访问的程序流程的追踪。然而,对于以高频率运行的多核设备而言,即使这种方法也不再是经济上可行的。
    另一选择是具有小的片上追踪缓冲器和强大的触发逻辑,其中,追踪单元被配置成使用片上缓冲器作为环形缓冲器,并且当其到达触发器时停止追踪记录。典型的错误情况是程序由于错误的地址指针而向被禁止或不允许的位置写入数据值。在这种情况下,用于停止追踪的触发器将被定位在被禁止的地址上。这种方法在其中导致该效果的根本原因在该效果之前不久发生的情况下是有帮助的,并且可以在发生该效果时触发,该效果然后在追踪中被捕捉。然而,这种方法并不是对于所有情况而言都是理想的,尤其是当需要错误的较长上下文时,例如层级N上的特定功能在哪个任务中被调用以及为什么被调用。对于此类信息而言,需要较长的历史。
    另外,存在具有不止一个的并行的追踪单元(Trace Unit)、MSG封装器、FIFO和片上管脚路径的追踪体系结构。然而,这些路径专用于特定CPU、总线或子系统,并且不能被用来利用适合于不同的输出目标片上追踪缓冲器和片外追踪接口的不同追踪单元设置来观察相同的CPU、总线或子系统。
    因此,常规追踪单元的当前体系结构不足以支持对长历史追踪的观察,并且常规追踪系统由于高架配线和有限的追踪存储器带宽而不能被容易地扩展。
    因此,存在对不显著增加需要的成本、效率或观察单元的用于追踪较长历史上下文的多层追踪体系结构的系统和方法的需要。更具体地,需要一种将用于较低带宽追踪信息和高带宽追踪信息的追踪数据输出分离的多层追踪体系结构。
    发明内容
    根据本公开的一个方面,一种用于在计算机系统中执行多层追踪的系统包括:用于处理来自多个CPU和/或总线的低带宽追踪信息的低带宽追踪信息(LBTI)路径、用于处理来自所述多个CPU和/或总线的高带宽追踪信息的高带宽追踪信息(HBTI)路径、用于接收并记录所述高带宽追踪信息直至发生特定事件触发的片上追踪缓冲器以及用于并行地接收和输出低带宽追踪信息的片外工具接口。在一个实施例中,本公开还包括用于生成LBTI消息的LBTI追踪单元、用于生成HBTI消息的HBTI追踪单元以及被耦合到所述多个CPU和/或总线以便从CPU和/或总线接收原始追踪数据并将其提供给LBTI追踪单元和HBTI追踪单元的复制器。
    在另一实施例中,本公开包括用于从所述CPU和/或总线中的一个或多个接收原始追踪数据并用于将原始追踪数据分离成高带宽追踪信息和低带宽追踪信息的单个追踪单元。生成HBTI消息并提供给HBTI消息封装器,并且生成LBTI消息并提供给LBTI消息封装器。封装的HBTI消息被提供给片上追踪缓冲器,并且封装的LBTI消息被并行地提供给片外追踪接口。
    根据本公开的另一方面,一种用于执行多层追踪的方法包括:从计算机系统接收原始追踪数据、将原始追踪数据分离成高带宽追踪信息(HBTI)和低带宽追踪信息(LBTI)、将HBTI记录在片上追踪缓冲器上直至特定事件被触发以及并行地通过片外工具接口连续地提供LBTI。在一个实施例中,原始追踪数据被提供给单独的HBTI和LBTI追踪单元。由HBTI追踪单元生成HBTI消息,并且HBTI消息被提供到HBTI消息封装器和片上追踪缓冲器上。由LBTI追踪单元生成LBTI消息,并且LBTI消息被提供到LBTI消息封装器和片外追踪接口上。在另一实施例中,原始追踪数据被提供给单个追踪单元,其中为HBTI生成HBTI消息并为LBTI生成LBTI消息。HBTI和LBTI消息然后分别被提供给单独的HBTI和LBTI消息封装器。
    根据参考附图进行的本公开的以下详细描述,本公开的其他特征、方面和优点将变得显而易见。
    附图说明
    包括附图是为了提供对本公开的进一步理解,并且其被结合在本说明书中并构成本说明书的一部分。附图图示出本公开的实施例并连同描述一起用于解释本公开的原理。将很容易认识到本公开的其他实施例和本公开的许多预期优点,因为通过参考以下详细描述,它们变得更好理解。
    图1示出了常规追踪系统的示意图。
    图2示出了根据本公开的一个实施例的多层追踪体系结构的示例示意图。
    图3示出了根据本公开的另一实施例的多层追踪体系结构的示例示意图。
    图4是示出了根据本公开的一个实施例的用于执行多层追踪的方法的流程图。
    图5是示出了根据本公开的另一实施例的用于执行多层追踪的方法500的流程图。
    具体实施方式
    在以下详细描述中,对构成其一部分的附图进行参考,并且在附图中以图示的方式示出其中可以实施本公开的特定实施例。应理解的是,在不脱离本公开的范围的情况下,可以利用其他实施例并且可以进行结构上的或其他修改。因此,不应以限制性的意义来理解以下详细描述,并且本公开的范围由所附权利要求来定义。
    追踪流程对应用程序的软件调试是有用的,以便确定在特定软件问题出现之前已发生哪种事件。追踪流程还对分析在各种软件/硬件平台上执行的面向任务的嵌入式和非嵌入式应用程序的性能有用。例如,面向任务的软件程序可以由可应用于控制工业和消费设备的各方面的处理器执行,或者可以包括商业或科学应用软件。出于本描述的目的,应用程序、软件程序、应用软件、程序应用以及程序包括可由微处理器执行的各组指令,并且此类术语可以可互换地被使用。一般地,追踪流程使得能够实现被监视程序流程的重构。
    图2是图示出根据本公开的一个实施例的多层追踪体系结构100的高级框图。根据本公开的多层追踪体系结构100在微芯片上实现且包括具有追踪适配器112a的一个或多个中央处理单元(CPU)112、具有本地追踪适配器114a的一个或多个总线114、被耦合到CPU追踪适配器112a和总线追踪适配器114a的复制器115、被耦合以从复制器115接收输入的至少两个追踪单元116a和116b。每个追踪单元116a、116b还包括用于生成追踪数据的至少一个消息发生器118a、118b和用于将生成的追踪数据封装的消息封装器120a、120b。消息封装器120a、120b然后将封装的追踪数据输出到片上追踪缓冲器124或者经由片外追踪接口126和管脚128输出到片外(未示出)。
    CPU追踪适配器112a和总线追踪适配器112b从CPU设计内的信号收集需要的追踪信息并将其转换成具有较少信号的更简单且标准化的格式。例如,可以使地址和数据对准,可以仅输出实际执行指令的数据,和/或可以去除管线效应。
    复制器115被耦合以从CPU追踪适配器112a和总线追踪适配器114a接收原始追踪数据并向追踪单元116a和116b提供输出。复制器115将来自所有追踪适配器的所需的追踪信息传输至追踪单元。取决于追踪单元能力,它们两个将获得相同的信息,或者它们将获得不同的选择、然而具有大的公共部分。仅向追踪单元传输该追踪单元能够处理的信息使得节省布线开销和因此的芯片面积。在一个实施例中,可以将追踪适配器和复制器的体系结构组合在单个单元中。
    追踪单元116使得能够实现被监视程序流程的重构并处理追踪数据、即关于运行的应用程序的信息,而不停止其执行,并且可以循序地记录追踪数据、即可以将有关被执行的指令的信息存储在它们的执行的序列中。追踪单元116可以记录一个或多个指令指针寄存器、也称为程序计数器的值以及CPU的一个或多个堆栈的值和/或可以记录由CPU访问和处理的数据和/或系统总线或CPU或系统100的其他总线上的数据流。
    消息发生器118将来自CPU的追踪信息转换成追踪消息。它们通常是高度可配置的,并且能够准许和压缩信息。对于数据追踪而言,通??膳渲玫氖牵褐挥卸阅掣龅刂贩段Щ蚨喔龅刂贩段У姆梦实贾孪ⅲㄍü刂返淖夹恚?。某些体系结构支持其它基于读和/或写访问、总线主控ID、数据宽度以及甚至数据值的准许。输出的追踪消息可以仅包含地址或者还包含值?;勾嬖谟糜诔绦蛄鞒套纷俚男矶嘁阎∠?。
    图2中的两个追踪单元对于容易的工具操作而言可能是类似的,或者可被适配到用于减小芯片面积的输出路径的带宽。片外接口不一定需要是其中主动地从芯片输出数据的典型追踪端口,诸如对于Nexus接口或ARM ETM而言是典型的。FIFO也可以是经由(Nexus)JTAG、ARM的SWD、Infineon的DAP或类似接口被工具读取的片上追踪缓冲器。
    因此,图2中所描述的本公开的实施例提供了允许用于片上和片外追踪的不同带宽的多层追踪体系结构100?;谎灾?,本公开有利地提供用以分裂或分离诸如高带宽追踪信息(HBTI)和低带宽追踪信息(LBTI)的追踪数据的追踪解决方案。例如,在其中正在追踪单个CPU的情况下,用于片上追踪缓冲器的追踪单元可以输出完整程序流程追踪及具有地址和数据值的所有数据访问。此高带宽信息被记录在环形片上缓冲器中,直至触发条件被命中。其他追踪单元可以输出任务ID(在任务切换处,操作系统将任务ID作为数据值写入特定地址并且仅此地址正在被追踪)。此任务ID追踪是非常低带宽的,并且能够甚至用相当缓慢的JTAG接口从小的片上FIFO读取。
    在一个实施例中,追踪信息的带宽可能是两个信息流之间的基本区别。此外,高和低带宽追踪信息之间的区别可以是可配置的,并且可以取决于诸如系统所利用的芯片的体系结构和协议、技术和/或封装的因素。例如,在一个实施例中,用于此区别的数量级可以是10兆字节每秒,并且低带宽可以包括1兆字节每秒及以下,并且高带宽可以是100兆字节每秒及以上。
    通常,高带宽追踪信息包括诸如完整程序流程的低级追踪信息和CPU的所有数据访问,并且低带宽追踪信息包括高级追踪信息,诸如在任务切换时作为数据追踪被记录的任务ID。然而,在另一实施例中,低带宽追踪信息可以是高带宽追踪信息的子集,并且因此高带宽追踪信息还可以包含高级追踪信息。因此,如果带宽是有限的,则其可以用来传输最感兴趣的信息,其通常但不一定必然是高级追踪信息。在另一示例中,程序流程可以落在低带宽限制内,即使只有非常短的代码序列被追踪,其发生在长距离内。
    图3示出了根据本公开的另一实施例的多层追踪体系结构200的示例示意图。根据本公开的另一实施例的多层追踪体系结构200是在微芯片上实现的,并且包括具有追踪适配器212a的一个或多个中央处理单元(CPU)212、具有本地追踪适配器214a的一个或多个总线214、进一步包括用于生成追踪数据的至少一个消息发生器218的追踪单元216和用于将生成的追踪数据封装的至少两个消息封装器220a、220b。消息封装器220a、220b然后将封装的追踪数据输出到片上追踪缓冲器224或者经由片外追踪接口226和管脚228输出芯片外(未示出)。在一个实施例中,消息封装器220a专有地将封装的追踪数据输出到片上追踪缓冲器124,并且消息封装器220b专有地经由片上追踪接口226和管脚228将封装的追踪数据输出芯片外。
    追踪单元216使得能够实现被监视程序流程的重构并处理追踪数据、即关于运行的应用程序的信息,而不停止其执行,并且可以循序地记录追踪数据,即可以将关于被执行的指令的信息存储在它们的执行的序列中。追踪单元216可以记录一个或多个指令指针寄存器、也称为程序计数器的值以及CPU的一个或多个堆栈的值和/或可以记录由CPU访问和处理的数据和/或系统总线或CPU或系统100的其他总线上的数据流。追踪单元216还包括消息发生器特征。
    关于特定消息是被输出到一个消息封装器、到另一消息封装器还是到两者,消息发生器218是可配置的。这可以针对整个消息发生器和/或针对此类消息发生器内的不同准许单元来配置。例如,具有大范围的一个地址范围比较器被用于高带宽片上追踪,并且具有小范围的第二比较器被用于片外追踪。另一选择是将小范围比较器用于两者,但是对于高带宽片上追踪,存在添加第二较大地址范围的第二比较器。
    因此,在图3中所述的本公开的实施例提供了多层追踪体系结构200,其中,在追踪单元216的子块内,能够配置消息被输出到片上追踪缓冲器224还是片上追踪缓冲器226还是它们两者。这种特性允许通过具有仅仅一个追踪单元而不是两个而允许与图2中的实施例相比的芯片面积方面的显著节省。为了支持图2中的实施例,每个MSG发生器仅仅具有用于追踪输出目标的两个控制位就足够了。数据追踪消息发生器仅仅需要具有带有此能力的一个比较器。对于片上追踪,不使用数据地址准许,并且对于任务ID追踪,单个比较器就足够了。因此,与图1中的常规系统相比的唯一显著面积开销是附加的消息封装器。
    因此,本公开在并未显著地增加需要的追踪单元的数目或成本的情况下通过提供将追踪数据分离成高带宽追踪信息和低带宽追踪信息来有利地支持对计算机系统中的一个或多个CPU和/或总线的长历史追踪的观察。
    图4和5示出了用于执行多层追踪的方法。一般地,一种用于执行多层追踪的方法包括:从计算机系统接收原始追踪数据、将原始追踪数据分离成高带宽追踪信息(HBTI)和低带宽追踪信息(LBTI)、将HBTI记录在片上追踪缓冲器上直至特定事件被触发以及并行地通过片外追踪工具接口提供LBTI。在一个实施例中,HBTI和LBTI被分别提供给单独的HBTI和LBTI追踪单元。在另一实施例中,HBTI和LBTI被提供给单个追踪单元且然后被提供给分别的HBTI和LBTI消息封装器。
    更具体地,图4是示出了根据包括分别的追踪单元的本公开的一个实施例的用于执行多层追踪的方法400的流程图。为了清楚起见,在系统200的背景下描述了用于执行多层追踪的方法400。然而,在替换实施例中,可以使用其他配置。此外,其他实施例可以按照不同的顺序来执行这里所述的动作,和/或其他实施例可以执行与这里所述的那些动作相比附加的和/或不同的动作。
    本公开的系统在410处从系统中的CPU和/或总线中的一个或多个接收所需的所有原始追踪数据。复制器在420处将此原始追踪信息提供到两个路径。HBTI追踪单元在430处将原始追踪信息转换成HBTI消息。HBTI消息也可以包括(但不必须包括)LBTI。LBTI追踪单元在440处以少得多的带宽从原始追踪数据生成消息。HBTI然后在450处被提供给HBTI消息封装器,并且然后在460处被记录在片上追踪缓冲器上,直至发生特定的触发。LBTI在470处被提供给LBTI消息封装器,并且最后在480处被提供给片外追踪接口。
    图5是示出了根据包括单个追踪单元的本公开的另一实施例的用于执行多层追踪的方法500的流程图。为了清楚起见,在系统300的背景下描述了用于执行多层追踪的方法500。然而,在替换实施例中,可以使用其他配置。此外,其他实施例可以按照不同的顺序来执行这里所述的步骤和/或其他实施例可以执行与这里所述的那些步骤相比附加的和/或不同的步骤。
    计算机处理系统在510处从系统中的CPU和/或总线中的一个或多个接收所有原始追踪数据。该原始追踪数据然后在520处被提供给单个追踪单元。追踪单元在530处将原始追踪信息转换成HBTI和LBTI消息。HBTI在540处被提供给HBTI消息封装器且然后在560处被记录在片上追踪缓冲器上。LBTI在550处被提供给LBTI消息封装器,并且然后还在570处被提供给片外追踪接口。如上所述,HBTI和LBTI可以重叠,或者如更常见的情况那样,LBTI可以是HBTI的子集。因此,在本公开的一个实施例中,消息发生器是可配置的,并且可以生成HBTI消息、LBTI消息或它们两者,其然后可以被发送到一个或两个消息封装器。例如,可以将具有大范围的一个地址范围比较器用于高带宽片上追踪,并且可以将具有小范围的第二比较器用于片外追踪。在另一实施例中,可以将小范围比较器用于两者,但是对于高带宽片上追踪,可以存在添加第二较大地址范围的第二比较器。
    虽然在本文中已示出并描述了特定实施例,但本领域的普通技术人员将认识到的是,在不脱离本公开的范围的情况下可以用多种替换和/或等价实施方式来代替所示和所述的特定实施例。本申请意图覆盖在本文中讨论的特定实施例的任何修改或变更。因此,意图在于仅仅由权利要求及其等价物来限定本公开?!  ∧谌堇醋宰ɡ鴚ww.www.4mum.com.cn转载请标明出处

    关于本文
    本文标题:多层追踪.pdf
    链接地址://www.4mum.com.cn/p-6120564.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 浪潮孙丕恕从信息时代到智能时代 人工智能价值将爆发式释放 2019-12-21
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 德甲积分榜最新 甘肃快三打豹子技巧 永利棋牌2019版下载 四川时时彩哪里买 山东德州麻将怎么打 河南推倒胡下载 沈阳四冲游戏下载 排五玩法奖金规则 江西新时时彩分位走势 友乐广西麻将新版本 玩什么腾讯游戏最赚钱吗 e球彩24元 玩pk10 欢乐斗地主小说 英雄杀狄仁杰cdkey 体育彩票大乐透预测号