在多處理器系統(tǒng)中將可執(zhí)行軟件圖像從主要處理器直接分散加載到一個或一個以上次要 ...的制作方法
【專利說明】在多處理器系統(tǒng)中將可執(zhí)行軟件圖像從主要處理器直接分散加載到一個或一個以上次要處理器
[0001 ] 分案申請的相關(guān)信息
[0002]本申請是分案申請。該分案申請的母案是申請日為2011年3月22日、申請?zhí)枮?01180014509.6、發(fā)明名稱為“在多處理器系統(tǒng)中將可執(zhí)行軟件圖像從主要處理器直接分散加載到一個或一個以上次要處理器”的發(fā)明專利申請案。
[0003]相關(guān)申請案的交叉參考
[0004]本申請案主張2010年3月22日以馬拉曼特(MALAMANT)等人的名義申請的第61/316,369號美國臨時專利申請案、2010年4月14日以古普塔(GUPTA)等人的名義申請的第61/324,035號美國臨時專利申請案、2010年4月14日以古普塔(GUPTA)等人的名義申請的第61/324,122號美國臨時專利申請案以及2010年4月19日以古普塔(GUPTA)等人的名義申請的第61/325,519號美國臨時專利申請案的權(quán)益,上述各申請案的揭示內(nèi)容以全文引用的方式明確地并入本文中。
技術(shù)領(lǐng)域
[0005]以下描述大體上涉及多處理器系統(tǒng),且更具體地說,涉及多處理器系統(tǒng),其中主要處理器耦合到存儲所述系統(tǒng)中的一個或一個以上其它處理器(本文中稱為“次要”處理器)的可執(zhí)行軟件圖像的非易失性存儲器,所述一個或一個以上其它處理器各自耦合到專用易失性存儲器,其中以經(jīng)分段格式(例如,使用直接分散加載過程)將所述可執(zhí)行軟件圖像高效地從主要處理器傳送到次要處理器。
【背景技術(shù)】
[0006]處理器執(zhí)行軟件代碼以執(zhí)行操作。處理器可需要待執(zhí)行以用于引導(dǎo)的某一軟件代碼,通常稱為引導(dǎo)代碼。在多處理器系統(tǒng)中,每一處理器可需要相應(yīng)的引導(dǎo)代碼來用于引導(dǎo)。作為一實例,在包含應(yīng)用處理器和調(diào)制解調(diào)器處理器的智能電話裝置中,處理器中的每一者可具有相應(yīng)的引導(dǎo)代碼來用于引導(dǎo)。
[0007]大量的并入有多個處理器(例如與單獨的調(diào)制解調(diào)器處理器芯片集成的獨立應(yīng)用處理器芯片)的裝置(例如智能電話)上存在一個問題??扉W/非易失性存儲器組件可用于處理器中的每一者,因為每一處理器具有可執(zhí)行圖像和文件系統(tǒng)的非易失性存儲器(例如,持久存儲裝置)。舉例來說,可將處理器的引導(dǎo)代碼存儲到處理器的相應(yīng)非易失性存儲器(例如,快閃存儲器、只讀存儲器(ROM)等),且在加電后,處理器即刻從其相應(yīng)的非易失性存儲器加載引導(dǎo)代碼軟件以供執(zhí)行。因此,在這種類型的架構(gòu)中,不要求將可執(zhí)行軟件(例如處理器的引導(dǎo)代碼)從系統(tǒng)中的另一處理器加載到所述處理器。
[0008]然而,將專用非易失性存儲器添加到每一處理器會占用較多電路板空間,從而增加電路板大小。一些設(shè)計可使用隨機(jī)存取存儲器(RAM)與快閃存儲器的組合式芯片(其中RAM和快閃裝置堆疊為一個封裝以減小大小)以減小板大小。雖然多芯片封裝解決方案確實在某種程度上減小了所需的電路板占用面積,但所述方案可增加成本。
[0009]在一些多處理器系統(tǒng)中,可能要求將軟件從一個處理器加載到另一處理器。舉例來說,假設(shè)多處理器系統(tǒng)中的第一處理器負(fù)責(zé)將用于所述系統(tǒng)中的一個或一個以上其它處理器的引導(dǎo)代碼存儲到其非易失性存儲器;其中在加電后,第一處理器的任務(wù)是將相應(yīng)的引導(dǎo)代碼加載到其它處理器,這與此引導(dǎo)代碼駐存在其它處理器的非易失性存儲器中形成對比。在這種類型的系統(tǒng)中,將軟件(例如,引導(dǎo)圖像)從第一處理器下載到其它處理器(例如,下載到其它處理器的易失性存儲器),且其后接收處理器用所下載的圖像來引導(dǎo)。
[0010]通常,待加載的軟件圖像為二進(jìn)制多片段式圖像。舉例來說,軟件圖像可包含標(biāo)頭,接著是代碼的多個片段。當(dāng)將軟件圖像從外部裝置(例如,從另一處理器)加載到目標(biāo)裝置(例如,目標(biāo)處理器)時,可存在中間步驟,其中將二進(jìn)制多片段式圖像傳送到系統(tǒng)存儲器中,且接著稍后由引導(dǎo)加載程序傳送到目標(biāo)位置中。
[0011]在其中將軟件圖像從第一“主要”處理器加載到目標(biāo)“次要”處理器上的系統(tǒng)中,執(zhí)行此加載的一種方式是分配每一包被接收到其中的臨時緩沖器,且每一包將具有相關(guān)聯(lián)的包標(biāo)頭信息以及有效負(fù)載。在此情況下,有效負(fù)載將為實際圖像數(shù)據(jù)。從臨時緩沖器,可在有效負(fù)載上進(jìn)行一些處理,且接著有效負(fù)載將被拷貝到最終目的地。臨時緩沖器將為系統(tǒng)存儲器中的某一地方,例如內(nèi)部隨機(jī)存取存儲器(RAM)或雙數(shù)據(jù)速率(DDR)存儲器中。
[0012]因此,在使用中間緩沖器的情況下,將正從主要處理器下載到次要處理器的數(shù)據(jù)拷貝到中間緩沖器中。以此方式,緩沖器用于從主要處理器接收圖像數(shù)據(jù)的部分,且圖像數(shù)據(jù)可從緩沖器擴(kuò)散到次要處理器的存儲器(例如,易失性存儲器)中。
[0013]主要處理器及其存儲用于次要處理器的引導(dǎo)圖像的非易失性存儲器可實施于與上面實施次要處理器的芯片不同的芯片上。因此,為了將數(shù)據(jù)從主要處理器的非易失性存儲器傳送到次要處理器(例如,傳送到次要處理器的易失性存儲器),可使用基于包的通信,其中包標(biāo)頭包含于傳送到次要處理器的每一包中。所述包存儲在中間緩沖器中,且接著需要將對所接收包的一些處理用于待存儲在需要去往的地方(例如,次要處理器的易失性存儲器內(nèi))的所述數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0014]本發(fā)明提供一種多處理器系統(tǒng)。所述系統(tǒng)包含次要處理器,所述次要處理器具有系統(tǒng)存儲器和用于接收可執(zhí)行軟件圖像的至少一部分的硬件緩沖器。所述次要處理器包括用于將所述可執(zhí)行軟件圖像從所述硬件緩沖器直接加載到所述系統(tǒng)存儲器的分散加載程序控制器。所述系統(tǒng)還包含主要處理器,其與存儲器耦合。所述存儲器存儲用于所述次要處理器的所述可執(zhí)行軟件圖像。所述系統(tǒng)進(jìn)一步包含接口,所述接口以通信方式耦合所述主要處理器和所述次要處理器,所述可執(zhí)行軟件圖像由所述次要處理器經(jīng)由所述接口接收。
[0015]本發(fā)明還提供一種方法。所述方法包含在次要處理器處經(jīng)由芯片間通信總線從主要處理器接收用于所述次要處理器的可執(zhí)行軟件圖像的圖像標(biāo)頭,所述可執(zhí)行軟件圖像存儲在耦合到所述主要處理器的存儲器中。所述可執(zhí)行軟件圖像包括所述圖像標(biāo)頭和至少一個數(shù)據(jù)片段。所述方法還包含通過所述次要處理器處理所述圖像標(biāo)頭,以確定所述次要處理器耦合到的系統(tǒng)存儲器內(nèi)的至少一個位置以存儲所述至少一個數(shù)據(jù)片段。所述方法還包含在所述次要處理器處經(jīng)由所述芯片間通信總線從所述主要處理器接收所述至少一個數(shù)據(jù)片段。更進(jìn)一步,所述方法包含通過所述次要處理器將所述至少一個數(shù)據(jù)片段直接加載到所述系統(tǒng)存儲器內(nèi)的所述所確定的至少一個位置。
[0016]本發(fā)明提供一種設(shè)備。所述設(shè)備包含用于在次要處理器處經(jīng)由芯片間通信總線從主要處理器接收用于所述次要處理器的可執(zhí)行軟件圖像的圖像標(biāo)頭的裝置,所述可執(zhí)行軟件圖像存儲在耦合到所述主要處理器的存儲器中。所述可執(zhí)行軟件圖像包括所述圖像標(biāo)頭和至少一個數(shù)據(jù)片段。所述設(shè)備還包含用于通過所述次要處理器處理所述圖像標(biāo)頭以確定所述次要處理器耦合到的系統(tǒng)存儲器內(nèi)的至少一個位置以存儲所述至少一個數(shù)據(jù)片段的裝置。所述設(shè)備進(jìn)一步包含用于在所述次要處理器處經(jīng)由所述芯片間通信總線從所述主要處理器接收所述至少一個數(shù)據(jù)片段的裝置。更進(jìn)一步,所述設(shè)備包含用于通過所述次要處理器將所述至少一個數(shù)據(jù)片段直接加載到所述系統(tǒng)存儲器內(nèi)的所述所確定的至少一個位置的裝置。
[0017]本發(fā)明提供一種多處理器系統(tǒng)。所述系統(tǒng)包含主要處理器,所述主要處理器與第一非易失性存儲器耦合。所述第一非易失性存儲器專門耦合到所述主要處理器,且存儲用于所述主要處理器的文件系統(tǒng)以及用于所述主要處理器和次要處理器的可執(zhí)行圖像。所述系統(tǒng)還包含次要處理器,所述次要處理器與第二非易失性存儲器耦合。所述第二非易失性存儲器專門耦合到所述次要處理器,且存儲用于所述次要處理器的配置參數(shù)和文件系統(tǒng)。所述系統(tǒng)進(jìn)一步包含接口,所述接口以通信方式耦合所述主要處理器和所述次要處理器,可執(zhí)行軟件圖像由所述次要處理器經(jīng)由所述接口接收。
[0018]本發(fā)明提供一種多處理器系統(tǒng)。所述系統(tǒng)包含主要處理器,所述主要處理器與第一非易失性存儲器耦合。所述第一非易失性存儲器專門耦合到所述主要處理器,且存儲用于所述主要和次要處理器的可執(zhí)行圖像和文件系統(tǒng)。所述系統(tǒng)還包含次要處理器。所述系統(tǒng)進(jìn)一步包含接口,所述接口以通信方式耦合所述主要處理器和所述次要處理器,可執(zhí)行軟件圖像由所述次要處理器經(jīng)由所述接口接收。
[0019]本發(fā)明提供一種方法,所述方法包含從耦合到所述主要處理器的存儲器發(fā)送用于所述次要處理器的可執(zhí)行軟件圖像,經(jīng)由以通信方式耦合主要處理器與次要處理器的接口來發(fā)送所述可執(zhí)行軟件圖像。所述方法還包含在所述次要處理器處接收所