午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

多處理器系統(tǒng)以及多處理器系統(tǒng)啟動(dòng)方法

文檔序號(hào):7709959閱讀:234來(lái)源:國(guó)知局
專利名稱:多處理器系統(tǒng)以及多處理器系統(tǒng)啟動(dòng)方法
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及微處理技術(shù)領(lǐng)域,特別涉及一種多處理器系統(tǒng)以及多 處理器系統(tǒng)啟動(dòng)方法。
背景技術(shù)
在多々某體、語(yǔ)音通信等領(lǐng)域的處理器中,目前主流的是ARM芯片內(nèi)核, ARM系統(tǒng)的通用32位RISC孩i處理器包括多個(gè)產(chǎn)品,目前許多ARM內(nèi)核的處 理器,有豐富的外設(shè)接口與啟動(dòng)ROM的設(shè)置,處理器可以有兩種方式啟動(dòng),
在外啟動(dòng)方式下,ARM從外部程序存儲(chǔ)器(一般是Flash存儲(chǔ)器),取 指令執(zhí)行相應(yīng)的應(yīng)用;在內(nèi)啟動(dòng)方式下,ARM運(yùn)行片上啟動(dòng)ROM中固化的一 個(gè)128B啟動(dòng)程序,完成器件初始化,配置通信接口將用戶程序存儲(chǔ)于片內(nèi) SRAM中,然后跳轉(zhuǎn)至片內(nèi)SRAM起始處開(kāi)始執(zhí)行下載的用戶程序,為進(jìn)一步 的調(diào)試、代碼下載、外啟動(dòng)Flash存儲(chǔ)器編程提供途徑。
啟動(dòng)代碼從系統(tǒng)上電開(kāi)始接管CPU,依次需要負(fù)責(zé)初始化CPU在各種模 式下的堆棧空間,設(shè)定CPU的內(nèi)存映射、對(duì)系統(tǒng)的各種控制寄存器做初始化、 對(duì)CPU的外部存儲(chǔ)器進(jìn)行初始化、設(shè)定各外圍設(shè)備的基地址、創(chuàng)建正確的中 斷向量表、為C代碼執(zhí)行創(chuàng)建ZI (零創(chuàng)建)區(qū),然后進(jìn)入到C代碼,在C代 碼中繼續(xù)對(duì)時(shí)鐘、通信端口進(jìn)行初始化,然后打開(kāi)系統(tǒng)的中斷允許位,進(jìn)入 到應(yīng)用代碼中執(zhí)行,執(zhí)行期間響應(yīng)各種不同的中斷信號(hào)并調(diào)用預(yù)先設(shè)置好的 中斷服務(wù)程序處理這些中斷。
目前多處理器系統(tǒng)的啟動(dòng)方式為分別各自啟動(dòng),啟動(dòng)完成后再通過(guò)UART、 USB、 DPRAM等方式進(jìn)行通信。以處理器一和處理器二為例,處理器一從外部 程序存儲(chǔ)器(一般是NAND Flash存儲(chǔ)器)取指令執(zhí)行相應(yīng)的應(yīng)用或者啟動(dòng)ROM中固化的一個(gè)啟動(dòng)程序,完成器件初始化,配置串口或者其他通信方式 接收用戶程序并存儲(chǔ)于片內(nèi)SRAM中,然后跳轉(zhuǎn)到片內(nèi)SRAM起始處開(kāi)始執(zhí)行 下載的用戶程序,進(jìn)而為調(diào)試、代碼下載、外啟動(dòng)Flash存儲(chǔ)器編程提供途 徑。同理處理器二也是按照同樣的次序進(jìn)行啟動(dòng)。
在處理器一和處理器二啟動(dòng)完成后,執(zhí)行各自的任務(wù),在需要進(jìn)行數(shù)據(jù) 交換或者控制時(shí)可通過(guò)通用異步收發(fā)器(Universal Asynchronous Receiver/Tra扁itter,以下簡(jiǎn)稱UART)通信、通用串行總線(Universal Serial Bus,以下簡(jiǎn)稱USB )通信或雙口隨機(jī)存儲(chǔ)器(Dual Port Random Acess Memory,以下簡(jiǎn)稱DPRAM)通信。
發(fā)明人在是實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),現(xiàn)有技術(shù)至少存在如下的技術(shù)問(wèn) 題現(xiàn)有技術(shù)中的多處理器系統(tǒng)中多個(gè)處理器同時(shí)啟動(dòng)的方式,需要為每個(gè) 處理器設(shè)置單獨(dú)的程序存儲(chǔ)器(如NAND Flash),使得多處理器系統(tǒng)的結(jié)構(gòu) 復(fù)雜,成本高。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了 一種多處理器系統(tǒng)以及多處理器系統(tǒng)啟動(dòng)方法,能
夠降低多處理器系統(tǒng)的復(fù)雜度,降低成本。
本發(fā)明實(shí)施例才是供了一種多處理器系統(tǒng),包括 第 一初始化程序存儲(chǔ)模塊,用于存儲(chǔ)第 一初始化程序; 第一存4諸4莫塊,用于存儲(chǔ)第二初始化程序、第一程序和第二程序; 第一處理器,與所述第一存儲(chǔ)模塊通信連接,用于根據(jù)所述第二初始化
程序進(jìn)行初始化,并從所述第 一存儲(chǔ)模塊中獲取所述第 一程序和第二程序; 第二存儲(chǔ)模塊,用于存儲(chǔ)第一處理器啟動(dòng)后從第一存儲(chǔ)模塊獲取所的述
第一程序和第二程序;
第二處理器,與所述第一初始化程序存儲(chǔ)模塊及所述第二存儲(chǔ)模塊連接,
用于根據(jù)所述第一初始化程序進(jìn)行初始化,并執(zhí)行所述第二存儲(chǔ)模塊中存儲(chǔ)
的所述第二程序;
6其中,所述第一處理器還用于執(zhí)行所述第二存儲(chǔ)模塊中存儲(chǔ)的所述第一 程序。
本發(fā)明實(shí)施例還提供了一種多處理器系統(tǒng)啟動(dòng)方法,包括
第一處理器和第二處理器獲取初始化程序并執(zhí)行;
第 一處理器獲取第 一存儲(chǔ)模塊存儲(chǔ)的所述第 一處理器的第 一程序以及所 述第二處理器的第二程序,并將所述第一程序和第二程序存儲(chǔ)到第二存儲(chǔ)模 塊中;
第 一處理器和第二處理器分別才丸行存儲(chǔ)在第二存儲(chǔ);溪塊中的第 一程序和 第二程序。
本發(fā)明實(shí)施例提供的多處理器系統(tǒng)以及多處理器系統(tǒng)啟動(dòng)方法,其中的 多處理器系統(tǒng)包括第一處理器和第二處理器,且在第一處理器上設(shè)置的第一 存儲(chǔ)模塊存儲(chǔ)有第 一處理器的初始化程序、第 一處理器的第 一程序以及第二 處理器的第二程序,而不需要在第二處理器上設(shè)置存儲(chǔ)第二程序的存儲(chǔ)模塊, 能夠降低多處理器系統(tǒng)的復(fù)雜度,節(jié)約成本;本發(fā)明實(shí)施例還提供了相應(yīng)的 多處理器啟動(dòng)方法,由第一處理器獲取第一處理器和第二處理器的執(zhí)行的程 序,便于實(shí)現(xiàn)對(duì)多處理器系統(tǒng)進(jìn)行統(tǒng)一管理。


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