关于NEON的一些总结
来源:互联网 发布:c4d软件中文版设置 编辑:程序博客网 时间:2024/06/11 10:37
一、NEON简介
NEON是通用的SIMD(单指令多数据)引擎。通过NEON可以加速多媒体和信号的处理算法。NEON可以处理当前和未来的多媒体格式,从而改善用户体验。
二、NEON原理
o NEON 指令可执行“打包的 SIMD”处理:
n 寄存器被视为同一数据类型的元素的矢量
n 数据类型可以为:签名/未签名的 8 位、16 位、32 位、64 位单精度浮点
n
原理图如下:
下图通过SISD(单指令单数据)和SIMD(单指令多数据)的对比,来说明NEON的工作原理:
从图上可以看到,对于SISD,每个指令只能处理一个数据,而SIMD一个指令可以处理多个数据,因为多个数据的处理是平行的,因此从时间来说,一个指令执行的时间,SISD和SIMD是差不多的。由于SIMD一次可以处理N个数据,所以它的处理的时间也就缩短到SISD的1/N。
需要指出一点,NEON是需要硬件的支持的,需要有一块寄存器放到硬件上来处理这个的。
三、NEON的使用
o NEON的函数是C语言风格,但是编译后成为汇编语句,这样执行的效率会提高。
o
四、NEON举例
下面是一个用C现实的将GRB转化成灰度图的算法
下面是一个用NEON现实的将GRB转化成灰度图的算法
对以上函数进行说明如下:
把权重放入NEON寄存器
一次载入8 pixles到三个NOEN寄存器,这个地方是重点可以说明NEON的高效率。
计算结果
- 关于NEON的一些总结
- NEON的一些总结
- NEON的一些总结
- 关于neon
- 关于继承的一些总结
- 关于Cache的一些总结
- 关于触摸屏的一些总结
- 关于乱码的一些总结
- 关于SOCKET的一些总结
- 关于工作的一些总结
- 关于C++的一些总结
- 关于文件的一些总结
- 关于DOM的一些总结
- 关于数据库的一些总结
- 关于一些问题的总结
- 关于cgi的一些总结
- 关于ListActivity的一些总结
- 关于stringstream的一些总结
- 《GOF设计模式》—模板方法(TEMPLATE METHOD)—Delphi源码示例:文档
- C++ 左值和右值概念
- 乱写一篇
- 优先级,结合性,序列点, 你理解清楚了么?
- system会挂起父进程
- 关于NEON的一些总结
- 数据类型转换
- 《GOF设计模式》—模板方法(TEMPLATE METHOD)—Delphi源码示例:绘图
- mapreduce eclipse plugin使用
- Android 的一些实用的函数
- flex 缩略图处理方式
- ARM汇编伪指令介绍
- SEO工作执行步骤
- 大话数据库编程规范