列表多圖
上一頁 1 下一頁

安全關(guān)鍵應(yīng)用中異構(gòu)臂芯的軟件注意事項(xiàng)

嵌入式系統(tǒng)受益于多核處理器的使用,它們具有更高的吞吐量以及更好的尺寸,重量和功耗。具有異構(gòu)處理器內(nèi)核的處理器增加了將應(yīng)用程序與每種內(nèi)核類型的功能進(jìn)行匹配的能力,從而進(jìn)一步提高了吞吐量和功耗。多核處理器的優(yōu)勢(shì)在于軟件體系結(jié)構(gòu)的復(fù)雜性不斷提高,以最大化處理器內(nèi)核的利用率。對(duì)于實(shí)時(shí)系統(tǒng),特別是對(duì)安全至關(guān)重要的系統(tǒng),由于爭(zhēng)用處理器內(nèi)核之間共享的資源,多核處理器對(duì)嚴(yán)格的確定性提出了重大挑戰(zhàn)。對(duì)于異構(gòu)內(nèi)核,這一挑戰(zhàn)越來越大,因?yàn)樽顗那闆r下的執(zhí)行時(shí)間可能會(huì)根據(jù)應(yīng)用程序執(zhí)行的內(nèi)核而有所不同。

為了實(shí)現(xiàn)多核解決方案的吞吐量和功耗優(yōu)勢(shì),軟件體系結(jié)構(gòu)需要支持可用處理器核的高利用率。必須支持所有多核功能,從啟用內(nèi)核的并發(fā)操作(相對(duì)于將可用內(nèi)核強(qiáng)制進(jìn)入空閑狀態(tài)或在啟動(dòng)時(shí)保持復(fù)位狀態(tài))到提供確定性負(fù)載平衡的機(jī)制。軟件多處理體系結(jié)構(gòu)越靈活,系統(tǒng)架構(gòu)師就需要更多工具來實(shí)現(xiàn)高利用率。

軟件多處理架構(gòu)         

像多處理器系統(tǒng)一樣,多核處理器上的軟件體系結(jié)構(gòu)可以通過內(nèi)核之間共享和協(xié)調(diào)的數(shù)量來分類。對(duì)于基于多核的系統(tǒng),最簡(jiǎn)單的軟件體系結(jié)構(gòu)是不對(duì)稱多處理,其中每個(gè)核獨(dú)立運(yùn)行,每個(gè)核都有自己的操作系統(tǒng)或虛擬機(jī)管理程序/來賓操作系統(tǒng)對(duì)。每個(gè)內(nèi)核運(yùn)行一個(gè)不同的應(yīng)用程序,在調(diào)度方面,內(nèi)核之間很少或根本沒有有意義的協(xié)調(diào)。由于缺乏負(fù)載平衡,難以緩解共享資源爭(zhēng)用以及無法執(zhí)行跨內(nèi)核的協(xié)調(diào)活動(dòng)(如全面的內(nèi)置測(cè)試所需),這種解耦可能導(dǎo)致利用率不足。

AMP的現(xiàn)代替代方案是對(duì)稱多處理(SMP),其中單個(gè)OS控制所有資源,包括哪些應(yīng)用程序線程在哪些內(nèi)核上運(yùn)行。這種架構(gòu)易于編程,因?yàn)樗袃?nèi)核都對(duì)稱地訪問資源,從而使OS可以將任何線程分配給任何內(nèi)核。對(duì)于具有異構(gòu)內(nèi)核的處理器(例如i.MX 8QuadMax),不知道應(yīng)用程序?qū)⒃谀姆N類型的內(nèi)核上運(yùn)行會(huì)導(dǎo)致廣泛的執(zhí)行時(shí)間,從而極大地影響確定性性能。

綁定多處理(BMP)是直接解決該問題的方法,它是SMP的增強(qiáng)形式和受限形式,可以將應(yīng)用程序的任務(wù)/線程靜態(tài)綁定到特定的內(nèi)核。靜態(tài)綁定使系統(tǒng)架構(gòu)師可以嚴(yán)格控制多個(gè)內(nèi)核的并發(fā)操作。

確保確定性行為

除了實(shí)現(xiàn)多核處理器的吞吐量和SWaP目標(biāo)外,安全性至關(guān)重要的系統(tǒng)還需要為每個(gè)應(yīng)用程序維持可預(yù)測(cè)的最壞情況執(zhí)行時(shí)間(WCET)。使用BMP限制與應(yīng)用程序配對(duì)的內(nèi)核類型是確保異構(gòu)系統(tǒng)中確定性行為的重要組成部分。確保確定性的其他技術(shù)是時(shí)間和空間劃分以及管理共享資源的爭(zhēng)用。

在單核處理器中,可以通過在托管應(yīng)用程序之間穩(wěn)健地劃分內(nèi)存空間,在同一處理器上執(zhí)行多個(gè)安全關(guān)鍵型應(yīng)用程序。內(nèi)存空間分區(qū)將內(nèi)存的非重疊部分專用于在給定時(shí)間運(yùn)行的每個(gè)應(yīng)用程序,這由處理器的內(nèi)存管理單元(MMU)強(qiáng)制執(zhí)行。確定性可以通過使用時(shí)間分區(qū)來進(jìn)一步增強(qiáng),該方法可以將固定的時(shí)間間隔(稱為主幀)劃分為一系列固定的子間隔(稱為分區(qū)時(shí)間窗口)。每個(gè)應(yīng)用程序都分配了一個(gè)或多個(gè)分區(qū)時(shí)間窗口,窗口的長(zhǎng)度和數(shù)量由應(yīng)用程序的WCET和所需的重復(fù)率驅(qū)動(dòng)。

多核干擾挑戰(zhàn)確定性

在多核環(huán)境中,可以有多個(gè)應(yīng)用程序同時(shí)跨不同的內(nèi)核運(yùn)行。這些并發(fā)的應(yīng)用程序每個(gè)都需要訪問處理器的資源。每個(gè)處理核心都有一些專用資源,但是大多數(shù)資源在處理器核心之間共享,包括內(nèi)存控制器,I / O,共享緩存以及連接它們的內(nèi)部結(jié)構(gòu)。當(dāng)多個(gè)處理器內(nèi)核嘗試同時(shí)訪問同一資源時(shí),將導(dǎo)致這些共享資源的競(jìng)爭(zhēng)。在航空電子設(shè)備等對(duì)安全至關(guān)重要的應(yīng)用中,主要關(guān)注的問題是這種共享資源爭(zhēng)用如何導(dǎo)致一個(gè)內(nèi)核上運(yùn)行的應(yīng)用程序干擾另一內(nèi)核上運(yùn)行的應(yīng)用程序,從而對(duì)確定性,服務(wù)質(zhì)量以及最終的安全性產(chǎn)生負(fù)面影響。

如果不加以緩解,共享資源爭(zhēng)用的影響可能會(huì)很大。如果只檢查一種共享資源DDR內(nèi)存,則可能會(huì)猜想,當(dāng)另一個(gè)內(nèi)核試圖訪問相同的內(nèi)存并且兩個(gè)內(nèi)核都在運(yùn)行內(nèi)存受限的應(yīng)用程序時(shí),WCET可能會(huì)加倍。實(shí)際上,由于共享資源仲裁和調(diào)度算法中的非線性行為,WCET可以增加8倍而不是2倍。嘗試訪問DDR存儲(chǔ)器或爭(zhēng)用其他資源(例如片上互連)的其他內(nèi)核可能導(dǎo)致WCET增長(zhǎng)得更大。

多核干擾緩解

緩解多核干擾的一種方法是手動(dòng)調(diào)度應(yīng)用程序以最大程度地減少資源爭(zhēng)用。這種方法不會(huì)消除所有干擾,并且在任何單個(gè)應(yīng)用程序被修改或添加新應(yīng)用程序時(shí),都需要重新測(cè)試和驗(yàn)證所有應(yīng)用程序。另一種方法是僅安排一個(gè)單一的多任務(wù)應(yīng)用程序一次運(yùn)行。任務(wù)之間仍然會(huì)發(fā)生干擾,但是不會(huì)干擾其他應(yīng)用程序。由于不同核類型上執(zhí)行時(shí)間的變化,這種方法在具有異構(gòu)核的處理器上特別無效。

一種更通用的方法是讓OS管理共享資源爭(zhēng)用。與OS使用硬件MMU通過將不同的內(nèi)存區(qū)域分配給不同的應(yīng)用程序來實(shí)現(xiàn)空間分區(qū)的方式相同,OS可以在每個(gè)核的基礎(chǔ)上為共享資源分配帶寬。解決OS中的多核干擾為系統(tǒng)集成商提供了有效,靈活和敏捷的解決方案。這還簡(jiǎn)化了新應(yīng)用程序的添加,而無需對(duì)系統(tǒng)體系結(jié)構(gòu)進(jìn)行重大更改,并減少了重新驗(yàn)證活動(dòng)。


0755-88879880
QQ聯(lián)系方式:52609913
地址:深圳市南山區(qū)西麗龍珠三路光前工業(yè)區(qū)21棟4、5樓


深圳市朗銳智科實(shí)業(yè)有限公司專注于工業(yè)主板、嵌入式主板、工控機(jī)、圖像采集卡的方案實(shí)施,高效地硬件開發(fā)能力,提供從云到端的全流程產(chǎn)品研發(fā)和生產(chǎn)服 務(wù),硬件設(shè)計(jì)涵蓋單片機(jī)、armx86DSP等平臺(tái),應(yīng)用技術(shù)從數(shù)據(jù)采集 ,工業(yè)通訊,自動(dòng)化控制到機(jī)器視覺等,服務(wù)領(lǐng)域從電梯安全、油田監(jiān) 控、環(huán)保監(jiān)測(cè)、鐵路安全、現(xiàn)代化農(nóng)業(yè)到醫(yī)療健康等。

——————
熱線電話
0755-88879880
18929376664
微信在線客服