每個嵌入式系統(tǒng)都是不同的。因此,隨著多核設(shè)計變得越來越普遍,幾乎到了成為主流的程度,不同的硬件和軟件架構(gòu)也在不斷發(fā)展。
從軟件的角度來看,大致有兩種選擇:對稱多處理 (SMP) 和非對稱多處理 (AMP)。
SMP 系統(tǒng)只能在同構(gòu)多核平臺上實現(xiàn)(即,所有內(nèi)核都是相同的)。操作系統(tǒng)的單個實例跨所有內(nèi)核運(yùn)行。此操作系統(tǒng)需要是支持 SMP 操作的特定變體。Linux 和許多實時操作系統(tǒng)產(chǎn)品都支持 SMP。任務(wù)自動分布在核心之間。但是,如果特定應(yīng)用程序需要,可以選擇將任務(wù)鎖定到特定內(nèi)核。SMP 的目標(biāo)是以節(jié)能的方式提高可用的處理性能,這在臺式機(jī)和筆記本電腦上很常見。
對于嵌入式應(yīng)用,AMP 提供了更大的靈活性,因此也更為常見。在 AMP 系統(tǒng)中,每個內(nèi)核都運(yùn)行自己的操作系統(tǒng)(或者可能根本不運(yùn)行操作系統(tǒng)——“裸機(jī)”)。操作系統(tǒng)不需要相同。每個操作系統(tǒng)都可以根據(jù)內(nèi)核的預(yù)期功能進(jìn)行選擇,它不需要是特殊的“支持多核”的版本。與 SMP 不同,AMP 不要求所有內(nèi)核都相同;它可以在異構(gòu)多核平臺上實現(xiàn)。大多數(shù)多核片上系統(tǒng)設(shè)備包括各種核心架構(gòu)。不同的核心架構(gòu)可能適用于應(yīng)用程序的不同部分。
在 AMP 設(shè)計中需要解決兩個問題:生命周期管理(啟動順序等)和內(nèi)核間通信。這些問題不會出現(xiàn)在 SMP 系統(tǒng)中,因為操作系統(tǒng)可以控制哪些任務(wù)在何時何地運(yùn)行,并且任務(wù)間通信使用標(biāo)準(zhǔn)的操作系統(tǒng) API——這些任務(wù)不需要“知道”它們在多核上下文中運(yùn)行。在AMP系統(tǒng)中,每個操作系統(tǒng)都不知道其他操作系統(tǒng)的存在,因此必須做出具體規(guī)定。
配置 AMP 系統(tǒng)的最佳方式是使用某種多核框架來滿足控制和通信要求。OpenAMP 是定義此類框架架構(gòu)的標(biāo)準(zhǔn);許多供應(yīng)商都提供了 OpenAMP 的實現(xiàn)。
該框架的一個實例在每個核心上運(yùn)行。使用Remoteproc提供生命周期管理,其中一個核心被指定為“主”。內(nèi)核間通信使用RPMsg進(jìn)行管理,RPMsg在內(nèi)核之間提供基于通道的雙向通信鏈路。
使用多核框架的替代方法是部署管理程序。這是一個強(qiáng)大的選項,但受限于它要求所有 CPU 都是相同的,因此它只能在同構(gòu)多核平臺上使用。然而,在一個復(fù)雜的多核系統(tǒng)中,可能有一組相同的核可以使用 SMP 操作系統(tǒng)或管理程序進(jìn)行管理,并使用多核框架鏈接到系統(tǒng)的其余部分。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5096文章
19214瀏覽量
308491 -
cpu
+關(guān)注
關(guān)注
68文章
10927瀏覽量
213365 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6912瀏覽量
123899
發(fā)布評論請先 登錄
相關(guān)推薦
QorIQ?T1042多核處理器
AUTOSAR通信框架的優(yōu)勢 AUTOSAR通信實例與應(yīng)用場景
STM32WB0系列無線微控制器滿足低功耗藍(lán)牙應(yīng)用需求

晶閘管的觸發(fā)脈沖要滿足哪些要求
【米爾NXP i.MX 93開發(fā)板試用評測】1、異構(gòu)核心通信的技術(shù)內(nèi)容
簡儀計數(shù)器/定時器模塊滿足嚴(yán)格的工業(yè)標(biāo)準(zhǔn)和安全要求

伺服控制系統(tǒng)的基本要求有哪些
液壓伺服控制系統(tǒng)的控制要求
線下培訓(xùn) | 瑞薩電子基于RZ/G2L的OpenAMP混合部署實戰(zhàn)培訓(xùn)

多核架構(gòu)高性能電機(jī)控制芯片

用cubemx建立的工程描述說找不到Image$$__OpenAMP_SHMEM__$$Base怎么解決?
萬象奧科聯(lián)合RT-Thread舉辦RK3568+OpenAMP混合部署線下workshop!

多核異構(gòu)通信框架(RPMsg-Lite)

YY3568多核異構(gòu)(Linux+RT-Thread)--啟動流程

評論