查看: 3876|回复: 2

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

[复制链接]
  • TA的每日心情
    开心
    2020-8-5 15:33
  • 签到天数: 1274 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2014-6-18 15:03:05 | 显示全部楼层 |阅读模式
    分享到:

    作者: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-...


    回复

    使用道具 举报

    该用户从未签到

    发表于 2014-6-19 10:24:45 | 显示全部楼层
    这个正式我最近正在找的,
    版主辛苦了,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 15:33
  • 签到天数: 1274 天

    连续签到: 1 天

    [LV.10]以坛为家III

     楼主| 发表于 2014-6-20 10:59:55 | 显示全部楼层
    ladouyu 发表于 2014-6-19 10:24
    这个正式我最近正在找的,
    版主辛苦了,

    希望对你有帮助   
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-9-22 16:46 , Processed in 0.143807 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.