• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

ARM技術(shù)雜談:何謂FPU、VFP、ASE、NEON、MPE、SVE、SME以及MVE

2024/09/29
9.6萬
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

FPU(Floating-Point Unit)

浮點運算單元是處理器內(nèi)部用于執(zhí)行浮點數(shù)計算的邏輯部件。因為并不是所有的處理器都需要具備該功能,所以一些處理器實現(xiàn)的時候可以配置為包含或不包含該部件。

如果處理器包含了該運算部件那么表現(xiàn)形式就取決于ARM架構(gòu)的定義, 要么是作為處理器架構(gòu)里面定義好的一部分,要么是作為處理器基礎(chǔ)架構(gòu)之外的擴展。浮點運算部件除了滿足IEEE754標(biāo)準(zhǔn),另外也會定義相關(guān)的FPU工作方式以及相對應(yīng)的指令集。即便處理器里面并沒有包含F(xiàn)PU單元,也仍然可以使用軟件的方式來執(zhí)行相關(guān)的浮點計算,但是使用軟件完成這些運算跟使用硬件FPU相比會慢許多。

不同的浮點運算單元支持不同大小的浮點數(shù)據(jù)類型,所以對于一些處理器來說可以配置為僅支持單精度浮點數(shù)或者是單、雙精度浮點數(shù)均支持。

VFP(Vector Floating Point)

“VFP”表示的是向量浮點運算單元,并且也是在ARMv8架構(gòu)之前已經(jīng)出現(xiàn)了的浮點運算擴展單元的名稱。ARM架構(gòu)默認(rèn)并不支持向量浮點運算運算,因此相關(guān)的定義與實現(xiàn)都是通過架構(gòu)的VFP擴展提供的。

之所以稱為“向量”浮點是因為在ARMv6及以前這個擴展不只是用于增加浮點數(shù)計算處理,同時也用于類似向量的SIMD浮點數(shù)計算處理。在本文中,“向量”用于表示對打包成單個大數(shù)據(jù)集的一項乘法運算(例如把多個獨立的數(shù)值合并存儲到一個寄存器內(nèi)相乘)。

在ARMv7架構(gòu)中,這種使用VFP來處理向量浮點數(shù)據(jù)的方式不建議采用,相關(guān)的功能可以使用“先進SIMD擴展”來替代。

VFP有多個不同的版本 (VFPv1, VFPv2, VFPv3, VFPv4)用來支持不同的特性與數(shù)據(jù)類型。VFPv2用于ARMv5和ARMv6架構(gòu)擴展,VFPv3與VFPv4用于ARMv7架構(gòu)擴展使用。

ASE(Advanced SIMD Extension)

“ASE”是“先進SIMD擴展”的英文首字母縮寫。它是ARMv7架構(gòu)上用于提供額外SIMD運算的擴展,既可以使用整數(shù)(即INT整型),也可以使用浮點數(shù)。

同VFP擴展相似,先進SIMD擴展也有多個版本(Advanced SIMDv1、半精度Advanced SIMD以及Advanced SIMDv2)用來支持不同的特性與數(shù)據(jù)類型。

盡管架構(gòu)上的擴展是“先進SIMD擴展”,但實際用于描述這個特性的產(chǎn)品名為“NEON”。這兩個名稱代表的是相同的部件。

對于ARMv8A架構(gòu)中,在默認(rèn)的架構(gòu)上包含了對向量SIMD運算的處理所以先進SIMD擴展也不再認(rèn)為是一種擴展。它仍然作為NEON并且呈現(xiàn)在所有標(biāo)準(zhǔn)的ARMv8-A處理器核心中,因此在某些架構(gòu)的核心上可能不包括它。.

NEON

如上面簡短的提及,“NEON”是用于ARMv7和ARMv8 Cortex-A與Cortex-R處理器的先進SIMD功能的產(chǎn)品名稱。

需要注意的是NEON(或ASE)的支持在不同處理器上可能有不同的形式呈現(xiàn),但基本的功能都是一樣的,也就是說,它允許在整數(shù)或者浮點數(shù)據(jù)執(zhí)行SIMD運算。 所使用的向量大小、向量的數(shù)量、所支持的浮點數(shù)類型等都取決于其具體的實現(xiàn)。

有關(guān)于NEON指令的更多信息可以從這里獲得。

MPE

MPE(Media Processing Engine)是一些ARMv7A處理器當(dāng)中先進SIMD部件使用的名稱:Cortex-A5、Cortex-A7以及Cortex-A9。它通常也被稱作“NEON MPE”或者“NEON多媒體處理引擎”,它也是處理器實現(xiàn)ASE/NEON支持后的別稱。

SVE

SVE(Scalable Vector Extension)如前面所提到的,ARMv8-A架構(gòu)已經(jīng)包含了“先進SIMD”支持,用于提供SIMD向量處理能力。SVE是ARMv8-A架構(gòu)的一種擴展,它表示的是可變向量擴展。

這個擴展只在AArch64模式下支持使用,它提供了額外的寄存器來支持更大向量、額外的指令以及其它的特性。如果要包含SVE則需要處理器核心對NEON提供支持。

之前支持SIMD運算使用的是固定大小的數(shù)據(jù)項,比如ARMv7-A先進SIMD使用16個128位的數(shù)據(jù)項或者32個64位的數(shù)據(jù)項。而SVE的好處是它擁有的32個向量寄存器可以并成一個2048位的大小,而且向量的大小是可以通過軟件來控制的。這也就是為何它叫做“可變”向量擴展—向量的大小可以在運行中調(diào)整為不同大小,且這個特性并不隨處理器實現(xiàn)而改變。

之前版本的SIMD支持(比如NEON)需要將數(shù)據(jù)提前處理成處理器實現(xiàn)的向量運算所對應(yīng)的大小(這類數(shù)據(jù)通常也稱作“已調(diào)節(jié)”數(shù)據(jù))。SVE允許向量數(shù)據(jù)的大小在運算過程中被改變,無需重寫或重新編譯代碼,使得它更加容易實現(xiàn)那些處理SIMD運算的軟件開發(fā)。

SVE2是SVE更新后的版本,主要區(qū)別在于附加了更多的指令支持。這樣就使得它可以在更寬的應(yīng)用范圍加速更多的算法。

有關(guān)于SVE指令的更多信息可以從這里獲得,類似的SVE2指令的更多信息可以從這里獲得。

SME

SME(Scalable Matrix Extension)是ARMv9-A架構(gòu)提供的建立在可變向量擴展(SVE和SVE2)上增加了對矩陣處理支持。它包含了一定數(shù)量的新指令,相當(dāng)于處理器的新模式—這個模式用于執(zhí)行矩陣運算,并且這也使得它在處理矩陣運算以及常規(guī)的SVE SIMD運算時更容易使用不同的向量大小。

有關(guān)SME指令的更多信息可以從這里獲得。

MVE

MVE(M-profile Vector Extension)是ARMv8-M架構(gòu)專用的,它提供了大量對SIMD運算的支持。跟NEON作為A-系列先進SIMD擴展的產(chǎn)品名字一樣,“Helium”則是M-profile Vector Extension的產(chǎn)品名稱。

MVE可以分為2大類,MVE-I和MVE-F。MVE-I僅對整型向量提供支持,MVE-F則對浮點數(shù)據(jù)向量提供支持。要包含MVE-F那么處理器核心就需要支持MVE-I以及浮點擴展。

有關(guān)MVE指令的更多信息可以從這里獲得。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
USB2514B-AEZC 1 Microchip Technology Inc UNIVERSAL SERIAL BUS CONTROLLER

ECAD模型

下載ECAD模型
$2.5 查看
USB2514BI-AEZG-TR 1 SMSC USB Bus Controller, CMOS
$4.43 查看
MC9S12A256CPVE 1 Rochester Electronics LLC 16-BIT, FLASH, 25MHz, MICROCONTROLLER, PQFP112, LQFP-112
$32.12 查看
Arm

Arm

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,主要為國際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計算設(shè)備、多媒體數(shù)字消費品等方案的RISC標(biāo)準(zhǔn)。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,主要為國際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計算設(shè)備、多媒體數(shù)字消費品等方案的RISC標(biāo)準(zhǔn)。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄