ARM NEON 是适用于ARM Cortex-A和Cortex-R52系列处理器的一种128位SIMD(single instruction multiple data, 单指令多数据)扩展结构。
ARM CPU最开始只有普通的寄存器,可以进行基本数据类型的基本运算。自ARMv5开始引入了VFP(Vector Floating Point)指令,该指令用于向量化加速浮点运算。自ARMv7开始正式引入NEON指令,NEON性能远超VFP,因此VFP指令被废弃。类似于Intel CPU下的MMX/SSE/AVX/FMA指令,ARM CPU的NEON指令同样是通过向量化来进行速度优化。使用场景包含但不局限于:
1. 灵活的视频转码(Flexible video transcoding)
2. 声音识别、先进的语音处理(Speech Recognition,Advanced audio processing)
3. 视频捕获增强(Enhanced captured video)
4. 计算机视觉AR/VR(Computer Vision)
5. 机器学习及深度学习(Machine and deep learning)
6. 游戏及先进的人机交互界面(Gaming, Advanced user interface)
关于SIMD(单指令多数据)和SISD(单指令单数据)。以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。这个特点使SIMD特别适合于多媒体应用等数据密集型运算:
NEON技术是从ARMv7-A和ARMv7-R指令集引入的,目前已经扩展到了ARMv8-A和ARMv8-R指令集。
NEON技术旨在通过加速多媒体(video/audio)编解码,用户界面,2D/3D图形及游戏来提高人对多媒体的体验度。
NEON也可以通过加速信号处理算法和函数来加快应用程序,比如音频和视频处理,语音和面部识别,计算机视觉和深度学习。
概述
NEON是一个打包的SIMD架构,NEON寄存器被视为相同数据类型的向量元,并且支持多种数据类型的一种技术。
&nbs

最低0.47元/天 解锁文章
3440

被折叠的 条评论
为什么被折叠?



