使用單一超低功率 HMP 處理器,達到即時性及應用工作負載處理能力
資料提供者:DigiKey 北美編輯群
2019-08-06
消費者希望個人電子產品和其他行動裝置能夠提供更快的回應速度和更強大的功能,同時具有更長的電池續航力。然而,對於開發人員而言,許多應用都要求兼顧即時回應與高效能,因此必須使用獨立處理器來滿足這些彼此衝突的需求。而這會增加成本、功率、空間,以及硬體佈局和軟體的複雜度。
更好的做法是將所需硬體整合至一個晶片中。我們可以藉助異質多核心處理 (HMP) 元件。這些處理器包含多個不同類型的核心,可提供最佳化效能、降低功耗,以及提高系統安全性和可靠度等優點。
本文說明開發人員如何使用 NXP Semiconductors 的異質多核心處理器,既滿足對上述混合式工作負載的要求,又不會犧牲對低功率和降低設計複雜度的需求。
不斷變化的需求
感測器技術和資料處理演算法的進步,為開發人員提供了大好的機會,使其能妥善管理彼此衝突的需求,既能即時進行數據採集,又能執行運算密集的演算法。在以往,開發人員通常會將這些工作負載劃分至獨立的系統。
在最底層的網路層級中,嵌入式處理器 (如以 Arm® Cortex®-M4 核心為基礎的處理器) 會在即時作業系統 (RTOS) 或裸機系統上執行最佳化程式碼,以收集資料。而在高層的網路層級中,高效能應用處理器 (以 Arm Cortex-A7 核心為基礎的處理器) 會在 Linux 或 Android 等熟悉的作業系統上執行應用程式碼,以執行資料分析演算法。
隨著邊緣運算系統的興起,應用程式碼的執行更趨近於資料源。事實上,由於更複雜的分析演算法需要更快速的回應,致使終端裝置本身需處理應用需求。消費者日益希望將包含人工智慧方法的先進分析功能,內建至物聯網 (IoT) 感測器、穿戴式裝置及其他低功率產品等裝置中。
異質多核心處理的角色
新興的 HMP 元件整合了嵌入式與應用處理器核心,可協助開發人員在眾多應用中更有效率地處理混合式工作負載。HMP 處理器整合各種不同的核心,且每個核心皆經過最佳化,可滿足與目標產品工作負載相關的各種不同需求。NXP i.MX 7ULP (超低功率) 處理器系列可讓開發人員運用 HMP 架構的優異效能,滿足消費者對於新一代 ULP 產品應兼顧高效能與持久電池續航力的嚴苛需求。
i.MX 7ULP 處理器具有消費 (MCIMX7U5DVP07SC) 與工業 (MCIMX7U5CVP06SC) 兩種型號,並將其異質核心與圖形處理單元、安全加速器、記憶體控制器,以及全套的周邊裝置介面整合在一起 (圖 1)。
圖 1:NXP i.MX 7ULP 應用處理器系列提供豐富的模組與周邊裝置,並整合了兩個核心:用於即時處理的 Arm Cortex-M4 核心,以及用於應用處理的 Arm Cortex-A7 核心。該系列採用獨立的電源域,實現功率與效能的最佳化。(圖片來源:NXP)
NXP i.MX 7ULP 系列專為功率受限的可攜式設計而打造,整合了 Arm Cortex-A7 核心與 Cortex-M4 核心,且每個核心皆由獨立的電源域來供電,可處理各種新興需求。此外,該系列還採用了不同的電源島,可在不用時選擇性地切斷不同模組的電源。如下所述,i.MX 7ULP 元件整合了先進的電源管理功能,能讓開發人員運用這些電源域和電源島來調整效能和功耗,以適應其應用。
功率最佳化
在設計 i.MX 7ULP 系列時,NXP 從晶片設計層級開始便將功率與效能最佳化功能內建於元件中,並貫穿整個架構。
在最基礎的層級,i.MX 7ULP 系列整合可減少漏電流的製造方法,以及可降低寄生效應的電晶體幾何結構,因此可降低動態功耗。i.MX 7ULP 元件有別於傳統電晶體結構 (圖 2 上),其採用可減少源極至汲極電子流動的超薄埋入式氧化物製造而成 (圖 2 中),因此可減少漏電流;進一步增強後,設計人員可增加正向體偏壓 (FBB) 或反向體偏壓 (RBB) (圖 2 下)。
圖 2:在電子從源極流至汲極時,傳統電晶體可能會出現相當大的漏電 (上圖),但 NXP i.MX 7ULP 系列係採用可阻斷電子流動的超薄埋入式氧化物製造而成 (中圖),且其結構可透過正向體偏壓 (FBB) 或反向體偏壓 (RBB) 進一步加速或減慢電子流動 (下圖)。(圖片來源:NXP)
當能效是第一要務時,開發人員可使用 RBB 來減少電子流動,並進一步減少漏電流和元件整體功耗,但代價是犧牲效能。相反地,開發人員可使用 FBB 來增強電子流動以提升效能,但由於會產生較高的漏電流,因此代價是增加功耗。
在晶片設計層級,i.MX 7ULP 系列整合多種技術,包括動態頻率調整 (DFS)、動態電壓調整 (DVS)、以軟體為基礎的時脈閘控以及以軟體為基礎的電源閘控。除了降低不同周邊裝置的功耗外,開發人員也可使用這些功能來選擇性地關閉內部記憶體區塊,或將記憶體置於不同的省電模式。
在架構層級,由於採用多個電源域 (包括先前所述用於 Cortex-A7 和 Cortex-M4 子系統的獨立電源域),因此進一步延伸了調整功率和效能的能力。
每個處理器核心電源域皆包含 FBB 與 RBB 驅動器、專用低壓降 (LDO) 穩壓器,以及高階偵測器 (HVD) 和低階偵測器 (LVD) 監測裝置,可在供應電源高於或低於指定閥值時發出警示。獨立的開機重置 (PoR) 監測器可追蹤常開式電源域中的電壓位準。
個別電源域亦可搭配獨立核心電源域來控制常開式硬體等系統功能,而電池供電電源域可管理重要功能的電源,包括即時時脈和安全非揮發性儲存模組等等。與核心電源域一樣,上述每個專用電源域亦支援一組廣泛的專用節能功能 (由於為數眾多,本文將不個別探討)。
舉例來說,常開式功能的電源域包含一個「低漏電喚醒單元」(LLWU) 模組,可讓開發人員將多個外部引腳或內部模組,用作下述特殊低漏電功率模式的喚醒來源。
這些架構功能與元件的整合式電源管理控制器 (PMC) 彼此結合,可處理上述的獨立電源域及元件的電源島 (圖 3)。
圖 3:NXP i.MX 7ULP 系列整合先進的控制功能,可讓開發人員透過編程方式設定電源域和電源島,以調整功率及效能,滿足不斷變化的應用需求。(圖片來源:NXP)
此做法可讓開發人員透過常規智慧周邊裝置子系統 (IPS) 匯流排,將命令傳送至由以下三個緊密耦合模組構成的控制組合體中,以啟動功率模式轉換:
- 核心模式控制器 (CMC),支援多核心功能
- 多核心系統模式控制器 (MSMC),包括適用於 Cortex-M4 電源域的系統模式控制器 0 (SMC0),以及適用於 Cortex-A7 電源域的 SMC1 構成,可處理不同功率模式間的定序、監控用於啟動功率模式轉換的事件,並針對與功率最佳化相關的電源、時脈和記憶體功能執行一般控制
- 重置模式控制器 (RMC),可處理晶片重置功能
調整功率和效能
對於其所有的電源管理功能,i.MX 7ULP 系列都為開發人員提供了熟悉的編程模式。與其他進階處理器一樣,i.MX 7ULP 元件可透過一系列的可編程低功率模式,實現各種低功率操作狀態。實際上,i.MX 7ULP 處理器核心支援多種軟體控制的低功率模式,可讓開發人員將功耗降低至與所需功能一致的最低可能等級。
開發人員可運用這些不同的低功率模式,將一個或兩個核心及其子系統設定為標準執行模式、等待模式和停止模式的不同變化形式。
標準執行模式和高速執行 (HSRUN) 模式提供高效能操作,支援應用的計算密集型部分。在 HSRUN 模式下,核心子系統會以最高頻率運作。若應用可承受較低效能,則開發人員可將核心設定為超低功率執行 (VLPR) 模式,以最高 48 MHz 運作並相應降低功耗。
在標準等待模式下,周邊裝置會全速運作,但核心會由時脈閘控並處於靜態待命,在收到等待中斷 (WFI) 訊號後即會喚醒。此模式可讓開發人員使用自主式周邊裝置操作來填補緩衝,或是使用直接記憶體存取 (DMA) 交易來填補系統記憶體,然後再發出中斷讓核心結束等待狀態。超低功率等待 (VLPW) 模式則允許周邊裝置以更低頻率繼續運作,但會對核心時脈進行閘控。
在穿戴式裝置或可攜式裝置等應用中,系統可能會遇到長時間無活動的狀況,並由於突發活動而進行週期性中斷。在這些情況下,省電能力對於延長電池續航力而言非常重要。若應用可承受較慢的核心喚醒時間,並能將裝置置於比執行、等待或者超低功率執行更深的睡眠狀態,則可提供特別有效的選擇。為了支援此做法,開發人員可將每個 i.MX 7ULP 核心子系統置於更深層的睡眠狀態,各種狀態的喚醒時間不一樣:
- 在停止狀態下,部分周邊裝置會以非同步方式運作,但核心仍會維持靜態,而 Cortex-A7 和 Cortex-M4 所需的喚醒時間皆為 7 μs
- 在超低功率停止 (VLPS) 模式下,周邊裝置操作會進一步受限,但核心仍會維持靜態,Cortex-A7 的喚醒時間為 21.5 μs、Cortex-M4 為 9 μs。
對於功率需求更為嚴苛的應用,開發人員可將每個核心設定為下述特殊低漏電模式,以關閉更多的裝置子系統:
- 低漏電停止 (LLS) 模式可針對核心、匯流排和周邊裝置進行時脈閘控,讓核心維持 WFI 狀態,Cortex-A7 所需的喚醒時間為 40 μs、Cortex-M4 為 58 μs
- 超低漏電停止 (VLLS) 模式可針對核心的整個電源域進行時脈閘控,因此需要更長的喚醒時間,Cortex-A7 為 60 μs、Cortex-M4 則為 375 μs
若想達到更優異的省電效能,開發人員可在某些功率模式下使用 RBB (如 VLPS 和 LLS),效能會相對減低,而喚醒時間會增加約 2 至 4 μs。
相反地,當需要處理密集運算型工作負載時,開發人員可在特殊的高速執行 (HSRUN) 模式下執行核心。HSRUN 模式會將 Cortex-A7 核心從標準 500 MHz 工作頻率轉換為過度驅動模式下的 720 MHz。
開發人員可透過這種精細的控制來設定 i.MX 7ULP,以滿足極端的功率需求,而無須犧牲關鍵功能。譬如,應用可能需要達到最低的功耗,但又需要 Cortex-M4 核心提供即時功能,並使用特定的 Cortex-A7 子系統周邊裝置或記憶體。此時,開發人員可將 Cortex-A7 子系統置於停止或 VLPS 狀態,並透過 Cortex-M4 核心來執行即時操作,存取 Cortex-A7 的記憶體或周邊裝置。若想進一步節省電力,開發人員可使用 Cortex-M4 時脈來驅動 Cortex-A7 的周邊裝置。
簡單的系統實作
若想使用 i.MX 7ULP 實作低功率系統,開發人員可根據功率和效能需求,選擇可用的軟體可編程功率模式和配置。在硬體方面,系統設計則更為簡單。
對於典型應用,開發人員可簡單地整合 i.MX 7ULP 處理器與隨附的 NXP MC32PF1550A3EPR2 電源管理 IC (PMIC) 來完成設計,以處理混合型工作負載且無須受制於有限的功率預算 (圖 4)。
圖 4:NXP MC32PF1550A3EPR2 電源管理 IC 提供 NXP i.MX 7ULP 處理器所需的全套供應電源,將硬體設計簡化為上述兩種元件和多個被動元件。(圖片來源:NXP)
MC32PF1550A3EPR2 專為支援 NXP 處理器 (如 i.MX 7ULP 系列) 的供電需求所設計,整合了三個切換式降壓穩壓器 (SW1、SW2、SW3)、三個 LDO 穩壓器 (LDO1、LDO2、LDO3)、一個記憶體參考電壓來源、一個完整的單節鋰離子電池充電器,以及用於元件配置的單次可編程 (OTP) 記憶體。
NXP 透過其 MCIMX7ULP-EVK 評估套件,展現整合 MC32PF1550A3EPR2 PMIC 與 i.MX 7ULP 元件所需的簡單硬體介面。除了內含 i.MX 7ULP 處理器和 MC32PF1550A3EPR2 PMIC 的系統模組 (SOM) 電路板外,此套件還含有一個具有多個感測器、無線功能、一個音訊編解碼器、一個 SD 連接器,以及多個其他連接器 (如 JTAG 和 Arduino) 的基板 (圖 5)。
圖 5:MCIMX7ULP-EVK 評估套件整合內含 i.MX 7ULP 處理器和 MC32PF1550A3EPR2 PMIC 的系統模組電路板,以及內含使用 i.MX 7ULP 元件加速軟體開發所需的感測器、連接器及其他元件的基板。(圖片來源:NXP)
該評估套件提供了開箱即用的功能,同時 NXP 還為開發人員提供了可下載的設計檔案、工具和電路板支援套件,讓開發人員可以開發自訂軟體,使用 FreeRTOS 編寫即時程式碼以及使用 Linux 或 Android 編寫應用程式碼。
結論
消費者希望行動產品提供更先進功能與更長電池續航力,迫使開發人員在過去不得不在功率和效能間做出某種程度的取捨。此外,對於 IoT 裝置、穿戴式裝置和其他可攜式產品,消費者日益希望能及時從更多感測器獲取資料,也迫使開發人員必須進一步在即時功能與應用級效能間做出取捨。
不過,如本文所述,開發人員可以轉向使用 HMP 架構 (例如,NXP 的 i.MX 7ULP 處理器系列所用的架構),如此既能滿足嚴苛的超低功率需求,又無須犧牲功能。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。