本發(fā)明屬于多核芯片領(lǐng)域,具體是一種異構(gòu)多核芯片的多級低功耗管理單元及其方法。
背景技術(shù):
隨著集成電路設(shè)計(jì)水平和制造工藝的提高,芯片性能、集成度也越來越高,很多新片使用了多核心來增加性能,這使得芯片功耗大大增加。為了控制芯片功耗,許多芯片采用了大小核的設(shè)計(jì),性能優(yōu)先的情況下使用大核心或同時(shí)使用大小核心進(jìn)行工作,在低功耗模式下僅僅使用小核心以降低功耗。同時(shí),還可以通過降低時(shí)鐘頻率,來降低芯片功耗。
多核片上系統(tǒng)的每個(gè)核心的作用是不同的,不一定同時(shí)都處在工作狀態(tài),利用芯片的這種特性,可以進(jìn)行功耗管理。如圖1所示,現(xiàn)有的方案中,當(dāng)處理器A不工作時(shí),通知核處理器B,核處理器B 操作寄存器關(guān)閉核處理器B 的時(shí)鐘,而當(dāng)核處理器B 需要轉(zhuǎn)為不工作狀態(tài)時(shí),通過SPI 口寫寄存器關(guān)閉外部晶振。這樣的操作方式增加了額外的功耗,隨著核處理器的增多,軟件的操作方式使得核間通信機(jī)制復(fù)雜,芯片總線設(shè)計(jì)復(fù)雜,并且在喚醒處理器A時(shí),必須先要先從外部開啟晶振,喚醒核處理器B,有許多限制條件,使用不便利,并且無法單獨(dú)關(guān)閉各個(gè)IP的時(shí)鐘和電源。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中存在的上述技術(shù)問題,本發(fā)明主要針對多核異構(gòu)處理器低功耗控制,提出了一種便捷、有效的控制模塊和方法。具體技術(shù)方案如下:
一種異構(gòu)多核芯片的多級低功耗管理單元,所述異構(gòu)多核芯片包括1個(gè)主系統(tǒng)和n個(gè)子系統(tǒng),主系統(tǒng)和每個(gè)子系統(tǒng)中均有一個(gè)功耗管理單元,主系統(tǒng)中有m個(gè)IP。
進(jìn)一步的,所述主系統(tǒng)的功耗管理單元中包含一個(gè)時(shí)鐘管理單元、n+m+1個(gè)門控時(shí)鐘模塊,m個(gè)電源管理模塊。
進(jìn)一步的,所述時(shí)鐘管理單元用于提供時(shí)鐘開關(guān)使能信號、電源開關(guān)使能信號、調(diào)節(jié)時(shí)鐘頻率、接收喚醒信號。
進(jìn)一步的,所述門控時(shí)鐘模塊根據(jù)時(shí)鐘管理單元提供的時(shí)鐘開關(guān)使能信號,開啟或關(guān)閉輸出的時(shí)鐘。5.如權(quán)利要求2所述的異構(gòu)多核芯片的多級低功耗管理單元,其特征在于:所述電源管理模塊根據(jù)時(shí)鐘管理單元提供的電源使能信號,開啟或關(guān)閉輸出的電源。
本發(fā)明還提供了一種使用上述異構(gòu)多核芯片的多級低功耗單元的多級低功耗管理方法,所述主系統(tǒng)的功耗管理單元控制各個(gè)IP的時(shí)鐘與電源關(guān)斷,具體為:CPU0告知時(shí)鐘管理單元,需要關(guān)閉某個(gè)IP的時(shí)鐘與電源,控制器等待IP進(jìn)入IDLE狀態(tài)后,關(guān)閉其時(shí)鐘與電源。
進(jìn)一步的,所述主系統(tǒng)的功耗管理單元控制各個(gè)子系統(tǒng)的時(shí)鐘關(guān)斷,具體為:CPU0告知時(shí)鐘管理單元,需要關(guān)閉某個(gè)子系統(tǒng)的時(shí)鐘,控制器等待子系統(tǒng)進(jìn)入IDLE狀態(tài)后,關(guān)閉其時(shí)鐘。
進(jìn)一步的,控制主系統(tǒng)的功耗管理單元,關(guān)閉CPU0的時(shí)鐘,具體為:CPU0告知時(shí)鐘管理單元需要關(guān)閉自己的時(shí)鐘,然后CPU0自己進(jìn)入STOP模式,控制器檢測到CPU0進(jìn)入STOP模式后,關(guān)閉其時(shí)鐘。
進(jìn)一步的,CPU0由外部中斷喚醒或控制器自帶的計(jì)時(shí)器喚醒。
進(jìn)一步的,每個(gè)子系統(tǒng)的功耗管理單元也可以控制各個(gè)IP的時(shí)鐘與電源關(guān)斷、以及關(guān)閉自身CPU的時(shí)鐘;CPU0 可通過配置時(shí)鐘管理單元,調(diào)整子系統(tǒng)和CPU0自身的時(shí)鐘頻率,在對性能要求較高的應(yīng)用下,使用較高的時(shí)鐘頻率,在對性能要求不高時(shí)降低時(shí)鐘頻率。
附圖說明
圖1是現(xiàn)有技術(shù)中功耗管理方式圖;
圖2是本發(fā)明的異構(gòu)多核處理器功耗控制模塊圖;
圖3是關(guān)閉IP信號時(shí)序圖;
圖4是開啟IP信號時(shí)序圖;
圖5是關(guān)閉CPU信號時(shí)序圖;
圖6是喚醒CPU信號時(shí)序圖。
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明。
本發(fā)明的框圖如圖2所示,將整個(gè)芯片劃分為1個(gè)主系統(tǒng)和n個(gè)子系統(tǒng),主系統(tǒng)中有m個(gè)IP。
主系統(tǒng)和每個(gè)子系統(tǒng)中均有一個(gè)功耗管理單元。
功耗管理單元中包含一個(gè)時(shí)鐘管理單元、n+m+1個(gè)門控時(shí)鐘模塊,m個(gè)電源管理模塊。
時(shí)鐘管理單元:用于提供時(shí)鐘開關(guān)使能信號、電源開關(guān)使能信號、調(diào)節(jié)時(shí)鐘頻率、接收喚醒信號,由CPU進(jìn)行控制。
門控時(shí)鐘模塊:根據(jù)時(shí)鐘管理單元提供的時(shí)鐘開關(guān)使能信號,開啟或關(guān)閉輸出的時(shí)鐘。
電源管理模塊:根據(jù)時(shí)鐘管理單元提供的電源使能信號,開啟或關(guān)閉輸出的電源。
本申請中所指的STOP模式,是指CPU停止工作,進(jìn)入休眠,時(shí)鐘關(guān)斷,CPU可通過中斷或計(jì)時(shí)器喚醒。
NORMAL模式是指正常工作模式。
IDLE模式是指IP進(jìn)入空閑狀態(tài),可關(guān)閉其時(shí)鐘。
本裝置還有以下特點(diǎn):
1、可以控制各個(gè)IP的時(shí)鐘與電源關(guān)斷。CPU0告知時(shí)鐘管理單元,需要關(guān)閉某個(gè)IP的時(shí)鐘與電源,控制器等待IP進(jìn)入IDLE狀態(tài)后,關(guān)閉其時(shí)鐘與電源。
2、可以控制各個(gè)子系統(tǒng)的時(shí)鐘關(guān)斷。CPU0告知時(shí)鐘管理單元,需要關(guān)閉某個(gè)子系統(tǒng)的時(shí)鐘,控制器等待子系統(tǒng)進(jìn)入IDLE狀態(tài)后,關(guān)閉其時(shí)鐘。
3、可以控制功耗管理單元,關(guān)閉CPU0的時(shí)鐘。CPU0告知時(shí)鐘管理單元需要關(guān)閉自己的時(shí)鐘,然后CPU0自己進(jìn)入STOP模式,控制器檢測到CPU0進(jìn)入STOP模式后,關(guān)閉其時(shí)鐘。
4、CPU0可由外部中斷喚醒或控制器自帶的計(jì)時(shí)器喚醒。
5、每個(gè)子系統(tǒng)中有同樣的功耗管理單元,但不再具有特點(diǎn)2,即只有主系統(tǒng)的功耗管理單元才具有對子系統(tǒng)的控制功能。
6、CPU0 可通過配置時(shí)鐘管理單元,調(diào)整子系統(tǒng)和CPU0自身的時(shí)鐘頻率,在對性能要求較高的應(yīng)用下,使用較高的時(shí)鐘頻率,在對性能要求不高時(shí)降低時(shí)鐘頻率,以降低功耗。
本申請可以通過對芯片內(nèi)部相關(guān)時(shí)鐘和電源的控制節(jié)省終端的功耗。
具體實(shí)例:
關(guān)閉IP0,如圖3:
1、任意CPU配置功耗管理單元,需要關(guān)閉IP0。
2、控制器等待IP0進(jìn)入IDLE狀態(tài)。
3、 控制器關(guān)閉IP0的時(shí)鐘與電源。
開啟IP0,如圖4:
1、任意CPU配置功耗管理單元,需要開啟IP0
2、控制器開啟IP0的時(shí)鐘與電源。
關(guān)閉CPU0,如圖5:
1、CPU0配置功耗管理單元,需要關(guān)閉。
2、CPU0進(jìn)入STOP模式。
3、功耗管理單元等待CPU0進(jìn)入STOP模式后,關(guān)閉其時(shí)鐘。
喚醒CPU0,如圖6:
1、外部中斷發(fā)送給功耗管理單元和CPU0
2、功耗管理單元開啟CPU0的時(shí)鐘
3、CPU0退出STOP模式,進(jìn)入NORMAL模式
關(guān)閉子系統(tǒng)1:
1、CPU0配置功耗管理單元,需要關(guān)閉子系統(tǒng)1。
2、CPU1配置子系統(tǒng)1進(jìn)入STOP模式,功耗管理單元1關(guān)閉子系統(tǒng)1中所有IP的時(shí)鐘和電源。
3、 CPU1進(jìn)入STOP模式。
4、功耗管理單元0等待子系統(tǒng)1進(jìn)入STOP模式后,關(guān)閉子系統(tǒng)1時(shí)鐘。
喚醒子系統(tǒng)1:
1、外部中斷發(fā)送給功耗管理單元0和CPU1
2、功耗管理單元0開啟子系統(tǒng)1的時(shí)鐘,功耗管理單元1開啟CPU1和子系統(tǒng)1中所有IP的時(shí)鐘
3、CPU1退出STOP模式,進(jìn)入NORMAL模式
調(diào)整頻率:
1、 CPU0配置功耗管理單元,需要關(guān)閉所有子系統(tǒng)和IP。
2、CPU1配置子系統(tǒng)1進(jìn)入STOP模式,功耗管理單元1關(guān)閉子系統(tǒng)1中所有IP的時(shí)鐘和電源。
3、同理,等待其他所有子系統(tǒng)進(jìn)入STOP模式
4、CPU1進(jìn)入STOP模式。
5、時(shí)鐘管理模塊0調(diào)整所有時(shí)鐘的頻率。
6、喚醒CPU0和其他子系統(tǒng)。