機器學習將推動MCU下一波動快速增長
IoT推動了這幾年MCU的更新換代,而下一波MCU的助推器是終端的機器學習,包括家庭環境、聲音處理、手勢控制、智能感測&控制、多攝像頭觀察、個人資產、主動目標識別、AR(增強現實)等。
典型的案例之一是目前發展火熱的人機界面的聲音處理,會推動下一波白電等家電應用的需求。例如在2018年10月的ArmTechCon2018大會上,恩智浦展示了聲控洗衣機,可以對洗衣機說:“打開洗衣機”。洗衣機會問:“你要怎么樣洗?”可以回答:“我要標準洗”或“強力洗”。也可以告訴洗衣機洗什么樣的衣物,例如“洗被子”,或用什么方式洗,例如“熱水洗”、“冷水洗”等,洗衣機就自動設置好了。
再例如圖形的識別,恩智浦在美國的一個DEMO(演示)是交通指示標識識別,機器能夠識別紅綠燈、是路還是人,假設指示標識斜著、模糊一點,機器都可以辨認出來。
邊緣AI的芯片布局
恩智浦有全套的MCU、MPU產品線,從低端的MCU一直到高端的四核、八核高端處理器,所有這些芯片都可以用在機器學習、邊緣計算上。
客戶可以在云端進行訓練,通過軟件的推理,在終端的處理器上進行應用(如下圖)。
機器學習開發環境eIQ
恩智浦主推的AI開發環境是eIQ,是機器學習(ML)的開發環境。如下圖,底端的硬件平臺有傳統的MCU和MPU,諸如Kinetis、LPC等Cortex-M核的MCU產品,還有新的i.MX RT系列跨界處理器,高端的i.MX6、7、8等處理器,還有Layerscape處理器。
硬件平臺里,運算的部分是核和硬件加速器,有Cortex-R、M和A核,GPU、DSP中放的是DSP核,未來一兩年內,恩智浦還將開發ML(機器學習)的加速硬件,這不同于大型的云端硬件加速,而是可以跨平臺、跨處理器和微控制器的用于終端計算的ML加速器。
在芯片之上是硬件抽象層,諸如OpenCL,OpenVX,Arm自己的計算庫/ CMSIS-NN,還有恩智浦自己的API。
再往上是推理機(Inference Engine),有很多種,主推的有Google的TensorFlow、TF Lite等。實際上,恩智浦支持所有開發環境。現在還有新的NN Compiler(編譯器),例如Facebook的GLOW等。
在基于所有的機器學習軟件硬件結合之后,恩智浦推出了全套的解決方案,包括視頻、音頻及機械傳感器的解決方案(例如壓力、加速度傳感器的解決方案)。同時針對各種應用,推出了應用上的解決方案,例如ISP(圖像信號處理)、圖像加速、傳感器融合、全景環視(注:過去通常是車上用,現在家居方面也有很多應用),還有前端的聲音的控制,諸如多揚聲器。
在揚聲器方面,如果是兩個揚聲器,用比較簡單便宜的MCU就足夠了,例如LPC和Kinetis系列;如果更多揚聲器,由于數據處理量大,適合用i.MX RT跨界處理器平臺,或i.MX 7、8、8M等高端處理器。
可見根據不同的應用,恩智浦有不同的處理器配合,這是eIQ的概念。恩智浦的目標是讓外界主流的推理機都能運行在恩智浦的硬件上。
為此,恩智浦也有全套的芯片。如下圖,越往右,處理器的性能越高,推理時間越短,例如最右端的i.MX用的是GPU、DSP,未來一兩年內,恩智浦還會推出ML加速硬件,是真正的專用加速器。
新發布的RT600和LPC5500有何特點?
傳統意義上,處理器/MCU性能越好成本越高。恩智浦這幾年力圖把高性能低端化。為此,2018年10月推出了兩款與機器學習相關的產品——RT600和LPC5500。
*RT600。據悉,i.MX RT600跨界平臺是面向實時機器學習/人工智能應用的能效優化Cortex-M33/DSP MCU,采用最高300MHz的Cortex-M33和600MHz的Cadence Tensilica HiFi 4 DSP,采用28nm FD-SOI技術,提供最多4.5MB的共享片上SRAM,可在超低功耗的邊緣處理應用中提供高性能語音和音頻,為DSP提供4個32位MAC、矢量浮點功能單元、256位寬訪問數據總線,以及特殊激活函數(例如Sigmoid等傳遞函數)的DSP擴展。
因此,RT600的亮點是業界第一次把高性能DSP放到微控制器的環境里,而且這不是一個簡單的小DSP,是真正全功能的HiFi 4的DSP(如下圖)。
為何RT600中能加入強大的DSP功能?因為RT600中采用了M33。Arm在推出M33核時,做了一個特殊的地方,增加了一個多核接口,專門幫助MCU設計者和最終的用戶能夠利用協處理器來處理。
*LPC5500。是恩智浦推出的第一款40納米的內置閃存的MCU,里面沒有加高性能DSP,而是加了一個PowerQuad DSP加速器,可以做機器學習的濾波、疊加等。里面還有加密引擎。功耗非常低。
三大特點,第一是內置閃存的;第二,是第一款40nm帶內置閃存的MCU;第三,是全球第一款雙核M33產品,這樣,可以用一個M33來做普通的界面接口,用于網絡傳輸、數據傳輸等通訊;用另外一個M33來做各種各樣的算法。
確保安全的措施
IoT(物聯網)或機器學習都離不開安全。RT600和LPC5500把跨界處理器、MCU的安全性能再次提高,增加了很多新功能(如下圖)。
首先,硬件存儲方面(注:這也是最基礎的部分),恩智浦第一次推出PUF概念。具體地,安全就像家中最基本的保護——鑰匙一樣,攝像頭、防火墻等最基本的安全保障就是鑰匙。對于MCU也一樣,所有的功能,諸如加密、信息傳輸、軟件等的加密都需要鑰匙把它鎖住。相對于傳統鑰匙需要寫在芯片里,恩智浦第一次推出PUF概念。
PUF的原理是有一個RAM,當它上電之后,是有很多不確定性的,有一個算法,把這個不確定性作為其鑰匙,每一個芯片有自己獨特的不確定性,好處是當這個任務關掉以后,這個鑰匙就不存在了;當再次上電時,這個鑰匙才產生出來。
PUF是恩智浦現在主推的產生鑰匙的一種方式。有了鑰匙,才有真正的加密的根、信任根,有這個鑰匙才能打開里面所有的東西。因此,先把鑰匙管好很重要。
其次,上面有各種各樣的加密,硬件加密,AES,OTFAD,是給外面Flash加密和解密的技術。
再有,M33核方面,Arm推M33的最大的理由是可提供一個TrustZone加密環境。TrustZone的概念是在一個加密環境里執行指令。此外,M33在性能上比以前的M4提高了,可以簡單地認為M33是M4的提高版,性能提高了20%、30%。鑒于M33的諸多優勢,恩智浦今后的MCU里不會再嵌入M4核,取而代之的是M33核。
最后,最上層是Firmware(固件)的加密,保障安全啟動,有安全調試。以往調試是安全當中的一個弱項,以前都有一個“后門”,很多都是從調試的門進去,現在可以用加密調試。
小結
物聯網終端產品正具備更多的AI,為此,恩智浦推出了eIQ開發環境,并在新產品中賦予了更多機器學習和安全性,例如i.MX RT600和LPC5500都增加了DSP語音識別能力,分別面向中端和低端邊緣AI應用。