將軟件集中到一個(gè)硬件平臺(tái)中被認(rèn)為是航空電子設(shè)備的一種良好做法。事實(shí)標(biāo)準(zhǔn) ARINC653 描述了它如何根據(jù)分區(qū)模型正確工作,排除和減輕硬件資源沖突。隨著該模型的成功和多核處理器 (MCP) 的普及,認(rèn)證機(jī)構(gòu)已開始擴(kuò)大其對(duì)使用多核處理器的接受程度。
CAST-32 方法為多核處理器打開了大門……
關(guān)于認(rèn)證機(jī)構(gòu)軟件團(tuán)隊(duì) (CAST),一個(gè)由認(rèn)證和監(jiān)管機(jī)構(gòu)代表 (EASA, FAA) 組成的國際組織,發(fā)表了一篇名為 CAST-32 的論文,描述了允許使用多核 -機(jī)載系統(tǒng)中的處理器。從本質(zhì)上講,本文確定了可能對(duì)系統(tǒng)安全產(chǎn)生影響的主要主題,并且在大多數(shù)情況下,確定性是關(guān)鍵。CAST-32 的最終結(jié)論是可以使用多核處理器,但范圍僅限于最多兩個(gè)活動(dòng)核心。
但隨后的發(fā)展實(shí)際上允許有效地利用它們
隨著 CAST-32 文件CAST-32A (2016) 的更新,這種情況發(fā)生了變化。現(xiàn)在可以在機(jī)載系統(tǒng)中并行使用處理器的所有內(nèi)核。該文件明確允許使用多個(gè)核心,只要提交認(rèn)證的組織(申請??人)可以為所提到的問題提供最先進(jìn)的解決方案。這些問題涉及硬件設(shè)計(jì)方面以及軟件架構(gòu)方面的問題。后者需要借助適當(dāng)?shù)?a target="_blank">操作系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。高級(jí)操作系統(tǒng)已經(jīng)將多核支持緊密結(jié)合到其分區(qū)管理中。
規(guī)劃的挑戰(zhàn)
CAST-32A 定位文件的“規(guī)劃”部分討論了與處理器、架構(gòu)、操作系統(tǒng)和工具的選擇相關(guān)的所有主題。首先是申請人有責(zé)任識(shí)別 MCP。此外,CAST-32A 要求申請人注意軟件架構(gòu)(包括 IMA 考慮因素)、資源劃分模型和要使用的開發(fā)工具。
最大的挑戰(zhàn):無沖突地管理共享處理器緩存
CAST-32A 中最具爭議的話題被稱為“干擾通道和資源使用”。它留給申請人來識(shí)別應(yīng)用程序之間的干擾,定義資源使用,并評(píng)估對(duì)整個(gè)系統(tǒng)的確定性行為的影響。兩個(gè)問題,共享處理器緩存和主內(nèi)存帶寬的影響正在挑戰(zhàn)申請人構(gòu)建系統(tǒng)。
因?yàn)楦呒?jí)緩存在處理器內(nèi)核之間共享,所以 CPU 的硬件必須處理同步問題。此外,共享緩存的狀態(tài)可能會(huì)受到錯(cuò)誤應(yīng)用程序的影響,從而嚴(yán)重影響安全關(guān)鍵分區(qū)的性能。
內(nèi)存沖突解決方案及時(shí)處理任務(wù)
為了為最壞的情況做好準(zhǔn)備,符合 CAST-32A 的操作系統(tǒng)必須提供對(duì)緩存帶寬的監(jiān)控,以關(guān)閉錯(cuò)誤的應(yīng)用程序。除了這些在運(yùn)行時(shí)適用的技術(shù)方法之外,申請人應(yīng)該有可能(幾乎)消除架構(gòu)級(jí)別的緩存效應(yīng)。最明顯的方法是增加時(shí)間分區(qū)窗口的安全邊際,這樣即使共享緩存永久不穩(wěn)定也能滿足最壞情況執(zhí)行時(shí)間(WCET)。這樣做時(shí),性能將受到顯著影響。相反,申請人可以將應(yīng)用程序排序?yàn)榫哂邢嗤浖?jí)別的組。通過確保安全關(guān)鍵進(jìn)程并行運(yùn)行,緩存可以在關(guān)鍵時(shí)間框架開始時(shí)失效。

另一個(gè)干擾源是主存儲(chǔ)器總線。即使內(nèi)存區(qū)域被分區(qū)并因此相互保護(hù),對(duì)總線的訪問也需要一定的時(shí)間。一個(gè)應(yīng)用程序?qū)?nèi)存總線的密集使用是以并行運(yùn)行的應(yīng)用程序?yàn)榇鷥r(jià)的。該主題與共享緩存討論非常相似,緩解措施也幾乎相同。
細(xì)粒度的鎖定和清晰的前景
當(dāng)在不同內(nèi)核上執(zhí)行的應(yīng)用程序同時(shí)進(jìn)入內(nèi)核空間時(shí),也可能發(fā)生爭用,可能訪問相同的數(shù)據(jù)結(jié)構(gòu)。傳統(tǒng)上,對(duì)整個(gè)內(nèi)核內(nèi)存的訪問受到全局鎖的保護(hù),一次只允許一個(gè)內(nèi)核執(zhí)行操作系統(tǒng)服務(wù)。這在技術(shù)上可能是足夠的,但在可擴(kuò)展性方面并不令人滿意。為了減少這種干擾通道的影響,一個(gè)兼容良好的操作系統(tǒng)必須使用細(xì)粒度的鎖定,這大大降低了應(yīng)用程序同時(shí)請求相同鎖定的概率。
除了識(shí)別干擾信道之外,CAST-32A 論文還需要對(duì)每個(gè)核心的資源使用情況進(jìn)行分析。例如,申請人仍然需要在合理的條件下確定安全任務(wù)的 WCET,并且必須最終確定安全裕度。這同樣適用于內(nèi)存區(qū)域大小的分析。一個(gè)好的操作系統(tǒng)必須通過提供有關(guān)內(nèi)存預(yù)算和執(zhí)行時(shí)間的信息來支持用戶。
概括
認(rèn)證機(jī)構(gòu)團(tuán)隊(duì) (CAST) 小組已經(jīng)勾勒出在航空電子系統(tǒng)中使用多個(gè)處理器內(nèi)核的方法。他們的定位文件 CAST-32A 涉及硬件設(shè)計(jì)方面以及軟件架構(gòu)方面的問題。借助操作系統(tǒng)PikeOS,SYSGO 公司交付了主要構(gòu)建塊之一,將強(qiáng)大的資源和時(shí)間分區(qū)擴(kuò)展到具有多核的 CPU,完美地應(yīng)用了 CAST-32A 論文的描述要求。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19485瀏覽量
231516 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7538瀏覽量
164547 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6917瀏覽量
123926
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
常見處理器故障及解決方法
Andes晶心科技推出AndesCore AX66亂序超純量多核處理器IP
QorIQ?T1042多核處理器
盛顯科技:拼接處理器連接大屏方法是什么?

旋智多核心處理器助力電機(jī)控制應(yīng)用

TMS320C6674多核固定和浮點(diǎn)數(shù)字信號(hào)處理器數(shù)據(jù)表

TMS320C6672多核固定和浮點(diǎn)數(shù)字信號(hào)處理器數(shù)據(jù)表

TMS320C6678多核固定和浮點(diǎn)數(shù)字信號(hào)處理器數(shù)據(jù)表

SM320C6678-HIREL多核固定和浮點(diǎn)數(shù)字信號(hào)處理器數(shù)據(jù)表

TMS320C6474多核數(shù)字信號(hào)處理器數(shù)據(jù)表

嵌入式微處理器有哪些部分 嵌入式微處理器有哪些區(qū)別
嵌入式微處理器體系結(jié)構(gòu)有幾種 嵌入式微處理器分為哪幾種類型
主流嵌入式微處理器的結(jié)構(gòu)與原理是什么 常見的嵌入式微處理器類型包括
多核異構(gòu)通信框架(RPMsg-Lite)

用于多核處理器的可配置多軌PMU TPS650860數(shù)據(jù)表

評(píng)論