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