專利名稱:負載監控裝置和方法
技術領域:
本發明涉及信息技術領域,并且具體地,涉及負載監控裝置和方法。
背景技術:
隨著信息技術的不斷發展,處理器性能越來越快,同時也導致處理器的動態功耗 成倍增長,例如圖形處理器(Graphic Process Unit,GPU)。為了降低動態功耗,常常需要獲取處理器的負載狀況。在現有技術中,處理器底層驅動在軟件層面監控處理器當前的任務量或預測處理器未來的任務量,通過分析任務量來估算處理器的負載。由于處理器業務通常是由處理器軟件和硬件協同完成的,因此處理器底層驅動一般監控不到硬件的繁忙程度,只能估算處理器的負載,造成負載監控準確性差。而且由于處理器需要耗費資源去分析處理器業務的繁忙程度,因此會給處理器帶來額外的消耗。
發明內容
本發明實施例提供負載監控裝置和方法,能夠準確反映負載量狀況并減小資源消耗。一方面,提供了一種負載監控裝置,包括運算單元,用于確定用于指示該運算單元中每個處理模塊的工作狀態的指示信息;工作狀態單元,用于從該運算單元接收該指示信息,并根據該指示信息確定當前監控時段的負載量信息,該負載量信息用于指示在該當前監控時段內該運算單元的負載量狀況;負載監控單元,用于從該工作狀態單元接收并記錄該負載量信息,并向系統控制器發送該負載量信息,以便該系統控制器根據該負載量信息調整該運算單元的工作頻率。另一方面,提供了一種負載監控方法,包括運算單元確定用于指示該運算單元中每個處理模塊的工作狀態的指示信息;工作狀態單元從該運算單元接收該指示信息;該工作狀態單元根據該指示信息確定當前監控時段的負載量信息,該負載量信息用于指示在該當前監控時段內該運算單元的負載量狀況;負載監控單元從該工作狀態單元接收并記錄該負載量信息;該負載監控單元向系統控制器發送該負載量信息,以便該系統控制器根據該負載量信息調整該運算單元的工作頻率。本發明實施例中通過工作狀態單元根據運算單元中每個處理模塊的工作狀態確定當前監控時段的負載量信息,相比現有技術中通過軟件監控負載量,能夠準確反映負載量狀況并減小資源消耗。
為了更清楚地說明本發明實施例的技術方案,下面將對本發明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖I是根據本發明實施例的負載監控裝置的示意框圖。圖2是圖I中的工作狀態單元的一個例子的示意框圖。圖3是根據本發明實施例的負載監控方法的示意性流程圖。圖4是根據本發明實施例的負載量確定過程的一個例子的示意性流程圖。圖5是根據本發明實施例的運算單元的一個例子的示意圖。圖6是根據本發明實施例的工作狀態單元和負載監控單元的一個例子的示意圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明的一部分實施例,而不是全部實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都應屬于本發明保護的范圍。圖I是根據本發明實施例的負載監控裝置的示意框圖。圖I的負載監控裝置包括運算單元110、工作狀態單元120和負載監控單元130。運算單元110確定用于指示所述運算單元中每個處理模塊的工作狀態的指示信息。工作狀態單元120從運算單元110接收指示信息,并根據指示信息確定當前監控時段的負載量信息,該負載量信息用于指示在當前監控時段內運算單元110的負載量狀況。負載監控單元130從工作狀態單元120接收并記錄該負載量信息,并向系統控制器發送該負載量信息,以便系統控制器根據該負載量信息調整運算單元110的工作頻率。本發明實施例中通過工作狀態單元根據運算單元中每個處理模塊的工作狀態確定當前監控時段的負載量信息,相比現有技術中通過軟件監控負載量,能夠準確反映負載量狀況以及減小資源消耗。此外,本發明實施例中通過負載監控單元向系統控制器發送負載量信息,使得系統控制器能夠根據當前監控時段內運算單元的負載量狀況調整運算單元的工作頻率,從而能夠降低運算單元的動態功耗。應理解,本發明實施例中,運算單元110可以是不同處理器的運算部分,例如可以是圖形處理器(Graphic Process Unit,GPU)的運算單元,也可以是與GPU具有類似原理的其它處理器中的運算單元。本發明實施例對此不作限定。還應理解,本發明實施例中,運算單元110、工作狀態單元120和負載監控單元130可以是集成在一起,也可以是分散在整個計算處理系統中。本發明實施例對此不作限定。本發明實施例中,運算單元110可以實時地向工作狀態單元120發送指示信息,使得工作狀態單元120可以實時地確定負載量信息,相比現有技術中通過軟件估算負載量,本發明實施例中負載監控單元130能夠準確監控到當前監控時段內運算單元110的負載量狀況,也就是當前監控時段內處理器的負載量狀況。此外,在現有技術中,為了降低處理器的動態功耗,通過硬件監控處理器內部模塊的忙閑程度,對空閑模塊的工作時鐘進行關斷。但是,常常出現所有模塊都是輕負載,而處 理器還需要滿頻工作的情形,造成動態功耗仍然很大。本發明實施例中,通過負載監控單元130向系統控制器發送當前監控時段的負載量信息,使得系統控制器可以根據當前監控時段內運算單元110的負載量狀態,動態調整運算單元110的工作頻率,從而能夠減低運算單元110的動態功耗,也就是降低處理器的動態功耗。例如,當負載量下降50%時,可以將工作頻率降低50%。此處數值舉例是為了幫助本領域技術人員更好地理解本發明實施例,并非限制本發明實施例的范圍。可選地,作為一個實施例,工作狀態單元120可確定當前監控時段的時間長度。圖2是圖I中的工作狀態單元的一個例子的示意框圖。如圖2所示,工作狀態單元120可包括監控時段計數器模塊121。監控時段計數器模塊121可確定當前監控時段中子時段的數目k以及當前監控時段中的時鐘周期數目,其中當前監控時段由k個子時段組成,每個子時段的時鐘周期數目相同,k為正整數。通常,每個子時段的時鐘周期數目是預定義的,因此當前監控時段的時間長度取決于當前監控時段中子時段的數目k。如果當前監控時段太長,會造成負載量信息失去實時性。如果當前監控時段太短,而系統控制器讀取負載量信息后去調整運算單元110,經歷的時間比較長,會造成不準確。因此,本發明實施例中,可以根據不同處理器中運算單元性能特點,選取適用的當前監控時段中子時段的數目k,能夠靈活調整當前監控時段的長度,從而也能夠提高對運算單元110的負載量狀況監控的準確度。可選地,作為另一實施例,如圖2所示,工作狀態單元120還可包括負載量計數器模塊122。負載量計數器模塊122可根據指示信息確定在當前監控時段內運算單元110的負載量,根據從監控時段計數器模塊121接收的當前監控時段中子時段的數目k以及在當前監控時段內運算單元110的負載量,確定負載量信息,該負載量信息包括在一個子時段內運算單元110的負載量。負載監控單元130需要通過總線向系統控制器發送負載量信息,因此如果負載量信息太大,會消耗資源。當前監控時段由k個長度相同的子時段組成,在確定當前監控時段內運算單元110的負載量后,可以確定一個子時段內運算單元110的負載量。這樣,能夠減小負載量信息,從而節省資源。可選地,作為另一實施例,負載量計數器模塊122可根據指示信息,記錄在當前監控時段內運算單元110處于忙態的時鐘周期數目作為運算單元110的負載量。運算單元110具有忙態和閑態兩個狀態,運算單元110的負載量可以運用統計學方式獲得。也就是,通過獲取運算單元110在當前監控時段內處于忙態的時鐘周期數目,就可以作為運算單元110的負載量。可選地,作為另一實施例,負載量計數器模塊122可從監控時段計數器模塊121接收當前監控時段中的時鐘周期數目;記錄在當前監控時段內所有處理模塊處于閑態的時鐘周期數目作為運算單元110處于閑態的時鐘周期數目;根據在當前監控時段內運算單元110處于閑態的時鐘周期數目以及當前監控時段中的時鐘周期數目,確定在當前監控時段內運算單元110處于忙態的時鐘周期數目。運算單元110包括至少一個處理模塊,因此運算單元110的工作狀態由各個處理模塊的工作狀態共同決定。如果在同一個時鐘周期內,所有處理模塊處于閑態,那么運算單元110就進入閑態。因此,當前監控時段內所有處理模塊處于閑態的時鐘周期數目可以作 為運算單元110處于閑態的時鐘周期數目。這樣,當前監控時段中的時鐘周期數目減去運算單元110處于閑態的時鐘周期數目,就可以確定當前監控時段內運算單元110處于忙態的時鐘周期數目,從而獲得當前監控時段內運算單元110的負載量。
可選地,作為另一實施例,監控時段計數器模塊121還可以接收系統控制器發送的配置信息,該配置信息用于確定當前監控時段中子時段的數目k。系統控制器可以根據系統的性能特點,對當前監控時段的長度靈活配置,能夠更準確地對運算單元110的負載量狀況進行監控。可選地,作為另一實施例,負載監控單元130可在記錄M個監控時段的負載量信息后,向系統控制器發送M個監控時段的負載量信息,以便系統控制器根據M個監控時段的負載量信息調整運算單元130的工作頻率,其中M個監控時段的負載量信息包括當前監控時段的負載量信息,M為大于I的正整數。
負載監控單元130可以在獲得連續的M個監控時段的負載量信息后,向系統控制器一次性發送M個監控時段的負載量信息,這樣系統控制器可以獲得運算單元110的負載量變化趨勢,從而更精確地調整運算單元110的工作頻率。當然,負載監控單元130也可以根據運算單元的性能特點,獲取非連續的M個監控時段的負載量信息后,一次性發送給系統控制器。本發明實施例對此不作限定。可選地,作為另一實施例,負載監控單元130可包括M個寄存器模塊。M個寄存器模塊可記錄M個監控時段的負載量信息。這樣能夠監控運算單元110的負載量變化趨勢。本發明實施例中通過工作狀態單元根據運算單元中每個處理模塊的工作狀態確定當前監控時段的負載量信息,相比現有技術中通過軟件監控負載量,能夠準確反映負載量狀況并減小資源消耗。此外,本發明實施例中通過負載監控單元向系統控制器發送負載量信息,使得系統控制器能夠根據當前監控時段內運算單元的負載量狀況調整運算單元的工作頻率,從而能夠降低運算單元的動態功耗。圖3是根據本發明實施例的負載監控方法的示意性流程圖。圖3的方法由圖I的負載監控裝置100執行。下面將結合圖I的負載監控裝置100描述圖3的方法,并適當省略重復的描述。310,運算單元110確定用于指示運算單元110中每個處理模塊的工作狀態的指示信息。320,工作狀態單元120從運算單元110接收該指示信息。330,工作狀態單元120根據該指示信息確定當前監控時段的負載量信息,該負載量信息用于指示在當前監控時段內運算單元110的負載量狀況。340,負載監控單元130從工作狀態單元120接收并記錄該負載量信息。350,負載監控單元130向系統控制器發送該負載量信息,以便系統控制器根據該負載量信息調整運算單元110的工作頻率。本發明實施例中通過工作狀態單元根據運算單元中每個處理模塊的工作狀態確定當前監控時段的負載量信息,相比現有技術中通過軟件監控負載量,能夠準確反映負載量狀況并減小資源消耗。此外,本發明實施例中通過負載監控單元向系統控制器發送負載量信息,使得系統控制器能夠根據當前監控時段內運算單元的負載量狀況調整運算單元的工作頻率,從而能夠降低運算單元的動態功耗。可選地,作為一個實施例,在步驟320之前,工作狀態單元120可確定當前監控時段中子時段的數目k以及當前監控時段中的時鐘周期數目,其中當前監控時段由k個子時段組成,每個子時段的時鐘周期數目相同,k為正整數。可選地,作為另一實施例,在步驟330中,工作狀態單元120可根據指示信息確定在當前監控時段內運算單元110的負載量,根據在當前監控時段內運算單元110的負載量以及當前監控時段中子時段的數目k,確定負載量信息,該負載量信息包括在一個子時段內運算單元的負載量。可選地,作為另一實施例,在步驟330中,工作狀態單元120可根據指示信息,記錄在當前監控時段內運算單元110處于忙態的時鐘周期數目作為運算單元110的負載量。
可選地,作為另一實施例,在步驟330中,工作狀態單元120可記錄在當前監控時段內所有處理模塊處于閑態的時鐘周期數目作為運算單元110處于閑態的時鐘周期數目,根據在當前監控時段內運算單元110處于閑態的時鐘周期數目以及當前監控時段中的時鐘周期數目,確定在當前監控時段內運算單元110處于忙態的時鐘周期數目。可選地,作為另一實施例,在步驟320之前,工作狀態單元120可接收系統控制器發送的配置信息,該配置信息用于確定當前監控時段中子時段的數目k。可選地,作為另一實施例,在步驟350中,負載監控單元130可在記錄M個監控時段的負載量信息后,向系統控制器發送M個監控時段的負載量信息,以便系統控制器根據M個監控時段的負載量信息調整運算單元110的工作頻率,其中M個監控時段的負載量信息可包括當前監控時段的負載量信息,M為正整數。可選地,作為另一實施例,在步驟350之前,負載監控單元130可記錄M個監控時段的負載量信息。本發明實施例中通過工作狀態單元根據運算單元中每個處理模塊的工作狀態確定當前監控時段的負載量信息,相比現有技術中通過軟件監控負載量,能夠準確反映負載量狀況并減小資源消耗。此外,本發明實施例中通過負載監控單元向系統控制器發送負載量信息,使得系統控制器能夠根據當前監控時段內運算單元的負載量狀況調整運算單元的工作頻率,從而能夠降低運算單元的動態功耗。下面將結合具體例子更加詳細描述本發明實施例。應注意,圖4至圖6中的這些例子是為了幫助本領域技術人員更好地理解本發明實施例,而非要限制本發明實施例的范圍。圖4是根據本發明實施例的負載量確定過程的一個例子的示意性流程圖。在圖4中,假設每個子時段的時鐘周期數目為64,當前監控時段中子時段的數目k = 2n,這里假設η為4。將子時段的時鐘周期數目64換算為二進制,即7' bl000000(7 / d64)。由于當前監控時段由24個子時段組成,因此,將子時段的時鐘周期數目7 , blOOOOOO左移4位,得到當前監控時段的時鐘周期數目11' blOOOOOOOOOOdl' dl024)。假設在1Γ blOOOOOOOOOO個時鐘周期中,運算單元110處于閑態的時鐘周期數目為32,那么運算單元110處于忙態的時鐘周期數目為1024-32 = 992,換算為二進制,SP10' blllll00000(10/ d992)。由于當前監控時段由24個子時段組成,那么將當前監控時段內運算單元110處于忙態的時鐘周期數目10' blllll00000(10/ d992)右移4位,則得到一個子時段內運算單元110處于忙態的時鐘周期數目為6' bllllioao' d62)。也就是,一個子時段內運算單元110的負載量為62。那么,負載量信息包括一個子時段內運算單兀110的負載量62。應理解,上述數值舉例只是為了幫助本領域技術人員更好地理解本發明實施例,而非限制本發明實施例的范圍。本發明實施例中,通過將當前監控時段內運算單元的負載量轉換為一個子時段內運算單元的負載量,能夠減小負載量信息,從而節省資源。圖5是根據本發明實施例的運算單元的一個例子的示意圖。下面結合圖I的負載監控裝置100描述圖5。在圖5中,運算單元110包括j個處理模塊,即處理模塊I至處理模塊j,其中j為 正整數。如圖5所示,運算單元110的工作狀態由各個處理模塊的工作狀態共同決定。在同一個時鐘周期內,當處理模塊I至處理模塊j全部處于閑態時,運算單元110處于閑態,那么狀態信號輸出高電平。這樣,通過在監控時段內記錄狀態信號輸出高電平的時鐘周期數目,可獲得在當前監控時段內運算單元110處于閑態的時鐘周期數目,從而可以得到在當前監控時段內運算單元110處于忙態的時鐘周期數目作為當前監控時段內運算單元110的負載量。圖6是根據本發明實施例的工作狀態單元和負載監控單元的一個例子的示意圖。下面結合圖I的負載監控裝置100描述圖6,將適當省略重復的描述。在圖6中,假設負載監控單元130可記錄四個監控時段的負載量信息。上述數值舉例是為了幫助本領域人員更好地理解本發明實施例,而非限制本發明實施例的范圍。在本發明實施例中,負載監控單元130還可記錄其它數目的監控時段的負載量信息,本發明實施例對此不作限定。如圖6所示,工作狀態單元120包括監控時段計數器模塊121和負載量計數器模塊122。監控時段的時鐘周期數目以N表示。假設第一個監控時段中子時段的數目k = 2n,監控時段計數器模塊121可從系統控制器接收n的取值%。每個子時段中的時鐘周期數目i是預先定義的,其中i為正整數。因此,第一個監控時段的時鐘周期數目N的取值Ntl= (i< < n0)。監控時段計數器模塊121的初始值為Ntl,每個時鐘周期遞減I,直到計數為0,表示第一個監控時段結束。此時時段結束信號C變為高電平,并持續一個時鐘周期。監控時段計數器模塊121可以將第一個監控時段的時鐘周期數目Ntl以及n的取值Iitl發送給負載量計數器模塊122。負載量計數器模塊122的初始值也為凡。當從圖5所示的運算單元110接收的狀態信號為高電平時,負載量計數器模塊122的值減I。在第一個監控時段結束,時段結束信號C為高電平時,將此時負載量計數器模塊122的值右移Iitl位后,得到第一個監控時段的一個子時段內運算單元110的負載量作為第一個監控時段的負載量信息P1,并發送給負載監控單元130。在第一個監控時段結束后,監控時段計數器模塊121可以再次從系統控制器接收n的取值Ii1,確定第二個監控時段的時鐘周期數目N的取值N1 = (i << Ii1) o并將第二個監控時段的時鐘周期數目N1以及n的取值Ii1發送給負載量計數器模塊122。具體工作過程可參照第一個監控時段的過程,為了避免重復,此處不再贅述。在四個監控時段結 束后,負載量計數器模塊122可向負載監控單元130 —次性發送四個監控時段的負載量信息,即第一個監控時段的負載量信息P1、第二個監控時段的負載量信息P2、第三個監控時段的負載量信息P3和第四個監控時段的負載量信息P4。在圖6中,負載監控單元130包括4個寄存器模塊131、132、133和134,每個寄存器模塊可以記錄I個監控時段的負載量信息。寄存器模塊131包括選擇器SI和寄存器R1。寄存器模塊132包括選擇器S2和寄存器R2。寄存器模塊133包括選擇器S3和寄存器R3。寄存器模塊134包括選擇器S4和寄存器R4。當第一個監控時段結束,時段結束信號C變為高電平,負載監控單元130從負載量計數器模塊122接收第一個監控時段的負載量信息P1,并記錄在寄存器模塊131中。當第二個監控時段結束,負載監控單元130從負載量計數器模塊122接收第二個監控時段的負載量信息P2,并記錄在寄存器模塊131中,第一個監控時段的負載量信息P1從寄存器模塊131轉存至寄存器模塊132中。依次類推,在四個監控時段結束后,寄存器模塊131記錄第四個監控時段的負載量信息P4,寄存器模塊132記錄第三個監控時段的負載量信息P3,寄存器模塊133記錄第二個監控時段的負載量信息P2,寄存器模塊134記錄第一個監控時段的負載量信息P:。這樣,負載監控單元130可一次性向系統控制器發送四個監控時段的負載量信息,使得系統控制器可得到運算單元110的負載量變化趨勢,從而能夠更精確地調整運算單元110的工作頻率。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,僅為本發明的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以所述權利要求的保護范圍為準。
權利要求
1.一種負載監控裝置,其特征在于,包括 運算單元,用于確定用于指示所述運算單元中每個處理模塊的工作狀態的指示信息; 工作狀態單元,用于從所述運算單元接收所述指示信息,并根據所述指示信息確定當前監控時段的負載量信息,所述負載量信息用于指示在所述當前監控時段內所述運算單元的負載量狀況; 負載監控單元,用于從所述工作狀態單元接收并記錄所述負載量信息,并向系統控制器發送所述負載量信息,以便所述系統控制器根據所述負載量信息調整所述運算單元的工作頻率。
2.根據權利要求I所述的裝置,其特征在于,所述工作狀態單元包括 監控時段計數器模塊,用于確定所述當前監控時段中子時段的數目k以及所述當前監控時段中的時鐘周期數目,其中所述當前監控時段由k個子時段組成,每個子時段的時鐘周期數目相同,k為正整數。
3.根據權利要求2所述的裝置,其特征在于,所述工作狀態單元還包括 負載量計數器模塊,用于根據所述指示信息確定在所述當前監控時段內所述運算單元的負載量;根據從所述監控時段計數器模塊接收的所述當前監控時段中子時段的數目k以及在所述當前監控時段內所述運算單元的負載量,確定所述負載量信息,所述負載量信息包括在一個所述子時段內所述運算單元的負載量。
4.根據權利要求3所述的裝置,其特征在于,所述負載量計數器模塊具體用于根據所述指示信息,記錄在所述當前監控時段內所述運算單元處于忙態的時鐘周期數目作為所述運算單元的負載量。
5.根據權利要求4所述的裝置,其特征在于,所述負載量計數器模塊具體用于從所述監控時段計數器模塊接收所述當前監控時段中的時鐘周期數目;記錄在所述當前監控時段內所有處理模塊處于閑態的時鐘周期數目作為所述運算單元處于閑態的時鐘周期數目;根據在所述當前監控時段內所述運算單元處于閑態的時鐘周期數目以及所述當前監控時段中的時鐘周期數目,確定在所述當前監控時段內所述運算單元處于忙態的時鐘周期數目。
6.根據權利要求2至5中任一項所述的裝置,其特征在于,所述監控時段計數器模塊還用于接收所述系統控制器發送的配置信息,所述配置信息用于確定所述當前監控時段中子時段的數目k。
7.根據權利要求I至6中任一項所述的裝置,其特征在于,所述負載監控單元具體用于在記錄M個監控時段的負載量信息后,向所述系統控制器發送所述M個監控時段的負載量信息,以便所述系統控制器根據所述M個監控時段的負載量信息調整所述運算單元的工作頻率,其中所述M個監控時段的負載量信息包括所述當前監控時段的負載量信息,M為大于I的正整數。
8.根據權利要求7所述的裝置,其特征在于,所述負載監控單元包括M個寄存器模塊,用于記錄所述M個監控時段的負載量信息。
9.一種負載監控方法,其特征在于,包括 運算單元確定用于指示所述運算單元中每個處理模塊的工作狀態的指示信息; 工作狀態單元從所述運算單元接收所述指示信息; 所述工作狀態單元根據所述指示信息確定當前監控時段的負載量信息,所述負載量信息用于指示在所述當前監控時段內所述運算單元的負載量狀況; 負載監控單元從所述工作狀態單元接收并記錄所述負載量信息; 所述負載監控單元向系統控制器發送所述負載量信息,以便所述系統控制器根據所述負載量信息調整所述運算單元的工作頻率。
10.根據權利要求9所述的方法,其特征在于,所述方法還包括 所述工作狀態單元確定所述當前監控時段中子時段的數目k以及所述當前監控時段中的時鐘周期數目,其中所述當前監控時段由k個子時段組成,每個子時段的時鐘周期數目相同,k為正整數。
11.根據權利要求10所述的方法,其特征在于,所述工作狀態單元根據所述指示信息確定當前監控時段的負載量信息,包括 所述工作狀態單元根據所述指示信息確定在所述當前監控時段內所述運算單元的負載量; 所述工作狀態單元根據在所述當前監控時段內所述運算單元的負載量以及所述當前監控時段中子時段的數目k,確定所述負載量信息,所述負載量信息包括在一個所述子時段內所述運算單元的負載量。
12.根據權利要求11所述的方法,其特征在于,所述工作狀態單元根據所述指示信息確定在所述當前監控時段內所述運算單元的負載量,包括 所述工作狀態單元根據所述指示信息,記錄在所述當前監控時段內所述運算單元處于忙態的時鐘周期數目作為所述運算單元的負載量。
13.根據權利要求12所述的方法,其特征在于,所述工作狀態單元根據所述指示信息,記錄在所述當前監控時段內所述運算單元處于忙態的時鐘周期數目作為所述運算單元的負載量,包括 所述工作狀態單元記錄在所述當前監控時段內所有處理模塊處于閑態的時鐘周期數目作為所述運算單元處于閑態的時鐘周期數目; 所述工作狀態單元根據在所述當前監控時段內所述運算單元處于閑態的時鐘周期數目以及所述當前監控時段中的時鐘周期數目,確定在所述當前監控時段內所述運算單元處于忙態的時鐘周期數目。
14.根據權利要求10至13中任一項所述的方法,其特征在于,所述方法還包括 所述工作狀態單元接收所述系統控制器發送的配置信息,所述配置信息用于確定所述當前監控時段中子時段的數目k。
15.根據權利要求9至14中任一項所述的方法,其特征在于,所述負載監控單元向系統控制器發送所述負載量信息,包括 所述負載監控單元在記錄M個監控時段的負載量信息后,向所述系統控制器發送所述M個監控時段的負載量信息,以便所述系統控制器根據所述M個監控時段的負載量信息調整所述運算單元的工作頻率,其中所述M個監控時段的負載量信息包括所述當前監控時段的負載量信息,M為大于I的正整數。
16.根據權利要求15所述的方法,其特征在于,所述方法還包括 所述負載監控單元記錄所述M個監控時段的負載量信息。
全文摘要
本發明實施例提供了負載監控裝置和方法。該裝置包括運算單元,用于確定用于指示該運算單元中每個處理模塊的工作狀態的指示信息;工作狀態單元,用于從運算單元接收指示信息,并根據指示信息確定當前監控時段的負載量信息,負載量信息用于指示在當前監控時段內運算單元的負載量狀況;負載監控單元,用于從工作狀態單元接收并記錄負載量信息,并向系統控制器發送負載量信息,以便系統控制器根據負載量信息調整運算單元的工作頻率。本發明實施例中通過工作狀態單元根據運算單元中每個處理模塊的工作狀態確定當前監控時段的負載量信息,相比現有技術中通過軟件監控負載量,能夠準確反映負載量狀況并減小資源消耗。
文檔編號G06F11/32GK102662822SQ201210126359
公開日2012年9月12日 申請日期2012年4月26日 優先權日2012年4月26日
發明者張鶴, 肖瀟 申請人:華為技術有限公司