电子工程专辑
UBM China

DSP性能调整-高速缓存、DMA及软件架构(下)

上网日期: 2009年02月09日 ?? 我来评论 字号:放大 | 缩小 分享到:sina weibo tencent weibo tencent weibo


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友

关键字:高速缓存? DMA? 软件架构? Cache?

应用开发通常开始于在个人电脑或工作站编写的C原型代码,然后将代码移植到嵌入式处理器中,并加以优化。本系列文章则将这种层面的优化在系统级扩展到包括以下三方面的技术:内存管理,DMA管理,系统中断管理。这些优化措施与程序代码优化同样重要。在大多数系统中,有很多的数据需要传输,并需要很高的数据传输速率。因此,你最终会混合使用处理器中的所有存储器,如内部存储器和外部存储器。

Blackfin 的存储器体系

为了使第一部分的讨论更加透明化,现在对Blackfin的存储器结构加以描述。Blackfin的存储系统也提供一些“按钮”,以便开发者可以将其打开从而提高系统性能。我们将要讨论怎样才能最充分地利用这些“按钮”。

Blackfin有三级存储结构。第1级(L1)存储器离内核最近,其工作速率为处理器的内核时钟频率(Blackfin典型频率为600MHz),并为指令和数据提供单周期存取操作。典型的L1存储器可存储几十KB,还可根据SRAM 或 cache进行调配。

芯片內部的第2级(L2)存储器位于芯片内部但离处理器内核较远。对该存储器中指令和数据的访问可能要用几个周期。芯片內部L2级存储器容量一般为几百KB,典型的有128KB和256KB。

芯片外部L2级存储器位于芯片外部,因此所提供的存取操作也最为耗时。它工作频率为系统时钟,该时钟频率通常为133MHz。但是芯片外部L2级存储器容量往往很大,典型的有几百兆字节。

中断处理

大多数嵌入式系统都含有中断,因此适当地处理中断非常重要。一般需要了解两个问题:每个中断服务程序耗费多少时间,以及一个中断服务程序是否正在阻止其他关键代码的执行。如果系统支持中断嵌套,例如能够中断一个正在执行的低优先权的中断,就还有必要知道如何实现最好的嵌套中断。

在Blackfin中,如果一个中断正在执行,其他中断默认是关闭的。然而,开发者可以通过将正在运行的中断服务子程序(ISR)的返回地址存入堆栈中来激活一个更高优先权的中断(即嵌套中断)。中断嵌套保证了优先权高的中断不会被优先权低的中断阻止。为了使这一过程更加简单,ADI公司提供了一个“回调管理器”,它能保证中断被的及时响应,且不会被阻止优先权高的中断。 与DMA优先权类似,Blackfin开发者也可以为中断指定优先权以满足开发需求。

存储器注意事项

首先讨论指令放置,也就是应该把写好的指令放在存储器的哪个地方?前面已经讨论过要尽可能地将程序代码放置在最快速运行的存储区中这一思想,当整个应用程序都能放置于内部存储器时,所有工作就变得十分简单。但遗憾的是,情况通常并非如此,很有可能要将程序代码配置在内部存储器和外部可通过缓存访问的存储器。

这一过程应如何入手处理呢?首先就是应该确定关键程序代码段的长度(以字节为单位),所谓“关键”,是指执行最频繁的程序代码子集。而利用软件仿真或程序代码评测工具是一个很好的办法,它可以确定哪部分程序代码执行最为频繁,这一部分程序代码应放入最快速的内部SRAM存储器(即L1存储器)。

ADI公司提供了一款名为PGO 链接器的配置工具,可以实现该功能。该工具在VisualDSP++开发环境下运行,实现了链接时间配置导引优化(PGO)。它能将应用程序的运行配置与程序优化技术结合起来,从而得到最有效的代码布局(如图3)。程序代码被划分为越小的函数,该工具就越能灵活地将执行最频繁的程序放在最快的存储器。一种极端情况是,如果你的程序代码只包含一个函数,且大小超出了内部存储器容量,该工具只能将整个模块都放在外部存储器。

图 3:PGO 链接器设计流程。
图 3:PGO 链接器设计流程。


1???2?下一页?最后一页





我来评论 - DSP性能调整-高速缓存、DMA及软件架构(下)
评论:
*? 您还能输入[0]字
分享到: 新浪微博 qq空间
验证码:
????????????????
?

关注电子工程专辑微信
扫描以下二维码或添加微信号“eet-china”

访问电子工程专辑手机网站
随时把握电子产业动态,请扫描以下二维码

?

5G网络在提供1Gbps至10Gbps吞吐量方面具有很好的前途, 并且功耗要求比今天的网络和手机都要低,同时还能为关键应用提供严格的延时性能。本期封面故事将会与您分享5G的关键技术发展,以及在4G网络上有怎样的进步。

?
?
有问题请反馈
推荐到论坛,赢取4积分X