999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于數據流的指令級功耗建模方法

2010-08-27 07:58:24曹慶年強新建
探測與控制學報 2010年1期
關鍵詞:嵌入式指令信號

曹慶年,田 澤,強新建

(西安石油大學計算機學院,陜西西安 710065)

0 引言

目前,基于嵌入式處理器的SoC技術得到了廣泛的應用。根據不同應用,利用嵌入式處理器可編程的靈活性,只要配置不同的功能性軟件就可改變系統功能,極大地提高了芯片的適用性和應用的普遍性。而嵌入式處理器在增強了系統功能的同時,也給SoC系統的低功耗設計帶來了問題。嵌入式處理器硬IP核的保護,使得SoC設計者無法得知其底層最為核心的設計細節,須借助其功耗模型才能對整個系統的功耗進行估計與驗證,因此,嵌入式處理器功耗模型成為近來功耗EDA研究的重點之一。

嵌入式CPU的指令級功耗模型可以滿足軟件功耗估計的要求。一方面,各種SoC應用軟件使得CPU要處理各種各樣的輸入信號,要求功耗模型要保證穩定的計算精度,另一方面,SoC功耗估計通常要包括大量的指令執行,功耗模型必須提供足夠快的執行速度。而嵌入式CPU內部的復雜性和外部的應用需求使得指令級功耗建模十分困難。這方面的工作具有一定的探索性,有關文獻[1-5]提出一些分解指令級功耗復雜性的辦法,相關的算法是針對一些特定情況提出的,沒有一個統一的測試基準,其分析和驗證結果的精度存在一定問題。因此,本文在研究和分析這些問題的基礎上提出了一種簡單有效的指令級功耗模型。

1 嵌入式CPU

為了進行CPU的功耗分析,選用一個具有三級流水線的16位RISC處理器μP,其指令集[ARM]兼容ARM 7THUMB。

μP指令系統具有大多數CPU常見功能。其不僅有典型 RISC的一拍執行指令,而且有多拍的Load/Store指令。因此該指令系統具有一定代表性。

μP內部結構由四個模塊組成:算術邏輯單元(ALU)、寄存器組(RegBank)、存儲器接口(MemInt)和控制單元(CtrlUnit),如圖1所示。其執行機制是按照流水線來組織的,分成取指、譯碼和執行三級,對應各個部件的操作如下:

1)取指:把程序計數器 PC作為地址發送到MemInt單元,把數據作為指令從內存總線上讀入到MemInt單元中。

2)譯碼:通過CtrlUnit單元對指令譯碼后,轉換成各個部件的控制信號。

3)執行:執行讀入指令規定的操作,可分成3種:算術邏輯運算(A&L)、寫寄存器(WrReg)、訪存操作(Ld&St)。

圖1 μP處理器結構Fig.1 The architecture ofμP processor

2 現有指令級功耗模型分析

為了展現指令級功耗的變化特點,采用已有算法來描述微處理器μP的能量損耗,并對其利弊進行分析。為了簡化起見,此處用電路節點的有效跳變總數來代替具體功耗。關于功耗有如下公式[4]:

其中C UNIT為單位電容,αi為一整數,表示節點i上發生了幾次跳變。有效跳變與電路功耗只相差常數倍,因此不改變問題的本質。

2.1 常數模型

常數模型[1]基于指令功耗的統計常數來給出算法軟件的功耗估計。對于CISC來說,由于指令/數據緩存、微指令ROM等部件的穩定功耗占平均功耗的主要部分,指令功耗的變化很小,這種模型比較適用。對于RISC來說,大部分功耗消耗在執行指令功能的部件上,指令功耗在一個很大范圍內變化,因此需要更細致的功耗模型。

圖2給出了常數模型的計算效果(從左到右,依次執行的程序為二分查找、冒泡排序、順序查找、最大值排序、整數除法、菲波那其數列、梵塔問題),其中所有程序的所有指令的功耗/周期平均值為2 307.02,各個算法功耗相對誤差的平均值分布在-20%~10%之間,這說明常數模型仍然有可取之處。然而相對誤差的方均根在60%左右,這也說明了這個模型比較粗糙。

圖2 常數模型的相對誤差Fig.2 The relative error of constant model

2.2 功能模型

功能模型[2]考慮了具體指令的執行情況,把指令分成取指與譯碼、數據計算、分支判斷、寫寄存器和訪存操作五個基本功能。按照功能劃分在功耗上具有一定的獨立性。通過對大量指令的功耗采樣可以提取出各個功能消耗的功率常數,從一條指令的功能組合就可以計算出其功率損耗。然而該模型沒有對具體算法進行驗證,無法判斷其在實際應用中的計算效果。

微處理器μP中不含有指令預測單元,因此模型[2]的功能單位只剩下:

1)取指令和譯指令(F&D),對應于MemInt與CtrlUnit。

2)算術/邏輯指令(A&L),對應于ALU。

3)寄存器寫(Wr Reg)對應于 RegBank(后面有更詳細的介紹)。

4)讀/寫存儲器(Ld&St),對應于MemInt。

在該模型功耗模擬中我們發現了圖3所示現象,在沒有WrReg信號的時候RegBank功耗并沒有減小。這說明寫寄存器功耗不是RegBank功耗的主要部分,事實上龐大寄存器堆己經使寄存器讀出網絡的功耗超過了寫寄存器的功耗,因此可說對處理器μP而言,以功能單位分解功耗已不再有效。

圖3 寫寄存器的功耗比較Fig.3 The power comparison of write register

2.3 流水線模型

流水線模型[3]把指令功耗按照流水線進行分解,描述了指令變化造成的各級流水線功耗變化情況。

μP只有三級流水線,難以構造十分完整的流水線模型,以下我們只分析控制信號跳變對μP能耗的影響。因為指令變化就意味著控制信號的變化,所以在一定程度上能夠分析流水線模型的特點。

圖4把一個16位加法器的功耗采樣按照其信號跳變的海明碼距排列起來,表現出一種很接近于線性的變化關系,其最大偏離約為100,一般來說這種現象具有一定的普遍性。

圖4 信號跳變與功率損耗Fig.4 The signal transitions and power loss

這個模型考慮了CPU的具體結構,因此提供了更準確、更為可信的功耗估計。然而這個模型考慮的只是指令操作的變化情況,沒有包括具體操作數的變化情況,使其功耗模型精度受到影響。

3 基于數據流的功耗模型

電路功耗依賴于輸入信號的變換,而前述的已有算法大都沒有考慮信號的變化,因此,討論CPU內部信號跳變,即數據流對CPU功耗的影響。

現有的CPU大都用流水線作為指令執行機制,時鐘周期很短。從邏輯層級來看,每一級的邏輯門級數不會很高,這樣就使得內部信號跳變形成的電路功耗占據絕大部分,也使得使用內部信號跳變對電路功耗的簡單估計成為可能。根據對已有功耗模型分析的結果,提出一種基于數據流的功耗模型。

指令功耗模型:

式中,Pc為一功耗常量,設α0=Pc,H(X 0,X′0)=1,j為數據流下標,H(Xj,X′j)為數據流Xj變化的海明碼距,αj為擬合系數。并且為了便于分析,把功耗模型中的常數Pc也作為一個數據流。隨著數據流中傳遞數據的變化,Hj(Xj,X′j)的取值也會發生變化,但αj的取值基本恒定。其中,5個數據流分別為:

1)ABUS:從RegBank寄存器中讀出數據作為ALU的一組輸入信號。

2)BBUS:從 RegBank 、CtrlUnit或 MemInt讀出數據作為ALU的另一組輸入信號。

3)ALUBUS:ALU的計算結果寫回RegBank中寄存器,或者作為地址發送到MemInt。

4)INCBUS:把RegBank中寄存器的內容作為地址經由MemInt輸出到外部總線上,并連接一個加法器,自動進行增減量賦值。

5)CTRLBUS:從Ctrl Unit出來的控制信號,負責控制各個部件的各種操作,具有很大的扇出負載。

其矩陣公式變化如下:

H M,N為M個數據流的N次采樣,注意到數據流模型的數學構造并不比功能模型更復雜。

圖5給出了本文建模方法的流程,一共有4個主要步驟,分別介紹如下:

1)構造μP的門級網表。為了簡化起見,我們只選用了ARM7THUMB指令集合。為了保證指令集合功能的完整,添加了部分ARM7TDMI的指令功能。另外由于缺少合適的功耗估計工具,本文中添加了部分功耗估計代碼,計算每個節點的有效跳變,并生成程序執行的數據流文件和功耗文件。

2)編制μP的基本算法和編譯器。由于沒有現成的ARM 7THUMB編譯軟件,本文的工作包括了一個用 C++實現的 μP的Compiler,負責編譯ARM7THUMB指令和附加的一些指令,生成可以為VHDL讀入的數據格式。

3)功耗數據的分析。為了理解和分析己有的算法思路,一個圖形化的數據分析工具是必不可少的。本文借助于Matlab和Excel進行了大量的數據分析。Matlab長于矩陣算法,而Excel在統計圖形顯示方面十分出色。

4)功耗模型驗證。在功耗模型中應包含一個μP指令的行為模擬器,以仿真內部信號變化。為了簡化起見,我們的模型仍然從VHDL模擬器中讀出數據流信息進行功耗計算(如虛線所示),然后與模擬器中產生的功耗信息進行比較。

圖5 建立及驗證功耗模型流程圖Fig.5 The flow chart of power model development and validation

4 數據流模型驗證

為驗證本文模型計算效果,我們采用了7個算法程序作為測試樣本。這幾個程序包括了所有的指令類型,并分別有所側重,具有一定的典型性。整數除法、菲波那其數列以計算指令為主,梵塔問題則偏重于調用指令和訪存指令,其余程序則比較均勻。

為了簡單起見,驗證實驗統計每條指令實際功耗與估計功耗的相對誤差,用統計平均與方均根來衡量本文模型的計算效果。并將其結果與常數模型和功能模型進行比較,見表1和表2。

表1 功耗模型相對誤差的平均值比較Tab.1 Power model comparison of the average relative error

表2 功耗模型相對誤差的均方根比較Tab.2 Power model comparison of the root mean square relativeerror

從表1和表2可以看出,無論從相對誤差的平均值還是從方均根數據來看,常數模型與功能模型的差別是不大的,平均值在土15%之間,方均根則在60%左右。數據流模型相對誤差的統計平均值在±10%之間,方均根在整體上小于前兩個模型。

5 結論

本文提出用數據流分解指令功耗的建模方法,以此建立的16位處理器核的指令級功耗模型與已有算法相比,考慮了內部信號變化對CPU功耗的影響,反映到驗證結果上,減少了平均相對誤差和相對誤差的方均根,因此具有更加穩定的計算精度,可以為低功耗嵌入式系統的軟件設計提供指導。

[1]Russel J T,Jacome M F.Software Power Estimation for High Performance 32-bit Embedded Processors[C]//Washington DC:IEEE Computer society,1998:328-333.

[2]Brandoless C,Fornaciari W.An Instruction-level Functionality-based Energy Estimation M odel for 32-bits Microprocessors proceedings of 37th Annal Design automation conference[C]//New York:ACM press,2000:346-351.

[3]Sami M,Sciuto D,Silvano C,et al.Instruction-level power estimation for embedded VLIW cores[C]//proceedings of 8th International workshop on hardwear softwear codesign.New York:ACM press,2000:34-38.

[4]黃琨,章隆兵,胡偉武,等.一種基于龍芯 CPU的結構級功耗評估新方法[J].計算機研究與發展,2007,44(5):782-789.HUANG Kun,ZHANG Longbing,HU Wei wu,et al.An innovative architecture-level power estimation methodology for Godson processor[J].Journal of Computer Research and Development,2007,44(5):782-789.

[5]朱建,王曉豐.EMSIM中指令仿真與功耗模擬的研究[J].硅谷,2009(2):30-31.ZHU Jian,WANG Xiaofang.Research on EMSIM instruction in simulation and power simulation[J].Sillicon Velley,2009(2):30-31.

猜你喜歡
嵌入式指令信號
聽我指令:大催眠術
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
基于LabVIEW的力加載信號采集與PID控制
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 毛片最新网址| 91色在线观看| 日韩精品毛片| 青草视频久久| 亚洲天堂啪啪| 亚洲日韩图片专区第1页| 高清不卡毛片| 97视频免费在线观看| 国产另类视频| 国产精品制服| 国产手机在线小视频免费观看| 国产精品久久精品| 伊人色天堂| 成人在线第一页| 亚洲国产成人无码AV在线影院L | 狠狠色综合网| 国产欧美日韩另类精彩视频| 久久一日本道色综合久久| 日韩精品少妇无码受不了| 国产精品尤物在线| 久久精品免费国产大片| 五月婷婷亚洲综合| 97青草最新免费精品视频| 免费看久久精品99| 原味小视频在线www国产| 婷婷激情亚洲| 91美女视频在线| 天天视频在线91频| 亚洲AV无码乱码在线观看裸奔| 中文成人在线视频| 亚洲精品自产拍在线观看APP| 2020国产在线视精品在| 精品综合久久久久久97超人该| 欧美特黄一免在线观看| 经典三级久久| 99无码熟妇丰满人妻啪啪| 夜色爽爽影院18禁妓女影院| 亚洲一区二区视频在线观看| 亚洲婷婷在线视频| 狠狠做深爱婷婷综合一区| 2021无码专区人妻系列日韩| 97精品国产高清久久久久蜜芽| 青青操视频在线| 国产精品白浆无码流出在线看| 亚洲一区网站| 日韩欧美中文字幕在线精品| 午夜免费视频网站| 毛片在线看网站| 色婷婷色丁香| 91麻豆精品国产91久久久久| 18禁色诱爆乳网站| 国产亚洲精| 蜜芽国产尤物av尤物在线看| 尤物国产在线| 亚洲手机在线| 亚洲精品自在线拍| 色噜噜中文网| 亚洲午夜18| 最新午夜男女福利片视频| 婷婷色婷婷| 亚洲AV无码乱码在线观看裸奔| 日韩激情成人| 精品亚洲欧美中文字幕在线看| 人妻91无码色偷偷色噜噜噜| 久久青草视频| 欧美在线综合视频| 国产高清国内精品福利| 亚洲h视频在线| 欧美精品一区在线看| 97久久人人超碰国产精品| 热99精品视频| 国产综合色在线视频播放线视| 国产成人超碰无码| 亚洲一区波多野结衣二区三区| 九色综合伊人久久富二代| 亚洲天堂精品在线| 国内精自视频品线一二区| 熟妇丰满人妻av无码区| 精品在线免费播放| 天天色天天操综合网| 中文字幕中文字字幕码一二区| 亚洲视频三级|