DSP系统的建模和配置
嵌入式软件开发需要对目标架构及其使用有广泛透彻的认识和了解。把嵌入式系统从概念转化为能够有效地在硬件环境中部署的高效解决方案,需要一系列步骤。整个过程包括:分析、架构搭建、评估、硬件支持、设计、编码、调试、集成、验证和确认。在这个过程中,如果硬件资源没有得到有效利用,或是软件没有针对硬件资源进行优化,都可能对性能造成严重影响。
CEVA-X系列DSP内核中采用的创新架构需要完全新颖的方案,以充分利用可能的设计变量来控制总体性能。CEVA-X1620是CEVA-X内核系列的第一款产品,采用非常先进的并行架构,在一个机器周期中可执行多达8条指令。对于这类先进架构,高效能及高效率地使用硬件资源非常重要。
此外,CEVA-X整合了完整的存储器子系统,负责分层存储器管理。这包括直接存储访问(DMA)控制器、板上缓存、写入缓冲器、内部及外部存储器、存储器管理及仲裁。利用这种广泛的功能集,通过完整精确的仿真环境和先进的配置能力,就可以轻松地完成软件应用的优化。
对仿真环境的要求
对基于DSP/实时的软件开发而言,仿真环境非常重要,需要具有以下几个特点。
可视性
透明性——可以监控内部硬件和硬件逻辑的工作。即使它们不是硬件接口的一部分,在实际的硬件环境中一般不可见,但是,了解它们的情况是解决问题和提高性能的关键。
调试——当缺乏精确的仿真环境时,在只提供有限可视性的硬件上运行所有进程意味着需要利用更多的资源,并会增加调试时间。因此,仿真环境应提供硬件本身不支持的额外调试功能。
灵活性——这是指在提交给最终系统架构之前检查几种不同系统布局的能力。实现最佳性能通常要设置不同的硬件环境参数,并利用软件进行反复试验。对于所选择的具体设置,需要依靠仿真环境来准确预测其对系统的影响。
时间——在能够执行所有运行时间测试之前,无需耗费太多时间和增加特殊硬件就能够实现并行硬件和软件的开发。
精确仿真和全面配置
先进的仿真和配置环境完全采用软件建模,并具有全面广泛的配置能力,能够帮助系统架构师和DSP软件工程师更好地进行应用设计。这种方法和环境显著提高了系统性能,相应减少了开发时间。全面的建模环境意味着CEVA-X1620实现方案能够以多种模式用于不同的开发阶段或不同的开发目的。
仿真
工具中最先支持的是类似于标准仿真解决方案的基本指令集仿真(ISS)模式。在这种模式中,每一条指令都作为不可分割的阶段被执行。该模式执行速度非常快,便于软件开发。
周期精确仿真(CAS)是更先进的仿真模式。在这种模式中,包括所有流水线级的架构行为被完全仿真。在进行精度检查或硬件验证时,该模式对全系统仿真非常重要,这时仿真器可以作为内核模块方便地模拟真实硬件的功能。除了周期精确能力之外,全部存储器子系统(MSS)都被建模,可对整个系统进行仿真。这样一来,由于软件与硬件的交互作用,因此能够实现真实精确的仿真。这种模式包括了所有的MSS模块,故可对所有的存储层次进行调试,包括缓存、写缓冲、内部/外部存储器。另外,它也可以通过仿真分析不同的存储器布局情况,以针对每一种布局,观察算法执行期间存储器的访问和冲突情况。
配置
除了全面完善的仿真能力之外,CEVA还提供面向C-level的应用程序及存储器的配置器。这种配置器可对整个仿真环境进行自动分析。
它能在基本的ISS模式中提供完全的C-level配置。通过查找出潜在的问题,比如应用内核、瓶颈和最耗费代码行的部分,可有效地提高软件性能。这是非常强有力的工具,能够减少关键功能的时钟数和非关键功能的代码大小。应用程序配置在C函数上被自动执行,无需修改任何代码,同时还可用于汇编程序。
然后,应用程序配置可基于CAS和MSS仿真器被执行,以根据每一个功能的存储映射和存储冲突获得它的真正应用性能。
在应用程序以CAS和MSS模式被配置及有关功能已被确定后,配置器可给出完整的存储器使用信息,其中包括缓存使用和冲突、每项功能的停滞概要、代码存储停滞、数据存储停滞、代码存储冲突及数据存储冲突的相关信息。这种全面透彻的MSS配置信息可指导用户针对应用中的每一项特定功能优化存储使用。
结语
目前,这种建模和配置流程已经被成功地利用于实现某些算**能代码数量的精简,并已协助众多采用CEVA内核进行最终设计的芯片组获得了出色的性能。
|