專利名稱:多核處理器系統及其動態電源管理方法與控制裝置的制作方法
技術領域:
本發明有關于一種處理器系統及其電源管理方法,且特別是有關于一種多核處理器系統及其動態電源管理方法與控制裝置。
背景技術:
多核處理器系統一般是由一顆一般型處理器與一顆或多顆具有特殊運算能力的處理器所組成。此多核處理器系統采用資源共享的概念,借以降低硬件配置成本,其中最普遍共享的資源是存儲器,此存儲器內可以存放任何數據,包括用以指示處理器之間通訊狀態的信號以及由多個處理器同時進行運算的數據。近年來,智能型手機和平板計算機等移動裝置快速地普及并逐漸融入人們的日常生活中。這類裝置可提供多樣化的功能,借以幫助人們處理生活中的大小事務。而隨著所處理事件的種類與數量的增加,對于處理器運算能力的要求也相對提高。若能在此裝置內整合多個不同處理器的運算特性,不僅能夠達到更好的效能,也比一般使用單一高速處理器的方法來得有效率。然而,這類裝置通常采用進階精簡指令集機器(AdvancedRISC Machine,ARM)架構的處理器,此架構無法像x86系統般可整合多種系統功能模塊以提供高階功能。以電源管理為例,非X86系統的處理器所能采用的系統方案相當受限。在此架構下,許多系統功能模塊彼此之間無法溝通,因此也無法互相整合以實現高階的電源管理。除此之外,該架構的處理器在執行階段無法進入低階電源狀態以節省電力消耗。
發明內容
有鑒于此,本發明提出一種多核處理器系統及其動態電源管理方法與控制裝置, 在執行階段(Runtime)根據工作負載(Workload)適時將多核處理器系統中的主核及副核關機或喚醒,可達到省電功效。本發明提出一種多核處理器系統的動態電源管理方法,適用于應用多核處理器的處理器系統,此多核處理器包括主核及至少一個副核。此方法先取得多核處理器于執行階段的工作負載,而根據此工作負載以及各個副核的工作狀態,分別對副核執行熱插拔(hot plug)操作,其中該熱插拔操作包含熱拔出步驟或熱插入步驟。然后,通過監測總線主控狀態(Bus masterstatus)以及副核的工作狀態,據以判斷是否將主核關閉(Poweroff),其中所述的總線主控狀態由多個總線裝置反映出總線是否閑置的狀態。最后,當總線主控狀態為閑置狀態時以及副核皆已被熱拔出時,將主核關閉。本發明提出一種多核處理器系統,其包括多核處理器、電源管理單元(PMU)、電源管理暫存器、處理器調整單元及處理器熱插拔單元(CPU hot-plug)。其中,多核處理器包括主核及至少一個副核。電源管理單元耦接主核及所述副核。電源管理暫存器用以記錄由多個總線裝置反映出總線是否閑置的多個裝置狀態產生的一總線主控狀態。處理器調整單元用以取得多核處理器于執行階段的工作負載以及各個副核的工作狀態,據以判斷是否分別對所述副核執行熱插拔操作并對應輸出調整通知。處理器熱插拔單元用以接收調整通知, 據以控制電源管理單元分別對所述副核執行熱插拔操作。本發明提出一種多核處理器系統的控制裝置,所述多核處理器系統包括多核處理器及電源管理單元,多核處理器包括主核及至少一個副核,電源管理單元耦接所述主核及副核。此控制裝置包括電源管理暫存器、處理器調整單元及處理器熱插拔單元。電源管理暫存器用以記錄總線主控狀態,其中總線主控狀態為多個總線裝置反映出總線是否閑置的狀態。處理器調整單元系用以取得多核處理器于執行階段的工作負載以及副核的工作狀態, 據以判斷是否分別對副核執行熱插拔操作并對應輸出一調整通知。處理器熱插拔單元用以接收調整通知,據以控制電源管理單元分別對副核執行熱插拔操作。基于上述,本發明的多核處理器系統及其動態電源管理方法與控制裝置根據多核處理器于執行階段的工作負載對副核執行熱插拔操作,并監測總線主控狀態以適時地將主核關閉。借此,可達到省電功效。
圖1是依照本發明一實施例所繪示的多核處理器系統的方塊圖。圖2是依照本發明一實施例所繪示的多核處理器系統的動態電源管理方法流程圖。圖3是依照本發明一實施例所繪示的多核處理器系統的動態電源管理方法流程圖。圖4是依照本發明一實施例所繪示的多核處理器系統的方塊圖。圖5是依照本發明一實施例所繪示的多核處理器系統的動態電源管理方法流程圖。附圖中的符號簡單說明如下10,40 多核處理器系統;11、41 多核處理器;12、42 電源管理單元;43 控制模塊;112,412 主核;114,414 副核;13,433 電源管理暫存器;14,434 處理器調整單元; 15,435 處理器熱插拔單元;416 第二中斷控制器;432 裝置狀態暫存器;434 邏輯電路; 436 第一中斷控制器;S202 S208 本發明一實施例之多核處理器系統的動態電源管理方法的步驟;S302 S310 本發明一實施例之多核處理器系統的動態電源管理方法的步驟; S502 S508 本發明一實施例之多核處理器系統的動態電源管理方法的步驟。
具體實施例方式為讓本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。本發明將處理器的動態頻率調整(dynamic frequencyscaling)、閑置處理(idle handler)、熱插拔(hot plug)等系統功能模塊與處理器系統的硬件整合,以尋求在包含進階精簡指令集機器(Advanced RISC Machine, ARM)架構下,提供一種可動態調整處理器系統的主核及副核頻率,以及將主核與副核關機或喚醒的解決方案,而可達到省電功效。本發明可適用于多種指令集的計算機系統,包含各種精簡指令集或復雜指令集的多核處理器。圖1是依照本發明一實施例所繪示的多核處理器系統的方塊圖。請參照圖1,多核處理器系統10包括多核處理器11、電源管理單元12、電源管理暫存器(Power Management I/O Register,PMIO Register) 13、處理器調整單元14及處理器熱插拔單元15。其中,多核處理器11包括主核112及至少一個副核114,例如一個或三個副核114。電源管理單元12 耦接至主核112及副核114,用以調整提供給主核112及副核114的工作電壓及操作頻率。電源管理暫存器13用以記錄由多個總線裝置(未繪示)反映出總線的忙碌狀態 (即總線主控狀態)所產生的邏輯狀態(例如邏輯0或邏輯1)。處理器調整單元14可根據多核處理器11的工作負載控制電源管理單元12動態調整提供給主核112及副核114的處理器頻率,并適時地關閉或開啟主核112及副核114。 在本發明中,通過處理器熱插拔單元15對于主核112或者至少一個副核114進行熱拔出或熱插入(plug in),而對主核112或者副核114進行不同電源狀態的運作。另外,上述的處理器調整單元14或處理器熱插拔單元15例如是以一固件方式實現。圖2是依照本發明一實施例所繪示的多核處理器系統的動態電源管理方法流程圖。請同時參照圖1及圖2,本實施例介紹圖1的多核處理器系統10的動態電源管理流程, 以下即搭配多核處理器系統10的各項元件說明此方法的詳細步驟。首先,由處理器調整單元14取得多核處理器11于執行階段的工作負載以及其中各個副核114的工作狀態(步驟S202),據以判斷是否分別對副核執行熱插拔操作,并對應輸出調整通知至處理器熱插拔單元15,而由處理器熱插拔單元15控制電源管理單元13分別對副核執行熱插拔操作(步驟S204)。所述熱插拔操作包含熱拔出步驟或熱插入步驟。其中,所述的工作負載數據例如是從支持操作系統直接電源管理(OS-directed PowerManagement, 0SPM)的電源管理驅云力器(Power managementdriver, PM driver)中取得。詳言之,本實施例通過注冊相關限制條件,并利用一個核線程(kernel thread)去監測多核處理器11的工作負載,借以提供給處理器調整單元14。需說明的是,在ARM架構處理器的規格中,執行階段下的電源管理僅限定在下表1 所示的某些特定狀態。表 權利要求
1.一種多核處理器系統的動態電源管理方法,其特征在于,適用于應用一多核處理器的一處理器系統,該多核處理器包括一主核及至少一副核,該方法包括下列步驟取得該多核處理器于一執行階段的一工作負載;根據該工作負載與該至少一副核的一工作狀態,分別對該至少一副核執行一熱插拔操作,其中該熱插拔操作包含熱拔出步驟或熱插入步驟;監測一總線主控狀態以及該至少一副核的工作狀態,據以判斷是否關閉該主核,其中該總線主控狀態為多個總線裝置反映出該總線是否閑置的狀態;以及當該總線主控狀態為一閑置狀態以及該至少一副核皆已被熱拔出時,關閉該主核。
2.根據權利要求1所述的多核處理器系統的動態電源管理方法,其特征在于,上述熱拔出步驟包括判斷該工作負載是否低于一下限值與該至少一副核的該工作狀態;以及若該工作負載低于該下限值以及該工作狀態為工作,對該至少一副核執行一熱拔出操作,以及其中上述熱插入步驟還包括判斷該工作負載是否高于一上限值與該至少一副核的該工作狀態;以及若該工作負載高于該上限值以及該工作狀態為非工作,對該至少一副核執行一熱插入操作。
3.根據權利要求1所述的多核處理器系統的動態電源管理方法,其特征在于,上述熱拔出步驟還包括根據該工作負載調降該主核及該至少一副核的一處理器頻率至一最低頻率。
4.根據權利要求1所述的多核處理器系統的動態電源管理方法,其特征在于,在關閉該主核的步驟之后,還包括利用一第一中斷控制器接收多個外圍設備發出的一中斷請求,并通知一電源管理單元;該電源管理單元重新啟動該主核;該第一中斷控制器傳送該中斷請求至該多核處理器中的一第二中斷控制器;以及該第二中斷控制器通知該主核服務該中斷請求。
5.根據權利要求4所述的多核處理器系統的動態電源管理方法,其特征在于,該第一中斷控制器為一向量中斷控制器,而該第二中斷控制器為一通用中斷控制器。
6.一種多核處理器系統,其特征在于,包括 一多核處理器,包括一主核及至少一副核; 一電源管理單元,耦接該主核及該至少一副核;一電源管理暫存器,記錄一總線主控狀態,其中該總線主控狀態為多個總線裝置反映出該總線是否閑置的狀態;一處理器調整單元,取得該多核處理器于一執行階段的一工作負載以及各所述副核的一工作狀態,據以判斷是否分別對該至少一副核執行一熱插拔操作并對應輸出一調整通知;以及一處理器熱插拔單元,接收該調整通知,據以控制該電源管理單元分別對該至少一副核執行一熱插拔操作。
7.根據權利要求6所述的多核處理器系統,其特征在于,該處理器調整單元在判斷該總線主控狀態為一閑置狀態以及該至少一副核皆已被熱拔出時,決定關閉該主核。
8.根據權利要求6所述的多核處理器系統,其特征在于,該處理器調整單元還包括在該工作負載低于一下限值以及該工作狀態為工作時,通知該處理器熱插拔單元逐一對該至少一副核執行一熱拔出操作。
9.根據權利要求6所述的多核處理器系統,其特征在于,該處理器調整單元還包括根據該工作負載調降該主核及該至少一副核的一處理器頻率至一最低頻率。
10.根據權利要求6所述的多核處理器系統,其特征在于,該處理器調整單元還包括在該工作負載高于一上限值以及該工作狀態為非工作時,通知該處理器熱插拔單元對該至少一副核執行一熱插入操作。
11.根據權利要求6所述的多核處理器系統,其特征在于,還包括多個裝置狀態暫存器,分別記錄所述總線裝置反映的裝置狀態;以及一邏輯電路,耦接所述裝置狀態暫存器及該電源管理暫存器,整合所述裝置狀態為該總線主控狀態,并記錄該總線主控狀態于該電源管理暫存器。
12.根據權利要求6所述的多核處理器系統,其特征在于,還包括一第一中斷控制器,耦接該電源管理單元,接收該總線上的外圍設備發出的一中斷請求,據以通知該電源管理單元重新啟動該主核。
13.根據權利要求12所述的多核處理器系統,其特征在于,該第一中斷控制器耦接至該多核處理器中的一第二中斷控制器,在該主核重新啟動后,該第一中斷控制器傳送該中斷請求至該第二中斷控制器,由該第二中斷控制器通知該主核服務該中斷請求。
14.根據權利要求13所述的多核處理器系統,其特征在于,該第一中斷控制器為一向量中斷控制器,而該第二中斷控制器為一通用中斷控制器。
15.根據權利要求6所述的多核處理器系統,其特征在于,該多核處理器系統為一系統級芯片。
16.一種多核處理器系統的控制裝置,其特征在于,該多核處理器系統包括一多核處理器及一電源管理單元,該多核處理器包括一主核及至少一副核,該電源管理單元耦接該主核及該至少一副核,該控制裝置包括一電源管理暫存器,記錄一總線主控狀態,其中該總線主控狀態為多個總線裝置反映出該總線是否閑置的狀態;一處理器調整單元,取得該多核處理器于一執行階段的一工作負載以及該至少一副核的一工作狀態,據以判斷是否分別對該至少一副核執行一熱插拔操作并對應輸出一調整通知;以及一處理器熱插拔單元,接收該調整通知,據以控制該電源管理單元分別對該至少一副核執行一熱插拔操作。
全文摘要
一種多核處理器系統及其動態電源管理方法與控制裝置。此方法先取得多核處理器于執行階段的工作負載,而根據此工作負載以及各個副核的工作狀態,分別對副核執行熱插拔操作。然后,通過監測總線主控狀態以及副核的工作狀態,據以判斷是否將主核關閉,其中所述的總線主控狀態由多個總線裝置反映總線狀態所產生。最后,當總線主控狀態為閑置狀態時,將主核關閉。本發明可達到省電功效。
文檔編號G06F1/32GK102566739SQ201210003639
公開日2012年7月11日 申請日期2012年1月6日 優先權日2012年1月6日
發明者劉明誠, 張國航, 詹浚瑋, 齊宗普 申請人:威盛電子股份有限公司