當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式實(shí)時(shí)操作系統(tǒng)性能測(cè)試方法研究

引 言
    隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展和芯片制造工藝的不斷進(jìn)步,ERTOS的研究和應(yīng)用日益廣泛,從民用的手機(jī)、電子書等手持移動(dòng)設(shè)備到航空航天、醫(yī)學(xué)設(shè)備、工業(yè)控制等各個(gè)領(lǐng)域都有它的身影。然而,在設(shè)計(jì)和選擇ERTOS時(shí),如何確定其是否能夠滿足所需的應(yīng)用成為一個(gè)棘手的問(wèn)題,必須用一種有效的方法對(duì)它們的各個(gè)方面進(jìn)行對(duì)比測(cè)試,以選擇符合要求的系統(tǒng)。本文首先分析三種常用的系統(tǒng)實(shí)時(shí)性能測(cè)試方法,接著介紹一套測(cè)試實(shí)驗(yàn)平臺(tái),對(duì)于ERTOS的測(cè)試和分析有一定的指導(dǎo)意義。


1 Rheaostone方法
   
Rhealstone方法對(duì)ERTOS中六個(gè)關(guān)鍵操作的時(shí)間量進(jìn)行測(cè)量,并將它們的加權(quán)和稱為Rhealstone數(shù)。這六個(gè)時(shí)間量如下:
    ◆任務(wù)切換時(shí)間(task switching time),也稱上下文切換時(shí)間,定義為系統(tǒng)在兩個(gè)獨(dú)立的、處于就緒態(tài)并具有相同優(yōu)先級(jí)的任務(wù)之間切換所需要的時(shí)間。它包括三個(gè)部分,即保存當(dāng)前任務(wù)上下文的時(shí)間、調(diào)度程序選中新任務(wù)的時(shí)間和恢復(fù)新任務(wù)上下文的時(shí)間。切換所需的時(shí)間主要取決于保存任務(wù)上下文所用的數(shù)據(jù)結(jié)構(gòu)以及操作系統(tǒng)采用的調(diào)度算法的效率。

    ◆搶占時(shí)間(preemption time),即系統(tǒng)將控制從低優(yōu)先級(jí)的任務(wù)轉(zhuǎn)移到高優(yōu)先級(jí)任務(wù)所花費(fèi)的時(shí)間。為了對(duì)任務(wù)進(jìn)行搶占,系統(tǒng)必須首先識(shí)別引起高優(yōu)先級(jí)任務(wù)就緒的事件,比較兩個(gè)任務(wù)的優(yōu)先級(jí),最后進(jìn)行任務(wù)的切換,所以搶占時(shí)間中包括了任務(wù)切換時(shí)間。
    ◆中斷延遲時(shí)間(interrupt latency time),指從中斷第一條指令所持續(xù)的時(shí)間間隔.它由四部分組成,即硬件延遲部分(通??梢院雎圆挥?jì))、ERTOS的關(guān)中斷時(shí)間、處理器完成當(dāng)前指令的時(shí)間以及中斷響應(yīng)周期的時(shí)間。
    ◆信號(hào)量混洗時(shí)間(semaphore shuffling time),指從一個(gè)任務(wù)釋放信號(hào)量到另一個(gè)等待該信號(hào)量的任務(wù)被激活的時(shí)間延遲。在ERTOS中,通常有許多任務(wù)同時(shí)競(jìng)爭(zhēng)某一共享資源,基于信號(hào)量的互斥訪問(wèn)保證了任一時(shí)刻只有一個(gè)任務(wù)能夠訪問(wèn)公共資源。信號(hào)量混洗時(shí)間反映了與互斥有關(guān)的時(shí)間開銷,因此也是衡量ERTOS實(shí)時(shí)性能的一個(gè)重要指標(biāo)。
    ◆死鎖解除時(shí)間(deadlock breaking time),即系統(tǒng)解開處于死鎖狀態(tài)的多個(gè)任務(wù)所需花費(fèi)的時(shí)間。死鎖解除時(shí)間反映了RTOS解決死鎖的算法的效率。
    ◆數(shù)據(jù)包吞吐率(datagram throuShput time),指一個(gè)任務(wù)通過(guò)調(diào)用ERTOS的原語(yǔ),把數(shù)據(jù)傳送到另一個(gè)任務(wù)去時(shí),每秒可以傳送的字節(jié)數(shù)。


2 進(jìn)程分派延遲時(shí)間法
    進(jìn)程分派延遲時(shí)間PDLT(Process Dispatcb LatencyTime)是另一個(gè)常用的測(cè)量ERTOS性能的方法。在實(shí)時(shí)系統(tǒng)中,實(shí)時(shí)任務(wù)總是等待外部事件引發(fā)的中斷來(lái)激活它。當(dāng)一個(gè)中斷產(chǎn)生后,系統(tǒng)必須迅速停止當(dāng)前運(yùn)行的低優(yōu)先級(jí)任務(wù),將控制權(quán)交給被激活的實(shí)時(shí)任務(wù)。PDLT定義為從中斷的產(chǎn)生到由中斷激活的實(shí)時(shí)任務(wù)開始執(zhí)行之間的時(shí)間間隔。這段間隔由幾個(gè)部分組成,如圖1所示。

    不同操作系統(tǒng)中,PDLT差異的主要部分是內(nèi)核延遲部分。目前絕大多數(shù)ERTOS為了減少內(nèi)核延遲,采用可搶占式的內(nèi)核,有效地提高了系統(tǒng)對(duì)外部事件的響應(yīng)速度。

3 三維表示法
    有人將實(shí)時(shí)系統(tǒng)定義為能夠從外部進(jìn)程獲取輸入,處理所獲得的數(shù)據(jù),并能在足夠快的時(shí)間內(nèi)將正確的響應(yīng)返回給外部進(jìn)程的系統(tǒng)。由這個(gè)定義,可以將ER丁OS的工作分為三個(gè)階段:
    ◆響應(yīng)傳感器或者其他輸入設(shè)備的請(qǐng)求,并獲取數(shù)據(jù);
    ◆對(duì)獲得的數(shù)據(jù)進(jìn)行處理(主要由應(yīng)用程序進(jìn)行處理);
    ◆輸出處理結(jié)果。
    相應(yīng)地,ERTOS的性能可以用對(duì)應(yīng)的三個(gè)特性來(lái)描述:
    ◆CPU的計(jì)算能力,其度量單位為MIPSl(Millions of Instructions Per Second);
    ◆中斷處理能力,其度量單位為MIPS2(Millions of Interrupts Per Second);
    ◆I/O吞吐率,其度量單位為MIPS3(Millions of I/O Per Second)。
    上述三個(gè)特性的最大值可分別單獨(dú)測(cè)得,但這三個(gè)特性之間并不是相互獨(dú)立的。為了直觀地表現(xiàn)ERTOS的實(shí)時(shí)性能,可以用一個(gè)三維的圖形來(lái)表達(dá)三個(gè)特性之間的依賴關(guān)系,如圖2所示。

    圖2中用曲面來(lái)表現(xiàn)ER70S三個(gè)特性之間的依賴關(guān)系。如果隨著一個(gè)特性的增加,另外兩個(gè)特性下降的速度比較緩慢,可以認(rèn)為該曲面所表現(xiàn)的系統(tǒng)是ERTOS;反之,如果隨著一個(gè)特性的增加,另外兩個(gè)特性下降的速度超過(guò)了一定的范圍,就可以認(rèn)為該系統(tǒng)非ERTOS,如圖2中的陰影部分所示。

4 系統(tǒng)實(shí)時(shí)性能測(cè)試實(shí)驗(yàn)平臺(tái)
    為了對(duì)RTOS的實(shí)時(shí)性能進(jìn)行測(cè)試,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了一套測(cè)試實(shí)驗(yàn)平臺(tái)。實(shí)驗(yàn)平臺(tái)由兩塊開發(fā)板(被測(cè)系統(tǒng))構(gòu)成,便于對(duì)不同的ERTOS進(jìn)行對(duì)比。由于實(shí)驗(yàn)平臺(tái)的主要設(shè)計(jì)目標(biāo)是對(duì)相同硬件架構(gòu)下的不同操作系統(tǒng)及操作系統(tǒng)的不同層次進(jìn)行比較,所以兩塊開發(fā)板均采用了研華的PCM 7230。其主要硬件特性如下:
    CPU:Intel Xscale PXA255 400MHz
    SDRAM:64 MB
    LCD:10.4”
    I/O接口:CompactFlash、PCMCIA、RS232、RS485、
    USB、Ethernet等。
    實(shí)驗(yàn)平臺(tái)的整體結(jié)構(gòu)如圖3所示。

4.1 實(shí)驗(yàn)平臺(tái)功能
(1)實(shí)時(shí)性能測(cè)試

    由于大多數(shù)ERTOS的內(nèi)核是不可更改的,所以對(duì)其實(shí)時(shí)性能的測(cè)試主要在用戶層實(shí)現(xiàn)。開發(fā)者可以將現(xiàn)有的用于測(cè)量Rhealstone性能指標(biāo)和PDLT延遲時(shí)間的benchmark程序方便地移植到PCM 7230開發(fā)板與不同RTOS組合的平臺(tái)上,也可以根據(jù)應(yīng)用需要自己編寫測(cè)試程序,對(duì)感興趣的延遲時(shí)間進(jìn)行測(cè)量。
    除此之外,PCM7230開發(fā)板從CPU引腳上引出了一個(gè)120針的擴(kuò)展接口AMI-120(ARM Module Interface)。將這120針引腳引出至實(shí)驗(yàn)平臺(tái)上的兩個(gè)測(cè)試端口1和2,可以通過(guò)示波器或邏輯分析儀對(duì)引腳上的信號(hào)進(jìn)行分析;配合benchmark測(cè)試,可以得出更加精確和可信的測(cè)試結(jié)果。另外,對(duì)引腳中的部分控制信號(hào)通過(guò)CPLD單獨(dú)引出至一個(gè)測(cè)試端口3,便于對(duì)不同的系統(tǒng)進(jìn)行對(duì)比測(cè)試。
(2)負(fù)荷發(fā)生
    由三維表示法得知,ERTOS的實(shí)時(shí)性能可以用三個(gè)特性來(lái)表示。相應(yīng)地,實(shí)驗(yàn)平臺(tái)可以產(chǎn)生三種類型的負(fù)荷;計(jì)算負(fù)荷(CPU負(fù)荷)、I/O負(fù)荷以及中斷負(fù)荷。
    計(jì)算負(fù)荷由I)hrystone或Whetstone改編的進(jìn)程實(shí)現(xiàn),每秒鐘消耗一定的MIPS數(shù)。
    I/0負(fù)荷由系統(tǒng)時(shí)鐘控制,通過(guò)PCM 7230開發(fā)板上豐富的I/O接口產(chǎn)生流量。另外,通過(guò)配置不同的I/O接口,還可以測(cè)試不同存儲(chǔ)介質(zhì)對(duì)ERTOS性能的影響。
    中斷負(fù)荷的產(chǎn)生可以用CPLD進(jìn)行控制.通過(guò)DIP開關(guān)設(shè)置中斷發(fā)生的頻率,在CPLD中實(shí)現(xiàn)一個(gè)分頻器用于產(chǎn)生中斷信號(hào),并將中斷信號(hào)通過(guò)AMI-120接口中的GPIO引腳傳送給CPU。
    在進(jìn)行ERTOS實(shí)時(shí)性能的測(cè)試時(shí),這三類負(fù)荷可以模擬應(yīng)用的真實(shí)環(huán)境。另外,通過(guò)指定三種負(fù)荷的變化,可以獲得它們?cè)谌S圖中的一系列坐標(biāo)點(diǎn),由此也可以繪制ERTOS的三維表示曲面。
    此外,由于CPLD為可編程器件,方便對(duì)其再編程以重新定義與其相連的各種器件的功能,使得測(cè)試平臺(tái)有很大的靈活性和擴(kuò)展性。
4.2 計(jì)時(shí)方法
    評(píng)價(jià)ERTOS實(shí)時(shí)性能的具體指標(biāo)多數(shù)是用延遲時(shí)間來(lái)表示的,比如Rhealstone方法中的前五個(gè)指標(biāo)和PDLT方法??梢詫⑦@些對(duì)時(shí)間的測(cè)量過(guò)程簡(jiǎn)化為圖4所示的流程。

    圖4中對(duì)t1、t2的計(jì)時(shí)可以用以下三種方法實(shí)現(xiàn)。
(1)系統(tǒng)調(diào)用
    ERTOS一般有用于計(jì)時(shí)的系統(tǒng)調(diào)用,例如RTLlnux的系統(tǒng)調(diào)用gettimeofday(),其精度可以達(dá)到μs級(jí),可以滿足多數(shù)延遲時(shí)
間的計(jì)時(shí)。但是,由于系統(tǒng)調(diào)用時(shí)有一個(gè)壓棧、出棧的過(guò)程,以及從用戶空間到系統(tǒng)空間的轉(zhuǎn)換,這個(gè)過(guò)程對(duì)計(jì)時(shí)會(huì)產(chǎn)生一定的影響。
(2)OS時(shí)鐘寄存器
    PXA 255處理器內(nèi)包含一個(gè)32位的OS時(shí)鐘寄存器,由一個(gè)3.6864 MHz的晶振驅(qū)動(dòng)。可以在計(jì)時(shí)開始和結(jié)束時(shí)分別讀取該寄存器的值,換算出對(duì)應(yīng)的延遲時(shí)間。
(3)GPIO引腳
    AMI-120接口上有許多GPIO引腳,可以考慮在計(jì)時(shí)往一個(gè)空閑的GPIO引腳上寫一個(gè)特定的信號(hào),利用CPLD中實(shí)現(xiàn)的計(jì)數(shù)器對(duì)兩個(gè)信號(hào)間的時(shí)間間隔進(jìn)行計(jì)數(shù)。驅(qū)動(dòng)CPLD的時(shí)鐘是可以更換的,其最大允許頻率為200 MHz。這樣,考慮到CPLD的引腳間延遲,用這種方法計(jì)時(shí)的精度可以達(dá)到數(shù)+ns。


5 ERTOS對(duì)比測(cè)試
    操作系統(tǒng)是數(shù)字系統(tǒng)中進(jìn)行資源管理的軟件。狹義的操作系統(tǒng)只包括進(jìn)行進(jìn)程管理、內(nèi)存管理、中斷管理等基本功能的內(nèi)核部分;而廣義上講,操作系統(tǒng)除了內(nèi)核外,還包括GUI、API、大量的驅(qū)動(dòng)程序,甚至一些應(yīng)用程序也可以認(rèn)為是操作系統(tǒng)的一部分?,F(xiàn)代操作系統(tǒng)在其內(nèi)部提供了豐富的功能模塊,而嵌入式操作系統(tǒng)的一個(gè)顯著的特點(diǎn)就是,可以根據(jù)需要對(duì)這些功能模塊進(jìn)行裁剪。典型的ERTOS層次結(jié)構(gòu)如圖5所示。

    操作系統(tǒng)提供的功能模塊一方面擴(kuò)展了系統(tǒng)的功能,方便了用戶的使用;另一方面,又在一定程度上會(huì)影響系統(tǒng)的性能。ERTOS在對(duì)系統(tǒng)的功能進(jìn)行選擇和剪裁時(shí),就需要在功能和性能之間選擇一個(gè)折中點(diǎn),使得系統(tǒng)能夠提供盡可能多的功能,同時(shí)又能滿足其實(shí)時(shí)性的需要。這就要求在進(jìn)行系統(tǒng)的設(shè)計(jì)、選擇或者裁剪時(shí),對(duì)操作系統(tǒng)增減或替換不同模塊時(shí)的性能進(jìn)行對(duì)比分析。
    利用上文中的測(cè)試實(shí)驗(yàn)平臺(tái),可以在兩塊開發(fā)板上分別配置有/無(wú)某個(gè)功能模塊的系統(tǒng),將測(cè)試方法分別應(yīng)用于兩個(gè)系統(tǒng)上。由于被測(cè)的系統(tǒng)采用的是相同的硬件架構(gòu),消除了硬件對(duì)系統(tǒng)性能的影響。對(duì)得到的測(cè)量結(jié)果進(jìn)行對(duì)比分析,就可以比較精確和客觀地得出該功能模塊對(duì)整個(gè)系統(tǒng)性能影響的大小。
    同樣,該實(shí)驗(yàn)平臺(tái)也可以用于測(cè)試分析不同ERTOS系統(tǒng)的性能。

6 總 結(jié)
    本文對(duì)三種ERTOS性能測(cè)試方法進(jìn)行了研究,對(duì)一些指標(biāo)和特性進(jìn)行了分析。文章的后半部分給出了一個(gè)測(cè)試實(shí)驗(yàn)平臺(tái)的結(jié)構(gòu)及其功能說(shuō)明,并針對(duì)實(shí)驗(yàn)平臺(tái)給出了系統(tǒng)計(jì)時(shí)的三種方法。文中提供的測(cè)試方法和手段對(duì)ERTOS的選擇和開發(fā)有一定的參考價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉