Graphical Profiler User Guide(2)

240 篇文章 11 订阅

2.4 Profile data dumps

剖析器可以将剖析数据文件的内容转储为人类可读的格式或压缩的二进制格式,以便与其他软件工具一起使用。
轮廓数据转储是通过–转储选项(第2.3.1.4节)启用的。这个选项作为参数指定了一个转储配置文件的名称–这个文件又包含了指定下列信息的指令。
■生成的转储文件中的剖析信息的格式(第4章)
■转储文件的名称

2.4.1 Dump configuration files

Dump配置文件是用纯文本编辑器创建的文本文件。它们包含指定以下类型的配置文件信息的指令,这些信息将出现在转储中。
■版本信息(配置文件数据文件,处理器)。
■程序流事件(跳转、调用、返回、循环)。
■缓存事件(击中、错过、访问)。
■执行事件(中断、定时器)。
■总线访问(读、写)。
■硬件线程停顿
■实时操作系统事件(线程创建/销毁、切换、堆栈使用)。
■内存访问(读、写)。
■PC跟踪(PC地址、指令[s]、寄存器状态)。
转储配置文件中的每一行都包含一个指令,指定输出文件(或stdout、stderr)的名称,后面是一个格式限定词,然后是一个或多个配置文件事件ID的列表。

(filename|stdout|stderr) (:full|:val|:bin) prof_event_id...

指令中的项目(文件名、限定词、事件ID)必须用一个或多个空格字符(空格、制表符)隔开。
空白字符(空格、制表符)分开。
注释和空白可以被添加到配置文件中以提高其可读性。从#符号到行尾的所有字符都被视为注释。空行和空白字符被忽略。
输出文件名必须是一个完全合格的路径名、一个相对路径名或一个标准输出流名(即stdout或stderr)。如果输出文件名包含空格字符,完整的路径名必须用双引号括起来。
注意 配置文件中的输出文件名必须是唯一的。
/格式限定符/
格式限定符指定所需的转储数据的输出格式。支持以下格式限定词。
:full
:val
:bin
Full格式以逗号分隔的格式输出事件数据,包括缩写的事件ID名称、事件限定符和事件字段名=值对。
仅限值格式以逗号分隔的格式输出事件数据,包括缩写的事件ID名称、事件限定符和事件字段值(没有字段名)。所有字段值都以十进制格式输出。
二进制格式以固定的二进制格式输出事件数据。每个事件ID、限定符和字段值都以表示其所有可能值所需的最小字节数来输出。
关于转储格式的更多信息见第4章。
/** 配置文件事件ID**/
配置文件事件ID指定要转储哪些事件。它们在指令中被指定为小写的字符串。例如,下面的指令只指定转储(到一个名为outfile的文件)的PC跟踪事件。
outfile :full pctrace
可以为一个特定的输出文件指定一个以上的配置文件事件ID。当指定多个配置文件事件ID时,事件数据将按执行顺序(按周期号)输出。
配置文件事件ID all可以用来指定所有的配置文件事件ID。在这种情况下,前缀操作符(!)可以用来将特定的事件ID从all指定的事件集中排除。例如,下面的指令指定转储所有的配置文件事件,除了PC跟踪事件。

outfile  :full  all !pctrace

表2-2列出了剖面图事件ID以及模拟器剖面图配置文件中产生剖面图数据文件中事件类型的相应指令。
注意 关于配置文件的更多信息,请参阅 Hexagon Simulator 用户指南。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.5 Working set data

剖析器可以从剖析数据文件中生成工作集数据。工作集被定义为所有指令和数据地址的集合,这些地址在指定的执行范围内被所有线程(处理器硬件和RTOS软件)访问。
执行范围是通过开始/结束PC指令地址或开始/结束周期时间或其组合来指定的(这与模拟器的-pcfilter和-timefilter_ns选项相对应)。
收集的数据包括所有执行的指令包和所有的数据访问,不管它们是属于正在运行的应用程序代码还是操作系统(如果存在的话)。

2.5.1 Generating working set profile data

工作集数据是通过运行 Hexagon 模拟器和收集图形剖析器 qprof 事件数据产生的。工作集数据所需的图形剖析器qprof事件如下。
■内存访问
■PC跟踪数据
为了在仿真过程中收集这些事件,仿真器命令行必须包含收集图形剖析器事件数据的选项(即–qprof文件仿真器选项)。指定的qprof配置文件必须包含以下指令。

--memory
--pctrace_min or --pctrace

注意 --pctrace_min比–pctrace更值得推荐,因为–pctrace_min只生成已执行的PC地址,而–pctrace会生成已执行的PC地址以及指令反汇编和改变的寄存器值,这导致了巨大的qprof事件数据文件。

2.5.2 Working set data collected

2.5.2.1 Instruction packet data

对于每个执行的指令包,将收集以下数据:
■ 数据包中第一条指令的地址。
■ 该数据包被执行的次数。

2.5.2.2 Memory access data

对于每个内存访问,都会收集以下数据:
■内存访问的地址。
■访问的字节数。
■访问的类型(读、写或指令获取)。
■导致访问的指令包的地址。

2.5.3 Dumping working set data

工作集数据是通过使用新的命令行选项运行图形剖析器来转储(或输出)的,这些选项将在第2.3.1.5节讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值