arm profiler非侵入性性能分析
深圳市米尔科技有限公司是arm公司官方授权全线工具产品代理商, 提供arm公司原装正版开发工具(包括本产品rvds)的销售服务,以及arm工具产品的市场推广、产品更新、九游会网页的技术支持和九游会网页的售后服务。
概念:rvds也称realview development suite等,系为同一产品。
arm profiler(arm rvds 4.1 专业版的一部分)是一款独一无二的产品,它支持对嵌入式软件的性能进行几乎不受时间限制的非侵入性分析,同时保持运行频率高达 400 mhz。这意味着 profiler 可以对处理实际工作负载的设备软件进行分析,分析时间取决于需要,可以是几分钟、几小时,甚至是几天。
profiler 将直观的用户界面与针对硬件和快速模型的软件性能分析结合起来。这样,性能分析即成为每个嵌入式软件开发人员日常工作的一个不可或缺的部分。这显著地降低了软件项目风险,确保项目的交付既及时又能专注于目标。
功能 | 优点 |
长时间的分析 | 按需长时间分析正在处理实际工作负载的设备软件 |
针对完全优化的代码的非侵入性分析 | 分析生产软件以发现真正的瓶颈问题,但不会因测量本身而影响结果 |
语句和分支覆盖信息 | 通过对软件验证的有效性进行量化,对软件质量洞察秋毫 |
通过 etm 跟踪进行硬件平台分析 | 当软件在实际设备上运行时对该软件进行分析 |
包括快速模型库中的六个模型 | 在芯片处理速度达到最高 250 mhz 之前,在指令精确的虚拟平台上分析软件 |
突出显示延迟 | 提供每个指令的不良周期数的反馈,帮助开发人员在尽可能短的时间内充分利用基于 arm 技术的设备 |
由分析驱动的编译 | 与 rvds 4.1 professional 中的 arm 编译器一同使用时,应用程序运行时性能的改进立竿见影 |
跟踪播放 | 通过在整个指令跟踪中运行和前后移动,找到特定的延迟原因 |
长时间的分析
profiler 支持对嵌入式软件的性能进行分析,且对分析的时间长短几乎没有任何限制。这样便可分析现实世界中的用例,获得对软件性能的透彻了解。由于不再需要缩短用例以适应工具,因此,可以检测出要在长时间运行后才出现的关键性能问题。
针对完全优化的代码的非侵入性分析
profiler 在运行其性能分析时不会给嵌入式系统的行为带来任何侵害,并且它支持分析完全优化的软件。这样便可对与作为最终产品一部分发布的软件完全相同的生产软件进行分析。该分析也不会对结果造成影响,使软件中的真正瓶颈问题更易甄别。同时,该分析还可以确保最终产品能按实验室中测量的那样在生产场所正常运行。
语句和分支覆盖信息
profiler提供从指令覆盖信息派生的语句和分支覆盖信息。这样便可通过了解测试的有效性深入地量化分析嵌入式软件的质量水平。为适应标准验证做法的需要,profiler将多个分析运行操作合并到一个报告中。
还支持查看指令级的代码覆盖信息,这提供了进一步的优势,即:甚至可以为没有源代码的系统部分提供代码覆盖信息。
硬件平台分析
profiler与新增的 arm rvt2跟踪捕获单元和 arm rvi运行控制调试单元相结合,可从硬件目标提供创新型流式分析。这种流式分析方法使通常的跟踪捕获单元不再依赖于板载缓冲区的大小,从而支持按需进行长时间分析。为支持以高达400 mhz的时钟频率运行的目标,全新的rvt2捕获单元通过专用的usb2缆线连接到主机pc。profiler支持基于 arm926ej-s、arm946e-s、arm966e-stm、arm1136jf-s、arm1176jzf-s、cortex-a8、cortex-m3 和 cortex-r4 处理器的设备(可在将来发行版中添加更多内核)。
虚拟平台分析
profiler随来自 arm fast models库的指令精确的实时系统模型一起提供。这些模型包括具有以下arm处理器的 arm versatile/eb硬件平台:arm926ej-s、arm1136jf-s、arm1176jzf-s、cortex-r4、cortex-a8和 cortex-a9(单核)。这样,无论硬件是否可用都可以支持性能和代码覆盖分析,该功能对于芯片前分析或补充可用硬件非常有用。 深入了解基于arm技术的设备
profiler是由arm创建的,因此能够为使用 arm编译器或与abi相容的任何编译器创建的基于arm技术的设备和软件提供深入分析,没有任何程序能与之媲美。profiler提供的信息包括:
- 关于每个指令的联锁信息,用于支持标识可通过重构源代码或汇编代码进行优化的代码。
- 周期估计器,用来突出显示执行的周期超过最佳周期数的指令。该信息支持识别内存瓶颈。
- 关于每个函数的延迟和效率信息,可提供基于联锁和最佳周期信息的高级视图。
- 每一已处理的分支(执行或未执行)的详细信息,用来提供控制流的低级视图并支持在调用链中快速导航。
- profiler是运用现代编译器优化技术知识构建的,它提供创新的链接汇编代码和源代码视图,该视图可直观演示源代码与生成的指令之间的nxm关系。
这些详细信息将支持客户在尽量短的时间内发挥其基于arm技术的设备的最优性能。
直观的用户界面
profiler提供直观的用户界面。该界面使用户能够专注于编写最佳的设备软件,简化学习新知识的过程。profiler对所分析的软件提供自上而下、由浅入深的分析,从概括性的视图一直展开到详细的报告。
概括性视图显示了按所用时间、延迟的时间和内存访问排列的五大函数,并提供关于代码覆盖的高级信息。详细视图提供了更为详细的信息,包括所有函数的详细统计信息;源代码及自其派生的汇编代码的详细信息(加注性能和覆盖信息);并包括多个视图可帮助探查动态调用图和调用方-被调用方关系。
profiler集成到流行的业界标准 eclipse ide 中。这允许开发人员在同一窗口中修改、生成和分析自己的代码。
分析运行在linux、android和symbian os上的软件
适用于linux、android和symbian os的profiler可对运行这些操作系统的智能手机上的嵌入式设备软件性能进行深入分析,其深入程度是其他软件所不能及的。基于arm的 coresight调试和跟踪综合基础结构,profiler凭借其独有的功能,能够在复杂系统上不受时间限制地分析软件性能,同时无需修改应用程序或系统。智能手机开发人员可借助该功能提供卓越的性能,同时显著降低内存和功耗要求。
由分析驱动的编译
通过分析运行时性能,rvds 4.1 professional中的编译器在与profiler配合使用时,可以基于应用程序性能执行自动优化。用户不用付出更多努力即有望看到性能的改进(速度快6%)和规模的缩减(减少40%)。
跟踪播放
profiler现在提供收集和存储大量程序跟踪的功能,以及在与代码和反汇编相同的视图内探查该跟踪信息的功能。通过设置断点并在整个指令跟踪中运行或前后移动,用户可更深入地了解自己应用程序的性能,并据此准确判定其优化工作的重心。