Neon

ARM架構處理器擴展結構

Neon是適用於ARM Cortex-A系列處理器的一種128位SIMD(Single Instruction, Multiple Data,單指令、多數據)擴展結構。

技術


是適用於ARM Cortex-A系列處理器的一種128位SIMD(Single Instruction, Multiple Data,單指令、多數據)擴展結構。從智能手機和移動計算設備到HDTV,它已被公認為是多媒體應用領域中最為優越的處理器之一。它採用專門設計,簡化了軟體在不同平台之間的移植,為類似Dolby Mobile的密集型多媒體應用提供了低能耗和靈活的加速功能。
NEON 指令可執行“打包的 SIMD”處理
NEON 指令可執行“打包的 SIMD”處理
NEON技術與Cortex-A8Cortex-A9處理器相結合,已經被許多領先企業廣泛采 用。越來越多的機構正在IP設計中採用NEON技術,或提供為NEON技術優化的軟體,構成了NEON生態系統的一部分。這一生態系統由大量的矽片領導廠商構成,如博通公司、Freescale Semiconductor、Matsush_ita、NECNVIDIA松下PMC-Sierra、三星電子STTI和東芝美國電子元器件公司,這些公司都獲得了Cortex處理器授權,其中提供NEON技術作為選擇之一。此外,在這些ARM處理器和多媒體編解碼器廠商基礎上,構建開發和評測電路板的硬體設計合作夥伴正不斷為NEON技術優化編解碼器。

用戶體驗


NEON 可增強許多多媒體用戶體驗:
觀看 任意格式的任意視頻
編輯和強化捕獲的視頻 – 視頻穩定性
鋸齒消除渲染和合成
遊戲處理
快速處理幾百萬像素的照片
語音識別
強大的多通道高保真音頻處理

特徵和優點


NEON 支持用於 Internet 應用程序的範圍廣泛的多媒體編解碼器:
許多軟編解碼器標準:MPEG-4、H.264、On2 VP6/7/8、Real、AVS.....
對於各種格式的正常大小的“Internet 流”解碼來說,是理想的解決方案
不僅僅針對編解碼器,還適用於 2D 和 3D 圖形和其他矢量處理
提供現有工具、操作系統支持和體系支持
所需周期減少:
NEON 可使複雜視頻編解碼器的性能提升 60-150%
單個簡單 DSP 演演算法可實現更大的性能提升(4 倍 -8 倍)
處理器可更快進入睡眠狀態,從而在整體上節約了動態功耗
NEON 技術的大量元素能夠提高性能並簡化軟體開發過程,如:
通過對齊和非對齊數據訪問,可對 SIMD 操作進行有效的矢量化。
清晰的指令集體系結構,設計用於自動矢量化編譯器和手動編碼。
有效訪問打包數組,如 ARGB 或 xyz 坐標
支持整數和浮點操作,以確保適合從編解碼器、高性能計算到 3D 圖形等廣泛應用領域。
與 ARM 處理器緊密結合,提供單指令流和內存的統一視圖,從而能夠提供一個具有更簡單工具流的開發平台目標。nbsp;
通過具有雙 128 位/64 位視圖的大型 NEON 寄存器文件,可有效處理數據並儘可能減少對內存的訪問,從而增加了數據吞吐量。

如何使用


OpenMAX DL 庫:加速 AV 編解碼器的建議方法
以源格式釋放的庫,在 ARM 網站上免費提供
支持以下格式:MPEG-4 簡單配置文件、H.264 基準、JPEG、MP3、AAC
支持以下功能:FIR、IIR、FFT、點積、色彩空間轉換、de-blocking、de-ringing、旋轉、縮放、合成

矢量化編譯器

使用現有源代碼自動搜索 NEON SIMD
受 ARM RealView 開發套件(v3.1 Pro 及更高版本)支持
在 2007q3 及更高版本中受 gcc 支持

內部函數

C 函數調用介面至 NEON 操作
支持 NEON 支持的所有數據類型和操作
在 ARM RealView 開發套件(3.1 及更高版本)和 gcc 2007q3 及更高版本中受支持

彙編器

針對確實需要在最低級別進行優化的用戶
在 ARM 的 RealView 開發套件(3.1 及更高版本)和 gcc 2007q3 及更高版本中受支持
開源社區中的 NEON 支持
當前,在以下開源項目中支持 NEON:
Android – NEON 優化 使用 NEON,Skia 庫 S32A_D565_Opaque 的速度加快了 5 倍
Ubuntu 09.04 支持 NEON:關鍵共享庫的 NEON 版本
Bluez – 官方 Linux 藍牙協議堆棧 NEON SBC 音頻編碼器
Pixman(Cairo 2D 圖形庫的一部分)合成/alpha 混合Mozilla Firefox、Fennec 和 Webkit 瀏覽器
例如,使用 NEON 后,fbCompositeSolidMask_nx8x0565neon 的速度提高了 8 倍
ffmpeg - libavcodec 用於眾多 Linux 分發版的 LGPL 媒體播放器
視頻:MPEG-2、MPEG-4ASP、H.264 (AVC)、VC1
音頻:Ogg Vorbis
x264 – Google 2009 年度編程之夏 GPL h.264 編碼器 – 例如,針對視頻會議