新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 如何实现高性能的DSP处理

如何实现高性能的DSP处理

作者:时间:2010-01-07来源:网络收藏

  指令和数据高速缓存为Blackfin器核提供了最高带宽的传输路径,但高速缓存存在的问题是它不能预测程序接下来需要的究竟是哪些数据和指令,因此,高速缓存提供了一些功能,使用户可以控制高速缓存的操作。在Blackfin器中一些关键的指令段就可以锁定到高速指令缓存中,这样在需要的时候可以直接使用。

  值得注意的是,当高速缓存决定需要保留哪些指令时,它会自动保留最近使用最多的指令段。由于软件花费大部分的时间在循环上,这样程序往往会重复访问相同的指令。因此,在不需要任何用户干预情况下,指令高速缓存可以大大提高系统性能。

  此外,除了高速指令缓存的功能外,高速数据缓存还提供了“直写”和“回写”模式。在“直写”模式中,在高速缓存中对数据的修改要传送到外部存储器中。总之,编程最好开始采用“回写”模式,可以提高10-15%的效率,在大多数算法中,比“直写”模式更加有效率。如果数据在多种资源中需要共享,由于要维护数据的一致性,因此采用“直写”模式也是有用的。比如,在A-BF561器中,要两个处理器核数据的共享,则“直写”模式就十分有用。在单核处理器中,如果DMA控制器和高速缓存访问同样的数据,这种模式也是有益的。

  利用DMA提升性能

  DMA是提高系统性能的另一个有效工具。因为DMA的访问独立于处理器核,处理器核可以专注于处理数据。在理想的配置中,处理器核只需要设置DMA控制器,并在数据传输完毕时响应中断即可。

  通常,高速外设和其他大多数外设都具有DMA传输能力。某些DMA控制器也允许外部存储器与内部存储器,以及存储器空间内的数据传递。若设计者仔细地设计系统,将取得巨大的性能提升,因为任何DMA控制器传输的数据都不需要处理器核“操心”。

  Blackfin处理器支持二维DMA的传输,如图1所示。左侧显示的是输入缓冲区数据,红、绿、蓝三基色数据交替放置。一维到二维的DMA转换将交替的数据转换成独立的红、绿、蓝数据。图1的左下角为读入数据的伪程序代码。如果没有DMA控制器,这些数据传输就只能由处理器核完成。使用DMA 控制器后,则DMA负责数据传输,传输完毕并中断处理器核,处理器核则可解放出来做其他任务,如数据处理等。

  图1:二维DMA存储器访问模式。



评论


相关推荐

技术专区

关闭