針對異構(gòu)多核的嵌入式軟件解決方案
異構(gòu)多核架構(gòu)即結(jié)合兩種或多種不同類型的微處理器或微控制器的架構(gòu)。因其能夠提供更高的處理器性能、更有效的電源利用率,并且占用更少的物理空間,近來在嵌入式領(lǐng)域得到了大范圍推廣,特別是在強(qiáng)調(diào)整合功能性和連通性的高性能嵌入式設(shè)備方面。但是,與異構(gòu)多核硬件平臺的發(fā)展速度相比,相應(yīng)的軟件支持比較滯后。畢竟只有軟硬件兼具的解決方案才能充分發(fā)揮這一架構(gòu)的優(yōu)勢,真正實現(xiàn)芯片的性能、面積、功耗之間的最佳組合。
針對這一現(xiàn)狀,Mentor推出了嵌入式軟件行業(yè)首款針對異構(gòu)多核SoC開發(fā)的全面解決方案,該方案可為包括Linux平臺、實時操作系統(tǒng)(RTOS)、Android系統(tǒng)和裸系統(tǒng)應(yīng)用的多操作系統(tǒng)設(shè)備進(jìn)行設(shè)備配置、部署和系統(tǒng)優(yōu)化。
全面的異構(gòu)多核嵌入式軟件解決方案
“異構(gòu)架構(gòu)可以為至少兩個不同類型的用于先進(jìn)嵌入式系統(tǒng)設(shè)計的微處理器或微控制器提供多個操作環(huán)境。該任務(wù)不易實現(xiàn),因為它需要功能性和連通性的無縫整合,這樣才能設(shè)計出高性能的嵌入式設(shè)備。”Mentor嵌入式軟件部門(ESD)運(yùn)行解決方案資深產(chǎn)品經(jīng)理Felix Baum介紹,“下一代SoC通過異構(gòu)核來擴(kuò)展目前的多核同構(gòu)架構(gòu),促成獨特的嵌入式系統(tǒng)的發(fā)展。該系統(tǒng)的成功應(yīng)用,超越了傳統(tǒng)的對稱多處理(SMP)和非對稱多處理(AMP)方法。 ”
傳統(tǒng)的開發(fā)方式不適合異構(gòu)系統(tǒng),因為設(shè)計師需解決如下挑戰(zhàn):如何在處理器上配置和部署多個操作系統(tǒng)和應(yīng)用程序;如何協(xié)調(diào)使用微處理器和微控制器,從而高效啟動多個操作系統(tǒng);如何在多核處理器或異構(gòu)處理器間的獨立子系統(tǒng)之間進(jìn)行通信。這些都為設(shè)計師的工作增加了一定的難度。
“Mentor的集成設(shè)計解決方案具有獨特的定位,便于嵌入式開發(fā)人員在研發(fā)過程中充分利用這些復(fù)雜的異構(gòu)SoC.”FelixBaum表示,“該方案涵蓋了為多操作系統(tǒng)設(shè)備提供設(shè)備配置、部署和系統(tǒng)優(yōu)化等功能,而所謂的多操作系統(tǒng)則包括Linux平臺、實時操作系統(tǒng)(RTOS)以及裸系統(tǒng)應(yīng)用-本地執(zhí)行或基于Hypervisor執(zhí)行。”
Mentor異構(gòu)多核系統(tǒng)嵌入式開發(fā)方案(圖1)的新特征包括:支持Mentor嵌入式Linux、Nucleus RTOS和裸系統(tǒng)應(yīng)用的remoteproc機(jī)制,有助于整個異構(gòu)SoC多核操作系統(tǒng)和應(yīng)用程序的配置、開發(fā)、部署和管理;在不同的操作系統(tǒng)中大規(guī)模應(yīng)用VirtIO、rpmsg和多核通信應(yīng)用程序接口(MCAPI),可為分離設(shè)備子系統(tǒng)提供有效的處理器間通信(IPC);擁有圖像調(diào)試和性能分析工具,能夠在操作系統(tǒng)和應(yīng)用層面提供整個系統(tǒng)的同步視角。
圖1:Mentor針對異構(gòu)多核嵌入式軟件開發(fā)的全面解決方案。
據(jù)了解, Mentor Embedded Hypervisor是針對嵌入式應(yīng)用程序和智能連接設(shè)備而特別研發(fā)的占用內(nèi)存小的Type1型虛擬機(jī)產(chǎn)品,借助這一嵌入式系統(tǒng),研發(fā)人員可將應(yīng)用程序集成和整合到多核處理器上,并利用ARM TrustZone技術(shù),開發(fā)出高性能的嵌入式系統(tǒng)。
針對OMAP5的應(yīng)用案例
德州儀器(TI)的OMAP5是典型的異構(gòu)多核處理器平臺(圖2),它集成了2個ARM Cortex-A15和2個ARM Cortex-M4內(nèi)核,專為驅(qū)動移動計算設(shè)備和消費(fèi)產(chǎn)品而設(shè)計。
圖2:在TI OMAP 5上部署異構(gòu)多核系統(tǒng)的應(yīng)用案例。
在TI OMAP 5上部署Mentor的異構(gòu)多核系統(tǒng)的應(yīng)用案例中,Mentor的嵌入式虛擬機(jī)覆蓋了兩個Cortex-A15內(nèi)核,先運(yùn)行虛擬機(jī),再運(yùn)行兩個嵌入式Linux操作系統(tǒng)(一個Linux操作系統(tǒng)負(fù)責(zé)用戶界面,另一個負(fù)責(zé)與遠(yuǎn)端的通信)。
此外,一個Cortex-M4負(fù)責(zé)收集實時數(shù)據(jù),運(yùn)行Nucleus實時操作系統(tǒng),這屬于相對比較簡單的應(yīng)用,因此不需要虛擬機(jī)進(jìn)行管理。而另一個M4內(nèi)核可以負(fù)責(zé)電源管理或傳感器管理等,在本案例中未進(jìn)行體現(xiàn)。
Felix Baum強(qiáng)調(diào),這一系統(tǒng)部署非常靈活,虛擬機(jī)運(yùn)行什么系統(tǒng)可以根據(jù)具體情況來安排。而不同核之間的通信機(jī)制有VirtIO、rpmsg(IPC)和remoteproc等,既保證了系統(tǒng)的高速運(yùn)行,也保證了私有系統(tǒng)之間的保密性。在與TI的合作中,將Mentor的嵌入式軟件技術(shù)與TI的多核器件相結(jié)合,創(chuàng)建了一個理想的生態(tài)系統(tǒng),便于客戶輕松開發(fā)出尖端的產(chǎn)品。
“目前Mentor的解決方案僅適用于基于ARM內(nèi)核的異構(gòu)多核嵌入式系統(tǒng)開發(fā)。除了處理器產(chǎn)品,我們同時也在積極和FPGA廠商合作,會盡快推出適用于SoC FPGA產(chǎn)品的解決方案。”FelixBaum說。