專利名稱:在處理器之間共享存儲器的方法、多處理器設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種在處理器之間共享存儲器的方法、多處
理器設(shè)備。
背景技術(shù):
目前,隨著終端設(shè)備的功能日趨復(fù)雜,為了滿足多功能的需要,需要在終端設(shè)備中
配備兩個或兩個以上的處理器進(jìn)行協(xié)同工作,由此出現(xiàn)了多處理器設(shè)備。對于多處理器設(shè)
備來說,每個處理器都需要Flash或RAM等外圍器件。在多處理器設(shè)備中,通常,每個處理
器分別有各自的存儲器,各處理器獨立使用自己的存儲器。 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題 在多處理器設(shè)備中,需要為每個處理器都配備存儲器,由于每個存儲器都占用一
定的空間,從而增加了多處理器設(shè)備的體積,提高了多處理器設(shè)備的成本。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種在處理器之間共享存儲器的方法、多處理器設(shè)備,能夠
減小設(shè)備體積,降低設(shè)備成本。 本發(fā)明實施例采用的技術(shù)方案為 —種在處理器之間共享存儲器的方法,包括 主處理器接收從處理器的啟動命令; 主處理器根據(jù)所述啟動命令由存儲器中讀取數(shù)據(jù); 主處理器將所述數(shù)據(jù)發(fā)送給所述從處理器。 —種多處理器設(shè)備,包括主處理器、存儲器及從處理器,其中,所述主處理器包括 接收模塊,用于接收所述從處理器的啟動命令; 讀取模塊,用于根據(jù)所述啟動命令由所述存儲器中讀取數(shù)據(jù); 發(fā)送模塊,用于將所述數(shù)據(jù)發(fā)送給所述從處理器。 本發(fā)明實施例在處理器之間共享存儲器的方法、多處理器設(shè)備,主處理器分別與從處理器和存儲器連接,主處理器根據(jù)從處理器的啟動命令,由所述存儲器中讀取數(shù)據(jù),并將數(shù)據(jù)發(fā)送給從處理器,不需要為從處理器單獨配置外部存儲器,即可實現(xiàn)將數(shù)據(jù)由外部存儲器到從處理器內(nèi)部的搬遷。與現(xiàn)有技術(shù)相比,多個處理器之間共享同一個存儲器,從處理器通過主處理器獲取存儲器中的數(shù)據(jù),由于減少了存儲器的使用數(shù)量,從而可以減小多處理器設(shè)備的體積,降低多處理器設(shè)備的成本。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明實施例一提供的方法流程圖; 圖2為本發(fā)明實施例二提供的方法流程圖; 圖3為本發(fā)明實施例三提供的多處理器設(shè)備結(jié)構(gòu)示意圖; 圖4為本發(fā)明實施例四提供的多處理器設(shè)備結(jié)構(gòu)示意圖。
具體實施例方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護(hù)的范圍。 為使本發(fā)明技術(shù)方案的優(yōu)點更加清楚,下面結(jié)合附圖和實施例對本發(fā)明作詳細(xì)說明。 實施例一 本實施例提供一種在處理器之間共享存儲器的方法,如圖1所示,所述方法包括 101、主處理器接收從處理器的啟動命令; 102、主處理器根據(jù)所述啟動命令由存儲器中讀取數(shù)據(jù); 103、主處理器將所述數(shù)據(jù)發(fā)送給所述從處理器。 本發(fā)明實施例在處理器之間共享存儲器的方法,主處理器分別與從處理器和存儲
器連接,主處理器根據(jù)從處理器的啟動命令,由所述存儲器中讀取數(shù)據(jù),并將數(shù)據(jù)發(fā)送給從
處理器,不需要為從處理器單獨配置外部存儲器,即可實現(xiàn)將數(shù)據(jù)由外部存儲器到從處理
器內(nèi)部的搬遷。與現(xiàn)有技術(shù)相比,多個處理器之間共享同一個存儲器,從處理器通過主處理
器獲取存儲器中的數(shù)據(jù),由于減少了存儲器的使用數(shù)量,從而可以減小多處理器設(shè)備的體
積,降低多處理器設(shè)備的成本。 實施例二 本實施例提供一種在處理器之間共享存儲器的方法,在本實施例中,多處理器設(shè)備具有兩個處理器主處理器A和從處理器B,以及一個存儲器Flash A,其中,主處理器A通過串行方式與從處理器B連接,主處理器A通過并行方式與存儲器Flash A連接。
如圖2所示,所述在處理器之間共享存儲器的方法包括
201、主處理器A通過串行方式建立與從處理器B的連接。 其中,在主處理器A上,使用GPIO(General Purpose Input/Output,通用輸入/輸出)虛擬一個串行的Flash SPI (Serial Peripheral Interface,串行外圍設(shè)備接口 ),將該接口與從處理器B的串行Flash接口對應(yīng)連接。 202、主處理器A通過并行方式建立與存儲器Flash A的連接。
其中,主處理器A和從處理器B的燒片程序都燒寫在存儲器Flash A中,分別占用存儲器Flash A的不同存儲區(qū),主處理器A與從處理器B采用分時復(fù)用的方式對存儲器Flash A進(jìn)行相關(guān)操作。 203、為多處理器設(shè)備上電,主處理器A首先完成啟動過程。
其中,在主處理器A完成啟動過程之前,從處理器B處于未上電狀態(tài)。
204、主處理器A控制從處理器B上電。 其中,主處理器A通過GPIO來控制從處理器B的電源的使能管腳,在默認(rèn)情況下,該GPIO為低電平,此時,從處理器B的電源未啟動;當(dāng)主處理器A完成啟動后,該GPIO置為高電平,啟動從處理器B的電源,為從處理器B供電。從而可以避免主處理器A未完成啟動時,從處理器B發(fā)出Flash尋址命令,導(dǎo)致主處理器A無法處理的情況出現(xiàn)。
205、主處理器A以串行方式接收從處理器B的啟動命令。 其中,所述啟動命令位于從處理器B的固化地址中,所述啟動命令中攜帶從處理器B的啟動地址,在所述存儲器Flash A中存儲有與所述啟動命令相對應(yīng)的啟動數(shù)據(jù),根據(jù)所述啟動命令能夠由所述存儲器Flash A中讀取相對應(yīng)的啟動數(shù)據(jù)。
206、主處理器A將所述啟動命令由串行轉(zhuǎn)換至并行。 由于所述啟動命令以串行方式由從處理器B接收,而主處理器A與存儲器Flash A
之間的連接方式為并行方式,因此,需要將所述啟動命令由串行轉(zhuǎn)換至并行。 207、主處理器A根據(jù)所述啟動命令由存儲器Flash A中讀取數(shù)據(jù)。 主處理器A根據(jù)所述啟動命令,由存儲器Flash A中對應(yīng)從處理器B的啟動地址
讀取啟動數(shù)據(jù)。 208、主處理器A將所述啟動數(shù)據(jù)由并行轉(zhuǎn)換至串行。
209、主處理器A將所述啟動數(shù)據(jù)發(fā)送給從處理器B。 至此,從處理器B完成了將啟動數(shù)據(jù)由存儲器Flash向內(nèi)部RAM的搬遷,啟動過程完成。此后,從處理器B中的程序在內(nèi)部RAM中運行,通常情況下不對存儲器Flash A進(jìn)行操作。 可選地,當(dāng)需要修改存儲器Flash A中與從處理器B對應(yīng)存儲區(qū)的數(shù)據(jù)時,則需要執(zhí)行如下過程 LI :主處理器A接收所述從處理器B的修改命令; L2 :主處理器A根據(jù)所述修改命令,對所述存儲器Flash A中的數(shù)據(jù)進(jìn)行修改。
在本實施例中,主處理器A和從處理器B在啟動時,或者對存儲器Flash A中的數(shù)據(jù)進(jìn)行修改時,均采用分時復(fù)用的方式,從而可以減少系統(tǒng)的占用,提高多處理器設(shè)備的運行效率。 本發(fā)明實施例在處理器之間共享存儲器的方法,主處理器A分別與從處理器B和存儲器Flash A連接,主處理器A根據(jù)從處理器B的啟動命令,由所述存儲器Flash A中讀取數(shù)據(jù),并將數(shù)據(jù)發(fā)送給從處理器B,不需要為從處理器B單獨配置外部存儲器,即可實現(xiàn)將數(shù)據(jù)由外部存儲器到從處理器B內(nèi)部的搬遷。與現(xiàn)有技術(shù)相比,多個處理器之間共享同一個存儲器,從處理器B通過主處理器A獲取存儲器Flash A中的數(shù)據(jù),由于減少了存儲器的使用數(shù)量,從而可以減小多處理器設(shè)備的體積,降低多處理器設(shè)備的成本;此外,主處理器A和從處理器B在對存儲器Flash A進(jìn)行操作時,采用分時復(fù)用的方式,從而可以減少系統(tǒng)的占用,提高多處理器設(shè)備的運行效率。
實施例三 本實施例提供一種多處理器設(shè)備,如圖3所示,所述多處理器設(shè)備包括主處理器31、存儲器32及從處理器33,其中,所述主處理器31包括
接收模塊311,用于接收所述從處理器33的啟動命令; 讀取模塊312,用于根據(jù)所述啟動命令由所述存儲器32中讀取數(shù)據(jù); 發(fā)送模塊313,用于將所述數(shù)據(jù)發(fā)送給所述從處理器32。 在本實施例中,所述存儲器可以為外部存儲器Flash,但不僅限于此。 本發(fā)明實施例多處理器設(shè)備,主處理器分別與從處理器和存儲器連接,主處理器
根據(jù)從處理器的啟動命令,由所述存儲器中讀取數(shù)據(jù),并將數(shù)據(jù)發(fā)送給從處理器,不需要為
從處理器單獨配置外部存儲器,即可實現(xiàn)將數(shù)據(jù)由外部存儲器到從處理器內(nèi)部的搬遷。與
現(xiàn)有技術(shù)相比,多個處理器之間共享同一個存儲器,從處理器通過主處理器獲取存儲器中
的數(shù)據(jù),由于減少了存儲器的使用數(shù)量,從而可以減小多處理器設(shè)備的體積,降低多處理器
設(shè)備的成本。 實施例四 如圖4所示,所述多處理器設(shè)備,包括主處理器41、存儲器42及從處理器43,其中,所述主處理器41包括 接收模塊411,用于接收所述從處理器43的啟動命令; 其中,所述啟動命令位于從處理器43的固化地址中,所述啟動命令中攜帶從處理
器43的啟動地址,在所述存儲器42中存儲有與所述啟動命令相對應(yīng)的啟動數(shù)據(jù),根據(jù)所述
啟動命令能夠由所述存儲器42中讀取相對應(yīng)的啟動數(shù)據(jù)。 讀取模塊412,用于根據(jù)所述啟動命令由所述存儲器42中讀取數(shù)據(jù); 發(fā)送模塊413,用于將所述數(shù)據(jù)發(fā)送給所述從處理器43。 進(jìn)一步的,所述主處理器41還可以包括 第一連接模塊414,用于通過串行方式建立與所述從處理器43的連接; 其中,在主處理器41上,可以使用GPIO虛擬一個串行的Flash SPI接口,將該
Flash SPI接口與從處理器43的串行Flash接口對應(yīng)連接。 第二連接模塊415,用于通過并行方式建立與所述存儲器42的連接。 其中,主處理器41和從處理器43的燒片程序都燒寫在存儲器42中,分別占用存
儲器42的不同存儲區(qū),主處理器41與從處理器43采用分時復(fù)用的方式對存儲器42進(jìn)行
相關(guān)操作。 則所述接收模塊411,具體用于接收所述從處理器43的串行方式的啟動命令;
所述讀取模塊412,具體用于根據(jù)所述啟動命令由所述存儲器42中讀取并行方式的數(shù)據(jù); 所述發(fā)送模塊413,具體用于將所述數(shù)據(jù)以串行方式發(fā)送給所述從處理器43。
進(jìn)一步的,所述主處理器41還可以包括 轉(zhuǎn)換模塊416,用于將所述接收模塊411接收的啟動命令由串行轉(zhuǎn)換至并行,將所述讀取模塊412讀取的數(shù)據(jù)由并行轉(zhuǎn)換至串行。 則所述讀取模塊412,具體用于根據(jù)所述轉(zhuǎn)換模塊416轉(zhuǎn)換后的啟動命令由所述存儲器42中讀取并行方式的數(shù)據(jù); 所述發(fā)送模塊413,具體用于將所述轉(zhuǎn)換模塊416轉(zhuǎn)換后的數(shù)據(jù)以串行方式發(fā)送給所述從處理器43。 進(jìn)一步地,所述主處理器41還可以包括
控制模塊417,用于通過所述第一連接模塊414控制所述從處理器43在所述主處理器41啟動完成后上電。 進(jìn)一步地,所述接收模塊411,還用于通過所述第一連接模塊414接收所述從處理器43的修改命令; 則所述主處理器41還可以包括 修改模塊418,還用于根據(jù)所述接收模塊411接收的修改命令,通過所述第二連接模塊415對所述存儲器42中的數(shù)據(jù)進(jìn)行修改。 在本實施例中,主處理器和從處理器在啟動時,或者對存儲器中的數(shù)據(jù)進(jìn)行修改時,均采用分時復(fù)用的方式,從而可以減少系統(tǒng)的占用,提高多處理器設(shè)備的運行效率。
在本實施例中,所述存儲器可以為外部存儲器Flash,但不僅限于此。
本發(fā)明實施例多處理器設(shè)備,主處理器分別與從處理器和存儲器連接,主處理器根據(jù)從處理器的啟動命令,由所述存儲器中讀取數(shù)據(jù),并將數(shù)據(jù)發(fā)送給從處理器B,不需要為從處理器B單獨配置外部存儲器,即可實現(xiàn)將數(shù)據(jù)由外部存儲器到從處理器B內(nèi)部的搬遷。與現(xiàn)有技術(shù)相比,多個處理器之間共享同一個存儲器,從處理器通過主處理器獲取存儲器中的數(shù)據(jù),由于減少了存儲器的使用數(shù)量,從而可以減小多處理器設(shè)備的體積,降低多處理器設(shè)備的成本;此外,主處理器和從處理器在對存儲器進(jìn)行操作時,采用分時復(fù)用的方式,從而可以減少系統(tǒng)的占用,提高多處理器設(shè)備的運行效率。 本發(fā)明實施例提供的多處理器設(shè)備可以實現(xiàn)上述提供的方法實施例。本發(fā)明實施例提供的在處理器之間共享存儲器的方法、多處理器設(shè)備可以適用于具有多處理器的終端設(shè)備,但不僅限于此。 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-0nly Memory, ROM)或隨機(jī)存儲記憶體(Random AccessMemory,廳)等。 以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
一種在處理器之間共享存儲器的方法,其特征在于,所述方法包括主處理器接收從處理器的啟動命令;主處理器根據(jù)所述啟動命令由存儲器中讀取數(shù)據(jù);主處理器將所述數(shù)據(jù)發(fā)送給所述從處理器。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述主處理器接收從處理器的啟動命令之前,所述方法還包括主處理器通過串行方式建立與所述從處理器的連接;主處理器通過并行方式建立與所述存儲器的連接。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述主處理器根據(jù)所述啟動命令由存儲器中讀取數(shù)據(jù)之前,所述方法還包括主處理器將所述啟動命令由串行轉(zhuǎn)換至并行;在所述主處理器將所述數(shù)據(jù)發(fā)送給所述從處理器之前,所述方法還包括主處理器將所述數(shù)據(jù)由并行轉(zhuǎn)換至串行。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述主處理器接收從處理器的啟動命令之前,所述方法還包括控制所述從處理器在所述主處理器啟動完成后上電。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括主處理器接收所述從處理器的修改命令;主處理器根據(jù)所述修改命令,對所述存儲器中的數(shù)據(jù)進(jìn)行修改。
6. —種多處理器設(shè)備,其特征在于,包括主處理器、存儲器及從處理器,其中,所述主處理器包括接收模塊,用于接收所述從處理器的啟動命令;讀取模塊,用于根據(jù)所述啟動命令由所述存儲器中讀取數(shù)據(jù);發(fā)送模塊,用于將所述數(shù)據(jù)發(fā)送給所述從處理器。
7. 根據(jù)權(quán)利要求6所述的多處理器設(shè)備,其特征在于,所述主處理器還包括第一連接模塊,用于通過串行方式建立與所述從處理器的連接;第二連接模塊,用于通過并行方式建立與所述存儲器的連接。
8. 根據(jù)權(quán)利要求7所述的多處理器設(shè)備,其特征在于,所述主處理器還包括轉(zhuǎn)換模塊,用于將所述接收模塊接收的啟動命令由串行轉(zhuǎn)換至并行,將所述讀取模塊讀取的數(shù)據(jù)由并行轉(zhuǎn)換至串行。
9. 根據(jù)權(quán)利要求6所述的多處理器設(shè)備,其特征在于,所述主處理器還包括控制模塊,用于控制所述從處理器在所述主處理器啟動完成后上電。
10. 根據(jù)權(quán)利要求6所述的多處理器設(shè)備,其特征在于,所述接收模塊,還用于接收所述從處理器的修改命令;所述主處理器還包括修改模塊,用于根據(jù)所述修改命令,對所述存儲器中的數(shù)據(jù)進(jìn)行修改。
全文摘要
本發(fā)明實施例公開了一種在處理器之間共享存儲器的方法、多處理器設(shè)備,所述方法包括主處理器接收從處理器的啟動命令;主處理器根據(jù)所述啟動命令由存儲器中讀取數(shù)據(jù);主處理器將所述數(shù)據(jù)發(fā)送給所述從處理器。本發(fā)明適用于在多處理器設(shè)備中的各處理器之間共享存儲器。
文檔編號G06F15/167GK101777038SQ201010106728
公開日2010年7月14日 申請日期2010年2月8日 優(yōu)先權(quán)日2010年2月8日
發(fā)明者劉勇虎, 陳華志 申請人:華為終端有限公司