每個嵌入式系統都是不同的。因此,隨著多核設計變得越來越普遍,幾乎成為主流,不同的硬件和軟件架構也在不斷發展。
從軟件的角度來看,大致有兩種選擇:對稱多處理(SMP)和非對稱多處理(AMP)。
SMP系統只能在同構多核平臺上實現(即所有內核都相同)。操作系統的單個實例跨所有內核運行。此操作系統必須是支持 SMP 操作的特定變體。SMP由Linux和許多實時操作系統產品支持。任務自動分布在各個內核之間。但是,如果特定應用程序需要,則可能有一個選項可以將任務鎖定到特定內核。SMP 的目標是以節能的方式提高可用的處理性能,這在臺式機和筆記本電腦上非常常見。
對于嵌入式應用,AMP提供了更大的靈活性,因此更為常見。在 AMP 系統中,每個內核都運行自己的操作系統(或者可能根本不運行操作系統 - “裸機”)。不要求操作系統相同。每個操作系統都可以根據內核的預期功能進行選擇,并且不需要是特殊的“支持多核”的版本。與 SMP 不同,AMP 不要求所有內核都相同;它可以在異構多核平臺上實現。大多數多核片上系統器件都包含各種內核架構。不同的內核體系結構可能適用于應用程序的不同部分。
在 AMP 設計中需要解決兩個問題:生命周期管理(啟動順序等)和內核間通信。這些問題不會出現在 SMP 系統中,因為操作系統可以控制哪些任務在何時何地運行,并且任務間通信使用標準操作系統 API——任務不需要“知道”它們在多核上下文中運行。在 AMP 系統中,每個操作系統都不知道其他操作系統的存在,因此必須進行特定設置。
配置 AMP 系統的最佳方法是使用某種多核框架來滿足控制和通信要求。OpenAMP是定義此類框架架構的標準;OpenAMP的實現可從許多供應商處獲得。
框架的實例在每個內核上運行。生命周期管理通過使用Remoteproc 提供,其中一個內核被指定為“主節點”。核心間通信使用 RPMsg 進行管理,RPMsg在內核之間提供基于通道的雙向通信鏈路。
使用多核框架的替代方法是部署虛擬機監控程序。這是一個強大的選項,但受到所有CPU都相同的要求的限制,因此,它只能在同構多核平臺上使用。但是,在復雜的多核系統中,可能存在一組相同的內核,可以使用 SMP 操作系統或虛擬機監控程序進行管理,并使用多核框架鏈接到系統的其余部分。
審核編輯:郭婷
-
放大器
+關注
關注
143文章
13692瀏覽量
214522 -
操作系統
+關注
關注
37文章
6917瀏覽量
123958
發布評論請先 登錄
相關推薦
電壓放大器的設計過程及原理是什么

數字放大器與模擬放大器對比
運算放大器和普通放大器的區別
高頻功率放大器與低頻放大器區別
同相放大器和鎖相放大器的區別
差分放大器可以放大什么信號
同相放大器輸入和輸出的關系
關于ths4304放大器的若干問題求解
運算放大器和儀表放大器的區別
反相放大器與非反相放大器的區別
安泰高壓放大器使用技巧說明

評論