本技術(shù)涉及終端領(lǐng)域,尤其涉及功耗分配方法和終端。
背景技術(shù):
1、終端的處理器在不同周期所能消耗的總功耗可以隨溫度等因素進(jìn)行變化。處理器中包括至少一個核集群時,終端需要基于各核集群在上一周期的負(fù)載量將該總功耗分配至各核集群,得到各核集群在當(dāng)前周期可消耗的功耗。一個核集群分配到的功耗可以影響核集群在當(dāng)前周期的頻點。通常來說,一個核集群在當(dāng)前周期的功耗越大,可以支持該核集群工作在更高的頻點上。其中,頻點可以用于形容核集群的工作頻率。更高的頻點意味著核集群可以處理更多的任務(wù),使得核集群在當(dāng)前周期可以有更大的負(fù)載量。
2、核集群在當(dāng)前周期的負(fù)載量又會影響后續(xù)為核集群分配的功耗,終端需要根據(jù)核集群已處理任務(wù)的情況(例如負(fù)載量等)合理的為各集群分配功耗,以使得核集群性能和功耗之間平衡。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了功耗分配方法和終端,終端可以基于處理器中各核集群的能效比更加合理的將處理器可消耗的總功耗分配給各核集群。
2、第一方面,本技術(shù)提供了一種功耗分配方法,應(yīng)用于包括處理器的終端,該處理器中包括n個核集群,該方法包括:具有第一溫度的該終端確定在第一周期內(nèi)該處理器可消耗的總功耗;溫度與總功耗的對應(yīng)關(guān)系記錄在該終端中;該終端基于n個核集群在第二周期的實際負(fù)載量分配該總功耗,得到n個核集群在該第一周期的預(yù)算功耗;該第二周期為該第一周期的前一周期;n為大于1的整數(shù);該終端分別確定出n個核集群各自在預(yù)算功耗下的最大頻點,再分別基于n個核集群的最大頻點確定出各核集群的頻點能效比;一個核集群的最大頻點及頻點能效比的對應(yīng)關(guān)系記錄在該終端中;在n個核集群的頻點能效比之和小于預(yù)設(shè)能效比的情況下,該終端調(diào)整部分或者全部核集群的預(yù)算功耗,得到n個核集群在該第一周期的需求功耗;通過n個需求功耗所確定的頻點能效比之和大于或者等于該預(yù)設(shè)能效比。
3、上述實施例中,第一溫度即為終端在進(jìn)入第一周期之間測量的溫度。第一周期可以為下述實施例中涉及的當(dāng)前周期,第k個周期。第二周期可以為下述實施例中涉及的上一周期,第k-1個周期。
4、在n個核集群的頻點能效比之和小于預(yù)設(shè)能效比時,表示此時對總功耗的分配是不合理的,終端經(jīng)過調(diào)整核集群的預(yù)算功耗達(dá)到頻點能效比之和大于或者等于預(yù)設(shè)能效比,使得n個核集群分配到的最終功耗(需求功耗)是合理的。
5、結(jié)合第一方面,在一些實施例中,該方法還包括:在n個核集群的頻點能效比之和大于或者等于該預(yù)設(shè)能效比的情況下,該終端將n個核集群在該第一周期的預(yù)算功耗作為n個核集群在該第一周期的需求功耗。
6、上述實施例中,在頻點能效比之和大于或者等于預(yù)設(shè)能效比時,表示對總功耗的分配是合理的。
7、結(jié)合第一方面,在一些實施例中,該終端調(diào)整部分或者全部核集群的預(yù)算功耗,得到n個核集群在該第一周期的需求功耗,具體包括:該終端調(diào)整x個目標(biāo)核集群的最大頻點,得到x個調(diào)整后的最大頻點;x為小于或者等于n的整數(shù);一個目標(biāo)核集群的最大頻點是基于該一個目標(biāo)核集群的預(yù)算功耗除以第一參數(shù)得到的,該第一參數(shù)等于該一個目標(biāo)核集群中的核數(shù)乘以該第一周期的時長;該終端分別基于x個調(diào)整后的最大頻點調(diào)整x個目標(biāo)核集群的預(yù)算功耗;該終端將x個目標(biāo)核集群的調(diào)整后的預(yù)算功耗作為x個目標(biāo)核集群在該第一周期的需求功耗,將n-x個非目標(biāo)核集群的預(yù)算功耗作為n-x個非目標(biāo)核集群在該第一周期的需求功耗。
8、上述實施例中,在n個核集群的頻點能效比之和小于預(yù)設(shè)能效比時,表示此時對總功耗的分配是不合理的,終端經(jīng)過調(diào)整核集群的預(yù)算功耗達(dá)到頻點能效比之和大于或者等于預(yù)設(shè)能效比,使得n個核集群分配到的最終功耗(需求功耗)是合理的。
9、結(jié)合第一方面,在一些實施例中,該終端調(diào)整部分或者全部核集群的預(yù)算功耗,得到n個核集群在該第一周期的需求功耗,具體包括:該終端調(diào)整x個目標(biāo)核集群的最大頻點,得到x個調(diào)整后的最大頻點;該x為小于或者等于n的整數(shù);一個目標(biāo)核集群的最大頻點是基于該一個目標(biāo)核集群的預(yù)算功耗除以第一參數(shù)得到的,該第一參數(shù)等于該一個目標(biāo)核集群中的核數(shù)乘以該第一周期的時長;該終端通過x個調(diào)整后的最大頻點和n-x個非目標(biāo)核集群的最大頻點重新分配總功耗,調(diào)整n個核集群在該第一周期的預(yù)算功耗;該終端將n個核集群的調(diào)整后的預(yù)算功耗作為n個核集群在該第一周期的需求功耗。
10、上述實施例中,在n個核集群的頻點能效比之和小于預(yù)設(shè)能效比時,表示此時對總功耗的分配是不合理的,終端經(jīng)過調(diào)整核集群的預(yù)算功耗達(dá)到頻點能效比之和大于或者等于預(yù)設(shè)能效比,使得n個核集群分配到的最終功耗(需求功耗)是合理的。
11、結(jié)合第一方面,在一些實施例中,該目標(biāo)核集群包括該n個核集群中最大頻點大于第一預(yù)設(shè)頻點的核集群,和/或,該n個核集群中最大頻點小于第二預(yù)設(shè)頻點的核集群,該終端調(diào)整x個目標(biāo)核集群的最大頻點,具體包括:該終端將最大頻點大于該第一預(yù)設(shè)頻點的目標(biāo)核集群的最大頻點調(diào)低,和/或,除了該調(diào)低,該終端還將最大頻點小于該第二預(yù)設(shè)頻點的目標(biāo)核集群的最大頻點調(diào)高。
12、上述實施例中,核集群的頻點能效比衡量了核集群單位功耗內(nèi)能實現(xiàn)多少的性能。核集群的頻點能效比在一個合理的范圍內(nèi),則核集群的工作狀態(tài)越好,但是不是越高越好,也不是越低越好。一個不好但是較高的能效說明核集群的頻點太大了導(dǎo)致核集群雖然可以運行更多任務(wù)但是效率不高。一個不好但是較低的能效說明核集群的頻點太小了導(dǎo)致核集群運行的任務(wù)少,且效率不高。因此需要對具有較高能效比的核集群所對應(yīng)的最大頻點進(jìn)行調(diào)低,使得該核集群的能效比可以得到提升。具有較低能效比的核集群所對應(yīng)的最大頻點進(jìn)行調(diào)高,使得該核集群的能效比可以得到提升。
13、結(jié)合第一方面,在一些實施例中,該終端基于n個核集群在第二周期的實際負(fù)載量分配該總功耗,得到n個核集群在該第一周期的預(yù)算功耗,具體包括:該終端分別基于n個核集群的實際負(fù)載量確定各核集群的性能頻點;一個核集群的實際負(fù)載量和性能頻點的對應(yīng)關(guān)系記錄于該終端中;該終端基于n個核集群的性能頻點分配該總功耗,得到n個核集群在該第一周期的預(yù)算功耗;一個核集群所分配的預(yù)算功耗除以該總功耗等于該一個核集群的性能頻點除以該n個核集群的性能頻點之和。
14、結(jié)合第一方面,在一些實施例中,得到n個核集群在該第一周期的需求功耗之后,該方法還包括:在第一核集群上的任務(wù)發(fā)生變化時,該終端基于完成該任務(wù)所需的預(yù)算負(fù)載量確定該第一核集群的預(yù)測需求頻點;在該預(yù)測需求頻點小于或者等于該第一核集群的最大頻點時,該終端將該預(yù)測需求頻點作為該第一核集群在該第一周期的一個需求頻點。
15、結(jié)合第一方面,在一些實施例中,該方法還包括:在該預(yù)測需求頻點大于該第一核集群的最大頻點時,該終端確定采用該預(yù)測需求頻點時,該第一核集群上的溢出功耗;該終端基于該溢出功耗、預(yù)測需求頻點以及該第一核集群上的總剩余功耗確定該第一核集群在該第一周期的一個需求頻點;其中,該第一核集群上的溢出功耗等于第一周期的剩余時間內(nèi)采取該預(yù)測需求頻點時所需的功耗減去該剩余時間內(nèi)采取該最大頻點時所需的功耗;該第一核集群上的總剩余功耗等于第一周期的已用時間采取該最大頻點時所需的功耗減去該已用時間內(nèi)已消耗的功耗。
16、結(jié)合第一方面,在一些實施例中,該終端基于該溢出功耗、預(yù)測需求頻點以及該第一核集群上的總剩余功耗確定該第一核集群在該第一周期的一個需求頻點,具體包括:在確定該總剩余功耗可抵消該溢出功耗的情況下,該終端將該預(yù)測需求頻點作為該第一核集群在該第一周期的一個需求頻點;在確定該總剩余功耗不可抵消該溢出功耗的情況下,該終端將該第一核集群的最大頻點作為該第一核集群在該第一周期的一個需求頻點。
17、上述實施例中,當(dāng)需求頻點大于最大頻點時。相當(dāng)于需求頻點所額外消耗的功耗是通過當(dāng)前周期已采用的需求頻點的剩余功耗boost而來的。但是,是否可以boost是需要判斷的,在總剩余功耗可抵消該溢出功耗的情況下,才支持boost,這樣在提升頻點的同時不會導(dǎo)致功耗使用超出。
18、結(jié)合第一方面,在一些實施例中,該總剩余功耗可抵消該溢出功耗,具體包括:該總剩余功耗大于該溢出功耗,或者,該總剩余功耗減去該溢出功耗大于預(yù)設(shè)功耗值。
19、上述實施例中,對于該總剩余功耗減去該溢出功耗大于預(yù)設(shè)功耗值這個限定??梢栽谧鯾oost的時候,更好的保證使用大于最大頻點的需求頻點時產(chǎn)生的額外功耗可以小于總剩余功耗。
20、第二方面,本技術(shù)實施例提供了一種終端,該終端包括:一個或多個處理器和存儲器;該存儲器與該一個或多個處理器耦合,該存儲器用于存儲計算機(jī)程序代碼,該計算機(jī)程序代碼包括計算機(jī)指令,該一個或多個處理器調(diào)用該計算機(jī)指令以使得該終端執(zhí)行如第一方面中實施的方法。
21、第三方面,本技術(shù)實施例提供了一種計算機(jī)可讀存儲介質(zhì),包括指令,當(dāng)該指令在終端上運行時,使得該終端執(zhí)行如第一方面中實施的方法。
22、第四方面,本技術(shù)實施例提供了一種芯片系統(tǒng),該芯片系統(tǒng)應(yīng)用于終端,該芯片系統(tǒng)包括一個或多個處理器,該處理器用于調(diào)用計算機(jī)指令以使得該終端執(zhí)行如第一方面實施的方法。
23、第五方面,本技術(shù)實施例提供了一種包含指令的計算機(jī)程序產(chǎn)品,當(dāng)該計算機(jī)程序產(chǎn)品在終端上運行時,使得該終端執(zhí)行如第一方面實施的方法。
24、可以理解地,第二方面提供的終端、第三方面提供的計算機(jī)存儲介質(zhì)、第四方面提供的芯片系統(tǒng)和第五方面提供的計算機(jī)程序產(chǎn)品均用于執(zhí)行本技術(shù)實施例所提供的方法。因此,其所能達(dá)到其他有益效果可參考對應(yīng)方法中的有益效果,此處不再贅述。