纯新手DSP编程--5.22-总结

来源:互联网 发布:金无怠 知乎 编辑:程序博客网 时间:2024/05/16 20:28

在显示图形时,要添加第二个断点,通过New位置,这样才可以自动更新。

如果要合适特定文件的语法,可是修改编译参数,不需要编译整个文件。

应用程序代码调整(ACT )

调整的过程开始于在分析阶段结束后。当应用程序代码分析完成时,DSP开发者确认
那些低效的代码。调整过程包括确定低效的代码是否能被改善,设定有效的模块,和修改代
码尽力符合这些目标。CCS将多种工具结合成一套有组织的调整方法,就如同为调整分析
过程提供了一个单一的方向。

 

1调整面板(Tuning Dashboard)

 

这个面板是调整过程的一个重点。它提供了编译和运行时该用那种调整工具来剖析数据
的建议,它也可以启动每种工具。这个面板是在开发周期中调整阶段时的主要界面。

 

建议窗口显示了调整的信息,是优化面板的一个组成部分。它在调整的过程中指导用户,
解释和详述了合适的步骤,显示了有用的信息,连接了其它工具和文档以及重要的消息。

在调整过程的任何节点,当第一次使用这些工具或确定采取合适的手段时,应该考虑建议窗
口。

CCS集成开发平台最初开始于调试布局界面。通过点击在工具条上的调整分支图标来
打开建议窗口转换到调整布局界面。或者,用户可以在“Profile→Tuning menu item”选择
“Advice” 。建议窗口将出现在CCS IDE屏幕的左侧,并显示欢迎信息。

在调整面板的顶部有一组按钮来用因特网方式浏览建议页面,就象打开建议主页面的一
些按钮。单击工具栏的箭头来向前向后浏览建议页面。在中间窗体的下部有一个或多个选项
卡。这些选项卡显示不同的建议页面,允许你同时执行多个任务。单击建议窗口底部的选项
卡来在已打开的页面中切换。右击建议窗口在菜单中选择“Close Active Tab”来关闭活动选
项卡。

欢迎页面包括了各种主要调整工具描述的连接。在欢迎页面的底部有一个蓝框来提示调
整过程的下一步。这种蓝色的活动控件贯串建议窗口页面的始末。

在浏览建议窗口页面时,红色的警告信息可能会出现。这些信息是有帮助的提示并包含


了宝贵的解决方法对各种问题。

当你打开一个工具时,比如代码尺寸调整“CodeSizeTune”,对于这个工具的建议选
项卡会在建议窗口的底部出现。该页面包含了该工具的信息,包括它的功能、用法和怎样应
用这个工具来最优化效率。

 1.2 剖析设置(Profile Setup)

 

如同建议窗口所指出的,CCS IDE在运行前必须确定调整过程所需要的代码单元(code
elements)。而这可以用来剖析设置(Profile Setup)完成。“Profile Setup”必须在优化开始
时使用,来指定要收集的数据和所要求的代码段。

“Profile Setup”窗口可以用建议窗口(Advice Window)来打开。在欢迎界面底部的蓝
框,单击连接打开安装建议界面。第一个活动控件包含了打开“Profile Setup”窗口的连接。
“Profile Setup”也可以通过主菜单中的“Profile-> Setup”来打开。

活动标签显示了剖析会话将以何种防止收集应用程序的数据。“Ranges”标签指定了所
收集数据的范围。函数、循环和任意代码段能被添加到“Ranges”标签来收集优化信息。使
用在“Control”标签上的退出点(exit point)来确定CCS何时停止数据采集。用户也可以使用
“Control”标签添加暂停或回复采集点来隔离不同代码段。“Custom”标签收集自定义信息,比
如高速缓存的命中或CPU空闲周期。

 1.3 目标窗口(Goals Window)

调整一个应用程序需要设定和达到一个有效的目标,所以CCS提供一种方法来记录数
字性的目标并跟踪用户的改善。

目标窗口“Goals Window”显示了应用程序数据的汇总,包括代码尺寸和CPU周期数的
评估,它可以在代码运行时更新。它也可以比较现在的数据与上一次的数据和设定的目标。

选择“Goals”在“Profile->Tuning”菜单中,来打开目标窗口。  

如果应用程序应经被装载并且剖析工具已经安装,目标窗口能获得数据简单地通过运行
应用程序。为了记录要优化的模块,单击目标窗口键入目标名称并按回车。如果一个目标达
成了,数据将以绿色并加圆括号显示。否则,数据将显示为红色。当应用程序重新运行时,
在“Current”栏里的数据将移动到“Previous”栏,它们的差别将显示在“Delta”栏。“Goals
Window”允许用户随时保存或查看日志中的数据,通过使用窗口左边的“logging”图标。

 

1.4 剖析结果查看器(Profile Viewer)

 

剖析结果查看器“Profile Viewer”显示了在优化过程中收集到的数据。它包括了一张报
表。每一行对应于在剖析建立窗口范围标签种选择的代码段。每一列包含了每个剖析代码部
分的采集数据,就像在剖析建立窗口的活动和自定义标签中选择的那样。

剖析结果查看器提供了一个独立的区域来显示优化过程中采集到的信息。纵列能由不同
的数据值来排序。在剖析结果查看器中的数据组可以被保存、恢复、与其它数据组比较。

剖析结果查看器可以精确指出最无效的代码段。比如为确定哪个函数导致了最多的高速
缓存延迟,高速缓存延迟数据在查看器中从最大到最小进行排序。然后函数段被剖析来确定
哪些代码导致了高速缓存延迟。

在主菜单选择“Profile Viewer”,来打开“Profile-> Viewer”。或者,在“Advice Window”
中浏览到“Setup”标签。在安装建议页面的底部,单击“Profile Data Viewer”在屏幕底部显示
剖析结果查看器。如果在“Profile Setup”窗口中启动了优化过程,运行应用程序将在剖析结
果查看器中显示数据。这个查看器可以通过拖曳行和列来由用户定制。数据可以用查看器中
的按钮来保存和恢复,也可以通过双击每一列的标题来排序。另外,多个查看其能被同时打
开。

 

2 编译顾问(Compiler Consultant)

 

编译顾问工具分析C/C++源代码,并且提供一些可以提高程序执行性能的特殊建议。
编译顾问工具有两种信息:编译时间循环信息(Compile Time Loop Information)和运行时
间循环信息(Run Time Loop Information)。编译时间循环信息是被编译者创建的。运行时间
循环信息是通过剖析应用程序而整合的数据。每当你编译和创建代码,顾问就会分析代码并
且提供针对不同最优化技术的建议用于提高代码效率。你可以选择执行建议重新创建工程,
然后用Profile Viewer窗口来查看最优化的结果。

当你分析编译顾问信息时,Profile Viewer中的信息是以不同的列分类的,分类如下:

.. If you didn’t profile, sort on Estimated Cycles Per Iteration to see which loops take
the most estimated cycles in a single iteration (Compile Time Loop Information).
.. If you profiled with the activity Collect Run Time Loop Information, sort on
cycle.CPU: Excl. 为了弄清楚哪些循环执行周期最多,忽略系统作用。
.. If you profiled with the activity Profile all Functions and Loops for Total Cycles,
sort on cycle.Total:Excl. 为了弄清楚哪些循环执行周期最多,考虑系统作用。
.. 建议的次数,用以判断哪些循环被建议的次数最多


消耗最多CPU周期的将被显示在Profile Viewer的最上面一行,通过调整,它的执行效
果将被大大提升。然后,你可以每次调整一个循环。双击任何一个循环行的Advice Types entry,
在建议窗的顾问标签中会生成全面的建议。

在已经应用了建议去修改个别的循环后,应该在Profile Viewer窗口中隐藏那一行。这
样做可以减少出现在Profile Viewer 窗口中的信息量。行是可以始终不被隐藏的。

对于更多的信息,在Application Code Tuning下的在线帮助中输入Compiler Consultant
进行查看。

 

3 代码尺寸调整(CST)

 

CodeSizeTune(CST)可以很容易调整应用程序中的代码大小与周期数之间的平衡。使
用一系列不同的profiling配置,CST会剖析应用程序,收集各个功能的数据,并且决定编
译的最优组合。然后,CST会产生一个包含了各个特定功能的图表以供选择,你就可以在
图表上选择最适合你需要的配置。


以前的Code Computer Studio的使用者认为CST是Profile-Based Compiler(PBC)的一种
替代。

1. 首先,在Application Code Tuning的在线帮助中检查CodeSizeTune,确保你的程序
符合CST 剖析的标准。
2. CST会使用一些profile collection option sets来创建并剖析你的程序。通过一些剖析
收集选项(profile collection options),使用从功能执行上获取的剖析信息,CST整
合收集选项,这些选项包含各种功能水平的编译选项。想要了解更多的信息关于怎
样去创建和剖析,在CodeSizeTune的在线帮助中查看Build and Profile。
3. 最优的特定功能选项集将被显示在一个关于代码尺寸和执行性能的二维图表上,这
样你就可以选择适合系统需要的一个最优的代码尺寸和运行速度的组合。想要了解
更多的关于如何选择需要的收集选项设置,在代码尺寸调整的在线帮助中查看
Select Desired Speed 和Code Size。
4. 最后,你会讲你所选择的收集选项设置(collection option sets)保存到Code Computer
Studio工程上。在CodeSizeTune的在线帮助中查看Save Settings 和 Close。


建议窗口将指引你完成以上步骤。当你使用CodeSizeTune,建议窗口中的CodeSizeTune
标签将会自动显示。在线帮助中可以查看关于CodeSizeTune Advice Window 的更多信息。

  

4 高速缓冲存储器调整(Cache Tune)

 

Cache Tune 工具提供了一个图表,它使整个高速缓存通路清晰可见。这一工具对于加
强非最优化的高速缓存存储器用法十分有效。使用这一工具,可以使高速缓冲存储器效率最
优化,从而减少存储子系统中所消耗的周期,并且提高整个程序的高速缓存效率。

所有的存储通路是通过不同颜色编码而分类的。各种各样的滤波器,摄全景,摄像移
动特征使其可以迅速的drill-down to 观察特定的区域。这种高速缓存通路的即时视觉扫描可
以迅速辨别问题区域,例如冲突、容量、强制性错误。

Tuning-> Cache Tune,显示最近的高速缓存踪迹。为了观察高速缓存踪迹,在Profile
Setup中有各种各样的选项需要被选中,通过在线帮助查看更多信息。有三种类型的高速缓
存踪迹文件:

.. 程序高速缓存踪迹
.. 数据高速缓存踪迹
.. 交叉高速缓存踪迹


数据高速缓存踪迹标签以默认值显示。如果没有高速缓存踪迹被采集到,图表是空的。

当此工具被运行时,可以通过打开一个保存过的数据集查看其它高速缓存数据文件。

通过点击Open dataset按钮,按它的热键,或者点击上下文菜单中的加载数据集项,
可以打开数据集。

想要了解关于高速缓存分析工具的更全面的信息,请查看TI网上的高速缓存分析用户
指引(SPRU575)。