在所有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编译器生成矢量代码的性能对比。
上一篇:将Zynq SoC上的两个ARM Cortex
下一篇:基于ARM和FPGA的多路电机控制方案
推荐阅读
史海拾趣
前几天看新闻,发现个矛盾的地方啊,引入如下: Altera的产品在消费电子领域的销售收入也会继续增长。此外,消费电子产品对低功耗的要求也非常高,与竞争对手的产品相比,Altera公司的器件其功耗通常不到它们的一半,因此在功耗方面Altera的产品 ...… 查看全部问答∨ |
随着嵌入式系统的日益复杂化,嵌入式现在系统越来越成为嵌入式产业的核心,君不见,而在我们国家,嵌入式操作系统几乎是个空白,2008年的十大嵌入式企业以及中国电子信息产业100强中,竟然没有一家是从事嵌入式操作系统的,就连有一个 ...… 查看全部问答∨ |
请问一下superVIVI的功能“a” 是把程序烧进NANDFlash然后从NANDFlash运行吗?我发现一个很奇怪的问题,为什我把程序用a烧进后,不断电,重新从NAND启动,程序可以正常运行。但是断电后再启动就不行了。2440test没有这种 ...… 查看全部问答∨ |
bit-banding 对bit-banding的学习源于TI的“SW-EK-LM3S8962-UG-5961.pdf”文档中例程“2.3 bit-banding”的实验研究。 首先来看一下实验的描述, 这段文字大意是说: “这个例程是对Cortex-M3类型微处理器的bit-banding功能的测试。所有的S ...… 查看全部问答∨ |
公司要我做stm8单片机的相关的技术研发,提出要求从用户代码不通过复位直接跳转到UBC(用户启动代码)模式下;在UBC模式下要跳转到用户代码是很简单的,几条语句就解决了,例如:typedef @far void (*TFUNCTION)(void); const TFUNCTION Mai ...… 查看全部问答∨ |
要求cc1101提供10dbm的433M ASK信号,检测距离至少为3m,设计接收端的电路。 RF端我用倍压整流电路对接收信号进行放大,二极管器件是HSMS258P,用ADS仿真测 得-10dbm输入时有2V以上的输出,可是实际做板出来用示波器一测,尽管靠在发射源也 只有 ...… 查看全部问答∨ |
我想问一下 论坛里的各位 你们在做PCB的时候 是不是打样PCB和焊接元件都在一家公司做的? 我今天问了几个厂家 他们一般是 只做打样PCB不做焊接 或者 只做焊接不做打样 我想知道各位一般 ...… 查看全部问答∨ |