專利名稱:平行化快速啟動方法及具有多處理單元的電子裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種具有多處理單元的電子裝置的啟動方法,特別是涉及一種加快具有多處理單元的電子裝置啟動速度的平行化快速啟動方法。
背景技術(shù):
智能型手機等手持式電子裝置兼具通訊、數(shù)據(jù)傳輸及多媒體等功能,隨著技術(shù)發(fā)展成熟而日益普及。這類型電子裝置的處理器(CPU)需要處理大量應(yīng)用程序及多媒體文件,近年來知名芯片廠為此極力發(fā)展雙核心(Duaicore)的CPU架構(gòu)以提高運算效率。舉例來說,美國高通(Qualcomm)其中一雙核心處理器架構(gòu)即采用一較慢的處理核心,例如執(zhí)行時鐘為256MHz的ARM9,執(zhí)行通訊專用操作系統(tǒng)及處理3G通訊協(xié)議,另外采用一較快的處理核心,例如執(zhí)行時鐘為768 1000MHz的ARM11,執(zhí)行應(yīng)用層的操作系統(tǒng) (例如 Windows Mobile 或 Linux)。參閱圖1,在開機時,ARM9在第一階段中執(zhí)行Boot Loader。Boot Loader主要運行任務(wù)包括初始化硬設(shè)備,將軟硬件環(huán)境帶到一個合適的狀態(tài)。當(dāng)?shù)谝浑A段完成后,ARM9 一方面進行處理3G通訊協(xié)議用的操作系統(tǒng)(簡稱通訊操作系統(tǒng))的加載動作,另一方面通知ARMll執(zhí)行第二階段的工作一加載應(yīng)用層的操作系統(tǒng)(以Linux舉例說明)。第二階段處理內(nèi)容包括Linux核心(kernel)開機、加載鏈接庫(library)以及所有硬件周邊的初始化,大約需要20秒的時間來完成。接下來ARMll繼續(xù)執(zhí)行第三階段,啟動圖形化使用者接口(簡稱UI)。然而,優(yōu)美的UI設(shè)計,使得ARMll在第三階段所需加載的鏈接庫越來越龐大,拖慢開機時間。在目前開機機制下,由于ARMll處理時間遠長于ARM9加載通訊用操作系統(tǒng)的時間,且即便通訊用操作系統(tǒng)早已加載完成,在Linux操作系統(tǒng)及使用者接口未加載完成的情況下,ARM9并無法啟用通訊相關(guān)運作而只能閑置空等。由于手持式電子裝置的使用者, 總是希望該手持式電子裝置上電后能立即使用,數(shù)十秒的開機時間總讓使用者感覺相當(dāng)漫長。為了改善前述開機時間長的問題,通常是改換更高效能的處理核心執(zhí)行開機作業(yè),但成本勢必增加。
發(fā)明內(nèi)容
因此,本發(fā)明的目的,即在提供一種平行化快速啟動方法,適用于具有多處理單元的電子裝置,且藉由可初始化硬設(shè)備的程序的改寫而實現(xiàn)。本發(fā)明的另一目的,在于提供一種電子裝置,藉由可初始化硬設(shè)備的程序的改寫加快開機速度。為達到上述目的,本發(fā)明電子裝置包含一儲存一可初始化硬設(shè)備的程序及多數(shù)鏈接庫的儲存媒體、一隨機存取存儲器,及一第一處理單元與一第二處理單元。該電子裝置執(zhí)行的平行化快速啟動方法包含以下步驟
3
(a)使該第一處理單元執(zhí)行一可初始化硬設(shè)備的程序;當(dāng)初始化硬設(shè)備完成,執(zhí)行步驟(b)及(c)。(b)該第一處理單元從一儲存媒體將至少一由該第二處理單元專屬呼叫使用的鏈接庫加載到隨機存取存儲器。(c)使該第二處理單元執(zhí)行一操作系統(tǒng)的核心開機,接著從該儲存媒體加載由其本身專屬呼叫的其余鏈接庫。較佳地,該步驟(b)所述加載的鏈接庫包括一應(yīng)用層操作系統(tǒng)的至少部分鏈接庫,甚至還包括圖形化使用者接口所含的至少部份鏈接庫。較佳地,該電子裝置是一例如智能型手機等嵌入式系統(tǒng),且可初始化硬設(shè)備的程序是指Boot Loader0然而本發(fā)明不以嵌入式系統(tǒng)為限,亦可以是一般計算機系統(tǒng),藉由 BIOS程序初始化硬設(shè)備。較佳地,該第一處理單元是依據(jù)一寫在Boot Loader的預(yù)設(shè)的鏈接庫列表進行預(yù)載鏈接庫的工作。較佳地,該第一處理單元與第二處理單元是一雙核心處理器或多核心處理器當(dāng)中的兩個處理核心,或是兩顆處理器。本發(fā)明的功效在于藉助程序的改寫來使第一處理單元分擔(dān)部分第二處理單元的加載工作,無須更換硬件即能縮短整體啟動時間,縮短使用者等待時間。
圖1是一現(xiàn)有具有雙核心處理器的電子裝置的開機流程示意圖,說明其中二處理核心的工作流程;圖2是一裝置方塊圖,說明本發(fā)明具有多處理單元的電子裝置的較佳實施例;圖3是一開機流程示意圖,說明本實施例的第一處理單元與第二處理單元的工作流程;及圖4是一鏈接庫加載示意圖,說明鏈接庫從一儲存媒體加載一隨機存取存儲器的對應(yīng)關(guān)系。附圖符號說明1...............第一處理單元2...............第二處理單元3...............儲存媒體4...............RAM10 ............虛擬存儲器20 ............虛擬存儲器100............電子裝置Sl S6 ......步驟
具體實施例方式有關(guān)本發(fā)明的前述及其它技術(shù)內(nèi)容、特點與功效,在以下結(jié)合參考附圖的一個較佳實施例的詳細說明中,將可清楚的呈現(xiàn)。
4
參閱圖2,本發(fā)明電子裝置100的較佳實施例是一具有多個處理單元的嵌入式系統(tǒng)(Embedded system),藉由Boot Loader程序或具有相同功能的集成電路(IC)初始化硬設(shè)備。前述多個處理單元,是指電子裝置100采用雙核心(Dual Core)或多核心處理器 (CPU),或具有一個以上CPU。以下以雙核心CPU舉例說明。該電子裝置100包含一第一處理單元1、一第二處理單元2、一例如為閃存(flash) 的非易失性儲存媒體3,及一隨機存取存儲器(RAM)4。本實施例的第一、第二處理單元1、 2即雙核心處理器當(dāng)中的兩個運算核心,第一處理單元1運算能力較低,具有數(shù)據(jù)及通訊的功能,第二處理單元2運算能力較高,用以處理各種應(yīng)用程序。但本發(fā)明不以此為限,可采相同效能的運算核心。儲存媒體3中儲存有一 Boot Loader程序、一主要用于處理3G通訊協(xié)議的操作系統(tǒng),以下以0S_1代稱,及一例如為Linux或Windows Mobile等應(yīng)用層的操作系統(tǒng),以下以 0S_2代稱。結(jié)合參閱圖3及圖4,當(dāng)電子裝置100上電時,第一處理單元1送出指令,通過該第一處理單元1專屬的虛擬存儲器(virtual memory) 10將儲存媒體3中的Boot Loader程序讀出并開始執(zhí)行。在Boot Loader執(zhí)行過程中,可完成硬設(shè)備初始化(步驟Si)。為避免第一處理單元1在執(zhí)行完硬設(shè)備初始化之后直接開始加載0S_1,導(dǎo)致最后閑置空等第二處理單元2,本實施例的Boot Loader使第一處理單元1在執(zhí)行硬設(shè)備初始化之后,不但發(fā)出信號通知第二處理單元2進行0S_2核心(kernel)開機(步驟S4),且第一處理單元1本身還參照一預(yù)設(shè)的鏈接庫(library)列表進行預(yù)載0S_2部分鏈接庫的工作 (步驟S2)。前述「部分鏈接庫」是指操作系統(tǒng)的多個鏈接庫當(dāng)中的一部分,當(dāng)然,實作上也可設(shè)計為預(yù)載操作系統(tǒng)的所有鏈接庫。本實施例將預(yù)設(shè)的鏈接庫列表寫在Boot Loader程序當(dāng)中,當(dāng)?shù)谝惶幚韱卧?讀取預(yù)載鏈接庫的指令,則從儲存媒體3中將該鏈接庫列表中所指定的鏈接庫讀出。讀出的鏈接庫儲存在一個第一處理單元1專屬的虛擬存儲器10中的第一邏輯地址,實際上是加載 RAM 4中可映像到該第一邏輯地址的物理地址,該物理地址又可映像到第二處理單元2專屬的虛擬存儲器20中的第二邏輯地址,第二邏輯地址可供將來第二處理單元2呼叫使用。 第一處理單元1將鏈接庫加載RAM 4的方法包括預(yù)先讀取程序(readahead)、剖析程序文件頭(parse header)、函式 / 符號復(fù)位位(function or symbo Ire locat ion)的方式。當(dāng)?shù)谝惶幚韱卧?預(yù)載鏈接庫的工作完成,接著進行0S_1加載動作(步驟S3)。第二處理單元2收到第一處理單元1的通知指令執(zhí)行0S_2核心開機(步驟S4)之后,會判斷所需要的動態(tài)鏈接庫(Siared Library)是否已經(jīng)加載,若已被預(yù)先加載到RAM 4,則可徑行再處理下一鏈接庫,因而加速整體的加載速度(步驟S5)。當(dāng)然,若第一處理單元1預(yù)載0S_2的所有的鏈接庫,第二處理單元2則可省略步驟S5,直接進入步驟S6進行圖形化使用者接口(UI)的加載工作。實作上,該預(yù)設(shè)的鏈接庫列表包括0S_2全部或是當(dāng)中部分鏈接庫,由系統(tǒng)開發(fā)者依實際條件決定。決定鏈接庫列表須考慮的參數(shù)包括第一處理單元1與第二處理單元2的效能、資源配置、鏈接庫大小、加載所需時間等;當(dāng)然,也需考慮0S_1的加載時間,以做整體開機時間的估算。值得一提的是,除了 0S_2的鏈接庫的預(yù)載之外,本發(fā)明也可設(shè)計使第一處理單元1預(yù)載部分圖形化使用者接口所需要使用的動態(tài)鏈接庫。
綜上所述,藉由本實施例提出的技術(shù)方案,第二處理單元2加載0S_2鏈接庫的時間縮短,進而提早加載使用者接口的時間,縮短整體開機時間,故確實能達成本發(fā)明的目的。以上所述,僅為本發(fā)明的較佳實施例而已,而不能以此限定本發(fā)明實施的范圍,即凡依本發(fā)明的權(quán)利要求及發(fā)明說明內(nèi)容所作的簡單的等效變化與修飾,皆仍屬本發(fā)明專利涵蓋的范圍內(nèi)。
權(quán)利要求
1.一種平行化快速啟動方法,適用于具有多處理單元的電子裝置,包含以下步驟(a)使該電子裝置的一第一處理單元執(zhí)行一可初始化硬設(shè)備的程序;當(dāng)初始化硬設(shè)備完成,執(zhí)行步驟(b)及(C);(b)該第一處理單元從一儲存媒體將至少一由該電子裝置的一第二處理單元專屬呼叫使用的鏈接庫加載到一隨機存取存儲器;及(c)使該第二處理單元執(zhí)行一操作系統(tǒng)的核心開機,接著從該儲存媒體加載由其本身專屬呼叫的其余鏈接庫。
2.如權(quán)利要求1所述的平行化快速啟動方法,其中,該步驟(b)所述加載的鏈接庫包括一應(yīng)用層操作系統(tǒng)的至少部分鏈接庫。
3.如權(quán)利要求2所述的平行化快速啟動方法,其中,該步驟(b)所述加載的鏈接庫還包括圖形化使用者接口所需要使用的至少部份鏈接庫。
4.如權(quán)利要求2所述的平行化快速啟動方法,其中,該可初始化硬設(shè)備的程序是指 Boot Loader。
5.如權(quán)利要求4所述的平行化快速啟動方法,其中,該第一處理單元是依據(jù)一寫在 Boot Loader的預(yù)設(shè)的鏈接庫列表進行預(yù)載鏈接庫的工作。
6.一種具有多處理單元的電子裝置,包含一儲存媒體,儲存一可初始化硬設(shè)備的程序及多數(shù)鏈接庫;一隨機存取存儲器;及一第一處理單元與一第二處理單元,當(dāng)該電子裝置上電,該第一處理單元執(zhí)行該可初始化硬設(shè)備的程序,并且當(dāng)初始化硬設(shè)備完成,該第一處理單元從該儲存媒體將其中至少一由該第二處理單元專屬呼叫使用的鏈接庫加載至該隨機存取存儲器,且該第二處理單元執(zhí)行一操作系統(tǒng)的核心開機,接著從該儲存媒體加載由該第二處理單元專屬呼叫的其余鏈接庫。
7.如權(quán)利要求6所述的具有多處理單元的電子裝置,其中,該第一處理單元與第二處理單元是一雙核心處理器或多核心處理器當(dāng)中的兩個處理核心,或是兩顆處理器。
8.如權(quán)利要求6所述的具有多處理單元的電子裝置,其中,該第一處理單元加載的由該第二處理單元專屬呼叫使用的鏈接庫包括一應(yīng)用層操作系統(tǒng)的至少部分鏈接庫。
9.如權(quán)利要求8所述的具有多處理單元的電子裝置,其中,該第一處理單元加載的由該第二處理單元專屬呼叫使用的鏈接庫還包括圖形化使用者接口所需要使用的至少部份鏈接庫。
10.如權(quán)利要求8所述的具有多處理單元的電子裝置,是一嵌入式系統(tǒng),且該可初始化硬設(shè)備的程序是指Boot Loader.
11.如權(quán)利要求10所述的具有多處理單元的電子裝置,該第一處理單元是依據(jù)一寫在 Boot Loader的預(yù)設(shè)的鏈接庫列表進行預(yù)載鏈接庫的工作。
全文摘要
一種平行化快速啟動方法及具有多處理單元的電子裝置。該平行化快速啟動方法,適用于具有多處理單元的電子裝置,包含以下步驟(a)使該電子裝置的一第一處理單元執(zhí)行一可初始化硬設(shè)備的程序;當(dāng)初始化硬設(shè)備完成,執(zhí)行(b)第一處理單元從一儲存媒體將至少一由該電子裝置的一第二處理單元專屬呼叫使用的鏈接庫加載到一隨機存取存儲器;及(c)使第二處理單元執(zhí)行一操作系統(tǒng)的核心開機,接著從該儲存媒體加載由其本身專屬呼叫的其余鏈接庫。由于第一處理單元幫第二處理單元預(yù)載鏈接庫,因此可節(jié)省啟動時間。
文檔編號G06F15/167GK102214105SQ20101014129
公開日2011年10月12日 申請日期2010年4月8日 優(yōu)先權(quán)日2010年4月8日
發(fā)明者賴政家 申請人:緯創(chuàng)資通股份有限公司