2回答

0收藏

谈谈Zynq SoC里ARM NEON SIMD架构扩展集的使用

FPGA/DSP FPGA/DSP 4547 人阅读 | 2 人回复 | 2014-06-18

作者:Steve Leibson, 赛灵思战略营销与业务规划总监

在所有Zynq All Programmable SoC 的内部, 你都会发现一个双核的ARM Cortex -A9 MPCore处理器,而且Zynq SoC中的这两个处理器中都设有ARM NEON SIMD架构扩展集。那么为什么您需要采用ARM NEON SIMD扩展集呢?那是因为你可以因此大幅提升你的软件性能。你可能看不到您把关键任务转入Zynq SoC可编程逻辑所获得的那么大幅的加速,但是在很多应用中您都会看到某种加速现象。

诀窍就在于NEON扩展集的使用!

这一特殊决窍的秘诀在于 Project Ne10的NE10开源库。设立Ne10项目的目的是提供一套通用、有效的函数,可以大大优化ARM架构,包括NEON SIMD扩展集,并提供统一且便于测试的操作,以便融合到应用中。这个开源库支持静态链接和动态链接,并且是模块化的,因此不需要将未曾使用的库代码添加 到您编写的代码脚本中。

以下是目前NE10开源库当中可使用的函数列表:
FIR滤波器
FIR抽取器
FIR插入
复数FFT
实数FFT
格型IIR滤波器
FIR格型
稀疏矩阵FIR滤波器
点积
矢量加法
矢量减法
矢量累加
矢量除法
矢量集
矢量长度
矢量标准化
矢量属性
十字型矢量
矩阵的加法
矩阵的减法
矩阵的乘法
矩阵的除法
矩阵向量乘法
矩阵转置
矩阵行列式
逆矩阵
矩阵转置
单位矩阵

下图显示了一组FFT函数,展示了使用NEON扩展集和Ne10库与使用NEON内联函数及ARMCC编译器生成矢量代码的性能对比。

原文链接: http://forums.xilinx.com/t5/Xcell-Daily-Blog/Leverage-the-ARM-NEON-SIMD-...


分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

ladouyu

发表于 2014-6-19 10:24:45 | 只看该作者

这个正式我最近正在找的,
版主辛苦了,
板凳

zcc-369748

发表于 2014-6-20 10:59:55 | 只看该作者

ladouyu 发表于 2014-6-19 10:24
这个正式我最近正在找的,
版主辛苦了,

希望对你有帮助   
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条