雙核MCU
優化工作量/資料輸送量 雙核心MCU提高電源效率
功耗/低延遲需求上揚 單核心設計漸難負荷
原則上,單個高速CPU核心可以透過時間切片運行多個獨立執行緒,以處理低延遲即時控制任務以及聯網和系統管理任務。不過,對於採用特定製程技術已達到如此高效能的核心晶片而言,其在功耗和複雜性方面的表現可能不甚理想。
對於運行在單個核心上的任何即時應用而言,還存在一個問題,即如何使執行緒和中斷處理常式輕鬆地按時完成任務。對於任何資源分享的實現,需要關注的一點是,不相關流程或中斷處理常式的運行會阻塞特定執行緒的運行時間。為了確保執行緒在各種沒有任何依賴關係的條件下按時完成任務,用於計算所需餘量值的保守演算法將要求留出相當大的一部分未分配的處理週期。
此外,還須要考慮頻繁進行任務切換的開銷及其對處理輸送量的影響。當單個核心處理大量中斷事件時,中斷處理及相關任務切換的開銷可能很大。一種選擇是透過更高的時脈速度構建更多的效能餘量。實際上,將應用分散到多個處理器核心可能更有意義。對於不主要依賴於單執行緒輸送量的任何多工應用,使用並行方式通常會提高能源效率、增加確定性並簡化開發過程。
有效進行多工作負載 雙核心設計備受青睞
雙核方案可以更有效地共用多工系統的工作負載。採用雙核方案時,還可以使用更低的核心時脈頻率,進而提高快閃記憶體的匹配度;此外,還有助於減少或消除處理器必須等待指令或資料從取指請求返回時的停頓週期(等候狀態)數(表1)。
在某些應用中,處理相關資料饋送任務的密切關聯特性仍然支援單一流水線。但是,在高效能嵌入式應用中執行不同的功能時,使用多個核心更有意義,因為各種功能的關聯程度相對鬆散。
例如,在採用韌體實現閉環控制的電源中,效能主要取決於將類比採樣轉換為數位所需的時間,隨後根據該時間資料計算新的工作週期,接著更新PWM。使用多核控制器時,透過在沒有其他優先順序任務執行的核心上運行延時關鍵型功能,可以確保該功能不受其他系統活動的阻礙。
與時間關鍵型控制回路計算並行工作時,另一個CPU核心可以執行其他任務,如PMBus通訊和系統監視功能。類似地,在馬達控制應用中,將控制回路處理和CAN介面協定棧拆分給不同的核心,確保馬達換相精確且具有確定性。
在專案開發時間方面,拆分處理還有其他優勢。但是,要利用這一優勢,兩個核心需要保持同質性,這一點很重要。一種傳統的多工處理方式是根據處理器類型劃分工作負載。針對乘法累加選項優化的流水線上將專門運行訊號處理程式,但幾乎沒有能力有效地運行控制程式碼,而通用處理器則負責處理分支密集型程式。
實際上,在許多即時應用中,這種架構很難處理。訊號處理操作通常取決於可能快速變化的外部條件。在不同核心間同步狀態所需的處理器間通訊實現起來可能很複雜,因為與用於將命令和狀態更新轉發到網路介面的消息相比,這種方案對時間同步的要求更為嚴格。
統一數位訊號控制器架構展妙用
統一的數位訊號控制器架構(如Microchip的dsPIC33)將兩種類型的執行特性融合到單一架構中,進而解決了上述同步問題。此類流水線不但能高速地進行乘法累加和矩陣運算,還具有快速分支能力和高中斷回應效能,因此參數和演算法可以動態地適應不斷變化的條件。
這最終簡化了複雜訊號處理演算法的軟體方案。然而,設計階段上的壓力則意味著,無論客戶選擇哪種架構,都會面臨程式碼整合的挑戰。在許多應用中,通訊和控制功能常常分別分配給不同領域專家的開發團隊。
整合來自兩個或更多團隊的程式碼時,將面臨著一個關鍵問題,即確定調度和任務優先順序如何在各團隊之間運作。看似微不足道的決策(例如各個任務的優先順序)也可能對應用的整體即時行為產生重大影響。決策不佳意味著重要任務將長時間得不到處理器的處理,而無法表現良好效能。透過將任務集分布在兩個處理器上,由最瞭解相關應用程式部分所使用執行緒的相對優先順序的工程師負責設置這些優先順序。
透過拆分處理,可更輕鬆地管理和分配資料記憶體,並確保在專案期間創建和調試的Makefile和連結描述檔設置在最終套裝軟體中仍然生效。這有助於減少軟體整合團隊的工作量,並縮短產品上市時間。
儘管已透過拆分處理優化了開發工作量和處理輸送量,MCU供應商(如Microchip)仍在不斷努力改進架構,致力於幫助用戶提高效能。以雙核dsPIC33CH為例,不僅提高中斷回應能力,且核心中還實現了額外的指令,以進一步提高DSP效能。
作為數位訊號控制器(DSC),dsPIC33CH包含許多先進周邊,可降低系統成本並縮小電路板尺寸。這些周邊包括高速ADC、具有波形生成功能的DAC、類比比較器、類比可程式設計增益放大器和高解析度PWM發生器(解析度達250 ps)。
更智慧的周邊和周邊觸發訊號發生器等先進功能有助於減少電源或馬達控制應用中核心中斷的次數。例如,UART為LIN/J2602、IrDA、DMX和智慧卡協定擴展提供硬體支援,以降低軟體開銷。同樣,CAN-FD周邊支援位元流處理器和可程式設計自動重發功能,能夠獨立於CPU核心更加自主地運行。
Microchip的dsPIC33CH設計專為當今工程團隊的開發需求而優化,非常適合各種高效能和時間關鍵型實際嵌入式控制應用。此架構能夠充分滿足客戶的獨立設計、無縫整合需求。結果是,這種架構不但能夠提高效能,還有助於縮短產品上市時間、減小系統尺寸並降低成本(圖1)。
圖1 統一的數位訊號控制器架構有助於縮短產品上市時間、減小系統尺寸並降低成本。
(本文作者任職於Microchip)
實現智慧應用 高效/雙核處理器扮要角
智慧家庭、智慧工業等創新應用崛起,逐漸增加的資料運算和儲存需求也為微控制器(MCU)帶來新的挑戰,因應此一趨勢,意法半導體(ST)近期推出全新雙核MCU「STM32H7」,其特色除了搭載Cortex-M7/M4核心外,內嵌式的快閃記憶體設計有別於市面上MCU加掛快閃記憶體的方式,擁有更大的儲存空間,得以實現更多創新應用。
意法半導體微控制器部門產品行銷經理Renaud Bouzereau表示,雙核心架構MCU的優點包括:增加系統效能,減少運算時間與平均耗電、縮短開發時程,簡化並縮短電路板設計與評估、增加系統效率,以及降低系統成本等。
據悉,新產品採用Arm Cortex-M系列中性能最高的480MHz Cortex-M7內核,另增加一顆240MHz Cortex-M4內核。開發人員可以輕鬆升級來彈性地使用這兩個核心。以馬達控制為例,可將以往在Cortex-M4單核心MCU上的原始程式碼移轉到STM32H7中的Cortex-M4上,並由Cortex-M7來執行更先進且複雜的圖形化使用者介面。另一個例子是可減低主處理器的密集型工作負荷,例如,神經網路、校驗和、DSP濾波器或音訊編解碼,提升執行效能。
此外,值得一提的是,相較無ROM處理器的MCU,該產品還在晶片上額外提供高達2MB快閃記憶體和1MB SRAM,有效解決了存儲空間的限制。Bouzereau指出,現今創新應用越來越多,為滿足市場需求,MCU不僅需要更高的性能因應更多的工作負載外,記憶體空間也須跟著擴大,因為日後的軟體、演算法將持續增加,且重要性也持續提升。而內嵌式的記憶體設計,有別於MCU加掛快閃記憶體的設計,可減少30%的效能損失,不僅確保MCU處理性能及可靠性,同時更多的儲存空間也有助於客戶實現更多的創新設計,減少加掛記憶體時間,降低開發時間與複雜度。
另一方面,為確保安全防護,該產品也配備預先安裝的金鑰和原生安全服務,包括安全韌體安裝(Secure Firmware Install, SFI)。SFI可讓使用者在任何地方訂購標準產品,同時將加密韌體提供給外部程式設計公司,避免未加密的程式碼外流。此外,該款MCU還內建安全啟動和安全韌體更新(Secure Boot and Secure Firmware Update, SB-SFU)功能,保護空中下載(Over the Air, OTA)升級和補丁時的安全。