專利名稱:多處理器系統(tǒng)以及多處理器系統(tǒng)啟動方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及微處理技術(shù)領(lǐng)域,特別涉及一種多處理器系統(tǒng)以及多 處理器系統(tǒng)啟動方法。
背景技術(shù):
在多々某體、語音通信等領(lǐng)域的處理器中,目前主流的是ARM芯片內(nèi)核, ARM系統(tǒng)的通用32位RISC孩i處理器包括多個產(chǎn)品,目前許多ARM內(nèi)核的處 理器,有豐富的外設接口與啟動ROM的設置,處理器可以有兩種方式啟動,
在外啟動方式下,ARM從外部程序存儲器(一般是Flash存儲器),取 指令執(zhí)行相應的應用;在內(nèi)啟動方式下,ARM運行片上啟動ROM中固化的一 個128B啟動程序,完成器件初始化,配置通信接口將用戶程序存儲于片內(nèi) SRAM中,然后跳轉(zhuǎn)至片內(nèi)SRAM起始處開始執(zhí)行下載的用戶程序,為進一步 的調(diào)試、代碼下載、外啟動Flash存儲器編程提供途徑。
啟動代碼從系統(tǒng)上電開始接管CPU,依次需要負責初始化CPU在各種模 式下的堆棧空間,設定CPU的內(nèi)存映射、對系統(tǒng)的各種控制寄存器做初始化、 對CPU的外部存儲器進行初始化、設定各外圍設備的基地址、創(chuàng)建正確的中 斷向量表、為C代碼執(zhí)行創(chuàng)建ZI (零創(chuàng)建)區(qū),然后進入到C代碼,在C代 碼中繼續(xù)對時鐘、通信端口進行初始化,然后打開系統(tǒng)的中斷允許位,進入 到應用代碼中執(zhí)行,執(zhí)行期間響應各種不同的中斷信號并調(diào)用預先設置好的 中斷服務程序處理這些中斷。
目前多處理器系統(tǒng)的啟動方式為分別各自啟動,啟動完成后再通過UART、 USB、 DPRAM等方式進行通信。以處理器一和處理器二為例,處理器一從外部 程序存儲器(一般是NAND Flash存儲器)取指令執(zhí)行相應的應用或者啟動ROM中固化的一個啟動程序,完成器件初始化,配置串口或者其他通信方式 接收用戶程序并存儲于片內(nèi)SRAM中,然后跳轉(zhuǎn)到片內(nèi)SRAM起始處開始執(zhí)行 下載的用戶程序,進而為調(diào)試、代碼下載、外啟動Flash存儲器編程提供途 徑。同理處理器二也是按照同樣的次序進行啟動。
在處理器一和處理器二啟動完成后,執(zhí)行各自的任務,在需要進行數(shù)據(jù) 交換或者控制時可通過通用異步收發(fā)器(Universal Asynchronous Receiver/Tra扁itter,以下簡稱UART)通信、通用串行總線(Universal Serial Bus,以下簡稱USB )通信或雙口隨機存儲器(Dual Port Random Acess Memory,以下簡稱DPRAM)通信。
發(fā)明人在是實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有技術(shù)至少存在如下的技術(shù)問 題現(xiàn)有技術(shù)中的多處理器系統(tǒng)中多個處理器同時啟動的方式,需要為每個 處理器設置單獨的程序存儲器(如NAND Flash),使得多處理器系統(tǒng)的結(jié)構(gòu) 復雜,成本高。
發(fā)明內(nèi)容
本發(fā)明實施例提供了 一種多處理器系統(tǒng)以及多處理器系統(tǒng)啟動方法,能
夠降低多處理器系統(tǒng)的復雜度,降低成本。
本發(fā)明實施例才是供了一種多處理器系統(tǒng),包括 第 一初始化程序存儲模塊,用于存儲第 一初始化程序; 第一存4諸4莫塊,用于存儲第二初始化程序、第一程序和第二程序; 第一處理器,與所述第一存儲模塊通信連接,用于根據(jù)所述第二初始化
程序進行初始化,并從所述第 一存儲模塊中獲取所述第 一程序和第二程序; 第二存儲模塊,用于存儲第一處理器啟動后從第一存儲模塊獲取所的述
第一程序和第二程序;
第二處理器,與所述第一初始化程序存儲模塊及所述第二存儲模塊連接,
用于根據(jù)所述第一初始化程序進行初始化,并執(zhí)行所述第二存儲模塊中存儲
的所述第二程序;
6其中,所述第一處理器還用于執(zhí)行所述第二存儲模塊中存儲的所述第一 程序。
本發(fā)明實施例還提供了一種多處理器系統(tǒng)啟動方法,包括
第一處理器和第二處理器獲取初始化程序并執(zhí)行;
第 一處理器獲取第 一存儲模塊存儲的所述第 一處理器的第 一程序以及所 述第二處理器的第二程序,并將所述第一程序和第二程序存儲到第二存儲模 塊中;
第 一處理器和第二處理器分別才丸行存儲在第二存儲;溪塊中的第 一程序和 第二程序。
本發(fā)明實施例提供的多處理器系統(tǒng)以及多處理器系統(tǒng)啟動方法,其中的 多處理器系統(tǒng)包括第一處理器和第二處理器,且在第一處理器上設置的第一 存儲模塊存儲有第 一處理器的初始化程序、第 一處理器的第 一程序以及第二 處理器的第二程序,而不需要在第二處理器上設置存儲第二程序的存儲模塊, 能夠降低多處理器系統(tǒng)的復雜度,節(jié)約成本;本發(fā)明實施例還提供了相應的 多處理器啟動方法,由第一處理器獲取第一處理器和第二處理器的執(zhí)行的程 序,便于實現(xiàn)對多處理器系統(tǒng)進行統(tǒng)一管理。
圖1為本發(fā)明多處理器系統(tǒng)實施例一的結(jié)構(gòu)示意圖2為本發(fā)明多處理器系統(tǒng)實施例二的結(jié)構(gòu)示意圖3為本發(fā)明多處理器系統(tǒng)實施例三的結(jié)構(gòu)示意圖4為本發(fā)明多處理器系統(tǒng)啟動方法實施例的流程示意圖5為本發(fā)明第一具體實施例中的多處理器系統(tǒng)的結(jié)構(gòu)示意圖6為本發(fā)明第一具體實施例中多處理器系統(tǒng)啟動方法實施例的流程示
意圖7為本發(fā)明第二具體實施例中的多處理器系統(tǒng)的結(jié)構(gòu)示意圖;圖8為本發(fā)明第二具體實施例中多處理器系統(tǒng)啟動方法實施例的流程示
意圖9為本發(fā)明技術(shù)方案應用到智能手機上實施例的結(jié)構(gòu)示意圖。
具體實施例方式
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
本發(fā)明實施例提供了一種多處理器系統(tǒng),圖1為本發(fā)明多處理器系統(tǒng)實施 例一的結(jié)構(gòu)示意圖,如圖1所示,多處理器系統(tǒng)包括第一處理器11、第二處 理器l2、第一初始化程序存儲才莫塊13、第一存儲模塊14和第二存儲^t塊15, 其中第 一初始化程序存儲模塊13用于存儲第 一初始化程序;第 一存儲才莫塊14 用于存^f諸第二初始化程序、第一程序和第二程序;第一處理器11與所述第一 存儲才莫塊14通信連接,用于根據(jù)所述第二初始化程序進行初始化,并從所述 第一存儲模塊14中獲取第一程序和第二程序;第二存儲模塊15用于存儲第一 處理器11啟動后從第一存儲才莫塊14獲取的第一程序和第二程序;第二處理器 12與第一初始化程序存儲模塊13及第二存儲模塊15連接,用于根據(jù)所述第 一初始化程序進行初始化,并執(zhí)行第二存儲模塊15中存儲的所述第二程序; 其中第一處理器11還用于執(zhí)行第二存儲模塊15中存儲的所述第一程序。
本實施例提供的多處理器系統(tǒng),設置一個第一存儲模塊,該存儲模塊存 儲有第一處理器的初始化程序、第一程序以及第二處理器的第二程序,且從 處理器不單獨外設存儲第二程序的存儲模塊,上述的第 一程序和第二程序可 以只包括系統(tǒng)程序,也可以包括系統(tǒng)程序和用戶程序,即將第一處理器和第 二處理器的程序都存儲到與第一處理器連接的第一存儲模塊,而不是為每個 處理器都設置存儲系統(tǒng)程序和用戶程序的存儲模塊,能夠降低多處理器系統(tǒng) 的復雜度,降低成本。
如圖2所示,上述實施例中的第二存儲模塊15可以分為程序存儲器151 和仲裁電路152,上述的程序存儲器151用于存儲第一處理器11啟動后從第一存儲模塊14獲取的第一程序以及第二程序,即第一處理器11和第二處理
器12共用一個程序存儲器151。仲裁電路152用于控制第一處理器11執(zhí)行 所述程序存儲器151存儲的所述第一程序;控制所述第二處理器12執(zhí)行所述 程序存儲器151中的存儲的所述第二程序。這種實施方式可以使第一處理器 和第二處理器共用一個程序存儲器,進一步降低系統(tǒng)復雜度,節(jié)約成本。
另外還有另外一種實施方式,如圖3所示,第二存儲模塊15分為第一程 序存儲器153和第二程序存儲器154,多處理器系統(tǒng)還包括通信模塊16,上 述的第一程序存儲器153與所述第一處理器11連接,用于存儲所述第一處理 器11啟動后從第一存儲模塊14獲取的所述第一程序,以供所述第一處理器 ll在啟動后執(zhí)行;第二程序存儲器154與所述第二處理器12連接,用于存 儲所述第一處理器11啟動后從第一存儲模塊14獲取的所述第二程序,以供 所述第二處理器在啟動后執(zhí)行。
第一處理器11在啟動后獲取到第二處理器12的第二程序后,通過通信 模塊16發(fā)送給第二程序存儲器154,即通信模塊16用于將第一處理器獲取 的第二處理器的第二程序傳送給第二處理器以存儲到第二處理器的第二程序 存儲器。
本實施例中的程序存儲器、第一程序存儲器以及第二程序存儲器可以為 同步動態(tài)隨才幾存儲器(Synchronization Dynamic RAM,以下簡稱SDRAM)或 者雙倍數(shù)據(jù)速率(Double Data Rate,以下簡稱DDR) SDRAM。
上述的通信;漠塊可以包括USB接口 、 UART或者DPR AM,在<吏用DPRAM進行 通信時,可以提高數(shù)據(jù)傳輸速率,滿足高速數(shù)據(jù)傳輸?shù)囊蟆?br>
與上述多處理器系統(tǒng)相應的,本發(fā)明實施例還提供了上述多處理器系統(tǒng) 啟動的方法。
圖4為本發(fā)明多處理器系統(tǒng)啟動方法實施例的流程示意圖,如圖4所示, 包括如下步驟
步驟101、第一處理器和第二處理器獲取初始化程序并執(zhí)行;步驟102、第一處理器獲取第一存儲模塊存儲的所述第一處理器的第一 程序以及所述第二處理器的第二程序,并將所述第 一程序和第二程序存儲到
第二存儲模塊中;
步驟103、第一處理器和第二處理器分別執(zhí)行存儲在第二存儲模塊中的
第一程序和第二程序。
本實施例提供的多處理器系統(tǒng)啟動方法,由第一處理器獲取第一存儲模 塊存儲的第一處理器的第一程序,以及第二處理器的第二程序,上述第一程 序和第二程序可以為系統(tǒng)程序,也可以為系統(tǒng)程序和用戶程序,并將上述第
一程序和第二程序存儲到第二存儲模塊中,由第 一處理器和第二處理器分別 執(zhí)行第一程序和第二程序,能夠針對多處理器系統(tǒng)中只設置一個存儲第一處 理器以及第二處理器的程序的存儲模塊,而第二處理器不需單獨外設存儲第 二程序的存儲沖莫塊的情況,提供一種啟動方法,同時由第一處理器獲取第二 處理器的第二程序,能夠?qū)崿F(xiàn)對系統(tǒng)的統(tǒng)一管理。
在上述實施例中,第一處理器和第二處理器獲取初始化程序并執(zhí)行可以 具體為第 一處理器從內(nèi)部只讀存儲器或外部程序存儲器中獲取初始化程序并 執(zhí)行,第二處理器從內(nèi)部只讀存儲器或者外部電可擦除可編程只讀存儲器中 獲取初始化程序并執(zhí)4亍。
第 一處理器獲取第 一存儲才莫塊存儲的所述第 一處理器的第 一程序以及所 述第二處理器的第二程序可以具體為第 一處理器從外設的外部程序存儲器中 獲取所述第 一處理器的第 一程序以及所述第二處理器的第二程序,其中的外
部存儲器可以為NAND Flash。
上述實施例中將第一程序和第二程序存儲到第二存儲模塊中包括將所 述第一處理器的第一程序存儲到第一處理器的片內(nèi)隨機存儲器中,并將所述 第二處理器的第二程序發(fā)送給第二處理器以存儲到第二處理器的片內(nèi)隨才踏 儲器中;或者將所述第一處理器的第一程序以及所述第二處理器的第二程序 存儲到第一處理器和第二處理器共用的片內(nèi)隨機存儲器中。并且在第一處理器和第二處理器共用片內(nèi)隨才幾存儲器時,所述第一處理 器和第二處理器分別執(zhí)行存儲在第二存儲模塊中的第 一程序和第二程序包
括通過仲裁電i^t空制第一處理器執(zhí)行存儲在片內(nèi)隨機存儲器中的第一程序; 控制第二處理器執(zhí)行存儲在片內(nèi)隨機存儲器中的第二程序。本實施例中的片
內(nèi)隨機存儲器可以為SDRAM或者DDR SDRAM。
第 一處理器將第二處理器的第二程序發(fā)送給所述第二處理器可以具體為 第一處理器通過USB接口 、 UART或者DPRAM將第二處理器的第二程序發(fā)送給 所述第二處理器。
本發(fā)明上述實施例提供的多處理器系統(tǒng),可以只包括一個用于存儲系統(tǒng) 程序和用戶程序(第一程序或第二程序)的存儲模塊,該模塊與第一處理器 連接,而其他的第二處理器不與上述存儲模塊連接,在第一處理器完成初始 化后,獲取第一處理器以及第二處理器的系統(tǒng)程序和用戶程序,并可將上述 的系統(tǒng)程序和用戶程序存儲到第 一處理器和第二處理器共用的片內(nèi)隨機存儲 器,即第一處理器和第二處理器在完成初始化后均跳轉(zhuǎn)到上述片內(nèi)隨機存儲 器執(zhí)行系統(tǒng)程序和用戶程序;也可以是第 一處理器將獲取的第 一處理器的系 統(tǒng)程序和用戶程序存儲第一處理器的片內(nèi)隨才踏儲器,并將第二處理器的系 統(tǒng)程序和用戶程序發(fā)送給第二處理器以存儲到其設置的片內(nèi)隨機存儲器中, 隨后第一處理器和第二處理器分別跳轉(zhuǎn)到各自的片內(nèi)隨機存儲器中執(zhí)行系統(tǒng) 程序和用戶程序。
本發(fā)明第一具體實施例針對第一處理器和第二處理器分別包括各自的片 內(nèi)隨機存儲器中的情形,圖5為本發(fā)明第一具體實施例中的多處理器系統(tǒng)的 結(jié)構(gòu)示意圖,如圖5所示,多處理器系統(tǒng)包括第一處理器21和第二處理器 22,其中第一處理器21設置有一個存儲模塊23,即NAND Flash,用于存儲主 處理器的初始化程序、系統(tǒng)程序和用戶程序以及第二處理器的系統(tǒng)程序和用 戶程序,而第二處理器22選擇性的設置一個EEPR0M24,該EEPR0M24用于存 儲第二處理器22的初始化程序,另外對于上述第一處理器和第二處理器的初始化程序也可以選擇設置在處理器內(nèi)部的ROM中,此外還為第一處理器和第 二處理器分別設置第一片內(nèi)隨才踏儲器25和第二片內(nèi)隨機存儲器26,該片 內(nèi)存儲器可以使SDRAM或者DDMM,用于分別存儲和執(zhí)行下載的第一處理器 和第二處理器的系統(tǒng)程序以及用戶程序,另外在第一處理器和第二處理器之 間設置通信才莫塊27,例如可以i殳置USB接口 , UART串口 ,或者如VME、 Compact PCI總線等其他的標準總線,或者是利用共享存儲器進行通信,即多個處理 器將需要交換的數(shù)據(jù)存儲到都可以訪問的存儲體中, 一個處理器將數(shù)據(jù)寫入 到存儲體中,另一個處理器將數(shù)據(jù)時分讀出,這種方式可以實現(xiàn)處理器總線 的隔離,使多個處理器可以有效地交換數(shù)據(jù),實現(xiàn)數(shù)據(jù)共享。本實施例中使 用DPRAM進行通信,CEL和CER為兩個片選信號4I:口 。
圖6為本發(fā)明第一具體實施例中多處理器系統(tǒng)啟動方法實施例的流程示 意圖,如圖6所示,包括如下步驟
步驟201、第一處理器從外部程序存儲器(如NAND Flash存儲器)獲取 初始化程序并執(zhí)行,完成器件初始化,配置接口及相關(guān)寄存器。第二處理器 可以啟動內(nèi)部ROM中固化的一個啟動程序,如果內(nèi)部沒有相關(guān)配置,則可通 過外加EEPROM完成器件的初始化,配置外部4^口,初始化CPU在各種纟莫式下 的堆棧空間、設定CPU內(nèi)存映射、對系統(tǒng)的各種控制寄存器進行初始化、對 CPU的外部存儲器進行初始化、設定個外圍設備的基地址、創(chuàng)建正確的中斷 向量表;
步驟202、第一處理器/人NAND Flash中獲取第一處理器的系統(tǒng)程序和用 戶程序以及第二處理器的系統(tǒng)程序和用戶程序,并將第一處理器的系統(tǒng)程序 和用戶程序下載到第一處理器的第一片內(nèi)隨機存儲器,即SDRAM或者DDR SDRAM中;將第二處理器的系統(tǒng)程序和用戶程序經(jīng)過UART、 USB或者DPRAM 傳送到第二處理器的第二片內(nèi)隨才4儲器,即SDRAM或者DDR SDRAM中;
步驟203、第一處理器和第二處理器在啟動完畢,完成各自的初始化配 置,并將各自的系統(tǒng)程序和用戶程序下載到各自的SDRAM或DDR SDRAM中后,第一處理器和第二處理器跳轉(zhuǎn)到各自SDRAM或DDR SDRAM的起始處開始執(zhí)行 下載的系統(tǒng)程序和用戶程序,完成相應任務,并可通過UART、 USB或者DPRAM 等協(xié)議進行數(shù)據(jù)通信。
本實施例中通過減少一個NAND Flash芯片的設計方式,能夠達到節(jié)約產(chǎn) 品成本的目的,另外相對于傳統(tǒng)的啟動方式,可以直接由第一處理器控制第 二處理器的系統(tǒng)程序和用戶程序代碼,而不需要兩個處理器各自下載系統(tǒng)程 序和用戶程序,可以配合硬件系統(tǒng)的優(yōu)化設計,在數(shù)據(jù)傳輸上,由于DPRAM 的應用,數(shù)據(jù)傳輸速率大大增加,可以滿足高速數(shù)據(jù)傳輸?shù)囊蟆?br>
圖7為本發(fā)明第二具體實施例中的多處理器系統(tǒng)的結(jié)構(gòu)示意圖,如圖7 所示,多處理器系統(tǒng)包括第一處理器31和第二處理器32,其中第一處理器 31設置有一個存儲模塊33,即NAND Flash,用于存儲第一處理器的初始化程 序、系統(tǒng)程序和用戶程序以及第二處理器的系統(tǒng)程序和用戶程序,而第二處 理器32選擇性的設置一個EEPROM34,該EEPROM34用于存儲第二處理器32 的初始化程序,另外對于上述第一處理器和第二處理器的初始化程序也可以 選擇設置在處理器內(nèi)部的ROM中,此外還可以第一處理器和第二處理器共用 一個片內(nèi)隨才踏儲器35,該片內(nèi)存儲器可以使SDRAM或者DDR SDRAM,另外 還設置有仲裁電路36,該仲裁電路用于控制第一處理器和第二處理器分別執(zhí) 行各自存儲在片內(nèi)隨M儲器35中的用戶代碼,另外在第一處理器和第二處 理器之間設置通信才莫塊37,例如可以設置USB接口, UART串口,或者如VME、 Compact PCI總線等其他的標準總線,或者是利用共享存儲器進行通信,例 如醒AM。
圖8為本發(fā)明第二具體實施例中多處理器系統(tǒng)啟動方法實施例的流程示 意圖,如圖8所示,包括如下步驟
步驟301、第一處理器從外部程序存儲器(如NAND Flash存儲器)獲取 初始化程序并執(zhí)行,完成器件初始化,配置接口及相關(guān)寄存器。第二處理器 可以啟動內(nèi)部ROM中固化的一個啟動程序,如果內(nèi)部沒有相關(guān)配置,則可通
13過外加EEPROM完成器件的初始化,配置外部接口,初始化CPU在各種模式下 的堆棧空間、設定CPU內(nèi)存映射、對系統(tǒng)的各種控制寄存器進行初始化、對 CPU的外部存儲器進行初始化、設定個外圍設備的基地址、創(chuàng)建正確的中斷 向量表;
步驟302、第一處理器從NAND Flash中獲取第一處理器的系統(tǒng)程序和用 戶程序以及第二處理器的系統(tǒng)程序和用戶程序,并將其下載到第一處理器和 第二處理器共用的片內(nèi)隨fe^儲器中,即SDRAM或者DDR SDRAM中;
步驟303、第一處理器和第二處理器在啟動完畢,完成各自的初始化配 置,并將其系統(tǒng)程序和用戶程序下載到同一個的SDRAM或DDR SDRAM中后, 第一處理器和第二處理器可以通過仲裁電路來執(zhí)行SDRAM或DDR SDRAM中各 自的系統(tǒng)程序和用戶程序代碼,完成相應任務,并且可以通過UART、 USB和 DPRAM等協(xié)議進行數(shù)據(jù)通信,仲裁電路可以通過選用芯片廠商的數(shù)據(jù)總線切 換芯片來完成總線的切換,也可以通過搭建總線多路接口電路實現(xiàn)。本實施 例中通過減少NAND Flash芯片和SDRAM/或DDR SDRAM的設計方式,能夠達 到節(jié)約產(chǎn)品成本的目的,另外,可以直接由第一處理器控制第二處理器的用 戶程序4戈碼,通過仲裁電路共享一個SDRAM或DDR SDRAM, /人而實現(xiàn)對系統(tǒng) 的優(yōu)化,在數(shù)據(jù)傳輸上,由于DPRAM的應用,數(shù)據(jù)傳輸速率大大增加,可以 滿足高速數(shù)據(jù)傳輸?shù)囊蟆?br>
本發(fā)明上述實施例提供的多處理器系統(tǒng)可以應用在智能手機上,圖9為 本發(fā)明技術(shù)方案應用到智能手機上實施例的結(jié)構(gòu)示意圖,如圖9所示,在目 前智能手機的設計中,包括應用處理器(AP側(cè))和基板處理器(MODEM側(cè)), 應用處理器主要完成應用程序的執(zhí)行和多媒體任務的處理,例如利用GPU控 制LCD、 WiFi、 GPS、藍牙(Bluetooth)和照相機(Camera)等應用;基板 處理器主要完成話筒(Speaker) 、 Headset、 4建盤(Key Pad )以及射頻(RF ) 通信功能。在現(xiàn)有技術(shù)中為每一個處理器都設置用戶程序存儲模塊的勤出上, 即都設置NAND Flash,而在本發(fā)明實施中基板處理器不設置NAND Flash,而^義為應用處理器設置NAND Flash,該NAND Flash中存儲有基板處理器和應 用處理器的應用程序,啟動時在基板處理器和應用處理器都完成初始化后, 應用處理器從NAND Flash中獲取應用程序,將應用處理器的用戶程序下載到 應用處理器的SDRAM中,將基板處理器的用戶程序下載到基板處理器的SDRAM 中,之后應用處理器和基板處理器跳轉(zhuǎn)到各自的SDRAM中執(zhí)行應用程序。另 外也可以是基板處理器和應用處理器共用一個SDRAM,通過設置仲裁電路來 控制基板處理器和應用處理器執(zhí)行各自的代碼。另外上述實施例中也可以將 從NAND Flash設置在J4^處理器上。
上述實施例中的多是以包括兩個處理器的多處理器系統(tǒng)為例,即一個第 一處理器和一個第二處理器,另外也可以是包括三個或三個以上的第二處理 器的情況,只需選擇其中一個處理器作為第一處理器,在第一處理器上設置 用戶程序存儲模塊,系統(tǒng)啟動時,由第一處理器獲取各個第二處理器的用戶 程序,并將其發(fā)送給各個第二處理器。
本發(fā)明實施例提供的多處理器系統(tǒng)以及多處理器系統(tǒng)啟動方法,其中的多 處理器系統(tǒng)包括第一處理器和第二處理器,其中的第二處理器可以為多個,且 僅在第 一處理器上設置用戶程序存儲才莫塊,在該模塊中存儲第 一處理器和第二 處理器的用戶程序,從而不必為每個處理器設置用戶程序存儲才莫塊,能夠減小 多處理器系統(tǒng)的復雜度,P爭低成本,同時還提供了一種多處理器啟動方法,該 啟動方法能夠針對上述多處理器系統(tǒng)進4亍啟動,同時可實現(xiàn)由第一處理器控制 其他第二處理器的用戶程序,實現(xiàn)統(tǒng)一管理。并進一步的可選擇〗吏用DPRAM作 為通信模塊,能夠提高數(shù)據(jù)傳輸速率,滿足數(shù)據(jù)高速傳輸?shù)囊蟆?br>
最后應說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其進 行限制,盡管參照較佳實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技 術(shù)人員應當理解其依然可以對本發(fā)明的技術(shù)方案進行修改或者等同替換, 而這些修改或者等同替換亦不能使修改后的技術(shù)方案脫離本發(fā)明技術(shù)方案的 并奮4申和范圍。
權(quán)利要求
1、一種多處理器系統(tǒng),其特征在于,包括第一初始化程序存儲模塊,用于存儲第一初始化程序;第一存儲模塊,用于存儲第二初始化程序、第一程序和第二程序;第一處理器,與所述第一存儲模塊通信連接,用于根據(jù)所述第二初始化程序進行初始化,并從所述第一存儲模塊中獲取所述第一程序和第二程序;第二存儲模塊,用于存儲第一處理器啟動后從第一存儲模塊獲取的所述第一程序和第二程序;第二處理器,與所述第一初始化程序存儲模塊及所述第二存儲模塊連接,用于根據(jù)所述第一初始化程序進行初始化,并執(zhí)行所述第二存儲模塊中存儲的所述第二程序;其中,所述第一處理器還用于執(zhí)行所述第二存儲模塊中存儲的所述第一程序。
2、 根據(jù)權(quán)利要求l所述的多處理器系統(tǒng),其特征在于,所述第二存儲模 塊包括程序存儲器,用于存儲所述第一處理器啟動后從所述第一存儲模塊獲取 的所述第一處理器的第一程序以及所述第二處理器的第二程序;仲裁電路,用于控制所述第一處理器執(zhí)行所述程序存儲器存儲的所述第 一程序;控制所述第二處理器執(zhí)行所述程序存儲器中的存儲的所述第二程序。
3、 根據(jù)權(quán)利要求l所述的多處理器系統(tǒng),其特征在于,所述第二存儲模 塊包括第一程序存儲器,與所述第一處理器連接,用于存儲所述第一處理器啟 動后從第一存儲模塊獲取的所述第一程序,以供所述第一處理器在啟動后執(zhí) 行;第二程序存儲器,與所述第二處理器連接,用于存儲所述第一處理器啟 動后從第一存儲模塊獲取的所述第二程序,以供所述第二處理器在啟動后執(zhí)行;所述多處理器系統(tǒng)還包括通信模塊,用于將所述第一處理器獲取的所述第二程序傳送給所述第二 處理器以存儲到所述第二處理器的所述第二程序存儲器。
4、 根據(jù)權(quán)利要求2或3所述的多處理器系統(tǒng),其特征在于,所述程序存 儲器、第一程序存儲器以及第二程序存儲器為SDRAM或者DDR SDRAM。
5、 根據(jù)權(quán)利要求3所述的多處理器系統(tǒng),其特征在于,所述通信模塊包 括USB4妄口、 UART或者DPRAM。
6、 根據(jù)權(quán)利要求1所述的多處理器系統(tǒng),其特征在于,所述第一程序包 括系統(tǒng)程序或者包括系統(tǒng)程序和用戶程序;所述第二程序包括系統(tǒng)程序或者 包括系統(tǒng)程序和用戶程序。
7、 一種多處理器系統(tǒng)啟動方法,其特征在于,包括 第一處理器和第二處理器獲取初始化程序并執(zhí)行;第 一處理器獲取第 一存儲模塊存儲的所述第 一處理器的第 一程序以及所 述第二處理器的第二程序,并將所述第 一程序和第二程序存儲到第二存儲模 塊中;第一處理器和第二處理器分別執(zhí)行存儲在第二存儲模塊中的第 一程序和 第二程序。
8、 根據(jù)權(quán)利要求7所述的多處理器系統(tǒng)啟動方法,其特征在于,所述第 一處理器和第二處理器獲取初始化程序并執(zhí)行包括第一處理器從內(nèi)部只讀存儲器或外部程序存儲器中獲取初始化程序并執(zhí) 行,第二處理器從內(nèi)部只讀存儲器或者外部電可擦除可編程只讀存儲器中獲 取初始化程序并執(zhí)4亍。
9、 根據(jù)權(quán)利要求7所述的多處理器系統(tǒng)啟動方法,其特征在于,所述第 一處理器獲取第 一存儲模塊存儲的所述第 一處理器的第 一程序以及所述第二 處理器的第二程序包括第一處理器從外設的外部程序存儲器中獲取所述第一處理器的第一程序 以及所述第二處理器的第二程序。
10、 根據(jù)權(quán)利要求9所述的多處理器系統(tǒng)啟動方法,其特征在于,所述將第一程序和第二程序存儲到第二存儲模塊中包括將所述第一處理器的第一程序存儲到第一處理器的片內(nèi)隨才幾存儲器中, 并將所述第二處理器的第二程序發(fā)送給第二處理器以存儲到第二處理器的片 內(nèi)隨才幾存4諸器中;或?qū)⑺龅谝惶幚砥鞯牡谝怀绦蛞约八龅诙幚砥鞯牡诙绦虼鎯Φ降?一處理器和第二處理器共用的片內(nèi)隨機存儲器中。
11、 根據(jù)權(quán)利要求IO所述的多處理器系統(tǒng)啟動方法,其特征在于,在第 一處理器和第二處理器共用片內(nèi)隨機存儲器時,所述第一處理器和第二處理 器分別執(zhí)行存儲在第二存儲模塊中的第一程序和第二程序包括通過仲裁電路控制第 一處理器執(zhí)行存儲在片內(nèi)隨機存儲器中的第 一程 序;控制第二處理器執(zhí)行存儲在片內(nèi)隨機存儲器中的第二程序。
12、 根據(jù)權(quán)利要求10所述的多處理器系統(tǒng)啟動方法,其特征在于,第一 處理器將第二處理器的第二程序發(fā)送給所述第二處理器包括第一處理器通過USB接口 、 UART或者DPRAM將第二處理器的第二程序發(fā) 送給所述第二處理器。
全文摘要
本發(fā)明實施例提供了一種多處理器系統(tǒng)以及多處理器系統(tǒng)啟動方法,多處理器系統(tǒng)包括第一初始化程序存儲模塊,用于存儲第一初始化程序;第一存儲模塊,用于存儲第二初始化程序、第一程序和第二程序;第一處理器,用于根據(jù)第二初始化程序進行初始化,并從所述第一存儲模塊中獲取第一程序和第二程序;第二存儲模塊,用于存儲第一處理器啟動后從第一存儲模塊獲取的所述第一程序和第二程序;第二處理器,用于根據(jù)第一初始化程序進行初始化,并執(zhí)行第二存儲模塊中存儲的第二程序;本發(fā)明實施例還提供了一種多處理器系統(tǒng)啟動方法。本發(fā)明實施例提供的多處理器系統(tǒng)以及多處理器系統(tǒng)啟動方法能夠降低多處理器系統(tǒng)的復雜度。
文檔編號H04M1/725GK101604252SQ20091015220
公開日2009年12月16日 申請日期2009年7月10日 優(yōu)先權(quán)日2009年7月10日
發(fā)明者前 徐 申請人:深圳華為通信技術(shù)有限公司