• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式開發(fā):多核系統(tǒng)、虛擬機(jī)監(jiān)控程序和多核框架
機(jī)構(gòu)主頁 > 培訓(xùn)資料>嵌入式開發(fā):多核系統(tǒng)、虛擬機(jī)監(jiān)控程序和多核框架

嵌入式開發(fā):多核系統(tǒng)、虛擬機(jī)監(jiān)控程序和多核框架

來源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:38℃        返回列表

  在嵌入式開發(fā)中,多核嵌入式系統(tǒng)的軟件可能非常復(fù)雜。一個(gè)經(jīng)常討論的主題是如何在每個(gè)核心上實(shí)現(xiàn)代碼,從而使其得到最佳利用。在這篇短文中,有一個(gè)不同的視角:關(guān)注可以跨多個(gè)核心運(yùn)行的軟件。


  多核硬件體系結(jié)構(gòu)


  從硬件的角度來看,多核設(shè)備大致有兩種類型:同質(zhì)多核(其中有多個(gè)相同類型的核)和異質(zhì)多核(其中核的類型不同)。異構(gòu)設(shè)備可以包括一些相同的核心。


  要跨多個(gè)內(nèi)核運(yùn)行單個(gè)軟件,內(nèi)核必須相同(無論如何,從指令集的角度來看)。因此,需要一個(gè)同質(zhì)多核設(shè)備或異質(zhì)設(shè)備中的同質(zhì)“島”。


  對(duì)稱多處理


  構(gòu)建多核系統(tǒng)的一個(gè)原因是以節(jié)能的方式最大化計(jì)算能力。這是個(gè)人電腦設(shè)計(jì)師所采取的方法;多核處理器在筆記本電腦和臺(tái)式機(jī)系統(tǒng)中幾乎無處不在。嵌入式開發(fā)人員可能有同樣的目標(biāo)。最好的方法是使用支持對(duì)稱多處理(SMP)的操作系統(tǒng)。


  SMP操作系統(tǒng)將進(jìn)程分布在可用的內(nèi)核上。這通常是自動(dòng)的,但嵌入式開發(fā)人員可能需要執(zhí)行一些控制,并可能將某些應(yīng)用程序鎖定到特定的核心。進(jìn)程不“知道”它們正在不同的內(nèi)核上運(yùn)行;操作系統(tǒng)提供它們之間的通信和同步。多種實(shí)時(shí)操作系統(tǒng)(RTOS)的SMP版本可用;Linux還提供SMP變體。




  管理程序


  盡管嵌入式SMP操作系統(tǒng)提供了某種程度的控制,但嵌入式開發(fā)人員通常希望確保資源分配完全按照他們的喜好進(jìn)行配置。因此,另一種選擇是使用自己的操作系統(tǒng)實(shí)例配置每個(gè)核心,并且所有核心不必運(yùn)行相同的操作系統(tǒng)和應(yīng)用程序代碼。然后,在所有可以控制其操作(引導(dǎo)順序等)并提供內(nèi)核間(或操作系統(tǒng)間)通信的內(nèi)核上運(yùn)行虛擬機(jī)監(jiān)控程序。


  要獲得更大的靈活性


  到目前為止,我們已經(jīng)通過從系統(tǒng)中的單個(gè)(SMP)操作系統(tǒng)轉(zhuǎn)移到多個(gè)可能不同的操作系統(tǒng)實(shí)例來提高靈活性。但是,如果需要更大的靈活性,需要使用不同體系結(jié)構(gòu)的核心,該怎么辦?這取消了跨多核運(yùn)行代碼的選項(xiàng)–SMP操作系統(tǒng)或虛擬機(jī)監(jiān)控程序都需要一個(gè)同構(gòu)的多核環(huán)境。但是,還有另一種選擇:在每個(gè)核心上運(yùn)行多核框架(可能是基于OpenAMP的產(chǎn)品)。這種方法提供了核心間通信和生命周期管理。此外,可以選擇在“裸機(jī)”(即沒有操作系統(tǒng))上運(yùn)行應(yīng)用程序。


  結(jié)論


  在多核嵌入式系統(tǒng)上開發(fā)軟件是一項(xiàng)復(fù)雜的任務(wù)。嵌入式開發(fā)人員有必要考慮一些選項(xiàng)——相對(duì)簡(jiǎn)單性和完全靈活性之間的權(quán)衡。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部