原文地址:
單指令流多數據流(英語:Single Instruction Multiple Data,縮寫:SIMD)是一種採用一個控制器來控制多個處理器,同時對一組數據(又稱“數據矢量”)中的每一個分別執行相同的操作從而實現空間上的並行性的技術。
在微處理器中,單指令流多數據流技術則是一個控制器控制多個平行的處理微元,例如Intel的MMX或SSE,以及AMD的3D Now!指令集。
圖形處理器(GPU)擁有強大的併發處理能力和可編程流水線,面對單指令流多數據流時,運算能力遠超傳統CPU。OpenCL和CUDA分別是目前最廣泛使用的開源和專利通用圖形處理器(GPGPU)運算語言。
NEON 技術是 ARM Cortex™-A 系列處理器的 128 位 SIMD(單指令,多數據)架構擴展,旨在爲消費性多媒體應用程序提供靈活、強大的加速功能,從而顯著改善用戶體驗。它具有 32 個寄存器,64 位寬(雙倍視圖爲 16 個寄存器,128 位寬。)
NEON 指令可執行“打包的 SIMD”處理:
- 寄存器被視爲同一數據類型的元素的矢量
- 數據類型可爲:簽名/未簽名的 8 位、16 位、32 位、64 位單精度浮點
- 指令在所有通道中執行同一操作
使用 NEON 技術的 ARM Cortex™-A 系列處理器,以及 ARM 的 Mali 多媒體硬件解決方案可用於多媒體應用,範圍從智能手機和移動計算設備到 HDTV。
NEON 增強了用戶體驗
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 寄存器文件,可有效處理數據並儘可能減少對內存的訪問,從而增加了數據吞吐量。