外文期刊翻译Word下载.doc
《外文期刊翻译Word下载.doc》由会员分享,可在线阅读,更多相关《外文期刊翻译Word下载.doc(15页珍藏版)》请在冰豆网上搜索。
![外文期刊翻译Word下载.doc](https://file1.bdocx.com/fileroot1/2022-10/25/a375be0f-b943-4c71-80ba-c118c6a300c1/a375be0f-b943-4c71-80ba-c118c6a300c11.gif)
王伟杰
指导教师:
常静
2013年02月
单芯片多处理器DSP的性能分析优化
德州仪器金继红华盛顿大学金永民
摘要
为了实现最大性能、单片机多处理器dsp需要复杂的性能监控工具作为MVP性能监控。
使用MPM,程序员可以很容易有效地分析和优化DSP应用程序。
关键词:
DCT系统,Dsp,
支持性能监控和调优的复杂平行数字系统长期以来一直是一个活跃的研究领域。
在近年来,一直强调绩效评价大规模的并行程序。
例如,许多性能工具已经开发为调优并行程序在共享内存多处理器或分布式系统。
在本文中,我们讨论的性能监控和调优为小得多的平行架构:
单片机多处理器数字信号处理器。
为了满足重计算需求的新兴多媒体应用程序处理现实世界的数据类型,例如视频和声音,一个新一代高性能可编程dsp一直发达。
这些需求方有一个高度集成的平行架构,将专用硬件特性,大型芯片上的内存,和多个处理器到一个单一的芯片。
图1
这个芯片上的内存、I/O控制器,和处理元素通过一个互连网络连接(示例、共享的公共汽车或一个纵横开关网络)。
由于大型在多媒体应用程序的数据需求,数据传输的I/O控制器发生在与数据处理的PEs,从而改善总体性能。
大多数高性能dsp,如模拟设备以adsp-21060超级哈佛架构(Sharc)DSP,摩托罗拉DSP96002处理器、和德州仪器TMS320C80多媒体视频处理器(MVP)、属于这个建筑的家庭。
开发高效的DSP程序单片机多处理器DSP需要一个好的理解不仅算法和DSP的而且整个系统的复杂性程序的行为。
没有系统性能的理解,DSP程序可以遭受各种性能瓶颈,如资源冲突和不平衡的同步。
这个额外的开销可能极大地降低程序的整体性能。
不幸的是,这个瓶颈通常是很难预测的和识别,即使对经验丰富的DSP程序员。
由于dsp主要用于实现高性能、单片机多处理器dsp需要性能监视工具。
一个性能监视工具dsp必须满足在dsp特定需求和支持性能参数构成的需求方。
MVP的性能监视器,它是“透明国际”的MVP,是这样的工具。
演示MPM的有效性,我们使用它来分析和优化一个二维离散余弦变换(DCT)实现。
用来处理数字信号的性能监视工具
一般而言,有四个性能的仪表级别:
硬件、系统软件,运行时系统软件,和应用程序代码。
7然而,目标应用程序代码通常执行的正上方,在DSPbased硬件系统,没有多少系统软件或运行时系统支持减少开销。
因此,更多信息从硬件和应用水平有必要进一步提高性能的DSP应用程序。
根据不同的机制,用来收集性能数据,一个性能监视工具可以分类作为一个基于硬件的监视器或基于软件的监控。
一种基于硬件的性能检测显示器分开电路包含几个硬件计数器附加到一个事件检测和激活逻辑模块。
选择监视的事件由软件控制的。
一个性能计数器递增每当一个事件关联到一个计数器发生。
基于硬件的监测是最适合的收集硬件性能数据(例如,指令执行速度和缓存命中率)的现实时间。
详细的硬件性能信息有用的理解底层的行为和交互程序运行在目标系统。
因为单独的硬件逻辑是专用于性能监控,基于硬件的监视器不引人注目的(也就是说,性能监视介绍没有扰动的行为的监控应用程序)和收集准确的性能数据。
然而,收集的高级信息一般较困难,除非部分的监测已经明确用来收集这些信息。
性能监视是支持更多情况下的软件工具。
这种方法修改应用程序项目将仪器代码,收集性能数据在程序执行期间。
工具代码是手动插入通过修改程序,或者是自动添加的代码生成工具使用他们的分析特性。
通常,基于软件的监控措施原始水平活动,如过程创建和销毁,消息的发送和接收,程序进入和退出,并阻塞和分块的调度器。
软件工具允许比是否基于硬件的更灵活的和富裕的环境性能监视方法。
然而,因为监视的应用程序包括仪表代码,性能监视机制可以扰乱应用程序的行为。
这侵袭性的数据收集机制可以减少的准确性收集性能数据。
对基于dsp的性能优化,没有硬件或软件方法是足够的。
在DSP应用,小的代码段(示例中,一个单一过程的一部分)通常主导整体性能。
对于这些领域,软件工具点是不容易定义的,因为没有足够的有意义的原始水平活动存在在段。
此外,这些段通常是用汇编语言编写,使它更加困难查明原始水平的活动性能监控。
因为小的代码段的性能在DSP应用程序正在被监视,软件-插装代码添加到这些应用程序可以极大地扭曲他们的运行时行为,结果呢在不准确的性能数据。
另一方面,一种基于硬件监视器不提供足够的更高级别的信息,因为它的有限的监测范围。
收集准确的硬件性能数据,如和高级信息,没有扰乱了系统的行为,一个软件监测方法的基础在一个硬件模拟器模式是更适当的。
如果一个准确的硬件模拟器模式可用,这方法支持两个详细的硬件数据收集和高级分析没有引入任何重要的工件到测量。
开发一个准确的硬件模拟器通常需要显著努力。
在基于dsp系统,然而,这不是一个额外的负担,因为一个精确的DSP模拟器模型通常可以从DSP制造商。
对于例子,大多数低级DSP程序开发使用模拟器为一个特定的DSP。
因此,一个性能-监控工具对于这个DSP可以开发通过扩展现有的DSP模拟器。
需求
一个性能监视工具来开发DSP应用程序应该有至少四个特征:
首先,该工具应该无缝地集成在调试工具。
调试和性能监控应该统一,一个连续体之间存在吗调试正确功能和调试实现所需的性能目标。
集成尤其重要的基于dsp系统的调试工具中发挥核心作用在发展中应用程序。
模式切换函数调试和性能监控应该是简单和容易的,所以,这些集成工具是有用的。
第二,该工具应该提出一个统一的和熟悉的用户界面在它所有的组件,来减轻用户从学习许多不同的接口。
例如,用户应该能够使用相同的命令来控制程序的流在这两个这个函数调试模式和性能调试模式。
第三,该工具将在一个合理的成本中产生有用的结果。
在DSP的应用程序,一个或多个小的代码片段紧凑循环通常是候选人的性能监控和深入分析。
如果性能监控需要过量的时间生产的测量和分析结果,它的用途是显著降低。
第四,用户应该能够使用扩展工具。
例如,对于一个单片机多处理器,预测所有可能的组合的事件是不可能的。
用户应该能够添加要监视的新类型事件。
性能监视参数
我们已经描述了dsp的目标的三个主要的性能因素。
第一个是平衡I/O时间(通过I/O控制器)和计算时间(PEs)。
因为我们的目标dsp可以执行数据处理和数据运动同时,数据处理和分析数据移动要求对于一个给定的函数非常重要的。
实现一个最优的程序实现,我们必须知道一个特定的实现单个子任务(程序)是I/o限制的
或计算。
我们还必须知道每个子任务的程度的I/o有界性或计算有界性。
对于例如,如果我们发现一个subtask是I/o限制的,它的程度的I/o有界性可以引导我们在实施其他的子任务,当我们试图平衡I/O时间和计算时间对于整个程序。
第二个因素是芯片上的指令缓存行为。
因为一个I/O控制器既符合指令缓存当数据移动的失误和请求从PEs在目标dsp、指令缓存错过不仅影响特定函数的计算时间还其I/O时间。
缓存未命中提高总体I/O时间的一个I/O绑定实现,因为他们中断I/O控制器的数据传输服务。
因此,缓存遗漏直接影响整个程序的执行时间。
因为小的代码段通常主导DSP程序和缓存错过服务时间而异在I/O控制器的工作负载,一个简单的计数总的缓存未命中不会提供足够的信息理解和改善程序的缓存行为。
更详细的信息,比如源地址、频率和服务时间为每个缓存错过是必要的。
第三个因素是互连网络竞争在PEs和I/O控制器。
竞争在只会增加总计算时间,而竞争pe和之间的I/O控制器会增加要么计算时间或I/O时间,根据优先级的互连网络pe'
和I/O控制器的访问。
对于互连网络论点,论点的总数为每个PE和I/O控制器提供了足够的信息改善DSP程序。
这些信息是足够的,因为互连-网络重点PEs和I/O控制器倾向于保持相对常数和可以被修改基于竞争的总数。
如果这些优先事项必须改变更动态、详细的信息对于每个争用,像这样的PEs竞争,将是必要的。
MVP的性能监控
MPM是基于一个周期准确的DSP模拟器,满足我们刚刚考虑基于dsp的监测工具和支持三个性能参数的需求。
然而,在我们讨论MPM之前,让我们简要地看一下MVP,我们为DSP设计的。
TMS320C80MVP
MVP是一个单片机、异构、多指令多数据多处理器连接到多个片装一个横梁共享内存模块。
6日,9、10它结合了一个RISC处理器,四个并行处理器,一个智能直接存储访问控制器,和两个视频控制器。
它可以处理超过每秒运算20亿次,与芯片上的数据传输每秒2.4兆个字节。
到减少数据传输开销从外部存储器和设备,MVP拥有大量芯片上的内存(252千字节模块)。
图2TMS320C80系统高电平模块
图2显示了一个高层图的MVP的主要功能模块。
主处理器是一个通用的RISC处理器与不可分割的IEEE754兼容的浮点单元。
在一个典型的操作模式中,议员作为主要的主管和分销商在MVP的任务。
同时,国会议员是首选处理器来执行浮点操作。
这四个并行处理器先进的dsp有一个高度平行架构优化了多媒体,视频和图像压缩、图像和信号处理,和计算机图形学。
每个以ADSP可以执行了到15risc等效操作在一个时钟周期通过一个长的指令字(64位)机制。
它还有许多强大的功能可能无法在传统吗dsp。
例如,每个以ADSP有三个操作数,32一点算术和逻辑单元(ALU),它可以可选地分成两个16位或四8位单位。
视频控制器(vc)支持可编程的视频定时控制两个捕捉和显示。
高性能的纵横开关网络充分互联处理器和芯片上的共享内存模块。
当五个处理器(MP和四ADSPs)提供计算能力,转移控制器,一个专用内存控制器与复杂的数据传输逻辑,管理着所有的数据传输请求和从这些处理器缓存遗漏。
TC重视不同类型的数据传输请求和传输数据之间的内部和外部记忆芯片上的和。
由于高数据所需的带宽多媒体应用程序和访问的开销直接内存芯片外,五个处理器通常工作与数据纳入芯片上的共享的内存TC。
因为处理器和TC可以操作同时,大多数数据传输由TC隐藏到处理器的优化实现。
虽然处理程序工作电流数据块在共享内存,TC为下一个平行格服务。
TC的主要数据传输机制是一个包传递,转让的两个地区之间的数据块MVP的记忆。
MP,ADSPs、VC、或外部设备启动包传输通过发送请求TC,使用软件或硬件。
一旦一个处理器提交转回申请,它可以继续程序执行不用等待传输的完成。
许多不同的模式的数据包传输是可用的,比如多维转移,表引导转移,满值转移,和串行寄存器传输。
MPM架构概述
图3显示了MPM的架构。
MPM的是紧密结合德州仪器MVPDebugger工具,