中央計算單元架構(gòu)已經(jīng)成為汽車行業(yè)的共識,各主機(jī)廠都正努力在將其中央計算單元架構(gòu)落地。
然而在將硬件、操作系統(tǒng)、中間件、管理程序、應(yīng)用程序等集成到計算單元,還需要滿足功能安全要求,這是一項耗時、復(fù)雜且容易出錯,且非常具有挑戰(zhàn)性的任務(wù)。
下圖描述了系統(tǒng)架構(gòu)師進(jìn)行軟件架構(gòu)設(shè)計時需要考慮的方面,包括任務(wù)在不同核心的分析、調(diào)度分配,不同應(yīng)用中的交互,同時還要考慮配置參數(shù)、系統(tǒng)的安全和非安全要求以及優(yōu)化目標(biāo)。此外,由于大型操作系統(tǒng)、中間件、應(yīng)用程序的不可預(yù)測行為,系統(tǒng)架構(gòu)師必須在部署后解決方案后,進(jìn)行驗證實際場景的驗證是否滿足要求。
▲圖1架構(gòu)設(shè)計需要考慮的方面
接下來闡述考慮各種優(yōu)化目標(biāo)的多核處理器中動態(tài)和靜態(tài)任務(wù)映射的方法,以及當(dāng)前軟件集成的技術(shù)和方法,包括模型分析、配置、模型檢查和任務(wù)映射。
01.多核芯片的任務(wù)映射
根據(jù)應(yīng)用場景和用戶需求,多核體系架構(gòu)分為同構(gòu)和異構(gòu)兩種,同構(gòu)多核芯片是該芯片內(nèi)的所有內(nèi)核都相同,即這都具有相似的計算能力和指令集體系架構(gòu)。而異構(gòu)體系架構(gòu)是不同內(nèi)核集成到一個芯片中。例如提供高性能且低功耗的核心,通常采用的是異構(gòu)。就任務(wù)映射而言,同構(gòu)處理器比異構(gòu)的工作量更少,不需要基于不同核的屬性來確認(rèn)任務(wù)的分配。
多核中的任務(wù)分配可以有兩種,一種是靜態(tài)的,也就是在架構(gòu)設(shè)計時,各個任務(wù)運行在哪個核心就已經(jīng)確定了,另外一種是動態(tài)的分配,根據(jù)當(dāng)前的負(fù)載、運行場景等。
那不管是靜態(tài)還是動態(tài)任務(wù)映射,如何設(shè)計一種合適的映射方案呢?首先前提是現(xiàn)有的硬件、以及性能參數(shù)要求,包括負(fù)載率、溫度、可靠性等,對于靜態(tài)設(shè)計時,可以使用圖論算法、數(shù)學(xué)規(guī)劃算法或者是基于啟發(fā)式的算法,例如數(shù)學(xué)規(guī)劃算法,將需求轉(zhuǎn)化為數(shù)學(xué)不等式。然后通過使用不同的數(shù)學(xué)規(guī)劃來解不等式,包括混合整數(shù)線性規(guī)劃、分支和邊界、約束規(guī)劃和整數(shù)線性規(guī)劃。在數(shù)學(xué)規(guī)劃方法中,只要映射問題的復(fù)雜性不變?yōu)镹P,就始終保證最優(yōu)解。在NP問題的情況下,可以使用基于啟發(fā)式的算法。對于動態(tài)設(shè)計時,可以使用貪婪算法或者是反饋控制理論算法等。
02.架構(gòu)設(shè)計工具分析
下面主要聊一聊嵌入式系統(tǒng)中現(xiàn)有的軟件集成技術(shù),包括嵌入式系統(tǒng)的模型分析、基于需求的模型檢驗和驗證。此外,每個技術(shù)都是基于問題屬性和各種設(shè)計指標(biāo)、DSE方法、優(yōu)化算法以及安全相關(guān)和優(yōu)化屬性進(jìn)行分析的。
OSATE(開源 AADL 工具環(huán)境):這是一個功能強(qiáng)大的開源工具,它使用語法感知文本編輯器和同步圖形編輯器創(chuàng)建 AADL(架構(gòu)分析和設(shè)計語言)模型(如下圖)。OSATE 是一個基于 Eclipse 的工具,包含使用 AADL 語言的航空航天和汽車系統(tǒng)的建模元素。
▲圖2將AADL文本編輯器(a)轉(zhuǎn)換為OSATE框架中的同步圖形編輯器(b)
AADL是一種建模語言,通過可擴(kuò)展符號、工具框架和精確指定的語義,支持對系統(tǒng)架構(gòu)的關(guān)鍵的性能屬性進(jìn)行早期和反復(fù)的分析,例如數(shù)據(jù)流分析,任務(wù)映射分析。該語言利用形式化的建模概念來描述和分析應(yīng)用系統(tǒng)架構(gòu)的不同組件及其交互。包括軟件(例如,進(jìn)程和線程)、計算硬件(例如,處理器、總線、設(shè)備和存儲器)和系統(tǒng)組件的抽象。AADL對于復(fù)雜實時嵌入式系統(tǒng)基于模型的分析特別有效。
通過使用 OSATE 工具,用戶可以對包括硬件和軟件(應(yīng)用程序級別)在內(nèi)的系統(tǒng)(例如 ADAS 系統(tǒng))進(jìn)行建模,例如,可以對用于每個應(yīng)用程序的線程進(jìn)行建模,包括線程的周期、計算執(zhí)行時間、每秒百萬指令 (MIPS) 預(yù)算和參考處理器。OSATE 根據(jù)與 AADL 文本語法規(guī)則以及每個指定組件的屬性定義中的違規(guī)來檢查用戶創(chuàng)建的模型。
此外,可以使用該框架執(zhí)行各種模型分析,該框架包括流延遲檢查,包括端到端流延遲計算、調(diào)度分析(例如調(diào)度綁定線程,即處理器利用率報告、綁定和調(diào)度線程,即線程綁定報告,并對單調(diào)優(yōu)先級分配進(jìn)行評分),預(yù)算分析(包括分析總線負(fù)載,電力需求,資源分配,計算機(jī)資源預(yù)算,計算總權(quán)重),安全分析包括故障樹分析(FTA),功能危險評估(FHA) )、故障影響分析、故障模式影響分析 (FMEA) 以及檢查未處理的故障。
此外,可以使用該框架執(zhí)行各種語義檢查或功能集成分析,例如檢查綁定約束、連接綁定一致性、端口連接一致性等。此外,該工具具有利用各種插件(例如 Ocarina 和能夠?qū)⒛P蛷?MATLAB 和 Simulink 導(dǎo)入 OSATE)。但是OSATE不支持任何DSE方法,例如解決多核汽車計算單元的映射問題。
ArcheOpterix:如前所述,尋找可接受的架構(gòu)設(shè)計對于軟件和系統(tǒng)架構(gòu)師來說是一項具有挑戰(zhàn)性的任務(wù),要考慮架構(gòu)設(shè)計階段的質(zhì)量和功能需求。ArcheOpterix 是一個基于 Eclipse 的開源工具,它有助于使用評估技術(shù)、DSE 方法和針對 AADL 規(guī)范的優(yōu)化啟發(fā)式方法來簡化任務(wù)。該框架支持軟件組件的建模以及軟件組件、ECU、總線和服務(wù)之間的通信。
此外,考慮到設(shè)計約束和優(yōu)化目標(biāo),包括冗余分配和成本,該工具可以優(yōu)化軟件組件到 ECU 的部署。該工具可以指定與系統(tǒng)參數(shù)相關(guān)的不確定信息,因此可以搜索最佳和穩(wěn)健的候選架構(gòu),下圖展示了ArcheOpterix的頂層框架。
▲圖3ArcheOpterix的頂層框架
然而,該工具在汽車平臺上使用也存在一些限制。首先框架已經(jīng)過時,沒有很好的文檔可供使用。它不支持任務(wù)映射分析和解決多核架構(gòu)的映射問題,也不關(guān)注汽車應(yīng)用的多核計算平臺。此外該工具不包括ISO 26262的安全相關(guān)屬性,框架本身不支持模型檢查和模型分析。
App4MC:APP4MC 是一個開源 Eclipse 平臺,專注于性能仿真,主要涉及多核平臺中的調(diào)度和時序分析,使用基于模型的開發(fā)方法。可以對硬件和軟件元素進(jìn)行建模,包括處理器類型、各種指定模塊之間的連接類型、操作系統(tǒng)調(diào)度程序以及任務(wù)屬性,例如執(zhí)行時間和截止日期。
▲圖4App4MC框架
此外,可以模擬硬件和軟件模型和約束的定義以及整個模型,同時考慮包括負(fù)載平衡、能耗和內(nèi)存在內(nèi)的不同優(yōu)化目標(biāo)。
下圖顯示了APP4MC中的汽車系統(tǒng)建模示例,包括任務(wù)、硬件、操作系統(tǒng)、約束和任務(wù)映射。例如,在任務(wù)映射部分,可以將調(diào)度程序分配給核心。硬件模型方面,包括一個處理器(包括四個內(nèi)核)、集成 GPU (iGPU)、緩存和內(nèi)存等共享模塊以及這些組件之間的通信,使用 AAP4MC 可視化功能進(jìn)行了可視化。
▲圖5App4MC建模示例
然而,APP4MC 只分析和模擬任務(wù)映射而不是求解,在涵蓋的安全屬性和優(yōu)化目標(biāo)方面受到限制,并且有相當(dāng)數(shù)量的 E/E 架構(gòu)元素未被 AAP4MC 考慮。
上述幾個都是開源的工具,除此之外還有商業(yè)化的工具可以支持EE架構(gòu)設(shè)計。
PreeVision:Vector的工具,用于汽車行業(yè)中基于模型的分布式嵌入式系統(tǒng)開發(fā)。它為面向信號和服務(wù)的架構(gòu)構(gòu)建以及 E/E 系統(tǒng)的所有方面提供了全面的功能,包括需求工程、AUTOSAR、軟件和通信設(shè)計以及線束演變。集成和基于模型的方法有助于復(fù)雜任務(wù)保持簡單和可控。它還支持經(jīng)過實踐檢驗的抽象、分解和重用系統(tǒng)工程原則,可以作為工程骨干。它支持從多個位置對共享數(shù)據(jù)庫進(jìn)行并行工作,以及可用于不同車輛的 E/E 架構(gòu)平臺的設(shè)計;此外,它還提供組件的設(shè)計和評估、信號路由、模型一致性檢查和功能安全分析。
ASCET-DEVELOPER:這是一款基于商業(yè)模型的軟件,面向汽車領(lǐng)域,構(gòu)建在Eclipse平臺上。它幫助系統(tǒng)架構(gòu)師以低開銷創(chuàng)建高性能、安全可靠的嵌入式軟件。由于其具有ISO26262 ASIL-D等安全認(rèn)證,因此適用于安全關(guān)鍵軟件開發(fā)。該商業(yè)框架支持模型分析,包括圖形和文本規(guī)范以及模型驗證。此外,它支持從設(shè)計模型自動生成C代碼,并提供單元測試功能;此外,可以通過提供不同的接口和標(biāo)準(zhǔn)化的文件交換格式來支持工具鏈集成,使工具易于集成到開發(fā)過程和工具鏈中。
SymTA/S:這是一個用于分析性能和優(yōu)化支持異構(gòu)架構(gòu)的實時嵌入式系統(tǒng)的商業(yè)框架。SymTA/S可用于處理器、ECU、通信總線和網(wǎng)絡(luò)預(yù)算、調(diào)度驗證和優(yōu)化。該工具支持分布式嵌入式架構(gòu)的時序和調(diào)度分析,例如計算最壞情況執(zhí)行時間(WCET)。它支持獨特的端到端時序分析和可視化;此外,它可以通過定義多個優(yōu)化目標(biāo)及其集成概念來規(guī)劃和優(yōu)化系統(tǒng)設(shè)計,并在使用 DSE 方法時確定其可靠性和安全性。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19391瀏覽量
230615 -
存儲器
+關(guān)注
關(guān)注
38文章
7522瀏覽量
164130 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6867瀏覽量
123547 -
多核芯片
+關(guān)注
關(guān)注
0文章
6瀏覽量
7099
原文標(biāo)題:高性能計算單元架構(gòu)設(shè)計工具簡介
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論