專利名稱:一種表征微控制器內(nèi)核工作負載情況的方法
技術領域:
本發(fā)明屬于嵌入式系統(tǒng)技術領域,尤其涉及一種表征微控制器內(nèi)核工作負載情況的方法。
背景技術:
一個基于ARM內(nèi)核典型的動態(tài)指令的使用率中,數(shù)據(jù)移動的動態(tài)使用率為43%,控制流為23%,其他的一些如,算術操作,比較,邏輯操作之類的指令占到動態(tài)使用率的34%,算術邏輯單元(ALU)是計算機中執(zhí)行各種算術和邏輯運算操作的部件。運算器的基本操作包括加、減、乘、除四則運算,與、或、非、異或等邏輯操作,以及移位、比較和傳送等操作,亦稱算術邏輯部件(ALU)??梢?,在ARM內(nèi)核中,ALU指令的動態(tài)使用率只占數(shù)據(jù)移動和控制流指令總和的一半。因為ALU指令的操作會涉及到大量邏輯門的工作,所以動態(tài)功耗會遠遠大于數(shù)據(jù)移動和控制流指令所消耗的動態(tài)功耗,對于基于ARM內(nèi)核的芯片來說,只有在34%的事件里,即1/3的時間內(nèi),其動態(tài)功耗才能達到峰值,內(nèi)核工作負載變大,在其它2/3時間內(nèi),ARM ALU都處在低工作負載下,即ARM內(nèi)核工作負載不高。為了檢測微控制器的工作負載,即可以檢測微控制器內(nèi)核ALU模塊的溫度,因為ALU工作會涉及到大量晶體管工作,晶體管頻繁翻轉(zhuǎn)就會提高硅片的溫度,所以用溫度檢測器來檢測ALU是否繁忙是一種常規(guī)的物理方法。如圖一所示,對于一個多內(nèi)核系統(tǒng),一個內(nèi)核對應一個ALU和一個檢測其溫度的溫度檢測器,在ALU處于繁忙狀態(tài)時有大量電流通過,溫度升高。溫度檢測器用來檢測ALU的具體溫度,其兩種判斷方法如下:一種是給定一個絕對溫度,高于絕對溫度代表ALU工作負載大,反之則表征ALU工作負載小。如圖一,若溫度檢測器I檢測到的溫度達到給定的絕對溫 度,說明ALUl處于繁忙狀態(tài),微控制器內(nèi)核I處于高工作負載狀態(tài)下,反之,若溫度檢測器檢測到的溫度未達到此絕對溫度,說明ALU處于非繁忙狀態(tài),微控制器內(nèi)核I處于非高工作負載狀態(tài)下。另一種使用溫度變化率K進行判定的,K為控制器在一定時間內(nèi)(AT)溫度的變化(Atemp)率,即K等于Λ temp/Λ T。K值越大,即在短時間內(nèi)溫度升高越快,說明ALU越繁忙;反之說明ALU處于非繁忙狀態(tài)。圖2是ALU工作時的溫度和時間關系示意圖。如圖2所示,如果Kl > Κ2,則說明在Kl所處的時間內(nèi)ALU比在Κ2所處的時間內(nèi)要繁忙。然而這兩種方法的檢測結果并不盡如人意。就第一種方法而言,如果芯片所處環(huán)境溫度很高,已經(jīng)接近預定的絕對溫度,就算溫度檢測器檢測到預定的絕對溫度,也不說明微控制器內(nèi)核處于高工作負載狀態(tài)。而對于第二種方法,假設斜率Kl等于Κ2,溫度檢測器在Κ2檢測到的溫度達到預設的絕對溫度,而在Kl時檢測到的溫度并沒有達到預設的絕對溫度。由于Kl等于Κ2,此種情況會誤認為在Kl時間處已經(jīng)達到絕對溫度,這樣就會在判斷ALU是否處于高工作負載狀態(tài)時出現(xiàn)偏差。同時此物理方法結構增加了溫度檢測器模塊,增大了芯片面積。
發(fā)明內(nèi)容
本發(fā)明克服了現(xiàn)有技術中需要采用物理方案表征微控制器內(nèi)核工作負載,且增大芯片面積等缺陷,提出了一種表征微控制器內(nèi)核工作負載情況的方法。本發(fā)明提出了一種表征微控制器內(nèi)核工作負載情況的方法,包括:步驟一:在所述微控制器中設置一個標志位,所述標志位用于表征所述微控制器內(nèi)核工作負載狀態(tài);步驟二:根據(jù)程序段對于所述微控制器內(nèi)核的訪問量在程序段中設置標志位數(shù)據(jù);步驟三:所述微控制器內(nèi)核運行在執(zhí)行所述程序段時,根據(jù)所述程序段的標志位數(shù)據(jù)改變所述標志位,以標識所述微控制器內(nèi)核工作負載為低負載狀態(tài)或高負載狀態(tài);步驟四:在所述微控制器執(zhí)行完所述程序段之后恢復所述標志位。其中,所述標志位與所述微控制器內(nèi)核的輸出管腳連接,通過所述輸出管腳輸出高電平信號或低電平信號以表不所述標志位。本發(fā)明用純粹的軟件方法來表征微控制器內(nèi)核工作負載狀態(tài),不涉及任何物理方案,有效減小了芯片面積,且明確何時標志位應該被置起及何時應該被清零,解決了物理方法不易控制的問題。
圖1表示用溫度傳感器判斷算術邏輯單元是否處于高工作負載狀態(tài)的結構示意圖。圖2表示算術邏輯單元工作的溫度和時間關系示意圖。圖3表示表征微控制器內(nèi)核工作負載情況的方法的流程圖。圖4表不一實施例中以軟件方式表征微控制器內(nèi)核工作負載情況的不意圖。圖5表不圖4相應的微控制器工作負載狀態(tài)標志位信號波形圖。
具體實施例方式結合以下具體實施例和附圖,對本發(fā)明作進一步的詳細說明。實施本發(fā)明的過程、條件、實驗方法等,除以下專門提及的內(nèi)容之外,均為本領域的普遍知識和公知常識,本發(fā)明沒有特別限制內(nèi)容。圖3顯示的是表征微控制器內(nèi)核工作負載情況的方法的流程,本發(fā)明的表征微控制器內(nèi)核工作負載情況的方法包括以下步驟:步驟一:在微控制器中設置一個標志位,標志位用于表征微控制器內(nèi)核工作負載狀態(tài)。在微控制器中將標志位與一個輸出管腳連接,輸出管腳的輸出信號表不該標志位為“I,,或“O,,。步驟二:根據(jù)程序段對于微控制器內(nèi)核的訪問量在程序段中設置標志位數(shù)據(jù);步驟三:微控制器內(nèi)核運行在執(zhí)行程序段時,根據(jù)程序段的標志位數(shù)據(jù)改變標志位,以標識微控制器內(nèi)核工作負載為低負載狀態(tài)或高負載狀態(tài);步驟四:在微控制器執(zhí)行完程序段之后恢復標志位。圖4顯示的是一段編寫的應用程序段,其中,A和B、C和D之間表示算術邏輯單元模塊ALU被大量訪問的程序段,其標志位數(shù)據(jù)為“ I ”,E和F表示ALU被小量訪問或不被訪問的程序段,其標志位數(shù)據(jù)為“O”。本發(fā)明實施過程中,在微控制器內(nèi)核不運行程序段時,默認標志位的初始狀態(tài)為“O”,即微控制器內(nèi)核處于低負載狀態(tài)。在運行ALU被大量訪問程序段(A和B之間,或C和D之間)之前改變標志位,即在A或C之前微控制器內(nèi)核的輸出管腳輸出高電平信號,即表不標志位為“1”,表征此時ALU將被大量訪問,同時表征此時微控制器內(nèi)核將處于高工作負載狀態(tài)。在ALU被大量訪問程序段(A和B之間,或C和D之間)之后恢復標志位,即在B或D之后微控制器內(nèi)核的輸出管腳輸出低電平信號,即表不此標志位已被恢復為“O”,來表示此時的ALU由繁忙狀態(tài)轉(zhuǎn)變?yōu)榉欠泵顟B(tài)。E和F之間的程序段不會大量訪問ALU模塊,所以微控制器內(nèi)核運行該程序段時工作負載為低負載狀態(tài)。根據(jù)E與F之間程序段的標志位數(shù)據(jù)“O”改變微控制器的標志位為并在結束運行后標志位恢復至默認狀態(tài),等同于E與F前后均不改變標志位。以上步驟可表征微控制器內(nèi)核工作負載情況。圖5顯示的是上述實施例過程中微控制器工作負載狀態(tài)標志位信號波形圖,可見當此信號為高電平狀態(tài)時(A和B程序段之間;(:和0程序段之間),表征微控制器內(nèi)核處在高工作負載狀態(tài)下,當此信號為低電平狀態(tài)時(諸如E和F程序段之間),表征微控制器內(nèi)核處在低工作負載狀態(tài)下。實施本發(fā)明過程中,還可以調(diào)整高電平狀態(tài)與低電平狀態(tài)的表征關系,例如以標志位為“I”表征微控制器內(nèi)核處在低工作負載狀態(tài)下,標志位為“O”表征微控制器內(nèi)核處在高工作負載狀態(tài)下。綜上,本發(fā)明實施例通過在微控制器內(nèi)核的應用程序中插入負荷標識,從而可在微控制器內(nèi)核運行過程中方便的檢測其工作負載狀態(tài),且檢測結果準確,不受應用環(huán)境的任何影響,同時不需在芯片上設置額外的器件(例如溫度測量裝置等),有效減小了芯片面積。本發(fā)明的保護內(nèi)容不局限于以上實施例。在不背離發(fā)明構思的精神和范圍下,本領域技術人員能夠想到的變化和優(yōu)點都被包括在 本發(fā)明中,并且以所附的權利要求書為保護范圍。
權利要求
1.一種表征微控制器內(nèi)核工作負載情況的方法,其特征在于,包括: 步驟一:在所述微控制器中設置一個標志位,所述標志位用于表征所述微控制器內(nèi)核工作負載狀態(tài); 步驟二:根據(jù)程序段對于所述微控制器內(nèi)核的訪問量在程序段中設置標志位數(shù)據(jù);步驟三:所述微控制器內(nèi)核運行在執(zhí)行所述程序段時,根據(jù)所述程序段的標志位數(shù)據(jù)改變所述標志位,以標識所述微控制器內(nèi)核工作負載為低負載狀態(tài)或高負載狀態(tài); 步驟四:在所述微控制器執(zhí)行完所述程序段之后恢復所述標志位。
2.如權利要求1所述的表征微控制器內(nèi)核工作負載情況的方法,其特征在于,所述標志位與所述微控制器內(nèi)核的輸出管腳連接,通過所述輸出管腳輸出高電平信號或低電平信號以表示所述 標志位。
全文摘要
本發(fā)明公開了一種表征微控制器內(nèi)核工作負載情況的方法,包括在所述微控制器中設置一個標志位;根據(jù)程序段對于所述微控制器內(nèi)核的訪問量在程序段中設置標志位數(shù)據(jù);所述微控制器內(nèi)核運行在執(zhí)行所述程序段時,根據(jù)所述程序段的標志位數(shù)據(jù)改變所述標志位;在所述微控制器執(zhí)行完所述程序段之后恢復所述標志位。本發(fā)明采用微控制器內(nèi)的標志位表征微控制器內(nèi)核工作負載情況,不附加采用物理方案表征微控制器內(nèi)核工作負載,減小了芯片的表面積。
文檔編號G06F11/32GK103226508SQ201310134229
公開日2013年7月31日 申請日期2013年4月17日 優(yōu)先權日2013年4月17日
發(fā)明者景蔚亮 申請人:上海新儲集成電路有限公司