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,特別是在執行氦指令時將重新使用一些現有的v8-M硬件。沒有確切的數據發布。
除語音處理外,還可以預見振動分析和視覺應用。
如今,多個供應商的工具鏈和模型都可以使用。包括Armv8.1-M在內的硅產品有望在兩年內上市。
除了矢量處理,Helium亮點還包括:
交織和解交織加載和存儲指令(VLD2 / VST2,步長為2,VLD4 / VST4,步長為4)
向量收集載荷和向量散布存儲向量寄存器中元素的存儲器訪問,使用另一個向量寄存器中的元素定義向量中每個元素的地址偏移量。
允許軟件處理任意存儲器訪問模式,并可用于模擬特殊尋址模式,如循環尋址,這些模式通常用于信號處理。
還可以幫助加速各種數據處理任務中數組中數據元素的非順序訪問向量復數值處理支持整數(8,16和32位)和浮點數(32位),例如VCADD,VCMUL,VCMLA指令車道預測位整數支持。