天天看點

Arm為Cortex-M添加了神經網絡指令

Arm已經在其Cortex-M架構中添加了神經網絡處理指令,針對物聯網網絡外部邊緣的産品,例如可以識别少量語音而無需連接配接到雲的裝置,例如人聲喚醒指令。

“M-Profile Vector Extensions”(MVE)已經在“Helium”品牌下宣布,與該公司的高端Cortex-A核心的Neon SIMD(單指令多資料)擴充非常類似。氦擴充還将處理數字信号處理,提供比現有DSP指令更高的性能,這些指令是為了将Cortex-M3轉換為Cortex-M4而建立的。

Arm将Helium描述為“針對M-profile架構量身定制的Neon技術的優化SIMD功能,以及針對新興用例的新程式設計功能和資料類型”。

與标準的32位Armv8-M指令一起使用固定長度的128位向量(具有聚集負載和散布存儲,低開銷循環和預測)和增加的算術支援(固定和浮點,包括半精度和單精度浮點數和8位整數和複雜數學,由150條指令共同覆寫,包括8位向量點積。

同時,支援新指令的硬體包括通過“TrustZone for Armv8-M”擴充和PSA原則的安全功能。

總體而言,從現有的Armv8.1-M指令集架構(ISA)可以看出,與現有的Armv8-M架構(基于int32中的複雜FFT估算)相比,預計性能提升高達5倍,高達15倍機器學習(基于int8中的矩陣乘法)。

Armv8.1-M核心實施選項包括:

省略了氦,帶有可選的标量浮點(帶或不帶雙精度支撐)

氦隻支援向量整數,帶有可選的标量浮點(帶或不帶雙精度支援)

具有向量整數加浮點的氦(支援矢量單精度和半精度),帶标量浮點(帶或不帶雙精度支援)

Arm為Cortex-M添加了神經網絡指令

那麼指令集指令是否會導緻矽足迹大幅增加?

不,根據Arm,特别是在執行氦指令時将重新使用一些現有的v8-M硬體。沒有确切的資料釋出。

除語音處理外,還可以預見振動分析和視覺應用。

如今,多個供應商的工具鍊和模型都可以使用。包括Armv8.1-M在内的矽産品有望在兩年内上市。

除了矢量處理,Helium亮點還包括:

交織和解交織加載和存儲指令(VLD2 / VST2,步長為2,VLD4 / VST4,步長為4)

向量收集載荷和向量散布存儲向量寄存器中元素的存儲器通路,使用另一個向量寄存器中的元素定義向量中每個元素的位址偏移量。

允許軟體處理任意存儲器通路模式,并可用于模拟特殊尋址模式,如循環尋址,這些模式通常用于信号處理。

還可以幫助加速各種資料處理任務中數組中資料元素的非順序通路向量複數值處理支援整數(8,16和32位)和浮點數(32位),例如VCADD,VCMUL,VCMLA指令車道預測位整數支援。

繼續閱讀