You are on page 1of 3

23.2.

2014

NEON - ARM

NEON
The ARM NEON general-purpose SIMD engine efficiently processes current and future multimedia formats, enhancing the user experience. NEON technology can accelerate multimedia and signal processing algorithms such as video encode/decode, 2D/3D graphics, gaming, audio and speech processing, image processing, telephony, and sound synthesis by at least 3x the performance of ARMv5 and at least 2x the performance of ARMv6 SIMD. Cleanly architected NEON technology works seamlessly with its own independent pipeline and register file. NEON technology is a 128-bit SIMD (Single Instruction, Multiple Data) architecture extension for the ARM Cortex-A series processors, designed to provide flexible and powerful acceleration for consumer multimedia applications, delivering a significantly enhanced user experience. It has 32 registers, 64-bits wide (dual view as 16 registers, 128-bits wide. NEON instructions perform "Packed SIMD" processing: Registers are considered as vectors of elements of the same data type Data types can be: signed/unsigned 8-bit, 16-bit, 32-bit, 64-bit, single precision floating point Instructions perform the same operation in all lanes

The ARM Cortex-A series processors with NEON technology, as well as ARM's Mali multimedia hardware solutions are used in multimedia applications ranging from smartphones and mobile computing devices to HDTV.

Why NEON?

NEON Applications

NEON Ecosystem

NEON Enhancing User Experience


NEON enhances many multimedia user experiences: Watch any video in any format Edit and enhance captured videos - video stabilization Anti-aliased rendering and compositing Game processing Process multi-megapixel photos quickly Voice recognition Powerful multichannel hi-fi audio processing

NEON Features and Benefits


NEON supports the widest range of multimedia codecs used for internet applications: Many soft codec standards: MPEG-4, H.264, On2 VP6/7/8, Real, AVS Ideal solution for normal size "internet streaming" decode of various formats Not just for codecs - also applicable to 2D and 3D graphics and other vector processing Off the shelf tools, OS support, and ecosystem support Fewer cycles needed: NEON will give 60-150% performance boost on complex video codecs Individual simple DSP algorithms can show larger performance boost (4x-8x) Processor can sleep sooner, resulting in overall dynamic power saving NEON technology features a number of elements to increase performance and simplify software development, such as: Aligned and unaligned data access allows for efficient vectorization of SIMD operations. Clean instruction set architecture designed for autovectorizing compilers and hand coding. Efficient access to packed arrays such as ARGB or xyz coordinates

http://www.arm.com/products/processors/technologies/neon.php

1/3

23.2.2014
Computing to 3D graphics.

NEON - ARM
Support for both integer and floating point operations ensures adaptability to a broad range of applications, from codecs to High Performance Tight coupling to the ARM processor provides a single instruction stream and a unified view of memory, presenting a single development platform target with a simpler tool flow. The large NEON register file with its dual 128-bit/64-bit views enables efficient handling of data and minimizes access to memory, enhancing data throughput.

How to use NEON


OpenMAX DL library: Recommended approach to accelerate AV codecs Libraries released in source form, free-of-charge from the ARM website Supports the following formats: MPEG-4 simple profile, H.264 baseline, JPEG, MP3, AAC Supports the following functions: FIR, IIR, FFT, Dot Product, Color space conversion, de-blocking.de-ringing, rotation, scaling, composition Vectorizing compilers: Exploits NEON SIMD automatically with existing source code Supported by ARM RealView Development Suite (v3.1 Pro and later) Supported by gcc in versions 2007q3 and later C intrinsics: C function call interface to NEON operations Supports all data types and operations supported by NEON Supported in ARM RealView Development Suite (version 3.1 and later) and gcc version 2007q3 and later Assembler: For those who really want to optimize at the lowest level Supported in ARM's RealView Development Suite (version 3.1 and later) and gcc version 2007q3 and later

NEON Support in the Open Source Community


NEON is currently supported in the following Open Source projects: Android - NEON optimizations Skia library, S32A_D565_Opaque is 5x faster using NEON Ubuntu 09.04 support NEON: NEON versions of critical shared libraries Bluez - official linux Bluetooth protocol stack NEON SBC audio encoder Pixman (part of Cairo 2D graphic library) Compositing/alpha blending X.Org, Mozilla Firefox, Fennec and Webkit browsers eg fbCompositeSolidMask_nx8x0565neon is 8x faster using NEON ffmpeg - libavcodec LGPL media player used in many Linux distributions Video: MPEG-2, MPEG-4ASP, H.264 (AVC), VC1 Audio: Ogg Vorbis x264 - Google Summer of Code 2009 GPL h.264 encoder - eg for video conferencing

NEON technology is supported by the industrys largest network of Partners the ARM Connected Community. Leading silicon, systems, design support and software providers come together to provide a complete and optimized solution for products based on NEON technology.

Company

Application H.264, VC1, MPEG-4

VP6/7, MPEG-4, VC1, H.264, video stabilization

MPEG-4, MPEG-2, H.263, H.264, WMV9, VC1

http://www.arm.com/products/processors/technologies/neon.php

2/3

23.2.2014

NEON - ARM

MPEG-4, H.263, H.264, WMV9, audio

H.264, VC1

TEAMSpirit voice and video

H.264, MPEG-4, H.263, WMV

MobiClip

Video and audio codecs

Multichannel audio processing

MPEG-4

Audio and consulting

http://www.arm.com/products/processors/technologies/neon.php

3/3

You might also like