本發明涉及一種嵌入式計算機性能測評方法,特別是涉及一種飛控嵌入式計算機性能測評方法。
背景技術:
文獻“用于嵌入式計算機性能評測技術及其方法研究,現代電子技術,2008,Vol31(14),p49-54”公開了一種基于E3S評測基準的嵌入式計算機測評方法。該方法對嵌入式計算機的計算能力進行了測試,還包括通過E3S測試基準對嵌入式計算機的分配、指派、調度能力進行測試,但其存在缺乏對飛控計算機所特有的各個分系統進行詳細的測試與分析的問題,如沒有信號處理性能測試、應用與邏輯運算性能測試等。并且文獻中的方法缺少綜合評價體系,無法對飛控嵌入式計算機性能給出整體層面的評價。
綜上所述,現有的飛控嵌入式計算機性能測試方法存在測試內容不全面、缺少針對性、沒有綜合測試評價體系的問題。
技術實現要素:
為了克服現有嵌入式計算機性能測評方法綜合測試評價能力差的不足,本發明提供一種飛控嵌入式計算機性能測評方法。該方法構建具有針對性的全面測試指標體系,對需要進行測試的飛控嵌入式系統給予綜合評價。該方法針對飛控計算機的系統要求和特點,提出了處理器性能指標、存儲器性能指標、I/O性能指標、同步處理性能指標、信號處理指標、數字信號處理、應用與邏輯運算指標和控制與顯示性能指標等8個指標。運行這8個指標的測試程序,分別得到對應的測試結果;隨后把這8個測試結果放入綜合評價體系中,通過二次評價權重分配法和限界極差變換法的變換與計算得到整個飛控嵌入式計算機的性能分數,綜合測試評價能力強。
本發明解決其技術問題所采用的技術方案是:一種飛控嵌入式計算機性能測評方法,其特點是包括以下步驟:
步驟一、針對處理器性能指標,測試CPU的MIPS和MFLOPS值。
MIPS=Num1/time (1)
MFLOPS=Num2/(time2-time1) (2)
式中,MIPS表示每秒處理的百萬級的機器語言指令數,Num1表示測試程序執行指令數,time表示MIPS測試程序函數體執行時間;MFLOPS表示每秒百萬個浮點操作,Num2表示測試程序浮點指令執行數,(time2-time1)表示測試程序執行時間。
步驟二、進行I/O性能測試,通過改變文件的大小和數量,測試數據的傳輸讀/寫速率以及讀/寫傳輸延遲。
步驟三、進行包括緊密同步、幀同步以及異步運行三種方式的同步性能測試,將整個任務周期開始時需要進行的同步處理過程整體時間作為一個性能指標,其值為:任務周期同步平均時間=兩次握手同步平均時間+失步概率*失步處理平均時間。
步驟四、應用與邏輯運算性能測試,包括插值計算和矩陣運算。插值計算分為線性內插和非線性內插,矩陣運算分為初始化、矩陣乘法、矩陣的轉置和矩陣相加減。
步驟五、存儲器性能測試包括速率測試和傳輸時延測試。在測試時分別傳輸大文件和小文件,并且分別設置不同的數據塊大小進行測試。傳輸時延測試采用兩次傳輸時間差的方法:
T=2*time1-time2 (3)
式中,T表示存儲器傳輸時延,time1為file1傳輸時間,time2為file2傳輸時間,其中file2的大小是file1的兩倍,且其中的內容也是file1中內容的兩份拷貝,并且令file1和file2均剛剛占滿整個數據塊。
步驟六、進行數字信號處理,首先通過模數轉換器將信號從模擬域轉換至數字域,交由數字處理器進行處理,之后其輸出結果通過數模轉換器從數字域轉換至模擬域。選取以下數字信號處理算法對數字信號處理器的性能進行測評:sinc插值運算、遞歸濾波運算、離散余弦變換運算和快速傅里葉變換運算。
步驟七、飛控系統信號處理,包括數字量和離散量的信號監控。計算數字信號監控平均時間:
Time1=∑(Pi*timei/m),i∈[1,7] (4)
及離散信號量監控平均時間:
Time2=∑(Qk*timek/n),k∈[1,6] (5)
式中,Time1表示數字量信號監控平均時間,Pi表示7種類別的輸入信號分別對應的出現概率,m=7表示數字信號量監控處理有7個類別;Time2表示離散信號量監控平均時間,Qk表示6種類別的離散量輸入信號分別對應的出現概率,n=6表示離散信號量監控處理中的6個類別。
步驟八、進行飛控嵌入式計算機控制/顯示相關性能測試,包括三角形填充率、像素填充率、顯存讀速度/寫速度、顏色空間變換、圖像旋轉變換5個測試項。使用三角形填充圖形,根據需要的填充三角形數量和繪圖所用時間計算填充速率;利用函數繪制一個長矩形條,矩形條按照設定角度進行旋轉;用單位三角形去填充長矩形條,從而獲得單位時間填充的三角形生成數量,而每個三角形所占用的像素大小已知,得到飛控嵌入式計算機系統的像素填充率;接著測試顯存的讀速度和寫速度;將RGB顏色空間的數據轉換為彩印使用的CMY(K)顏色空間、XYZ顏色空間和HSL顏色空間,計算得到色彩空間變換時間;計算圖像中各個像素點旋轉后坐標,通過這種方法對標準bmp圖像進行旋轉,得到旋轉一次的時間
x1=d cos(b-a)=d cos b cos a+d sin b sin a=x0 cos a+y0 sin a (6)
y1=d sin(b-a)=d sin b cos a-d cos b sin a=-x0 sin a+y0 cos a (7)
式中,(x0,y0)為像素點原始坐標,(x1,y1)為像素點旋轉后坐標,該像素點與原點之間連線與水平軸的夾角為b,圖像旋轉角度為a,d表示該像素點距離圖像中心的距離。
步驟九、將步驟一至步驟八得到的測試結果放入綜合評價體系中的應用限界極差變換法。權重總和為100,從第j個性能模塊對應的n位專家給出的n個評估值中剔除掉最小值與最大值,將剩下的n-2個評估值的期望值作為該性能模塊的待定權重Wj值為:
以及各測試指標所有性能權重值之和Hj為:
接著從n位專家對某性能指標做出的權重評估值數組中,剔除最小值和最大值,剩下n-2個權重評估值的期望值即為該性能指標在該模塊內部的權重值wj為:
在整個飛控嵌入式系統中,第i個模塊的第j個性能指標在整體系統中的最終權重值hij可由wj和Hi相乘得到:
hij=wj×Hi (11)
式中,Xj表示所有專家針對第j個性能模塊進行評估的評估值構成的已從小到大排序的數組,由于最小值Xj[0]與最大值Xj[n-1]已經被剔除,因此只需通過剩余n-2個評估值求得第j個性能模塊的待定權重值;第j個性能模塊的待定權重值為Wj;接著從n位專家對某性能指標做出的權重評估值數組中,剔除最小值和最大值,剩下n-2個權重評估值的期望值即為該性能指標在該模塊內部的權重值wj,xi表示第i位專家給出的第j個性能指標在其所在模塊內部所占的權重評估值。
步驟十、根據得到的權重,通過限界差值法進行無量綱化。關于正向指標,其無量綱化過程為
以及負向指標,其無量綱化過程為:
通過newij和hij相乘得到飛控嵌入式計算機進行綜合評價所得結果Score:
式中,numi表示第i個模塊中的性能指標的個數,newij表示第i個模塊中第j個性能指標經測試之后,再經過指標無量綱化轉換成的測量值,hij表示第i個模塊中第j個性能指標在系統中占據的權重值。
本發明的有益效果是:該方法構建具有針對性的全面測試指標體系,對需要進行測試的飛控嵌入式系統給予綜合評價。該方法針對飛控計算機的系統要求和特點,提出了處理器性能指標、存儲器性能指標、I/O性能指標、同步處理性能指標、信號處理指標、數字信號處理、應用與邏輯運算指標和控制與顯示性能指標等8個指標。運行這8個指標的測試程序,分別得到對應的測試結果;隨后把這8個測試結果放入綜合評價體系中,通過二次評價權重分配法和限界極差變換法的變換與計算得到整個飛控嵌入式計算機的性能分數,綜合測試評價能力強。
下面結合具體實施方式對本發明作詳細說明。
具體實施方式
本發明飛控嵌入式計算機性能測評方法具體步驟如下:
基礎指標模塊包括處理器性能指標、I/O性能指標、同步處理性能指標、應用與邏輯運算性能指標、存儲性能指標、數字信號處理性能指標、信號處理性能指標、控制與顯示性能指標等8個指標。
1、處理器性能指標方法。
處理器性能指標包括定點指令操作性能和浮點指令操作性能。定點性能主要通過MIPS體現,浮點性能通過MFLOPS體現。MIPS是最能體現定點指令操作的指標,即單字長定點指令平均執行速度,所謂單字長定點指令,指的是指令長度為一個字長且用來處理定點數的指令,MIPS也可以理解為每秒處理的百萬級的機器語言指令數。MIPS的指令格式只有3種:R指令、I指令以及J指令。相關的指令包括:算術運算、邏輯運算、數據傳送、條件轉移、特殊指令、例外指令等。首先,獲取當前系統時間time;隨后,進入循環體開始執行。得到的MIPS為
MIPS=Num1/time (1)
MFLOPS,指每秒百萬個浮點操作,這也是衡量計算機系統的重要技術指標之一。相同的程序在不同的計算機系統上運行,往往會執行不同數量的指令數,但是卻會處理相同個數的浮點數,因此,選用這個指標是有一定的可靠性的。
根據此定義,本文測量MFLOPS的方法如下
MFLOPS=Num2/(time2-time1) (2)
首先獲得當前獲取當前系統時間time1;依次對所有數據進行相應指令操作數量為Num2;最后,獲取當前系統時間time2;
2、I/O性能測試方法。
I/O性能指標主要針對讀寫磁盤的速率。數據塊的大小對數據傳輸速率及硬盤性能的影響、文件大小在緩存模式下對數據傳輸速率及硬盤性能的影響、數據的延遲寫對測試結果的影響、傳輸大量小文件時,小文件數量及大小的變化對數據傳輸速率及硬盤性能的影響等等。在不改變其它變量因子(例如小文件數量、小文件大小等)的前提下,改變指定的變量,分別測試順序讀/寫速度。根據參數指定數據塊的大小并創建指定大小的大文件并設置為非緩存模式。獲取當前系統時間,計算數據塊數量,并開始執行寫入文件操作,直至大文件都已被寫入,再次獲取當前系統時間,計算得到寫入操作耗費總時間。刪除測試過程中新創建的大文件,釋放資源并計算得到該次測試中得到的順序讀/寫速度。接著計算隨機讀/隨機寫速度,測試中應采用非緩存模式,因為緩存模式下進行隨機讀/寫操作時,可能會先將相關存儲數據放在緩沖區中,這將導致測得的結果與實際不符。其次,進行隨機讀/寫,需要隨機數的介入,為了保證結果的真實性,每次采用的隨機數應該沒有相關性,本方法通過C語言中的srand函數,以系統當前時間作為隨機種子產生隨機數保證獲取隨機數的真實有效性。另外,數據塊的大小對隨機讀/寫速度指標也會產生影響,因此針對不同的數據塊大小分別進行測試很有必要。
3、同步性能測試方法。
同步機制在飛控嵌入式計算機中有很重要的作用。特別是在多余度飛控嵌入式計算機中,同步機制用來保持多通道數據一致以及任務周期同步等。主要有3種同步方式:緊密同步、幀同步以及異步運行方式。其中,幀同步在飛控嵌入式計算機應用最為廣泛。因此,針對飛控嵌入式計算機的同步機制測試主要有2個基準指標:兩次握手同步平均時間以及失步處理平均時間。在實際運作過程中,這三個指標的浮動性比較大。因此,只能采用多次測量取平均值的測試方法。同時三者與同步處理整體時間是有一定邏輯關系的。兩次握手同步平均時間直接決定同步處理過程的基準時間,失步概率與失步處理平均時間則決定了整個同步處理過程除去基準處理時間之外的額外處理時間。本方法把整個任務周期開始時需要進行的同步處理過程整體時間作為一個性能指標,其值為:任務周期同步平均時間=兩次握手同步平均時間+失步概率*失步處理平均時間。
4、應用與邏輯運算性能測試方法。
插值法根據相關數學函數特性,可分為線性內插、非線性內插等,其中最基本的是線性函數的內插法。在飛控嵌入式計算機中,為了控制飛行姿態,會涉及到大量的矩陣運算。矩陣相關的運算很多,但其基本運算有如下幾種:矩陣初始化、矩陣乘法、矩陣的轉置、矩陣相加、矩陣相減等等。飛控嵌入式計算機在控制飛行姿態過程中,涉及到空間方位矩陣等大部分三階矩陣,因此設計測試指標時選用三階矩陣進行測試。調用矩陣運算函數、進行矩陣運算、返回結果。測試過程中,首先創建兩個包含90000個元素的數組,之后每次執行原語操作時,運算指針向后偏移9個元素,依次進行矩陣運算,最后,取均值,得測評結果。
5、存儲性能測試方法。
數據傳輸速率,決定了存儲器模塊與飛行控制計算機分系統中其它模塊通信的速度;存儲器延遲決定了飛行控制計算機分系統的反應速度。在傳輸不同大小的文件時,其數據傳輸速率是變化的。另外,數據塊的大小也將影響數據傳輸速率。因此,本測試方法針對該指標,分為傳輸大文件和小文件的情況,且分別設置不同的數據塊大小進行測試。
除了存儲器的數據傳輸速率,還有存儲器延遲指標,它是指處理器向存儲器發出相關指令后,存儲器在真正執行相關操作之前需要等待的時間。在實際測試過程中,很難直接得到存儲器延遲時間,本文采用測試兩次傳輸時間差的方法來測試傳輸延遲時間。在一次測試過程中,傳輸兩個大文件file1和file2,其中file2的大小是file1的兩倍,且其中的內容也是file1中內容的兩份拷貝,并且令file1和file2均剛剛占滿整數個數據塊。假設file1傳輸時間為time1,file2傳輸時間為time2,兩個文件的傳輸過程中,time2只比time1多了一部分無需延遲的file1文件的數據傳輸時間。則單次測得的傳輸延遲為:
T=2*time1-time2 (3)
為了保證結果的準確性,在復制文件時,復制程序中有限速項,確保在傳輸這兩個文件時,實際傳輸過程中的傳輸速度是一致的。
6、數字信號處理性能測試方法。
傳感器分系統需要對大量的連續模擬信號進行測量或濾波,即數字信號處理。首先通過模數轉換器將信號從模擬域轉換至數字域,交由數字處理器進行處理,之后其輸出結果通過數模轉換器從數字域轉換至模擬域。本方法通過選取以下幾種飛控嵌入式計算機中常用到的數字信號處理算法來對數字信號處理器的性能進行測評:sinc插值運算、遞歸濾波運算、離散余弦變換運算、快速傅里葉變換運算。
7、飛控信號處理性能測試方法。
飛控嵌入式計算機中,在進行信號采集時,涉及到很多信號處理。另外,根據典型軟件組成及其容量比例可知,測試與表決軟件占飛控嵌入式計算機中總軟件存儲需求的20%,可見,信號處理相關性能指標在飛控計算機中的重要性。本方法主要根據數字量和離散量的信號監控來進行信號處理相關性能的測評。
分別選取數字量和離散量信號監控平均時間作為信號監控相關性能指標。根據數字量和離散量信號監控算法,對信號進行監控所需要的時間取決于有效信號的個數。必須在大量測試的基礎上,根據有效信號個數來計算信號監控平均時間。
數字量信號監控的處理過程中,共有7種情況的出現,在飛控嵌入式計算機運行過程中,這7種情況分別對應各自出現的概率:P1、P2、P3、P4、P5、P6、P7。各種情況下所需要的數字量信號監控時間不一致。
數字量信號監控平均時間
Time1=∑(Pi*timei/m),i∈[1,7] (4)
離散量信號監控平均時間測試方法與上述測試方法類似。離散量信號監控的處理過程中,共有6種情況的出現,在飛控嵌入式計算機運行過程中,這7種情況分別對應各自出現的概率:Q1、Q2、Q3、Q4、Q5、Q6。各種情況下所需要的離散量信號監控時間不一致。
離散量信號監控平均時間
Time2=∑(Qk*timek/n),k∈[1,6] (5)
8、控制/顯示相關性能測試方法。
在飛控嵌入式計算機中,要顯示和控制飛行姿態,必須選用具備3D顯示性能的顯卡,因此,本文選用三角形填充速率性能指標。本方法采用的三角形填充率測評算法是通過在繪圖窗口中繪制圖形,并使用三角形填充圖形,根據需要的填充三角形數量和繪圖所用時間計算填充速率。用函數繪制一個長矩形條,矩形條按照設定角度進行旋轉;用單位三角形去填充長矩形條,從而獲得單位時間填充的三角形生成數量,而每個三角形所占用的像素大小已知,得到飛控嵌入式計算機系統的像素填充率。顯存帶寬指顯示芯片與顯存之間的數據傳輸速率,最基本的單位是字節/秒。飛控嵌入式計算機的控制/顯示分系統中,顯存帶寬直接決定了人機交互界面中機器對人反饋信息以及該分系統與存儲器之間數據交換的速度。我們將顯存帶寬性能指標進一步劃分為顯存讀速度指標與顯存寫速度指標。顏色空間也稱彩色模型,它的用途是在某些標準下用通常可接受的方式對顏色加以說明,實際應用中,大多數彩色模型都是面向硬件或面向應用的。從提出顏色空間的概念到有上百種不同的彩色模型,其中的大多數專用于某一領域。本方法將RGB顏色空間的數據轉換為彩印使用的CMY(K)顏色空間、XYZ顏色空間和HSL顏色空間的數據,統計上述轉換過程所需時間來評價嵌入式計算機的圖像顏色空間轉換性能。圖像旋轉一般以其中心為原點進行旋轉,即將所有像素點旋轉相等的角度。因此,旋轉過程中,隨著所有像素點位置的變化,圖像的大小、長寬等也會發生相應變化,假設原圖像中某像素點坐標為(x0,y0),經過旋轉之后,該像素點坐標變為(x1,y1),同時設原圖像中,該像素點與原點之間連線與水平軸的夾角為b,圖像旋轉角度為a,則該像素點的新位置坐標為
x1=d cos(b-a)=d cos bcos a+d sin b sin a=x0 cos a+y0 sin a (6)
y1=d sin(b-a)=d sinb cos a-d cos b sin a=-x0 sin a+y0 cos a (7)
結合上述公式,通過對某標準bmp圖像進行旋轉,可得圖像旋轉變換性能指標。
9、綜合評價方法。
綜合評價模塊主要通過綜合評價體系對飛控嵌入式計算機性能進行整體評價。其核心為兩部分,分別是二次評價權重分配法和限界極差變換法。
1)二次評價權重分配法。首先n位專家針對各個性能模塊:CPU模塊、控制/顯示分系統模塊、DSP模塊、存儲器模塊、I/O模塊、應用與邏輯運算模塊、同步處理模塊、信號處理模塊等8個模塊在互不干擾的前提下,以100為總權重,分別給出8個模塊在系統中占據的指標權重值,即每位專家給出的權重值相加,值為100。例如第i位專家可以給出這樣的評估數組:
(Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi)=(20,16,8,11,8,11,11,15)
所有專家對各性能模塊進行評估之后,對所有性能模塊進行如下處理:從第j個性能模塊對應的n位專家給出的n個評估值中剔除掉最小值與最大值,將剩下的n-2個評估值的期望值作為該性能模塊的待定權重值。
得到所有模塊的待定權重值之后,無法確保各性能模塊的待定權重值相加之后值為100,因此需要對各模塊的待定權重值進行規范化。規范化是通過各性能模塊與總權重值之間的等比例轉化完成的,假設第j個性能模塊的待定權重值為Wj,各個性能模塊的待定權重值之和為Wsum,則在確保二者之間比值不變的前提下,將Wsum轉換到100,得到的新的權重值即為該模塊的最終權重值。求得第j個性能模塊中所有性能權重值之和,即該模塊的最終權重值。
確定每個模塊的最終權重值之后,需要確定各模塊內部各個性能指標的權重。采用的方法與上述過程類似:每個專家針對每個模塊的各個性能在互不干擾的前提下進行評估,且各專家對單個模塊內所有性能給出的權重評估值之和為1。例如,第i個專家對某個具有三個性能指標的模塊的權重評估值為
(ai,bi,ci,)=(0.5,0.2,0.3)
接著從n位專家對某性能指標做出的權重評估值數組中,剔除最小值和最大值,剩下n-2個權重評估值的期望值即為該性能指標在該模塊內部的權重值wj。
其中,表示第i位專家給出的第j個性能指標在其所在模塊內部所占的權重評估值。在飛控嵌入式計算機系統中,第i個模塊的第j個性能指標在整體系統中的最終權重值hij可由wj和Hi相乘得到。
hij=wj×Hi (11)
2)在對各性能指標分配權重之后,各性能指標單位不統一,無法直接對飛控嵌入式計算機系統進行綜合評價。需要進行指標無量綱化,把所有性能指標值規劃到0到1之間。本方法通過n位專家根據歷史經驗對各性能指標的最優值做出的評估值,構建決策矩陣,這樣各性能模塊中每一個性能指標均對應一個具有n個元素的一位數組。假設第i個模塊中第j個性能對應的數組表示為Mij[n]。針對該數組,剔除掉最小值Mij[0]和最大值Mij[n-1]之后,剩余的值的期望值即為該性能的最優參考值。針對n-2個評估值,采用限界極差變換法對該指標進行指標無量綱化。
對于正向指標,實際測量值xi'j越大,經過極差變換法進行初步指標無量綱化之后,其值newij越接近1。另外,本方法規定如果正向指標的實際測量值大于或者等于其最期望,則需要對該值進行二次指標無量綱化,經過指標無量綱化之后,其值newij為1。關于正向指標,其總的指標無量綱化為
對于逆向指標,實際測量值xij越小,經過極差變換法進行初步指標無量綱化之后,其值newij越接近1。另外,本文中規定如果逆向指標的實際測量值小于或者等于其期望值,則需要對該值進行二次指標無量綱化,使其值為1。關于逆向指標,其總的指標無量綱化過程為
3)對各模塊中各性能指標進行多次測試,取均值,之后對其無量綱化。最終將各性能指標進行指標無量綱化之后得到的值newij與該指標對應的權重值hij相乘得到的結果相加,即為單次對飛控嵌入式計算機進行綜合評價所得結果Score為