專(zhuān)利名稱(chēng):微處理器的功率估算器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及由命令匯編描述對(duì)包含多個(gè)存儲(chǔ)器的微處理器的命令級(jí)的消耗電力進(jìn)行評(píng)估的微處理器的功率估算器。
近年來(lái),由于計(jì)算機(jī)技術(shù)和半導(dǎo)體集成電路的飛速發(fā)展,電子設(shè)備、特別是個(gè)人計(jì)算機(jī)的小型化和便攜化正在不斷進(jìn)展。在這種趨勢(shì)中,在提高微處理器的處理速度的同時(shí)、低消耗電力化成為重要的課題。在達(dá)到低消耗電力化當(dāng)中,有必要在設(shè)計(jì)微處理器時(shí)正確地評(píng)估消耗電力。
如例如文獻(xiàn)“Vivek Tiwari,Sharad malik,Aadrew Wolfe“Power Analysis ofEmbedded SoftwareA First Step towards Software Power Minimization”.,IN IEEE-94,PP.384-390(1994)”中所述的那樣,至今所知的是包含軟件的微處理器的消耗電力評(píng)估方法。
這種評(píng)估方法,實(shí)際上是著眼于在微處理器中執(zhí)行命令時(shí)被執(zhí)行的命令的種類(lèi)、對(duì)消耗電力進(jìn)行估計(jì)的方法。也就是說(shuō),對(duì)在微處理器中被執(zhí)行的每個(gè)不同的命令、預(yù)先求出消耗電力,以在微處理器中被執(zhí)行的程序匯編描述級(jí)、將每個(gè)預(yù)定命令求出的消耗電力適用于各個(gè)命令、估計(jì)在微處理器中執(zhí)行程序時(shí)的總消耗電力。
如前所述,在以往的微處理器的消耗電力評(píng)估方法中,已知有考慮軟件進(jìn)行估計(jì)的方法。但是,在這種方法中,不考慮涉及微處理器的高速緩沖存儲(chǔ)器。也就是說(shuō),在消耗電力的評(píng)估方法中,不區(qū)別包含由提高處理速度觀點(diǎn)出發(fā)而被多級(jí)化的多個(gè)高速緩沖存儲(chǔ)器的微處理器和不包含這種結(jié)構(gòu)的微處理器。
一般地由于存取速度和所說(shuō)存儲(chǔ)容量的結(jié)構(gòu)上的不同,高速緩沖存儲(chǔ)器在存取命令時(shí)的消耗電力不同。為此,按命令從哪一個(gè)高速緩沖存儲(chǔ)器讀入、多個(gè)高速緩沖存儲(chǔ)器中消耗電力不同。但是,在以往的方法中,因使用對(duì)所有的高速緩沖存儲(chǔ)器不加區(qū)別的相同的消耗電力,所以招致難于正確地評(píng)價(jià)微處理器的命令級(jí)的消耗電力的不合適。
因此,本發(fā)明鑒于前述問(wèn)題、其目的在于,提供改善包含多個(gè)存儲(chǔ)器的微處理器的命令級(jí)消耗電力的評(píng)價(jià)精度的微處理器的功率估算器。
為達(dá)到前述目的,權(quán)利要求1所述的發(fā)明的結(jié)構(gòu)是在從被執(zhí)行的命令的匯編描述、求出包括CPU(運(yùn)算單元)和存儲(chǔ)讀入所述CPU中并被執(zhí)行的命令的多個(gè)存儲(chǔ)器的微處理器中命令執(zhí)行時(shí)的消耗電力的微處理器的功率估算器中,包括對(duì)所述各個(gè)存儲(chǔ)器、求出在所述CPU中被執(zhí)行的命令是從所述多個(gè)存儲(chǔ)器讀入的場(chǎng)合的消耗電力值的手段;判斷在所述CPU中被執(zhí)行的命令是從所述多個(gè)存儲(chǔ)器中哪一個(gè)存儲(chǔ)器讀入的手段;和使對(duì)于所述各個(gè)存儲(chǔ)器求出的消耗電力值對(duì)應(yīng)于存儲(chǔ)讀入命令的存儲(chǔ)器的判斷結(jié)果、求出微處理器的消耗電力的手段。
權(quán)利要求2所述的發(fā)明的結(jié)構(gòu)是在權(quán)利要求1所述的微處理器的功率估算器中,還包括在所述CPU中被執(zhí)行的命令從第1高速緩沖存儲(chǔ)器讀入所述CPU中的同時(shí),在能用比所述第1高速緩沖存儲(chǔ)器更高速且容量少的存儲(chǔ)m條命令的第2高速緩沖存儲(chǔ)器中、包含從第1高速緩沖存儲(chǔ)器讀入所述CPU中的命令、順次接續(xù)地存儲(chǔ)最多m條命令、并從所述第2高速緩沖存儲(chǔ)器將命令讀入所述CPU中、直到存儲(chǔ)于所述第2高速緩沖存儲(chǔ)器中的命令全部被執(zhí)行為止、重復(fù)執(zhí)行命令的動(dòng)作的場(chǎng)合中,求出從所述第1高速緩沖存儲(chǔ)器讀入在所述CPU中被執(zhí)行的命令的場(chǎng)合的第1消耗電力值;求出從所述第2高速緩沖存儲(chǔ)器讀入在所述CPU中被執(zhí)行的命令的場(chǎng)合的第2消耗電力值;在開(kāi)始命令的讀入后、在m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
權(quán)利要求3所述的發(fā)明結(jié)構(gòu)是在權(quán)利要求2所述的微處理器的功率估算器中,還包括在執(zhí)行變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令的場(chǎng)合中,在開(kāi)始所述命令的執(zhí)行后、在m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
權(quán)利要求4所述的發(fā)明的結(jié)構(gòu)是在權(quán)利要求2所述的微處理器的功率估算器中,還包括在開(kāi)始變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令的執(zhí)行后,在所述命令的下一個(gè)命令以后接續(xù)地0或者m條未完的命令的執(zhí)行中使用所述第2消耗電力值、在然后接續(xù)地m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
權(quán)利要求5所述的發(fā)明的結(jié)構(gòu)是在如權(quán)利要求2所述的微處理器的功率估算器中,還包括在開(kāi)始執(zhí)行變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令、并接著所述命令、變換1次或者多次執(zhí)行被描述的命令的后續(xù)命令順序的場(chǎng)合中,在接著所述命令、多次執(zhí)行被描述的命令并在m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
權(quán)利要求6所述的發(fā)明的結(jié)構(gòu)是在權(quán)利要求2所述的微處理器的功率估算器中,還包括在開(kāi)始執(zhí)行變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令、并接著所述命令、變換多次執(zhí)行被描述的命令的后續(xù)命令順序的場(chǎng)合中,在接著所述命令、1次或者多次執(zhí)行被描述的命令并在下一個(gè)命令以后接續(xù)地0或者m條未完的命令執(zhí)行中使用所述第2消耗電力值、在然后接續(xù)地m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
權(quán)利要求7所述的發(fā)明的結(jié)構(gòu)是在權(quán)利要求1所述的微處理器功率估算器中,還包括基于變換在所述CPU中被執(zhí)行的命令數(shù)、分支命令、轉(zhuǎn)移命令。例外處理命令等一系列的命令執(zhí)行順序的命令數(shù)和所述存儲(chǔ)器的容量、對(duì)于各存儲(chǔ)器求出從所述存儲(chǔ)器讀入的命令的次數(shù);對(duì)于所述各存儲(chǔ)器、求出對(duì)所述存儲(chǔ)器求出的次數(shù)與對(duì)應(yīng)于所述存儲(chǔ)器求出的消耗電力值和乘積;對(duì)于所述各存儲(chǔ)器求出求得的次數(shù)與消耗電力乘積的和并求出微處理器的消耗電力。
權(quán)利要求8所述的發(fā)明的結(jié)構(gòu)是在權(quán)利要求1所述的微處理器的功率估算器中,還包括基于變換在所述CPU中被執(zhí)行的命令數(shù)、分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令發(fā)生的概率和所述存儲(chǔ)器的容量、對(duì)于所述各存儲(chǔ)器、求出從所述存儲(chǔ)器讀入的命令的次數(shù);對(duì)于所述各存儲(chǔ)器、求出對(duì)所述存儲(chǔ)器求出的次數(shù)與對(duì)應(yīng)于所述存儲(chǔ)器求出的消耗電力值的乘積;對(duì)于所述各存儲(chǔ)器求出求得的次數(shù)與消耗電力乘積的和并求出微處理器的消耗電力。
圖1表示在與權(quán)利要求1所述發(fā)明的實(shí)施例相關(guān)的功率估算器中被評(píng)價(jià)的微處理器的結(jié)構(gòu)圖。
圖2表示在與權(quán)利要求2所述發(fā)明的實(shí)施例相關(guān)的功率估算器中被評(píng)價(jià)的微處理器的結(jié)構(gòu)圖。
圖3表示圖2所示的微處理器的命令讀出的流程圖。
圖4表示被執(zhí)行的命令的一例的圖。
圖5表示在圖2所述結(jié)構(gòu)中被執(zhí)行命令的第1循環(huán)的命令讀入流程圖。
圖6表示在圖2所示結(jié)構(gòu)中被執(zhí)行命令的第1循環(huán)結(jié)束時(shí)的高速緩沖存儲(chǔ)器的命令存儲(chǔ)狀態(tài)圖。
圖7表示在圖2所示結(jié)構(gòu)中被執(zhí)行命令的第2循環(huán)的命令讀入流程圖。
圖8表示每條執(zhí)行命令的命令讀入地址的圖。
圖9表示轉(zhuǎn)移命令后的每條執(zhí)行命令的命令讀入地址的圖。
圖10表示區(qū)分微處理器的存儲(chǔ)單元和CPU單元的圖。
圖11表示基于以往方法的基本消耗電力值的一例的圖。
圖12表示用圖11所示的基本消耗電力值求出圖8中消耗電力的一例的圖。
圖13表示在與權(quán)利要求7所述發(fā)明的實(shí)施例相關(guān)的基本消耗電力值的一例的圖。
圖14表示用圖13所示的基本消耗電力值求出圖8中消耗電力的一例的圖。
圖15表示被執(zhí)行的命令列的一例的圖。
圖16表示在高速緩沖存儲(chǔ)器中存儲(chǔ)命令的狀態(tài)的圖。
圖17表示與權(quán)利要求3所述發(fā)明的實(shí)施例相關(guān)的命令執(zhí)行順序圖。
圖18表示與權(quán)利要求4所述發(fā)明的實(shí)施例相關(guān)的命令執(zhí)行順序圖。
圖19表示與權(quán)利要求5所述發(fā)明的實(shí)施例相關(guān)的命令執(zhí)行順序圖。
圖20表示與權(quán)利要求6所述發(fā)明的實(shí)施例相關(guān)的命令執(zhí)行順序圖。
下面,參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行說(shuō)明。
圖1表示在與權(quán)利要求1所述發(fā)明的實(shí)施例相關(guān)的微處理器的功率估算器評(píng)價(jià)消耗電力的微處理器的一結(jié)構(gòu)圖。
如權(quán)利要求1所述發(fā)明的微處理器的功率估算器,是一種從被執(zhí)行的命令的匯編描述、求出包括CPU(運(yùn)算單元)和存儲(chǔ)讀入CPU中并被執(zhí)行的命令的多個(gè)存儲(chǔ)器的微處理器中命令執(zhí)行時(shí)的消耗電力的裝置,它具有對(duì)各個(gè)存儲(chǔ)器、求出在CPU中被執(zhí)行的命令從多個(gè)存儲(chǔ)器讀入的場(chǎng)合的消耗電力值的手段;判斷在CPU中被執(zhí)行的命令是從多個(gè)存儲(chǔ)器中哪一個(gè)存儲(chǔ)器讀入的手段;和使對(duì)于各個(gè)存儲(chǔ)器求出的消耗電力值對(duì)應(yīng)于存儲(chǔ)讀入命令的存儲(chǔ)器的判斷結(jié)果、求出微處理器的消耗電力的手段,實(shí)現(xiàn)了使用微計(jì)算機(jī)的評(píng)價(jià)用工具。
此外,包含于評(píng)價(jià)消耗電力的微處理器中的前述存儲(chǔ)器是主存儲(chǔ)、高速緩沖存儲(chǔ)器、緩沖存儲(chǔ)器、命令序列等的各種各樣的存儲(chǔ)器。
這里,在對(duì)圖1所示的微處理器的消耗電力評(píng)價(jià)的作用進(jìn)行說(shuō)明時(shí),為易于理解、對(duì)于圖1所示的結(jié)構(gòu)、圖2所示,用兩個(gè)高速緩沖存儲(chǔ)器、高速緩沖存儲(chǔ)器6和比高速緩沖存儲(chǔ)器6速度高的緩沖器7、緩沖器7讀入的命令數(shù)為4的結(jié)構(gòu)的微處理器,進(jìn)行說(shuō)明。
這種實(shí)現(xiàn)狀態(tài)的特征是在CPU5中被執(zhí)行的命令從成為第1高速緩沖存儲(chǔ)器的高速緩沖存儲(chǔ)器6讀入CPU5中的同時(shí),在能用比高速緩沖存儲(chǔ)器6更高速且容量少地存儲(chǔ)4條命令的成為第2高速緩沖存儲(chǔ)器的緩沖器7中、包含從高速緩沖存儲(chǔ)器6讀入CPU5中的命令、順次接續(xù)地存儲(chǔ)最多4條命令、并從緩沖器7將命令讀入CPU5中、直到存儲(chǔ)于緩沖器7中的命令全部被執(zhí)行為止、重復(fù)執(zhí)行命令的動(dòng)作的場(chǎng)合中,求出從高速緩沖存儲(chǔ)器6讀入在CPU5中被執(zhí)行的命令的場(chǎng)合的第1消耗電力值;求出從緩沖器7讀入在CPU5中被執(zhí)行的命令的場(chǎng)合的第2消耗電力值;在開(kāi)始命令的讀入后、在4條命令的每條命令的執(zhí)行中使用第1消耗電力值、在其它命令的執(zhí)行中使用第2消耗電力值,求出微處理器的消耗電力。
在圖2所示結(jié)構(gòu)的微處理器中,如圖3所示、預(yù)先求出區(qū)別在CPU5中被執(zhí)行的命令是從主存儲(chǔ)器1讀入(路線A)、還是從高速緩沖存儲(chǔ)器6讀入(路線B)、還是從緩沖器7讀入(路線C)的消耗電力值,在實(shí)際執(zhí)行命令時(shí),判斷是從哪條路線讀入、借助于使用與其相應(yīng)的消耗電力值數(shù),估計(jì)消耗電力值。
接著,對(duì)與權(quán)利要求3所述的發(fā)明的一實(shí)施相關(guān)的功率估算器進(jìn)行說(shuō)明。
這種實(shí)施形態(tài)的功率估算器的特征是在前述實(shí)施形態(tài)的特征上增加在執(zhí)行變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令的場(chǎng)合中,在開(kāi)始命令的執(zhí)行后、在4條命令的每條命令的執(zhí)行中使用第1消耗電力值、在其它命令的執(zhí)行中使用第2消耗電力值,求出微處理器的消耗電力。
作為對(duì)象的微處理器的動(dòng)作,在執(zhí)行例如圖4所示的命令群時(shí),如圖5所示、在一次循環(huán)中將命令從主存儲(chǔ)器1保存在高速緩沖存儲(chǔ)器6中,與此同時(shí)在CPU5中執(zhí)行命令。這時(shí)如圖6所示,命令被存儲(chǔ)在高速緩沖存儲(chǔ)器6內(nèi)。
接著,用轉(zhuǎn)移命令再次執(zhí)行相同的命令群時(shí),執(zhí)行命令不是從主存儲(chǔ)器1、而是從高速緩沖存儲(chǔ)器6讀入。這時(shí),為提高執(zhí)行速度,如圖7所示,向緩沖器7一次同時(shí)讀入4個(gè)命令(路線B),然后將命令從緩沖器7讀入CPU5,直到緩沖器7內(nèi)沒(méi)有命令為止(路線C)。
這時(shí),在經(jīng)過(guò)路線(B)的場(chǎng)合,因消耗大電力的高速緩沖存儲(chǔ)器6動(dòng)作,所以為大的消耗電力,在經(jīng)過(guò)路線(C)的場(chǎng)合,因消耗較高速緩沖存儲(chǔ)器6動(dòng)作時(shí)小的電力,所以為小的消耗電力。為此,為了估計(jì)在所述高速緩沖存儲(chǔ)器6中已經(jīng)誤入的命令執(zhí)行時(shí)的消耗電力,預(yù)先求出從高速緩沖存儲(chǔ)器6讀入命令時(shí)的消耗電力值和從緩沖器7讀入命令時(shí)的消耗電力值,如圖8所示、如果從高速緩沖存儲(chǔ)器6向緩沖器7一次讀入的命令數(shù)是m(在本實(shí)施例中4是)條,則其特征為每隔m條命令使用從高速緩沖存儲(chǔ)器6讀入時(shí)的消耗電力值,對(duì)其以外的命令使用從緩沖器7讀入時(shí)的消耗電力值。
另一方面,在前述命令的執(zhí)行中,利用變換轉(zhuǎn)移、分支、例外處理命令等一系列的命令的執(zhí)行順序的命令,不執(zhí)行在緩沖器7中讀入的全部命令,而有成為執(zhí)行其它命令的場(chǎng)合。
例如,如果圖9表示執(zhí)行圖4所示的命令群的圖8所示的命令流的繼續(xù),則由于轉(zhuǎn)移命令、執(zhí)行不是在緩沖器7中讀入命令的命令。與這種場(chǎng)合相對(duì)應(yīng),每隔m條命令、追加從高速緩沖存儲(chǔ)器6讀入時(shí)的消耗電力,在進(jìn)行轉(zhuǎn)移、分支、例外處理命令等的場(chǎng)合,接著被執(zhí)行的命令的消耗電力值使用從高速緩沖存儲(chǔ)器6讀入時(shí)的值,然后每隔m條命令使用從高速緩沖存儲(chǔ)器6讀入時(shí)的值,對(duì)其以外的命令使用從緩沖器7讀入時(shí)的值。
接著,對(duì)與權(quán)利要求4所述發(fā)明的實(shí)施形態(tài)相關(guān)的功率估算器進(jìn)行說(shuō)明。
這種實(shí)施形態(tài)的特征是在評(píng)價(jià)圖2所示的微處理器的消耗電力的場(chǎng)合中,在開(kāi)始變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的變換命令的執(zhí)行后,在變換命令的下一個(gè)命令以后接續(xù)地0或者m條未完的命令的執(zhí)行中使用從緩沖器7讀入場(chǎng)合的消耗電力值(第2消耗電力值)、在然后接續(xù)地m條命令的每條命令的執(zhí)行中使用從高速緩沖存儲(chǔ)器6讀入場(chǎng)合的消耗電力值(第1消耗電力值)、在其它命令的執(zhí)行中使用前述第2消耗電力值,求出微處理器的消耗電力。
例如,如圖16(各數(shù)字表示命令、jump3在命令3中表示轉(zhuǎn)移命令)所示,在執(zhí)行存儲(chǔ)于高速緩沖存儲(chǔ)器中的命令的場(chǎng)合中,按權(quán)利要求3所述的發(fā)明的一實(shí)施形態(tài)中如圖17所示的執(zhí)行順序,與此相對(duì),在本實(shí)施形態(tài)中的執(zhí)行命令如圖18所示、jump3(變換命令)執(zhí)行后,從高速緩沖存儲(chǔ)器6讀入jump3命令的下一條命令(命令3),從緩沖器7讀入所述命令(命令3)的下一條命令(命令4),然后從高速緩沖存儲(chǔ)器6讀入接著每4(=m)條命令。這是因?yàn)閺膱D16所示的高速緩沖存儲(chǔ)器6向緩沖器7每次進(jìn)行的讀入是高速緩沖存儲(chǔ)器6的一行的緣故。
接著,對(duì)與權(quán)利要求5所述發(fā)明的實(shí)施形態(tài)相關(guān)的功率估算器進(jìn)行說(shuō)明。
這種實(shí)施形態(tài)的特征是在評(píng)價(jià)圖2所示的微處理器的消耗電力、開(kāi)始執(zhí)行變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令、并接著變換命令、變換1次或者多次執(zhí)行被描述的命令的后續(xù)命令順序的場(chǎng)合中,在接著變換命令、多次執(zhí)行被描述的命令并在m條命令的每條命令的執(zhí)行中使用從高速緩沖存儲(chǔ)器讀入場(chǎng)合的消耗電力值(第1消耗電力值)、在其它命令的執(zhí)行中使用從緩沖器7讀入場(chǎng)合的消耗電力值(第2消耗電力值),求出微處理器的消耗電力。
例如,如圖16所示、在執(zhí)行存儲(chǔ)于高速緩沖存儲(chǔ)器的命令的場(chǎng)合中,如圖19所示、從高速緩沖存儲(chǔ)器6讀入例如執(zhí)行jump3命令后的一條命令(命令8)被執(zhí)行后的每4(=m)條命令。
接著,對(duì)與權(quán)利要求6所述發(fā)明的實(shí)施形態(tài)相關(guān)的功率估算器進(jìn)行說(shuō)明。
這種實(shí)施形態(tài)的特征是同時(shí)實(shí)施權(quán)利要求4和權(quán)利要求5所述發(fā)明的一實(shí)施形態(tài)的雙方,在執(zhí)行圖16所示命令的場(chǎng)合中,按圖20所示的順序執(zhí)行命令。
接著,對(duì)與權(quán)利要求7所述發(fā)明的實(shí)施形態(tài)相關(guān)的功率估算器進(jìn)行說(shuō)明。
這種實(shí)施形態(tài)的功率估算器的特征是基于變換在CPU5中被執(zhí)行的命令數(shù)、分支命令、轉(zhuǎn)移命令。例外處理命令等一系列的命令執(zhí)行順序的命令數(shù)和存儲(chǔ)器的容量、對(duì)于各存儲(chǔ)器求出從存儲(chǔ)器讀入的命令的次數(shù);對(duì)于各存儲(chǔ)器、求出對(duì)存儲(chǔ)器求出的次數(shù)與對(duì)應(yīng)于存儲(chǔ)器求出的消耗電力值和乘積;對(duì)于各存儲(chǔ)器求出求得的次數(shù)與消耗電力乘積的和并求出微處理器的消耗電力。
如圖10所示,在微處理器中能用CPU單元9和存儲(chǔ)器單元8的消耗電力的和求出執(zhí)行某個(gè)命令時(shí)的消耗電力。也就是說(shuō),(某個(gè)執(zhí)行命令時(shí)的消耗電力)(X)=(CPU單元9的消耗電力)(Y)+(存儲(chǔ)單元8的消耗電力)(Z)其中,消耗電力(Y)和消耗電力(Z)能獨(dú)立求出。
例如,不區(qū)別存儲(chǔ)器單元8和CPU單元9求出圖8所示命令的一個(gè)一個(gè)的消耗電力值的場(chǎng)合,即在以往如圖11所示,有必要求出基本消耗電力值。并且,用圖11求出圖8中消耗電力時(shí),就成為圖12所示。與此相對(duì),當(dāng)區(qū)別存儲(chǔ)單元8和CPU單元9求出消耗電力值時(shí),即在這種實(shí)施形態(tài)中,以只用圖13所示的基本消耗電力值就可以。當(dāng)用這種圖13所示的基本消耗電力值求出圖8中消耗電力時(shí),就成為圖14所示,可見(jiàn)圖12和圖14是等同的。
由此,在求出對(duì)象命令數(shù)是a個(gè)、使用存儲(chǔ)器的種類(lèi)是b個(gè)的CPU的消耗電力時(shí),在以往有必要求出(a×b)個(gè)基本消耗電力值。但是在本實(shí)施形態(tài)中,求(a+b)個(gè)基本消耗電力值就行,能減少預(yù)先求出的消耗電力值模式數(shù)。
接著,對(duì)與權(quán)利要求8所述發(fā)明的實(shí)施形態(tài)相關(guān)的功率估算器進(jìn)行說(shuō)明。
這種實(shí)施形態(tài)的功率估算器的特征是基于變換在CPU1中被執(zhí)行的命令數(shù)、分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令發(fā)生的概率和存儲(chǔ)器的容量、對(duì)于各存儲(chǔ)器、求出從存儲(chǔ)器讀入的命令的次數(shù);對(duì)于各存儲(chǔ)器、求出對(duì)存儲(chǔ)器求出的次數(shù)與對(duì)應(yīng)于存儲(chǔ)器求出的消耗電力值的乘積;對(duì)于各存儲(chǔ)器求出求得的次數(shù)與消耗電力乘積的和并求出微處理器的消耗電力。
這種實(shí)施形態(tài)是借助于設(shè)定從外部不規(guī)則發(fā)生的高速緩沖存儲(chǔ)器6的讀入數(shù)的發(fā)生概率,估計(jì)從存儲(chǔ)器來(lái)的命令讀入次數(shù)。
例如,在圖2所示的微處理器中,在執(zhí)行被描述的命令數(shù)是10個(gè)、總共執(zhí)行命令數(shù)是23個(gè)的命令群時(shí),首先,讀入來(lái)自主存儲(chǔ)器命令的次數(shù)被判斷成9個(gè)來(lái)自總描述命令數(shù),如果對(duì)于剩下的14個(gè)、分支等的發(fā)生概率設(shè)定為14.3%,則能假設(shè)在(100/14.3)=7次中、發(fā)生一次不規(guī)則的來(lái)自高速緩沖存儲(chǔ)器6的讀入。因?yàn)槊?條命令進(jìn)行規(guī)則的來(lái)自高速緩沖存儲(chǔ)器6的讀入,所以能估計(jì)在7條命令執(zhí)行中、二次讀入來(lái)自高速緩沖器6的命令。
因此,如圖15所示,因總執(zhí)行命令數(shù)是23個(gè),所以一執(zhí)行該命令群,就能估計(jì)進(jìn)行2×2=4次的來(lái)自高速緩沖存儲(chǔ)器6的命令讀入,成為來(lái)自高速緩沖存儲(chǔ)器6讀入的命令11和來(lái)自緩沖器7讀入的命令12。
如果對(duì)此在具有二級(jí)高速緩沖存儲(chǔ)器的場(chǎng)合進(jìn)行一般化,則在一次從高速緩沖存儲(chǔ)器向緩沖器讀入P處的微處理器中,當(dāng)執(zhí)行總描述命令數(shù)t個(gè),總執(zhí)行命令數(shù)q個(gè)的命令群時(shí),如果分支等的發(fā)生概率設(shè)定為r%,則不規(guī)則的來(lái)自高速緩沖存儲(chǔ)器的命令讀入周期S為S=(100/r),在S個(gè)命令中進(jìn)行([S/P]+1)次的來(lái)自高速緩沖存儲(chǔ)器的命令讀入??梢?jiàn)這種周期來(lái)自命令總數(shù)(q-t)有(q-t)/S次。
因此,由[(q-t)/s]×([s/p]+1)能夠一般化。但是,這里用舍去小數(shù)點(diǎn)后的數(shù)字來(lái)表示中括號(hào)括住的除法運(yùn)算的結(jié)果(成為[5/2]+[7/4]=2+1=3)。
在某個(gè)微處理器的例中,執(zhí)行add命令時(shí)的消耗電力值、在從高速緩沖存儲(chǔ)器6讀入執(zhí)行的場(chǎng)合為560mw、在從緩沖器7讀入執(zhí)行的場(chǎng)合為404mw的情況,有約40%的差異發(fā)生。借助于對(duì)其進(jìn)行校正,能提高命令級(jí)消耗電力估計(jì)的精度。
如前所述,采用本發(fā)明,則因使用在每個(gè)命令讀入的各存儲(chǔ)器求出的消耗電力并能求出在CPU執(zhí)行命令群時(shí)的消耗電力,所以能提高包含多個(gè)存儲(chǔ)器的微處理器的消耗電力評(píng)價(jià)的精度。
權(quán)利要求
1.一種微處理器的功率估算器,從被執(zhí)行的命令的匯編描述、求出包括CPU(運(yùn)算單元)和存儲(chǔ)讀入所述CPU中并被執(zhí)行的命令的多個(gè)存儲(chǔ)器的微處理器中命令執(zhí)行時(shí)的消耗電力,其特征在于,具有對(duì)所述各個(gè)存儲(chǔ)器、求出在所述CPU中被執(zhí)行的命令從所述多個(gè)存儲(chǔ)器讀入的場(chǎng)合的消耗電力值的手段;判斷在所述CPU中被執(zhí)行的命令是從所述多個(gè)存儲(chǔ)器中哪一個(gè)存儲(chǔ)器讀入的手段;和使對(duì)于所述各個(gè)存儲(chǔ)器求出的消耗電力值對(duì)應(yīng)于存儲(chǔ)讀入命令的存儲(chǔ)器的判斷結(jié)果、求出微處理器的消耗電力的手段。
2.如權(quán)利要求1所述的微處理器的功率估算器,其特征在于,在所述CPU中被執(zhí)行的命令從第1高速緩沖存儲(chǔ)器讀入所述CPU中的同時(shí),在能用比所述第1高速緩沖存儲(chǔ)器更高速且容量少的存儲(chǔ)m條命令的第2高速緩沖存儲(chǔ)器中、包含從第1高速緩沖存儲(chǔ)器讀入所述CPU中的命令、順次接續(xù)地存儲(chǔ)最多m條命令、并從所述第2高速緩沖存儲(chǔ)器將命令讀入所述CPU中、直到存儲(chǔ)于所述第2高速緩沖存儲(chǔ)器中的命令全部被執(zhí)行為止、重復(fù)執(zhí)行命令的動(dòng)作的場(chǎng)合中,求出從所述第1高速緩沖存儲(chǔ)器讀入在所述CPU中被執(zhí)行的命令的場(chǎng)合的第1消耗電力值;求出從所述第2高速緩沖存儲(chǔ)器讀入在所述CPU中被執(zhí)行的命令的場(chǎng)合的第2消耗電力值;在開(kāi)始命令的讀入后、在m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
3.如權(quán)利要求2所述的微處理器的功率估算器,其特征還在于,在執(zhí)行變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令的場(chǎng)合中,在開(kāi)始所述命令的執(zhí)行后、在m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
4.如權(quán)利要求2所述的微處理器的功率估算器,其特征還在于,在開(kāi)始變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令的執(zhí)行后,在所述命令的下一個(gè)命令以后接續(xù)地0或者m條未完的命令的執(zhí)行中使用所述第2消耗電力值、在然后接續(xù)地m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
5.如權(quán)利要求2所述的微處理器的功率估算器,其特征還在于,在開(kāi)始執(zhí)行變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令、并接著所述命令、變換1次或者多次執(zhí)行被描述的命令的后續(xù)命令順序的場(chǎng)合中,在接著所述命令、多次執(zhí)行被描述的命令并在m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
6.如權(quán)利要求2所述的微處理器的功率估算器,其特征還在于,在開(kāi)始執(zhí)行變換分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令、并接著所述命令、變換多次執(zhí)行被描述的命令的后續(xù)命令順序的場(chǎng)合中,在接著所述命令、1次或者多次執(zhí)行被描述的命令并在下一個(gè)命令以后接續(xù)地0或者m條未完的命令執(zhí)行中使用所述第2消耗電力值、在然后接續(xù)地m條命令的每條命令的執(zhí)行中使用所述第1消耗電力值、在其它命令的執(zhí)行中使用所述第2消耗電力值,求出微處理器的消耗電力。
7.如權(quán)利要求1所述的微處理器功率估算器,其特征還在于,基于變換在所述CPU中被執(zhí)行的命令數(shù)、分支命令、轉(zhuǎn)移命令。例外處理命令等一系列的命令執(zhí)行順序的命令數(shù)和所述存儲(chǔ)器的容量、對(duì)于各存儲(chǔ)器求出從所述存儲(chǔ)器讀入的命令的次數(shù);對(duì)于所述各存儲(chǔ)器、求出對(duì)所述存儲(chǔ)器求出的次數(shù)與對(duì)應(yīng)于所述存儲(chǔ)器求出的消耗電力值和乘積;對(duì)于所述各存儲(chǔ)器求出求得的次數(shù)與消耗電力乘積的和并求出微處理器的消耗電力。
8.如權(quán)利要求1所述的微處理器的功率估算器,其特征還在于,基于變換在所述CPU中被執(zhí)行的命令數(shù)、分支命令、轉(zhuǎn)移命令、例外處理命令等一系列的命令執(zhí)行順序的命令發(fā)生的概率和所述存儲(chǔ)器的容量、對(duì)于所述各存儲(chǔ)器、求出從所述存儲(chǔ)器讀入的命令的次數(shù);對(duì)于所述各存儲(chǔ)器、求出對(duì)所述存儲(chǔ)器求出的次數(shù)與對(duì)應(yīng)于所述存儲(chǔ)器求出的消耗電力值的乘積;對(duì)于所述各存儲(chǔ)器求出求得的次數(shù)與消耗電力乘積的和并求出微處理器的消耗電力。
全文摘要
本發(fā)明揭示一種微處理器的功率估算器,從命令的匯編描述、求出包括多個(gè)高速緩沖存儲(chǔ)器(2)、(3)、(4)的微處理器的消耗電力,其特征在于,求出在CPU(5)中被執(zhí)行的命令從主存儲(chǔ)器(1)讀入的場(chǎng)合的消耗電力值和從高速緩沖存儲(chǔ)器(2)、(3)、(4)讀入的場(chǎng)合的消耗電力值,判斷是從主存儲(chǔ)器(1)或高速緩沖存儲(chǔ)器的哪一個(gè)讀入命令,使對(duì)于各個(gè)存儲(chǔ)器求出的消耗電力值對(duì)應(yīng)于判斷結(jié)果、求出消耗電力。
文檔編號(hào)G06F1/28GK1162148SQ97102630
公開(kāi)日1997年10月15日 申請(qǐng)日期1997年2月12日 優(yōu)先權(quán)日1996年2月8日
發(fā)明者影島淳, 宇佐美公良 申請(qǐng)人:東芝株式會(huì)社