滿足嵌入式系統(tǒng)應(yīng)用的多核處理器SoC設(shè)計(jì)
隨著嵌入式處理需求的快速增長,系統(tǒng)架構(gòu)正朝著多處理器設(shè)計(jì)的方向發(fā)展,以解決單處理器系統(tǒng)復(fù)雜度太高和計(jì)算能力不足的問題。憑借其高邏輯密度及高性能硬模塊,新一代FPGA已經(jīng)使功能強(qiáng)大的芯片多處理(CMP)解決方案成為現(xiàn)實(shí)。目前的挑戰(zhàn)在于如何在該解決方案的范疇內(nèi)快速完成設(shè)計(jì)的開發(fā)與創(chuàng)建。
賽靈思嵌入式開發(fā)套件(EDK)工具和IP具有很大的靈活性,用戶可以利用它們以FPGA邏輯為基礎(chǔ)設(shè)計(jì)出獨(dú)具特色的定制多處理解決方案,從而同時(shí)滿足價(jià)格和性能目標(biāo)要求。本文將主要介紹以PowerPC和MicroBlaze嵌入式處理器為基礎(chǔ)的賽靈思解決方案中的多處理概念。
應(yīng)用領(lǐng)域
性能和功能劃分是設(shè)計(jì)多處理器系統(tǒng)的主要?jiǎng)恿???偟膩碚f,多處理在以下這些常見場合中會發(fā)揮作用:
1. 多個(gè)獨(dú)立功能。設(shè)計(jì)可能需要應(yīng)對多個(gè)獨(dú)立的處理任務(wù)。解決這個(gè)問題的好方法是為每個(gè)處理任務(wù)創(chuàng)建獨(dú)立的專用處理模塊,并為每個(gè)處理模塊分配專用處理器和外設(shè)集。
2. 控制或數(shù)據(jù)層面卸載。常見情況是既有實(shí)時(shí)任務(wù)(計(jì)算或數(shù)據(jù)密集型),也有非實(shí)時(shí)任務(wù),從而可能導(dǎo)致單處理器解決方案無法做出及時(shí)的響應(yīng)。對于這種情況,您可以分配一個(gè)從處理器以便及時(shí)完成實(shí)時(shí)任務(wù),主處理器則完成其他常規(guī)任務(wù),并且充當(dāng)?shù)街鳈C(jī)系統(tǒng)的接口。主處理器同時(shí)也監(jiān)控從處理器。從處理器可能包含專用功能或接口,從而能夠滿足計(jì)算性能要求。相應(yīng)的例子包括網(wǎng)絡(luò)負(fù)載分擔(dān)、媒體處理以及安全算法等。
3. 接口處理。對于作為多接口之間的橋梁或開關(guān)的系統(tǒng),您可以分配一個(gè)從處理器用于處理每個(gè)接口上的數(shù)據(jù),而用一個(gè)或者多個(gè)主處理器處理更高級的橋接或者開關(guān)任務(wù)。
4. 數(shù)據(jù)流處理。對于數(shù)據(jù)流計(jì)算問題,您可以安排多個(gè)處理器以流水線的方式處理數(shù)據(jù)流。多處理器流水線的每一級都要在將數(shù)據(jù)傳到下一個(gè)處理器之前完成一部分計(jì)算任務(wù)。這是提高系統(tǒng)吞吐量的一種有效方式。
5. 可靠性和冗余度。您可以多次復(fù)制處理系統(tǒng)以提高可靠性和冗余度。
6. 對稱處理。傳統(tǒng)的對稱處理(SMP)是一種十分有用的解決方案,您可以利用它來提升那些不存在明確劃分邊界的應(yīng)用性能。一個(gè)具有SMP功能的OS層可以管理并行任務(wù),并且在多處理器之間自動(dòng)調(diào)度這些任務(wù)。然而,SMP使用模型不適用于賽靈思處理器,因?yàn)樗鼈內(nèi)狈?shí)現(xiàn)SMP所需的高速緩存相關(guān)性。
除了SMP場合,其他的所有應(yīng)用場合均適合賽靈思公司帶有EDK工具的FPGA的應(yīng)用。賽靈思處理解決方案的獨(dú)特之處在于,它可以針對應(yīng)用要求來靈活定制每個(gè)處理子系統(tǒng)。例如,并不是所有的處理器都需要一個(gè)高速緩存或者浮點(diǎn)單元。通過為特定處理器分配特定的功能,您可以創(chuàng)建一個(gè)能夠?qū)崿F(xiàn)所有設(shè)計(jì)目標(biāo)的專用解決方案。
簡單且可擴(kuò)展的系統(tǒng)架構(gòu)
正如您見到的那樣,有許多種使用模型適合多處理器使用。同時(shí)存在多種系統(tǒng)架構(gòu)的可能性。為某一應(yīng)用場合明確一種單純且可擴(kuò)展的拓?fù)浜图軜?gòu)是一件令人頭疼的事情,所以定義一個(gè)可以滿足大部分需求的基線架構(gòu)會將有所幫助。
圖1給出了一個(gè)雙內(nèi)核架構(gòu)。這個(gè)架構(gòu)展示了簡單且可擴(kuò)展的多處理器系統(tǒng)定義。您可以基于這個(gè)定義衍生出新的拓?fù)鋪響?yīng)對設(shè)計(jì)約束或挑戰(zhàn)。該架構(gòu)的主要概念如下:
圖1:雙處理器架構(gòu)
評論