隨著越來(lái)越多的嵌入式系統(tǒng)設(shè)計(jì)有多個(gè) CPU(最常見(jiàn)的是芯片上的多個(gè)內(nèi)核),多核設(shè)計(jì)仍然是一個(gè)熱門話題。理解多核的一個(gè)挑戰(zhàn)是該術(shù)語(yǔ)被廣泛用于描述許多設(shè)計(jì)方法和架構(gòu)。需要一些明確性。
弄清楚術(shù)語(yǔ)是第一個(gè)挑戰(zhàn)。..。..
“多核”一詞讓許多人想到臺(tái)式電腦、平板電腦、智能手機(jī)等中使用的微處理器芯片。這些設(shè)備由許多(有時(shí)是大量!)相同的 CPU 構(gòu)成,它們提供了巨大的計(jì)算能力和運(yùn)行并行算法的機(jī)會(huì),這對(duì)某些應(yīng)用程序非常有益。這些設(shè)備被正確地稱為“同質(zhì)多核”,因?yàn)樗?CPU 都是相同的。該軟件的架構(gòu)是對(duì)稱多處理 (SMP),它是通過(guò)在所有 CPU 上運(yùn)行操作系統(tǒng)(Windows、Linux 或 MacOS)來(lái)實(shí)現(xiàn)的。(使用操作系統(tǒng)的單個(gè)副本。)
在嵌入式系統(tǒng)中,SMP 也占有一席之地。它用于需要在經(jīng)濟(jì)和節(jié)能配置中提供大量計(jì)算能力的地方。因此,可以使用許多實(shí)時(shí)操作系統(tǒng)的 SMP 版本。
可以預(yù)見(jiàn),同構(gòu)的替代多核架構(gòu)是異構(gòu)的,其中各種內(nèi)核具有不同的架構(gòu)。這對(duì)嵌入式系統(tǒng)開(kāi)發(fā)人員很有吸引力,因?yàn)?CPU 可以部署到應(yīng)用程序中最適合它們的部分。這種系統(tǒng)的軟件架構(gòu)必然是非對(duì)稱多處理 (AMP),其中每個(gè) CPU 運(yùn)行自己的操作系統(tǒng)(或者可能根本沒(méi)有操作系統(tǒng))。這意味著可以酌情為每個(gè) CPU 部署不同的操作系統(tǒng)。例如,一些 CPU 可能運(yùn)行 RTOS,而其他 CPU,考慮到不需要實(shí)時(shí)行為,可能運(yùn)行 Linux。
多核設(shè)計(jì)的一些其他方面:
如果需要,您可以在同構(gòu)多核設(shè)備上實(shí)施 AMP。
在復(fù)雜的系統(tǒng)中,可能存在 SMP 和 AMP 的組合。由于運(yùn)行 SMP 的 CPU 集群看起來(lái)有點(diǎn)像單個(gè) CPU,因此它可以是 AMP 系統(tǒng)的一部分。
AMP 設(shè)計(jì)方法提供了以各種方式對(duì)軟件進(jìn)行細(xì)分的絕佳機(jī)會(huì)。不僅實(shí)時(shí)軟件和其他軟件可以分離,而且安全關(guān)鍵軟件組件可以很容易地與其他軟件子系統(tǒng)分離(和保護(hù))。
SMP 系統(tǒng)中的 CPU 間通信由 OS 提供;可以使用正常的任務(wù)間通信。對(duì)于 AMP 系統(tǒng),需要選擇合適的機(jī)制和協(xié)議。
多核系統(tǒng)設(shè)計(jì)具有挑戰(zhàn)性,我認(rèn)為有兩個(gè)方面特別麻煩:
配置——構(gòu)建一個(gè)系統(tǒng)涉及到讓所有部分——操作系統(tǒng)、內(nèi)核間通信等——很好地協(xié)同工作。隨著內(nèi)核的種類越來(lái)越廣泛,這一挑戰(zhàn)變得越來(lái)越關(guān)鍵。一個(gè)好的方法是考慮一些異構(gòu)多核基礎(chǔ)設(shè)施軟件——一個(gè)框架或管理程序——它提供了經(jīng)過(guò)充分驗(yàn)證的“粘合劑”。
調(diào)試——通常,調(diào)試比編碼花費(fèi)更多的時(shí)間(即使開(kāi)發(fā)人員會(huì)否認(rèn)這一點(diǎn)!)。如果您使用 RTOS,調(diào)試多線程代碼很困難,因?yàn)轱@然同時(shí)執(zhí)行的線程之間的交互是微妙的。在具有真正同時(shí)性的多核系統(tǒng)中,情況只會(huì)變得更糟。傳統(tǒng)的“停止和凝視”調(diào)試不會(huì)破解它。需要更復(fù)雜的工具來(lái)捕獲完整系統(tǒng)的操作并使開(kāi)發(fā)人員能夠根據(jù)需要放大以查看細(xì)節(jié)。
毫無(wú)疑問(wèn),多核將很快從普遍走向無(wú)處不在。設(shè)計(jì)和開(kāi)發(fā)挑戰(zhàn)仍將存在,需要認(rèn)識(shí)到思考和解決問(wèn)題的新方法。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5088文章
19160瀏覽量
306536 -
Linux
+關(guān)注
關(guān)注
87文章
11331瀏覽量
209986 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3554瀏覽量
89013
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論