李昕穎, 李佳妮, 熊華鋼
(1.北京航空航天大學(xué),北京 100191; 2.中航工業(yè)航空動(dòng)力機(jī)械研究所,湖南 株洲 412000)
隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,航空電子系統(tǒng)得到了突飛猛進(jìn)的發(fā)展,其結(jié)構(gòu)已打破了傳統(tǒng)各分系統(tǒng)的界限,通過按功能分區(qū)將整個(gè)航空電子系統(tǒng)劃分為一個(gè)核心處理區(qū)和幾個(gè)相應(yīng)的綜合區(qū)[1]。其中核心處理區(qū)可以說是新一代航空電子系統(tǒng)的大腦,它完成雷達(dá)、電子戰(zhàn)、光電等傳感器的信號(hào)處理和數(shù)據(jù)處理,并完成數(shù)據(jù)融合、導(dǎo)航計(jì)算、火控計(jì)算、顯示控制管理等任務(wù)處理功能[2]。如何用合理有效的方法對(duì)綜合核心處理系統(tǒng)的性能進(jìn)行評(píng)價(jià)和分析是系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施階段所關(guān)注的重要問題。
本文首先建立處理器模型、任務(wù)模型和雙層調(diào)度模型,然后建立了基于離散事件仿真方法的系統(tǒng)仿真模型[3],并使用 VC++設(shè)計(jì)和實(shí)現(xiàn)“評(píng)價(jià)工具”,最后用“評(píng)價(jià)工具”對(duì)系統(tǒng)性能進(jìn)行分析評(píng)價(jià);在整個(gè)過程中,ICD文件提供了系統(tǒng)仿真所需要的任務(wù)流及消息流的特征參數(shù)。
處理器接收到ICD文件輸入的任務(wù)流之后,由全局調(diào)度器統(tǒng)一進(jìn)行任務(wù)分配,并劃分好相應(yīng)的分區(qū)時(shí)間執(zhí)行窗口。分配到同一分區(qū)中的任務(wù),由本地調(diào)度器按某種調(diào)度策略,對(duì)任務(wù)進(jìn)行實(shí)時(shí)調(diào)度。任務(wù)之間的通信,可以通過消息發(fā)布器或消息訂購器來完成[4]。處理器模型如圖1所示。
圖1 處理器模型Fig.1 Model of the processor
假設(shè)有 n 個(gè)實(shí)時(shí)任務(wù),分別用 τ1,τ2,…,τn表示,它們組成一個(gè)任務(wù)集合 Γ,即 Γ ={τ1,τ2,…,τn}。任務(wù)特征定義:1)任務(wù)最壞情形執(zhí)行時(shí)間Ci,表示第i個(gè)任務(wù)在最壞情況下無中斷執(zhí)行所需的處理器時(shí)間;2)任務(wù)的周期Ti,表示第i個(gè)任務(wù)的產(chǎn)生周期,對(duì)于非周期任務(wù),則表示任務(wù)產(chǎn)生的最小時(shí)間間隔;3)任務(wù)的截止期限可以小于或者等于任務(wù)的周期,即Di≤Ti;4)任務(wù)之間相互獨(dú)立(不存在因共享資源而導(dǎo)致阻塞)。
任務(wù)在處理器上交替運(yùn)行,其狀態(tài)也在不斷地發(fā)生變化,任務(wù)的五態(tài)模型如圖2所示。
圖2 任務(wù)五態(tài)模型Fig.2 Model of task
執(zhí)行狀態(tài):當(dāng)一個(gè)任務(wù)作業(yè)在處理器上運(yùn)行時(shí),則作業(yè)處于執(zhí)行狀態(tài)。就緒狀態(tài):一個(gè)任務(wù)作業(yè)獲得了除處理器外的一切所需資源,一旦得到處理器即可運(yùn)行,則作業(yè)處于就緒狀態(tài)。處于就緒狀態(tài)的作業(yè)獲得CPU后,將轉(zhuǎn)變?yōu)閳?zhí)行狀態(tài);而處于執(zhí)行狀態(tài)的作業(yè),若CPU被搶占,則轉(zhuǎn)變?yōu)榫途w狀態(tài)等待CPU。阻塞狀態(tài):也稱等待狀態(tài),一個(gè)任務(wù)作業(yè)正在等待某一事件發(fā)生而暫時(shí)停止運(yùn)行,則該作業(yè)處于阻塞狀態(tài)。釋放狀態(tài):作業(yè)剛剛釋放時(shí),等待系統(tǒng)創(chuàng)建作業(yè)所需的必要信息,對(duì)于周期任務(wù),任務(wù)的作業(yè)按周期釋放。
ASAAC[5]和 ARINC 653[6-7]中都提出了分層分區(qū)的體系結(jié)構(gòu),分區(qū)架構(gòu)作為一種安全關(guān)鍵性的保障機(jī)制被引入。為了實(shí)現(xiàn)系統(tǒng)高度的容錯(cuò)能力,航空電子系統(tǒng)通過分區(qū)的方式,將系統(tǒng)中不同的功能應(yīng)用限制在其活動(dòng)范圍內(nèi),從而不對(duì)其他功能應(yīng)用產(chǎn)生影響。在ARINC 653標(biāo)準(zhǔn)中,特別強(qiáng)調(diào)分區(qū)管理的概念。多個(gè)航電應(yīng)用軟件劃分成一個(gè)單元,即分區(qū)。雙層分區(qū)的調(diào)度模型如圖3所示。
圖3 雙層調(diào)度模型Fig.3 Two-level scheduling model
操作系統(tǒng)層根據(jù)ARINC 653標(biāo)準(zhǔn),采用輪轉(zhuǎn)調(diào)度的方式激活每個(gè)分區(qū)。在區(qū)間層,各個(gè)分區(qū)分配指定的內(nèi)存空間和CPU時(shí)間槽,在時(shí)間上和空間上互不影響,互相隔離[8]。因此,系統(tǒng)內(nèi)高優(yōu)先級(jí)任務(wù)的故障或異常會(huì)被限制在一個(gè)分區(qū)內(nèi),不會(huì)蔓延到整個(gè)系統(tǒng)中,系統(tǒng)具有良好的錯(cuò)誤隔離能力。
分區(qū)調(diào)度在時(shí)間上具有嚴(yán)格的確定性。分區(qū)調(diào)度主要按照固定的、基于周期的時(shí)間序列進(jìn)行CPU資源分配,每個(gè)分區(qū)只有在分配給它的分區(qū)窗口被激活時(shí)才能被調(diào)度執(zhí)行。
在ARINC 653中,分區(qū)調(diào)度原則是:
1)調(diào)度單元是分區(qū);
2)分區(qū)沒有優(yōu)先級(jí);
3)分區(qū)調(diào)度算法預(yù)先確定,并按照固定周期重復(fù)執(zhí)行,在每個(gè)周期內(nèi)至少為每個(gè)分區(qū)分配一個(gè)分區(qū)窗口。
假定分區(qū)PΩ由NΩ個(gè)任務(wù)組成,可表示為:ΓΩ={τΩi(Ci,Ti),i=1,2,…,NΩ}。其中 τΩi的下標(biāo)表示第 Ω個(gè)分區(qū)中的第i個(gè)任務(wù)。分區(qū)調(diào)度模型如圖4所示。
圖4 分區(qū)內(nèi)任務(wù)執(zhí)行模型Fig.4 Partition task execution model
分區(qū)函數(shù)定義為Π(t),它的取值為{0,1},如果在時(shí)間t,分區(qū)允許執(zhí)行,則Π(t)=1,否則Π(t)=0。在系統(tǒng)層,采用周期性的輪轉(zhuǎn)調(diào)度激活分區(qū)PΩ,我們定義輪轉(zhuǎn)周期時(shí)長為TRL,則
在每一個(gè)輪轉(zhuǎn)周期內(nèi),TΩ表示分區(qū)PΩ的執(zhí)行時(shí)間,在其余TRL-TΩ時(shí)間段內(nèi),分區(qū)PΩ處于阻塞狀態(tài)。如果被激活的分區(qū)在某個(gè)時(shí)刻沒有任務(wù)可以執(zhí)行,則處理器空閑,也不運(yùn)行其他分區(qū)中可以執(zhí)行的任務(wù)。定義?Ω為分區(qū)PΩ的執(zhí)行能力,即每一次輪轉(zhuǎn)周期內(nèi)分區(qū)PΩ的執(zhí)行時(shí)間與輪轉(zhuǎn)周期時(shí)長之比,則
按照雙層分區(qū)的調(diào)度機(jī)理,圖5所示為仿真模型。
圖5 仿真模型Fig.5 Simulation model
在操作系統(tǒng)層,任務(wù)根據(jù)其安全關(guān)鍵性劃分到不同的分區(qū)。一旦確定了?Ω,則每個(gè)分區(qū)的執(zhí)行時(shí)間都是固定的,發(fā)生分區(qū)切換的時(shí)刻ti為
式中,n為分區(qū)輪轉(zhuǎn)的次數(shù)。
這樣定時(shí)器在每一個(gè)分區(qū)切換時(shí)刻會(huì)請(qǐng)求一個(gè)中斷,一旦在ti時(shí)刻收到一個(gè)定時(shí)器中斷,系統(tǒng)調(diào)度器將切換分區(qū),即將當(dāng)前分區(qū)掛起而激活下一個(gè)分區(qū),同時(shí)再次設(shè)置定時(shí)器在ti+1時(shí)刻切換分區(qū)。
在每一個(gè)分區(qū)內(nèi)部,使用單調(diào)速率(RM)或者最早時(shí)限優(yōu)先(EDF)等調(diào)度算法,執(zhí)行任務(wù)五態(tài)的轉(zhuǎn)換。仿真開始后,首先檢測是否有作業(yè)釋放,釋放的作業(yè)進(jìn)入就緒作業(yè)優(yōu)先級(jí)隊(duì)列,優(yōu)先級(jí)排隊(duì)后,從就緒隊(duì)列中選擇優(yōu)先級(jí)最高的作業(yè),進(jìn)入執(zhí)行狀態(tài)。在作業(yè)的執(zhí)行過程中,若有高優(yōu)先級(jí)的作業(yè)釋放,則進(jìn)行作業(yè)搶占,否則作業(yè)執(zhí)行完成。
在仿真模型的基礎(chǔ)上,圖6給出了仿真程序的結(jié)構(gòu)框架。其中,仿真環(huán)境建立部分用于仿真參數(shù)的設(shè)置和仿真程序的初始化,調(diào)度機(jī)理仿真部分實(shí)現(xiàn)仿真模型,性能指標(biāo)統(tǒng)計(jì)用于對(duì)系統(tǒng)性能進(jìn)行統(tǒng)計(jì)與分析。
圖6 仿真流程圖Fig.6 Flow chart of simulation
考慮到仿真程序的實(shí)現(xiàn),設(shè)計(jì)了如圖7所示的數(shù)據(jù)結(jié)構(gòu)。
圖7 仿真程序的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)Fig.7 Data structure design of the simulation system
圖7中,用鏈表來實(shí)現(xiàn)分區(qū)對(duì)處理器資源的占用,同時(shí)每個(gè)分區(qū)的任務(wù)隊(duì)列也采用鏈表的結(jié)構(gòu),并給出了分區(qū)任務(wù)的實(shí)現(xiàn)方式。
依據(jù)ICD接口控制文件抽取了相應(yīng)的任務(wù)流參數(shù),假設(shè)航電系統(tǒng)包括兩個(gè)分區(qū),分區(qū)所涉及任務(wù)的參數(shù)如表1所示。
表1 系統(tǒng)任務(wù)Table 1 System task
系統(tǒng)層采用固定周期調(diào)度,分區(qū)內(nèi)各任務(wù)采用單調(diào)速率調(diào)度算法調(diào)度,各分區(qū)及其任務(wù)的調(diào)度順序如圖8所示。通過該圖可以分析系統(tǒng)調(diào)度流程以及任務(wù)調(diào)度效率。
圖8 任務(wù)調(diào)度圖Fig.8 Task scheduling
在航空電子系統(tǒng)工程中,系統(tǒng)實(shí)時(shí)性是評(píng)價(jià)和分析系統(tǒng)性能的關(guān)鍵[9]。實(shí)驗(yàn)中,把任務(wù)延遲時(shí)間率作為衡量系統(tǒng)實(shí)時(shí)性的指標(biāo),任務(wù)延遲時(shí)間率定義為任務(wù)的實(shí)際執(zhí)行延遲時(shí)間與任務(wù)的截止期限的比率。最大延遲時(shí)間率、最小延遲時(shí)間率和平均延遲時(shí)間率分別表示任務(wù)執(zhí)行的最大延遲時(shí)間、最小延遲時(shí)間和平均延遲時(shí)間與任務(wù)截止期限的比率[10]。實(shí)驗(yàn)結(jié)果如圖9所示,在本例中,沒有任務(wù)實(shí)際執(zhí)行延遲時(shí)間超過其截止時(shí)限,最大延遲時(shí)間率76.923%,超過截止時(shí)限的周期任務(wù)數(shù)為0。
圖9 任務(wù)延遲時(shí)間率結(jié)果Fig.9 Results of task delay percentage
利用計(jì)算機(jī)對(duì)綜合模塊化航電系統(tǒng)進(jìn)行輔助設(shè)計(jì)、系統(tǒng)分析具有重要意義。從評(píng)價(jià)工具得到的結(jié)果是進(jìn)行航空電子系統(tǒng)設(shè)計(jì)的重要依據(jù),為細(xì)致深入地研究新一代航電系統(tǒng)性能提供了一種有效途徑。此外,系統(tǒng)仿真軟件的仿真結(jié)果進(jìn)行調(diào)整和優(yōu)化ICD文件設(shè)計(jì),從而提高了設(shè)計(jì)階段的可靠性和工作效率,達(dá)到系統(tǒng)設(shè)計(jì)優(yōu)化的目標(biāo)。
[1] 熊華鋼.先進(jìn)綜合航空電子技術(shù)[M].北京:國防工業(yè)出版社,2009.
[2] 袁曉晗.航空電子綜合核心處理技術(shù)研究[J].航空電子技術(shù),2004,35(3):6-10.
[3] CASSANDRAS C G,LAFORTUNE S.Introduction to discrete event systems[M].2nd ed.Springer,2008.
[4] LI Xinying,XIONG Huagang.Modelling and simulation of intergated modular avionics[C]//Proceedings of 28th Digital Avionics Systems Conference,2009:1-8.
[5] ASSAC phase II stage 2 second draft of proposed standards for architecture[Z].UK Defence Procurement Agency,2004.
[6] Airlines electronic engineering committee,avionics application software standard interface[Z].ARINC Specification 653,Aeronautical Radio Inc.,Annapolis,MD,1997.
[7] Airlines electronic engineering committee,avionics application software standard interface[Z].ARINC Specification 653-1-2003,Aeronautical Radio Inc.,Annapolis,MD,2003.
[8] 張鳳鳴,褚文奎,樊曉光,等.綜合模塊化航空電子體系結(jié)構(gòu)研究[J].電光與控制,2009,16(10):47-51.
[9] 宋麗茹,何鋒,熊華鋼.航空電子藍(lán)圖系統(tǒng)實(shí)時(shí)性設(shè)計(jì)[J].電光與控制,2010,17(6):5-8.
[10] 李昕穎,顧健,何峰,等.硬實(shí)時(shí)系統(tǒng)在強(qiáng)分區(qū)約束下的雙層分區(qū)調(diào)度[J].計(jì)算機(jī)學(xué)報(bào),2010,33(6):1-8.