專利名稱:片上系統芯片及其功耗控制方法
技術領域:
本發明涉及一種芯片及其控制方法,尤其涉及一種片上系統芯片及其功耗控制方法。
背景技術:
隨著集成電路技術的飛速發展和對消費類電子產品-特別是便攜式面向客戶的電子產品的需求,推動了片上系統芯片的飛速發展,也給人們提出了許多新的課題。
對于電池驅動的片上系統芯片,已不能只考慮它優化空間的兩個方面—速度和面積,而必須要注意它已經表現出來的且變得越來越重要的第三個方面—功耗,這樣才能延長電池的壽命和電子產品的運行時間。
在實際應用片上系統芯片的過程中,有時可能需要片上系統芯片的所有硬件資源參與,但有時也可能只需要其中的一部分硬件資源參與;在一些應用中可能需要輸入很高的工作頻率,而在其他的一些應用中卻可以大大降低輸入的工作頻率。
根據片上系統芯片的上述特點,現有技術中采用如下方法對片上系統芯片進行功耗控制,以延長電池的壽命和電子產品的運行時間。如圖1所示,片上系統芯片包括處理器系統和若干模塊,這些模塊可以為外部DMA(DirectMemory Access,直接存取存儲器)、外部存儲器、時鐘產生模塊、功耗控制模塊、以及功能模塊。所述的功能模塊可以為協處理器。其中,處理器系統包括中央處理器、存儲器、內部DMA等模塊,三者之間通過處理器系統存儲總線4相連,中央處理器可通過向內部DMA發出控制命令,由內部DMA來完成對內部存儲器內數據的搬移操作,而在搬移過程中,中央處理器不再參與。時鐘產生模塊內部設置有PLL(Phase Locked Loop,鎖相環),使得時鐘產生模塊利用片上系統芯片外部輸入的中低頻時鐘,產生片上系統芯片內部各模塊所需的中高頻工作時鐘信號。由圖1中可以看出,處理器系統的中央處理器、內部存儲器、內部DMA,與外部DMA、外部存儲器共同連接于處理器系統輸入/輸出總線1上,并可以實現彼此之間的數據傳輸。外部DMA、外部存儲器都與片上系統芯片的存儲總線3相連,外部DMA可以實現對外部存儲器的數據傳輸。
在對片上系統芯片進行功耗控制時,中央處理器可以根據當前軟件的運行狀況判斷出具體哪些模塊在工作,哪些模塊處于的休息狀態,進而產生片上系統芯片的控制策略。如圖1中,片上系統芯片內部的中央處理器、內部存儲器、內部DMA、外部DMA、外部存儲器、功能模塊均與時鐘產生模塊的工作時鐘總線2相連。中央處理器將需要關閉某些模塊的控制信息發送至功耗控制模塊,功耗控制模塊根據接收到的控制信息向時鐘產生模塊發出關閉向對應模塊輸出高頻工作時鐘的指令,由時鐘產生模塊停止向對應模塊輸出工作時鐘,從而實現控制片上系統芯片的功耗,達到省電的目的。
在功耗控制模塊中,存在有限狀態機和對應的執行模塊。有限狀態機根據中央處理器的指令,通過執行模塊控制時鐘產生模塊對各個模塊進行時鐘門控,即停止向各個模塊供給工作時鐘來實現節省片上系統芯片消耗的電能。具體來說,有限狀態機中包含以下幾種控制狀態,在不同的控制狀態下,通過執行模塊控制時鐘產生模塊關閉向對應模塊的時鐘輸出。
下面分別介紹有限狀態機的幾種控制狀態正常狀態,當片上系統芯片上的處理器系統和各個模塊正常運行時,需要時鐘產生模塊向處理器系統和各模塊輸出高頻時鐘信號。此時,有限狀態機根據中央處理器的指令,通過執行單元控制時鐘產生模塊產生高頻時鐘信號,并輸出至處理器系統和各個模塊。
空閑狀態,當片上系統芯片上只有中央處理器處于空閑,而其他模塊正常運行時,有限狀態機根據中央處理器的指令,通過執行單元控制時鐘產生模塊向正常運行的模塊輸出高頻時鐘信號,而停止向中央處理器輸出高頻時鐘信號。
休眠狀態,當片上系統芯片中包含處理器系統在內的全部模塊均處于空閑狀態時,可以關閉時鐘產生模塊向這些模塊的時鐘信號輸出。此時,時鐘產生模塊也被關閉,不再產生時鐘信號,而功耗控制模塊則利用片上系統芯片外部輸入的低頻時鐘信號進行休眠控制。在此種控制模式下,可以采用以下兩種機制來喚醒時鐘產生模塊,其一為自然喚醒,即功耗控制模塊根據外部的低頻時鐘信號計時,在到達設定的時刻,喚醒時鐘產生模塊,恢復工作時鐘;另一種喚醒方式為強行喚醒,即只有在片上系統芯片接收到來自芯片外部的喚醒信號后,才由功耗控制模塊強行喚醒時鐘產生模塊,恢復工作時鐘。
通過上述對片上系統芯片各模塊進行時鐘門控,可以實現對片上系統芯片的功耗進行控制,在一定程度上解決了片上系統芯片的功耗控制問題。但是,片上系統芯片在實際工作過程中,可能存在這樣的情況,即一部分模塊處于空閑狀態,而另外一部分模塊處于工作狀態,而且,這些模塊的工作與空閑狀態是實時變化的。例如,處理器系統處于空閑,其他模塊中的內部DMA、內部存儲器也處于空閑狀態,而外部DMA、外部存儲器、功能模塊則處于正常工作狀態,那么,按照現有技術中的控制方法就不能精確的對片上系統芯片的功耗進行控制。
發明內容
本發明針對現有技術的缺點,提供一種片上系統芯片以及片上系統芯片的功耗控制方法,可以根據片上系統芯片內部各模塊的運行狀態更加精確的實現功耗控制。
本發明所述的片上系統芯片包括處理器系統、外部直接存取存儲器、外部存儲器、時鐘產生模塊、功能模塊、以及功耗控制模塊,所述功耗控制模塊包括有限狀態機及對應的執行模塊,在有限狀態機中還設置有睡眠狀態控制單元,在執行模塊中還設置有睡眠狀態執行單元;其中,睡眠狀態控制單元根據處理器系統的控制信息,通過睡眠狀態執行單元控制時鐘產生模塊,使時鐘產生模塊向對應模塊輸出高頻時鐘信號。
上述的睡眠狀態控制單元還可以包括小睡狀態控制單元,和/或深度睡眠狀態控制單元,所述睡眠狀態執行單元包括對應的小睡狀態執行單元,和/或深度睡眠狀態執行單元。
本發明還提供一種片上系統芯片的功耗控制方法,其步驟包括步驟一,確定中央處理器、各直接存取存儲器及對應各存儲器的工作狀態;步驟二,根據上述確定的工作狀態下發相應的控制信息;步驟三,時鐘產生模塊根據上述控制信息向各模塊輸出高頻時鐘信號。
上述步驟一中,根據中央處理器的數據處理結果確定中央處理器自身,以及外部直接存取存儲器和對應的外部存儲器,和/或內部直接存取存儲器以及內部存儲器的工作狀態。
本發明中,片上系統芯片的中央處理器根據其確定的各模塊的工作狀態下發對應的控制信息,由功耗控制模塊根據該控制信息控制時鐘產生模塊向對應的模塊輸出高頻時鐘信號。與現有技術相比,本發明實現了對片上系統芯片內的各模塊更加精確的時鐘控制,從而可以更好的控制片上系統芯片的功耗,達到省電的目的。
圖1為現有技術中片上系統芯片的結構示意圖;圖2為本發明的片上系統芯片的結構示意圖;圖3為本發明的片上系統芯片的另一種結構示意圖;圖4為本發明的片上系統芯片的另一種結構示意圖;圖5為本發明的片上系統芯片的另一種結構示意圖;圖6為本發明的片上系統芯片的功耗控制方法流程圖。
具體實施例方式
本發明通過改變片上系統芯片的結構,根據片上系統芯片中各模塊的工作狀態更加精確的實現對片上系統芯片的功耗進行控制。
下面結合附圖對本發明的片上系統芯片及其功耗控制方法做詳細說明。
如圖2所示,本發明的片上系統芯片包括處理器系統,以及外部DMA、外部存儲器、時鐘產生模塊、功能模塊和功耗控制模塊。
本發明在現有技術的基礎上,在功耗控制模塊的有限狀態機中增加設置了睡眠狀態控制單元,在執行模塊中增加設置了對應的睡眠狀態執行單元。
本發明中,中央處理器根據數據處理結果,可以確定片上系統芯片內部各個模塊的工作情況,即確定哪些模塊處于工作狀態,哪些模塊處于空閑狀態,于是,中央處理器向功耗控制模塊發送的信息中包含了對各模塊工作時鐘的控制信息,該控制信息具體為向對應模塊停止輸出或正常輸出高頻時鐘信號。
上述的睡眠狀態控制單元根據處理器系統的控制信息,通過睡眠狀態執行單元控制時鐘產生模塊,使時鐘產生模塊向對應模塊輸出高頻時鐘信號。
根據片上系統芯片內各模塊的實際工作狀態,睡眠狀態控制單元可進一步包括小睡狀態控制單元,和/或深度睡眠狀態控制單元,與之相對應的,睡眠狀態執行單元可進一步包括小睡狀態執行單元,和/或深度睡眠狀態執行單元。
如圖3所示,為睡眠狀態控制單元包括小睡狀態控制單元,睡眠狀態執行單元包括對應的小睡狀態執行單元的示意圖。
當中央處理器確定自身和外部DMA及相應的外部存儲器,和/或中央處理器確定自身和內部DMA及相應的內部存儲器處于空閑狀態時,中央處理器向功耗控制模塊下發的控制信息中包含了停止向中央處理器、外部DMA及相應的外部存儲器,和/或停止向中央處理器、內部DMA及相應的內部存儲器輸出高頻時鐘信號的信息。此時,小睡狀態控制單元根據上述控制信息,通過小睡狀態執行單元控制時鐘產生模塊,使時鐘產生模塊停止向中央處理器輸出高頻時鐘信號,以及停止向外部DMA及對應的外部存儲器,和/或停止向內部DMA及對應的內部存儲器輸出高頻時鐘信號。
如圖4所示,為睡眠狀態控制單元包括深度睡眠狀態控制單元,睡眠狀態執行單元包括對應的深度睡眠狀態執行單元的示意圖。
當中央處理器確定自身及片上系統芯片內其他各模塊均處于空閑狀態時,其向功耗控制模塊下發的控制信息中包含了停止向上述各模塊正常輸出高頻時鐘信號的信息。功耗控制模塊中的深度睡眠狀態控制單元根據中央處理器的控制信息控制深度睡眠狀態執行單元,由深度睡眠狀態執行單元控制時鐘產生模塊停止向中央處理器及其他各模塊輸出高頻時鐘信號。在此種深度睡眠狀態下,時鐘產生模塊也被關閉,不再產生時鐘信號。片上系統芯片處于深度睡眠狀態時,如果需要重新進入工作狀態,只能采取強行喚醒的方式,即片上系統芯片接收到來自芯片外部的喚醒信號后,由功耗控制模塊強行喚醒時鐘產生模塊,使其恢復輸出工作時鐘。
如圖5所示,為睡眠狀態控制單元包括小睡狀態控制單元和深度睡眠狀態控制單元,睡眠狀態執行單元包括小睡狀態執行單元和深度睡眠狀態執行單元的示意圖。
上述小睡狀態控制單元和深度睡眠狀態控制單元分別根據中央處理器的控制信息,通過對應的小睡狀態執行單元和深度睡眠狀態執行單元控制時鐘產生模塊,使時鐘產生模塊停止向對應的模塊輸出高頻時鐘信號。此處所述的兩種控制過程分別與上述圖3和圖4中的控制過程相同,在此不再贅敘。
本發明中,中央處理根據其數據處理結果確定處于工作或空閑狀態的各個模塊,然后在其向功耗控制模塊下發的控制信息中包含控制時鐘產生模塊停止向上述對應模塊輸出高頻時鐘信號的信息,由功耗控制模塊內的小睡狀態控制單元或深度睡眠狀態控制單元控制對應的小睡狀態執行單元或深度睡眠狀態執行單元,進而控制時鐘產生模塊停止向相應的模塊輸出高頻時鐘信號。
與現有技術相比,本發明通過在功耗控制模塊中增加小睡狀態控制,使得可以根據片上系統芯片內中央處理器和各DMA及對應的存儲器的工作狀態對片上系統芯片的功耗進行控制,更加精確的控制了片上系統芯片的功耗。同時,本發明中增加的深度睡眠狀態控制由于只支持強行喚醒,故在沒有接收到片上系統芯片外部的喚醒信號時,片上系統芯片一直處于睡眠狀態,可以更加減少片上系統芯片的功耗。
本發明還提供一種片上系統芯片的功耗控制方法,如圖6所示,包括如下步驟步驟101,確定中央處理器、各DMA及對應各存儲器的工作狀態。
中央處理器根據數據處理結果,可以確定中央處理器自身,以及外部DMA和對應的外部存儲器,和/或內部DMA以及內部存儲器的工作狀態,即可以確定哪些模塊處于工作狀態,哪些模塊處于空閑狀態。例如,中央處理器根據數據處理結果確定中央處理器,以及內部DMA和對應的內部存儲器,和/或外部DMA和對應的外部存儲器處于空閑狀態。當然,中央處理器也可以根據數據處理結果確定片上系統芯片內部各模塊均處于空閑狀態。
步驟102,根據上述確定的工作狀態下發相應的控制信息。
本步驟中,根據步驟101確定的中央處理器自身,以及外部DMA和對應的外部存儲器,和/或內部DMA以及內部存儲器的工作狀態下發對應的控制信息。例如,中央處理器根據數據處理結果確定中央處理器、內部DMA及對應的內部存儲器處于空閑狀態,而外部DMA及對應的外部存儲器處于工作狀態,則下發的控制信息中包含停止向中央處理器、內部DMA及對應的內部存儲器輸出高頻時鐘信號,而向外部DMA及對應的外部存儲器輸出高頻時鐘信號的信息;又如,中央處理器根據數據處理結果確定片上系統芯片內部的全部模塊都處于空閑狀態,即中央處理器、內部DMA及對應的內部存儲器、外部DMA及對應的外部存儲器、以及功能模塊均處于空閑狀態,則下發的控制信息中包含了停止向中央處理器及其他各模塊輸出高頻時鐘信號的信息;又如,中央處理器根據數據處理結果確定片上系統芯片內部各模塊均處于空閑狀態,則其下發的控制信息中包含了停止向片上系統芯片內各模塊輸出高頻時鐘信號的信息。
步驟103,時鐘產生模塊根據上述控制信息向各模塊輸出高頻時鐘信號。
本步驟中,時鐘產生模塊根據接收到的控制信息向片上系統芯片內部的各模塊輸出的高頻時鐘信號。
例如,上述步驟102中,中央處理器根據數據處理結果確定中央處理器、內部DMA及對應的內部存儲器處于空閑狀態,而外部DMA及對應的外部存儲器處于工作狀態,則下發的控制信息中包含了停止向中央處理器、內部DMA及對應的內部存儲器輸出高頻時鐘信號,而向外部DMA及對應的外部存儲器輸出高頻時鐘信號的信息,于是,時鐘產生模塊根據此控制信息向外部DMA及對應的外部存儲器輸出高頻時鐘信號,而停止向中央處理器、內部DMA及對應的內部存儲器輸出高頻時鐘信號。又如,中央處理器下發的控制信息中包含了停止向中央處理器及其他各模塊輸出高頻時鐘信號的信息,則時鐘產生模塊根據此控制信息停止向中央處理器及各模塊輸出高頻時鐘信號。又如,中央處理器下發的控制信息中包含了停止向片上系統芯片內部各模塊輸出高頻時鐘信號的信息,則時鐘產生模塊停止向片上系統芯片內各模塊輸出高頻時鐘信號。
本發明所述功耗控制方法中,可根據片上系統芯片內部各模塊的工作狀態下發相應的控制信息,從而實現對功耗的靈活控制,改變了現有技術中對片上系統芯片功耗控制方法單一,無法根據片上系統芯片內部各模塊的實際工作狀態進行控制的弊端。
盡管本發明的實施方案已公開如上,但其并不僅僅限于說明書和實施方式中所列運用,它完全可以被適用于各種適合本發明的領域,對于熟悉本領域的人員而言,可容易地實現另外的修改,因此在不背離權利要求及等同范圍所限定的一般概念下,本發明并不限于特定的細節和這里示出與描述的圖例。
權利要求
1.一種片上系統芯片,包括處理器系統、外部直接存取存儲器、外部存儲器、時鐘產生模塊、功能模塊、以及功耗控制模塊,所述功耗控制模塊包括有限狀態機及對應的執行模塊,其特征在于,有限狀態機中還設置有睡眠狀態控制單元,執行模塊中還設置有睡眠狀態執行單元;其中,睡眠狀態控制單元根據處理器系統的控制信息,通過睡眠狀態執行單元控制時鐘產生模塊,使時鐘產生模塊向對應模塊輸出高頻時鐘信號。
2.如權利要求1所述的片上系統芯片,其特征在于,所述處理器系統的控制信息根據中央處理器的數據處理結果確定。
3.如權利要求1所述的片上系統芯片,其特征在于,所述睡眠狀態控制單元包括小睡狀態控制單元,和/或深度睡眠狀態控制單元,所述睡眠狀態執行單元包括對應的小睡狀態執行單元,和/或深度睡眠狀態執行單元。
4.如權利要求3所述的片上系統芯片,其特征在于,所述小睡狀態控制單元對應的控制信息包括停止向中央處理器輸出高頻時鐘信號,以及停止向外部直接存取存儲器及對應的外部存儲器,和/或停止向內部直接存取存儲器及對應的內部存儲器輸出高頻時鐘信號。
5.如權利要求4所述的片上系統芯片,其特征在于,所述時鐘產生模塊停止向中央處理器輸出高頻時鐘信號,以及停止向外部直接存取存儲器及對應的外部存儲器,和/或停止向內部直接存取存儲器及對應的內部存儲器輸出高頻時鐘信號。
6.如權利要求3所述的片上系統芯片,其特征在于,深度睡眠狀態控制單元對應的控制信息包括停止向片上系統芯片內部各模塊輸出高頻時鐘信號。
7.如權利要求6所述的片上系統芯片,其特征在于,所述時鐘產生模塊停止向片上系統芯片內部各模塊輸出高頻時鐘信號。
8.如權利要求3所述的片上系統芯片,其特征在于,所述深度睡眠狀態下,當片上系統芯片接收到芯片外部的喚醒信號后,時鐘產生模塊向各模塊輸出高頻時鐘信號。
9.一種片上系統芯片的功耗控制方法,其特征在于,步驟包括步驟一,確定中央處理器、各直接存取存儲器及對應各存儲器的工作狀態;步驟二,根據上述確定的工作狀態下發相應的控制信息;步驟三,時鐘產生模塊根據上述控制信息向各模塊輸出高頻時鐘信號。
10.如權利要求9所述的功耗控制方法,其特征在于,所述步驟一中,根據中央處理器的數據處理結果確定中央處理器自身,以及外部直接存取存儲器和對應的外部存儲器,和/或內部直接存取存儲器以及內部存儲器的工作狀態。
11.如權利要求9或10所述的功耗控制方法,其特征在于,所述步驟一中,確定的工作狀態包括中央處理器處于空閑狀態,以及外部直接存取存儲器和對應的外部存儲器,和/或內部直接存取存儲器及對應的內部存儲器處于空閑狀態。
12.如權利要求11所述的功耗控制方法,其特征在于,所述步驟二中,下發的控制信息包括停止向中央處理器輸出高頻時鐘信號,以及停止向外部直接存取存儲器及對應的外部存儲器,和/或停止向內部直接存取存儲器及對應的內部存儲器輸出高頻時鐘信號。
13.如權利要求12所述的功耗控制方法,其特征在于,所述步驟三中,時鐘產生模塊停止向中央處理器輸出高頻時鐘信號,以及停止向外部直接存取存儲器及對應的外部存儲器,和/或停止向內部直接存取存儲器及對應的內部存儲器輸出高頻時鐘信號。
14.如權利要求9或10所述的功耗控制方法,其特征在于,所述步驟一中,確定的工作狀態包括片上系統芯片內各模塊均處于空閑狀態。
15.如權利要求14所述的功耗控制方法,其特征在于,所述步驟二中,下發的控制信息包括停止向片上系統芯片內各模塊輸出高頻時鐘信號。
16.如權利要求15所述的功耗控制方法,其特征在于,所述步驟三中,時鐘產生模塊停止向片上系統芯片內各模塊輸出高頻時鐘信號。
全文摘要
本發明公開了一種片上系統芯片及其功耗控制方法。所述片上系統芯片的功耗控制模塊中增加設置有睡眠狀態控制單元和睡眠狀態執行單元;其中,睡眠狀態控制單元根據處理器系統的控制信息,通過睡眠狀態執行單元控制時鐘產生模塊,使時鐘產生模塊向對應模塊輸出高頻時鐘信號。本發明所述方法為確定中央處理器、各直接存取存儲器及對應各存儲器的工作狀態;根據上述確定的工作狀態下發相應的控制信息;時鐘產生模塊根據上述控制信息向各模塊輸出高頻時鐘信號。本發明中,根據片上系統芯片內部各模塊的工作狀態下發相應的控制信息,從而實現對片上系統芯片的功耗進行靈活控制,更好地節省了片上系統芯片的能量消耗。
文檔編號G06F1/32GK1877494SQ20061010629
公開日2006年12月13日 申請日期2006年7月19日 優先權日2006年7月19日
發明者賀超 申請人:北京天碁科技有限公司