ST的H7 MCU設計考量:用雙核實(shí)現高性能與實(shí)時(shí)組合
不久前,意法半導體(ST)發(fā)布了高性能的微控制器(MCU)STM32H7。其突出特點(diǎn)之一是采用Arm Cortex-M系列中性能最高的480MHz Cortex-M7內核,并增加一顆240MHz Cortex-M4內核,實(shí)現了3224 CoreMark,可謂業(yè)界性能最高的Arm Cortex-M通用MCU。
本文引用地址:http://dyxdggzs.com/article/201907/402697.htmST微控制器事業(yè)部STM32高性能產(chǎn)品線(xiàn)高級市場(chǎng)經(jīng)理Renaud BOUZEREAU專(zhuān)程來(lái)京,與ST中國區微控制器事業(yè)部市場(chǎng)及應用總監曹錦東先生,向媒體介紹了這款MCU的產(chǎn)品定義和設計考量。例如為何采用雙核架構,為何沒(méi)有采用友商的無(wú)閃存模式,新增的安全功能,如何保證高性能產(chǎn)品的投入產(chǎn)出平衡等。
圖 ST的H7系列2019年產(chǎn)品規劃(注:雙核產(chǎn)品如期發(fā)布)
1 為何通過(guò)雙核實(shí)現超高性能
無(wú)獨有偶,MCU的另一大玩家N公司早在兩年前也推出了基于M7單核的MCU,名為“跨界處理器”,特點(diǎn)是無(wú)內置閃存,主頻可達1 GHz、600MHz等,CoreMark 3000左右,實(shí)現了MCU的架構、MPU的應用。那么,ST為何不把H7的單核主頻提高,而是采用了較為復雜的雙核策略?另外,雙核是否意味著(zhù)客戶(hù)的軟件編程難度提高了?
圖 H7的雙核CoreMark超過(guò)3200分
Renaud BOUZEREAU解釋道,在內核跑分上,需要從兩方面看。第一,主頻的提高會(huì )是影響Coremark跑分的一個(gè)非常重要的因素。但是,整個(gè)工程的執行效率并不能僅僅看主頻,還要看芯片內部的總線(xiàn)架構、訪(fǎng)問(wèn)Flash的位數,以及其余外設資源和硬件加速器等。而內置Flash執行代碼的效率對比與外置QSPI Flash這種模式會(huì )高很多,也避免了很多總線(xiàn)沖突和內存配置的問(wèn)題。從嵌入式設計角度而言,外面增加元器件也會(huì )影響系統的穩定性。
第二,在設計產(chǎn)品的時(shí)候,ST一直在考慮性能和穩定性的平衡。越高的主頻,意味著(zhù)產(chǎn)品會(huì )相對脆弱。ST研究過(guò)很多競爭對手的芯片,發(fā)現在高溫測試的時(shí)候,往往要降低主頻才能保證系統的穩定性。所以ST在討論和研究后,認為480MHz的主頻會(huì )是一個(gè)很好的平衡點(diǎn)。
為了解決雙核編程的挑戰,ST從兩方面入手。第一,從硬件角度而言,在STM32H7雙核產(chǎn)品里,內置了硬件信號量的機制,硬件信號量可以將兩個(gè)核的運行狀態(tài)進(jìn)行同步,例如有些外設通過(guò)M4處理的時(shí)候,通過(guò)硬件信號量通知M7內核該外設暫時(shí)不能被訪(fǎng)問(wèn)的。
其次,從軟件角度,ST現在的CubeMX及IDE(集成設計環(huán)境)都已經(jīng)支持雙核的開(kāi)發(fā)。在雙核開(kāi)發(fā)時(shí),兩個(gè)工程都會(huì )擺在同一個(gè)界面上做調試,這樣對于開(kāi)發(fā)者會(huì )比較簡(jiǎn)單,包括第三方操作系統,例如FreeRTOS,現在支持雙核的設計,兩個(gè)核之間的通訊會(huì )通過(guò)內部有一個(gè)Mailbox的機制在進(jìn)行通訊,將兩個(gè)核的信息進(jìn)行同步。
除此之外,雙核還有獨特的“1+1>2”的優(yōu)勢。首先,通過(guò)靈活使用兩個(gè)內核,開(kāi)發(fā)人員可以輕松升級現有應用,增加更先進(jìn)復雜的圖形用戶(hù)界面。以電機控制為例,將以前在單核Cortex-M4 MCU上的舊代碼遷移到STM32H7 Cortex-M4上,同時(shí)在Cortex-M7上運行新GUI(圖形用戶(hù)界面)。另一個(gè)例子是通過(guò)降低主處理器的密集型工作負荷,例如,神經(jīng)網(wǎng)絡(luò )、校驗和、DSP過(guò)濾或音頻編解碼,提高應用性能。
其次,雙核架構還有助于簡(jiǎn)化代碼開(kāi)發(fā),并縮短項目開(kāi)發(fā)周期,將用戶(hù)界面代碼與實(shí)時(shí)控制或通信功能的開(kāi)發(fā)分開(kāi)進(jìn)行(如下圖)。
圖 H7雙核應用案例之一,神經(jīng)網(wǎng)絡(luò )、圖形顯示等在M7上運行,實(shí)時(shí)控制、通信功能在M4上運行
2 內置閃存、SRAM的考慮
友商N公司的高性能MCU/跨界處理器的主要特色之一是無(wú)閃存。但ST依然提供了豐富的閃存。ST稱(chēng),與無(wú)閃存處理器相比,H7 MCU在片上額外提供高達2MB閃存和1MB SRAM,更好地解決了存儲空間限制問(wèn)題,并簡(jiǎn)化了具有實(shí)時(shí)性能或AI處理要求的工業(yè)、消費和醫療智能產(chǎn)品設計。
那么,ST為何不做這種無(wú)閃存的產(chǎn)品呢?Renaud BOUZEREAU稱(chēng),據ST調查,現在市場(chǎng)上超過(guò)80%~90%的客戶(hù)希望的架構是MCU內置flash、內置RAM的,并擁有更多先進(jìn)的外設,首先,這樣的架構可以縮小他們的PCB(印制板)面積和設計成本。其次,內置閃存非常安全,可防止外部盜取或篡改數據。
3 生產(chǎn)流程的安全保障
H7的另一新特色是保證生產(chǎn)流程的安全。據悉,H7 MCU配備預安裝密鑰和原生安全服務(wù),包括安全固件安裝(SFI)。SFI允許客戶(hù)在世界任何地方訂購標準產(chǎn)品,并將加密固件交付給外部編程公司,避免未加密的代碼泄密。此外,內置安全啟動(dòng)和安全固件更新(SB-SFU)支持功能,保護空中下載(OTA)升級和補丁的安全。
那么,為何要增加安全固件安裝(SFI)?這與其他的MCU安全芯片有什么區別嗎?
實(shí)際上,安全需要跟具體的應用環(huán)境相關(guān),換句話(huà),安全是一種服務(wù)。在生產(chǎn)流程安全方面,服務(wù)表現在假如我是一家設計公司,我把我的芯片通過(guò)其他加工廠(chǎng)去做燒錄。是我怎么確保我的代工廠(chǎng)按照我的要求把我的程序進(jìn)行燒入芯片,這里是有不同的加密的軟件,通過(guò)智能卡/硬件安全模組(HSM)給了用戶(hù),給了加工廠(chǎng),這是個(gè)公鑰,這個(gè)程序是加過(guò)密的,這個(gè)程序是需要用公鑰去解密的,如果沒(méi)有這個(gè)智能卡解密的加密程序,即使外人拿到也不能進(jìn)行燒錄和破解。第二個(gè)特點(diǎn)是每使用的時(shí)候會(huì )確認這個(gè)代碼是不是一開(kāi)始開(kāi)發(fā)的代碼,如果代碼有木馬程序,就不會(huì )啟動(dòng)。
4 H7如何保證投資產(chǎn)出的平衡
STM32的產(chǎn)品線(xiàn)越來(lái)越豐富細化,例如H7兩年前是單核,現在又出了雙核產(chǎn)品。出爐這么多細分高端產(chǎn)品,會(huì )不會(huì )帶來(lái)制造成本的壓力?
Renaud BOUZEREAU解釋道,從芯片的制造而言,因為是基于同樣的平臺,例如現在的H7是屬于40nm平臺,在40nm平臺上,這是一次性投資的技術(shù),投入之后,ST在這個(gè)平臺上面去開(kāi)發(fā)更多的產(chǎn)品來(lái)滿(mǎn)足用戶(hù)的需求,這相對于一次性技術(shù)投入,成本較小。
從另外角度來(lái)看,之所以會(huì )生產(chǎn)很多細分的產(chǎn)品,主要是為了應對現在越來(lái)越細分化的市場(chǎng)需要。ST現在有上千個(gè)型號,每個(gè)型號的資源配置都是根據很多細分應用來(lái)決定的。從性?xún)r(jià)比上來(lái)講,如果你只需要實(shí)現一個(gè)簡(jiǎn)單的功能,而我們提供一個(gè)非常強大的MCU,價(jià)格肯定會(huì )比你預期的貴不少。所以ST會(huì )創(chuàng )造出不同的產(chǎn)品,來(lái)滿(mǎn)足各個(gè)細分市場(chǎng)的需求。
曹錦東先生補充道,高性能并不代表批量的減少,ST追求的是技術(shù)的迭代,因為當12年前(2007年)ST發(fā)布STM32F1時(shí),工藝是180nm,那個(gè)時(shí)候投資回報率(ROI)這個(gè)問(wèn)題同樣是有——因為那時(shí)主要市場(chǎng)還是8位、16位MCU,但五年、十年后,32位MCU變成了巨大的市場(chǎng)。因此,技術(shù)會(huì )推動(dòng)或者可以激發(fā)更多創(chuàng )新的應用,幫助客戶(hù)把過(guò)去不敢想象的應用,基于新的技術(shù)、新的產(chǎn)品去實(shí)現。
圖 STM32家族一覽表
評論