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