在我去年發(fā)表的一篇文章中,我闡述了新款MIPS M級(jí)軍工CPU的設(shè)計(jì)何以滿足下一代連接處理器的安全需求。
MIPS單片機(jī)處理器的一大獨(dú)特功能是能支持全硬件虛擬化和多個(gè)可信執(zhí)行環(huán)境(TEE)。例如,最新的M5150 MCU可以在完全孤立的容器內(nèi)運(yùn)行多至7個(gè)操作系統(tǒng)或應(yīng)用程序,并確保零故障和實(shí)時(shí)操作。
今天,我將推薦一款獨(dú)具特色的作品,其來自里約熱內(nèi)盧天主教大學(xué)的研發(fā)團(tuán)隊(duì)(PUCRS)。該大學(xué)是巴西最頂尖的大學(xué)之一,其嵌入式系統(tǒng)科學(xué)家團(tuán)隊(duì)實(shí)力強(qiáng)大。他們一直致力于研究MIPS CPU管理程序,即 Hellfire(地獄之火)。
Hellfire項(xiàng)目是某大型項(xiàng)目的一部分。該大型項(xiàng)目涉及從C應(yīng)用程序開發(fā)到FPGA原型等不同的抽象層。PUCRS研究團(tuán)隊(duì)已經(jīng)創(chuàng)建了完整的參考設(shè)計(jì)流程,包括一些工具和組成Hellfire框架(HFFW)的模塊。
Hellfire管理程序及軟件架構(gòu)總覽
通過使用內(nèi)部操作系統(tǒng)HFOS(Hellfire操作系統(tǒng)),即基于模塊微內(nèi)核架構(gòu)的高度可配置實(shí)時(shí)操作系統(tǒng),開發(fā)人員便可以在各個(gè)不同的MIPS CPU上運(yùn)行C代碼。
這使得設(shè)計(jì)師可以添加高達(dá)128個(gè)處理器至系統(tǒng)中,并將其單獨(dú)配置及平行部署在嵌入式應(yīng)用程序中,使之得以交換數(shù)據(jù)甚至遷移任務(wù)。
PUCRS的嵌入式系統(tǒng)小組最近發(fā)表了一份白皮書。在白皮書中,他們對(duì)MIPS M5150 MCU上運(yùn)行的創(chuàng)新管理程序進(jìn)行了闡述。通過使用指令精準(zhǔn)模型和開發(fā)板,研發(fā)人員能夠創(chuàng)建一個(gè)充分利用MIPS虛擬化模塊(MIPS VZ)的管理程序。同時(shí),白皮書還展示了深度性能的測(cè)量方式。
Hellfire管理程序支持MIPS CPU的全虛擬化及混合準(zhǔn)虛擬化,其提供的服務(wù)通常只有高性能CPU中才可能出現(xiàn)(如虛擬機(jī)之間的通信及實(shí)時(shí)支持)。
Hellfire管理程序的外部架構(gòu)
下圖是虛擬化模型的總況圖。其底層硬件包括總線及建立在多個(gè)可共享內(nèi)存資源的MIPS CPU上的微處理器架構(gòu)。Hellfire管理程序負(fù)責(zé)每個(gè)虛擬機(jī)的創(chuàng)建和管理,并創(chuàng)建一個(gè)用于連接虛擬機(jī)(VM)及其虛擬CPU的邏輯框架。
Hellfire支持多個(gè)MIPS CPU
第二個(gè)圖介紹了管理程序的軟件架構(gòu),其描述了如何處理各種不同的通信服務(wù)、中斷或超級(jí)調(diào)用
MIPS M5150 MCU 上運(yùn)行的Hellfire管理程序的軟件架構(gòu)
管理程序的一大關(guān)鍵元素是衡量其在實(shí)際應(yīng)用中的性能。研發(fā)人員選擇了一系列算法來測(cè)試在MIPS M5150 MCU上運(yùn)行多個(gè)客戶操作系統(tǒng)的影響。這里有兩個(gè)簡(jiǎn)單的例子:
測(cè)量虛擬MCU的實(shí)際性能
1.情境切換開銷
自適應(yīng)DPCM:本機(jī)性能VS虛擬性能
第一套測(cè)試套件旨在確定在比較本機(jī)執(zhí)行和虛擬執(zhí)行時(shí),客戶操作系統(tǒng)在指令數(shù)量上的開銷。客戶操作系統(tǒng)可以運(yùn)行一個(gè)通常用于語音編碼的自適應(yīng)DPCM(微分脈沖編碼調(diào)制)算法。
在整個(gè)測(cè)試過程中,管理程序開銷從未超過1.8%,即使執(zhí)行2400萬條指令時(shí)亦是如此。這意味著相比直接在物理CPU上運(yùn)行,在虛擬機(jī)中運(yùn)行相同代碼占用的處理器計(jì)算資源小于2%。
管理程序運(yùn)行2500萬條指令時(shí)的開銷低于2%
在相同CPU上運(yùn)行多個(gè)客戶操作系統(tǒng)
下一個(gè)測(cè)試包旨在顯示在單獨(dú)的虛擬機(jī)上運(yùn)行多個(gè)客戶操作系統(tǒng)的開銷。將高效CPU架構(gòu)與設(shè)計(jì)優(yōu)良的軟件有效結(jié)合可以產(chǎn)生極佳的效果。例如,即使添加8個(gè)客戶操作系統(tǒng),性能之間的差異也非常小——相比本機(jī)性能,虛擬機(jī)開銷僅為1.74%。
運(yùn)行8個(gè)客戶操作系統(tǒng)的開銷僅為2%
2.通信開銷
最后一個(gè)測(cè)試套件旨在顯示信息從一個(gè)虛擬機(jī)傳入另一個(gè)虛擬機(jī)所需的指令數(shù)量。實(shí)驗(yàn)中使用的實(shí)例是使相同的客戶操作系統(tǒng)交換不同的信息,交換信息大小分別為使用超級(jí)調(diào)用的20、40、60、80和80字節(jié)。
研發(fā)人員發(fā)現(xiàn),從一個(gè)虛擬機(jī)傳輸100字節(jié)長(zhǎng)的消息至另一個(gè)虛擬機(jī)僅消耗了1680個(gè)指令,這一發(fā)現(xiàn)著實(shí)令人興奮。由于MIPS M5150 MCU實(shí)現(xiàn)了加載/存儲(chǔ)架構(gòu)與單循環(huán)ALU操作,時(shí)鐘頻率為100MHz的處理器可以每秒執(zhí)行大約1億條指令。
因此,1680條指令表示一秒僅占用了0.00168%的CPU時(shí)間。
結(jié)語
研發(fā)團(tuán)隊(duì)得出結(jié)論,將Hellfire管理程序移至單片機(jī)處理器中將享有MIPS架構(gòu)最新版的獨(dú)特性能。
上述良好的性能結(jié)果展示了,當(dāng)尋求在實(shí)時(shí)嵌入式平臺(tái)中傳遞優(yōu)越性能和確保安全性時(shí),MIPS M5150 MCU是非常重要的選擇。
在未來,該團(tuán)隊(duì)希望添加對(duì)全方位Linux內(nèi)核的支持,并在MIPS M5150開發(fā)板上執(zhí)行更多的性能基準(zhǔn)。您可以參考項(xiàng)目
頁(yè)面及從我們的網(wǎng)站下載相關(guān)演示項(xiàng)目的資訊。
評(píng)論