• <input id="zdukh"></input>
  • <b id="zdukh"><bdo id="zdukh"></bdo></b>
      <b id="zdukh"><bdo id="zdukh"></bdo></b>
    1. <i id="zdukh"><bdo id="zdukh"></bdo></i>

      <wbr id="zdukh"><table id="zdukh"></table></wbr>

      1. <input id="zdukh"></input>
        <wbr id="zdukh"><ins id="zdukh"></ins></wbr>
        <sub id="zdukh"></sub>
        公務員期刊網 論文中心 正文

        飛控計算機實時性與優化方法分析

        前言:想要寫出一篇引人入勝的文章?我們特意為您整理了飛控計算機實時性與優化方法分析范文,希望能給你帶來靈感和參考,敬請閱讀。

        飛控計算機實時性與優化方法分析

        摘要:飛控計算機必須及時將飛行員的飛行控制信息傳遞給飛行控制,以控制飛行中的飛機,因此時間是飛控計算機定義的重要組成部分。分析了飛控計算機的實時性標準,研究了基于硬件輔助、純軟件的性能分析方法的利弊,提出結合使用源代碼工具和硬件數據收集來實現高精準性能分析方法。根據分析信息,識別出飛控計算機實時性中的“短板”,提出性能分析和算法改進、代碼對接這兩種優化方法的應用。

        關鍵詞:飛控計算機;實時性標準;實時性分析;實時性優化

        引言

        飛控計算機作為飛行控制系統中的核心部件,主要負責接收信息、控制律計算、生成伺服系統控制指令等功能。如果飛控計算機在幾微秒內未響應飛行員的命令,則飛機可能發生災難性的故障。因此時間是飛控計算機定義的重要組成部分。本文旨在基于軟件性能分析技術研究飛控計算機的實時性問題和相關的解決方案,并研究了如何利用軟件性能工程原理將性能構建到飛控計算機的應用程序中,以提高飛控計算機的實時性。

        1飛控計算機的實時性標準

        飛控計算機的實時性并不意味著如光一樣的快,實時性性能標準僅僅是其定義的關鍵部分,以至于當不滿足這些性能標準時,就認為該飛控計算機已發生故障。其定義包括諸如“應比其前代產品快兩倍的速度”或“將盡可能快地處理傳入消息”的性能標準不屬于飛控計算機的實時性標準。此處的性能標準過于主觀,無法獲得任何實時目標的可信度。飛控計算機的性能標準更可能定義為“飛行員輸入與飛行控制面完全運動之間的響應時間應不少于16ms,并且不應超過20ms”,在此定義中,明確規定了衡量實時性能成功的標準。飛控計算機實時性定義通常還明確如果不滿足這些目標,則需要哪種類型的故障糾正。大多數實時系統存在于環境對其施加性能標準的世界中,這些標準可能由物理或邏輯約束條件確定。飛控計算機的實時性由物理約束確定:其必須及時將飛行員的飛行控制信息傳遞給飛行控制,以控制飛行中的飛機[1]。飛控計算機的運行環境及其相互作用的速率決定了飛控計算機的實時性標準。

        2飛控計算機實時性構建

        飛控計算機的性能目標為必須及時將飛行員的飛行控制信息傳遞給飛行控制系統,以控制飛行中的飛機。飛控計算機硬件和軟件各有分工,其硬件平臺在實現數據收發、提供計算資源等的基本功能外,還采用冗余架構保證飛控計算機的可靠性和安全性。飛控計算機軟件實現數據處理、數據融合、控制律計算、控制指令生成等功能。由于功能分工和軟件與環境交互的緊密相關性,飛控計算機的實時性要求主要體現在軟件上。因此為構建飛控計算機的實時性,提升飛控計算機軟件實時性顯得至關重要。通常有兩種方法可實現軟件性能。第一種是從一開始就在軟件中建立性能;另一種方法是在功能正確的情況下分析代碼的性能以進行所需的改進。飛控計算機軟件實時性構建一般采用軟件性能工程方法,軟件性能工程(SPE)是一種用于構建軟件系統以滿足系統性能目標的方法。飛控計算機軟件性能是指飛行員看到飛行控制信息的響應時間。SPE貫穿軟件的整個生命周期。SPE成功的關鍵是準確分析飛控計算機軟件性能的能力。

        3飛控計算機軟件性能分析

        3.1軟件性能指標

        在考慮分析軟件性能的方式之前,重要的是要考慮獲取軟件性能指標的類型及其含義。軟件性能分析標準[2]如下:1)性能分析,這是一種確定系統每個功能的時間消耗的方法基礎。這使開發人員可以識別問題區域,并專注于問題部分優化,以獲得最大收益。2)A-B時間,這是一種分析代碼中的一個指定點到另一個指定點所花費時間的方法。外部事件響應是一種分析外部事件發生與軟件對該事件做出的響應之間的時間(例如:中斷等待時間)的方法。3)實時操作系統(RTOS)任務性能,此分析分為兩類———任務截止時間性能分析和任務分析性能分析,任務截止時間性能分析與觸發事件發生后多任務應用程序中的每個任務達到其截止時間所花費的時間有關,任務分析記錄了系統在逐個任務的基礎上花費時間。

        3.2硬件輔助軟件性能分析

        硬件輔助技術是指通常采用邏輯分析儀和在線仿真工具等硬件工具進行軟件分析。邏輯分析儀通過直接連接到CPU總線,可捕獲處理器用于從RAM加載程序信息的指令提取周期序列,從而獲取軟件執行軌跡信息。因此,可在代碼中的各個點之間進行精確的點對點時序分析,也可分析外部事件發生與系統響應之間的時間間隔。在線仿真工具的線跟蹤功能使用戶可以逐條指令見證其代碼在做什么。由于在線仿真器能夠在逐條指令的基礎上模仿全速CPU的執行,因此可以將非常準確的時序信息添加到總線跟蹤信息中,從而可以在代碼中的點之間進行點對點的時序分析。由于邏輯分析儀和在線仿真工具都依賴于能夠查看外部總線流量的因素,因此,它們都對基于緩存CPU的軟件性能分析是無效的。CPU由于只有在啟用緩存使用之后才能獲得最佳軟件性能,因此情況變得更為惡劣。此外,這些工具的局限性在于它們對性能分析(即確定系統將時間花在每個功能上的位置)幾乎沒有作用。當使用RTOS時,由于每個功能的任務環境對于定時分析的準確性也至關重要,因此這個問題會進一步加劇。

        3.3純軟件性能分析

        用于性能分析的純軟件技術包括堆棧采樣工具、代碼檢測和軟件數據捕獲技術。堆棧采樣工具通過對CPU堆棧進行定期快照來工作。根據這些信息,設計人員可以確定系統在哪個功能上花費的時間。這種方法的主要缺點是,由于僅對堆棧進行采樣,因此不可能看到在給定分析周期內發生的所有函數調用。這意味著某些功能,尤其是那些執行時間極短的功能,永遠不會出現在分析結果中。在存在RTOS的情況下,由于每個任務都維持自己的堆棧上下文,因此堆棧采樣將成倍增加。這意味著除了內容之外,還必須監控堆棧的上下文。為了解決在性能分析過程中缺少某些功能活動的問題,常使用代碼工具和軟件輔助的數據收集方法。該類別中基本上有兩種方法:一種在目標代碼上(即在編譯后)添加檢測,而另一種在源代碼級別上添加檢測。目標代碼檢測解析由編譯器生成的目標文件,并在代碼的顯著點(例如,函數入口和出口)處添加其他指令。與所有檢測技術一樣,在代碼執行期間,這些附件指令將數據發送到數據收集,然后數據收集對其進行處理以獲得配置信息[3]。源代碼檢測是一個類似的過程,但檢測過程是在編譯之前發生的。與硬件輔助分析技術不同,軟件數據收集無法訪問高分辨率計時器,因此純軟件性能分析技術的分辨率比任何硬件輔助方法都低。軟件數據收集需要對發送給它們的數據進行大量處理。此處理包括時間戳記、緩沖和目標數據的傳輸。由于此處理是正在開發的應用程序的正常操作之外的附加功能,因此軟件數據收集具有固有的引入性。引入了更多的不準確性,進一步增大了誤差。由于這些技術的低分辨率和引入性,因此無法將其用于驗證實時系統的性能。充其量來說,使用這些方法產生的信息僅可認為有代表性。

        3.4源代碼檢測和硬件輔助性能分析

        源代碼檢測和硬件輔助性能分析結合了上述硬件輔助方法和純軟件方法的優點。在這種方法中,源代碼檢測與硬件數據收集結合使用。使用這種技術,可以在大多數CPU(包括基于緩存的處理器)上進行高精度的分析(與硬件輔助技術分析相比),且引入最少。這種檢測方法應用于代碼編譯期間。在檢測過程中,將語句添加到代碼中的顯著點,例如函數入口和出口。由于要求將標簽寫入的存儲位置在芯片外,因此這種用于分析軟件性能的方法允許在基于緩存的CPU上進行時序分析,且應用程序可在給定CPU下以最大可能的速度運行[4]。與使用硬件輔助分析技術不同,對可以收集應用程序性能指標的時段沒有限制。這意味著可以收集涵蓋較長時間段的性能統計信息,從而可以了解系統隨時間變化的真實性能特征。同樣,盡管硬件輔助分析技術提供的時序分析僅限于A-B時間分析,但是也可以使用源代碼工具和硬件數據收集方法來分析性能,以進行性能分析。此方法具有一定引入性,但是所施加的開銷最小且可管理。例如,進行性能分析所需的最基本儀器是具有單個開始標簽和單個結束標簽。每個標簽都相當于少量匯編指令(實際數量取決于所使用的CPU),因此引入影響非常低。

        4優化實時系統的軟件性能

        4.1性能分析和算法優化

        性能分析是對每個功能進行性能分析。使用從這些分析產生的信息,可以知道系統在哪里花費時間。使用此信息和方法的目的不是提高系統中每個功能的性能,相反,是確定將精力集中在哪些功能上以實現最大的性能優化。優化可以采取幾種形式,從算法改進到重寫和使用更有效的自定義版本替換標準庫調用。性能分析的主要好處是可以考慮系統隨時間的性能。例如,在系統啟動期間,通常會與系統的初始設置相關的工作量很大。如果僅在此時進行性能分析,則可表明設置功能在CPU時間中占很大比例。但是,大多數這些功能在設置完成后將不會大量使用,因此不會嚴重影響正常的系統性能。通過隨時間監視性能,性能分析可以幫助確定系統如何隨時間使用不同的功能。這可以幫助開發人員確定要關注的代碼區域,以改善系統操作特定階段的性能。

        4.2代碼對接

        基于緩存的CPU通過執行來自緩存的指令提升效率。但是,CPU有可能訪問不在緩存中駐留的地址。在這種情況下,將清除高速緩存的內容,并復制一個新的內存部分。完成此操作之后,將從高速緩存中繼續執行。如果應用程序導致CPU刷新頻率過高并重新加載其緩存,則當處理器通過相對較慢的系統總線訪問外部內存時,性能就會降低。為了保持一致的高性能,必須確保CPU花費盡可能多的時間從高速緩存執行,并且將最少的時間花費在重新填充高速緩存上。代碼對接正是解決上述問題的方法。在代碼對接過程中,相互依賴的那些功能在應用程序可執行文件的地址映射中盡可能地彼此靠近[5]。這樣可以提高兩個函數同時位于高速緩存中的可能性,從而確保當一個函數調用依賴的另一個函數時,不需要高速緩存刷新。使用調用對數據來確定那些功能是高度獨立的。調用對數據只是衡量在代碼執行期間函數調用其他哪些函數以及調用多少次的度量。

        5結束語

        提升飛控計算機的實時性需要盡早地考慮飛控計算機與控制手柄、傳感器和伺服系統之間的相互作用,并將其記錄在“需求與設計”文檔中。這些環境交互信息產生飛控計算機的實時性標準,然后將其納入飛控計算機硬件和軟件的設計規格中。在開發飛控計算機軟件時,必須在方法的每個步驟中對性能進行分析。需要分析每個功能的執行速度,以確保它們滿足其性能標準。衡量飛控計算機執行力的能力對于飛控計算機的成功開發至關重要。盡管邏輯分析儀和在線仿真工具已成功用于分析代碼段的執行時間,但它們在性能分析或分析多任務應用程序方面是有限制的。純軟件的分析方法可以進行性能分析并監視多任務行為,但是具有引入性,并不能提供高度準確的性能分析。可以通過結合使用源代碼工具和硬件數據收集來實現高保真軟件性能分析。

        參考文獻:

        [1]周保宇.高實時性的無人機飛控軟件測試系統設計[J].計算機測量與控制,2012(9):2384-2385.

        [2]李志敏.一種實時性缺陷定位方法及其可視化實現[J].計算機工程,2017,43(2):111-119.

        [3]張鵬利.多余度飛控計算機系統軟件設計[C].大連:中國航空學會,1997.

        [4]張少杰.無人直升機飛控系統軟件測試技術應用研究[J].直升機技術,2017(4):40-45.

        作者:白晨 李明 馬子飛 單位:航空工業西安航空計算技術研究所

        无码人妻一二三区久久免费_亚洲一区二区国产?变态?另类_国产精品一区免视频播放_日韩乱码人妻无码中文视频
      2. <input id="zdukh"></input>
      3. <b id="zdukh"><bdo id="zdukh"></bdo></b>
          <b id="zdukh"><bdo id="zdukh"></bdo></b>
        1. <i id="zdukh"><bdo id="zdukh"></bdo></i>

          <wbr id="zdukh"><table id="zdukh"></table></wbr>

          1. <input id="zdukh"></input>
            <wbr id="zdukh"><ins id="zdukh"></ins></wbr>
            <sub id="zdukh"></sub>
            亚洲第一福利天堂在线观看视频网站 | 亚洲A级片中文在线观看 | 亚洲日韩欧美制服二区dvd | 在线免费一区二区 | 亚洲线精品久久一区二区三区 | 午夜一区二区三区不卡视频 |