ARM Profiler非侵入性性能分析
深圳市米爾科技有限公司是ARM公司官方授權全線工具產品代理商, 提供ARM公司原裝正版開發工具(包括本產品RVDS)的銷售服務,以及ARM工具產品的市場推廣、產品更新、技術支持和售后服務。
概念:RVDS也稱RealView Development Suite等,系為同一產品。
ARM Profiler(ARM RVDS 4.1 專業版的一部分)是一款獨一無二的產品,它支持對嵌入式軟件的性能進行幾乎不受時間限制的非侵入性分析,同時保持運行頻率高達 400 MHz。這意味著 Profiler 可以對處理實際工作負載的設備軟件進行分析,分析時間取決于需要,可以是幾分鐘、幾小時,甚至是幾天。
Profiler 將直觀的用戶界面與針對硬件和快速模型的軟件性能分析結合起來。這樣,性能分析即成為每個嵌入式軟件開發人員日常工作的一個不可或缺的部分。這顯著地降低了軟件項目風險,確保項目的交付既及時又能專注于目標。
功能 | 優點 |
長時間的分析 | 按需長時間分析正在處理實際工作負載的設備軟件 |
針對完全優化的代碼的非侵入性分析 | 分析生產軟件以發現真正的瓶頸問題,但不會因測量本身而影響結果 |
語句和分支覆蓋信息 | 通過對軟件驗證的有效性進行量化,對軟件質量洞察秋毫 |
通過 ETM 跟蹤進行硬件平臺分析 | 當軟件在實際設備上運行時對該軟件進行分析 |
包括快速模型庫中的六個模型 | 在芯片處理速度達到最高 250 MHz 之前,在指令精確的虛擬平臺上分析軟件 |
突出顯示延遲 | 提供每個指令的不良周期數的反饋,幫助開發人員在盡可能短的時間內充分利用基于 ARM 技術的設備 |
由分析驅動的編譯 | 與 RVDS 4.1 Professional 中的 ARM 編譯器一同使用時,應用程序運行時性能的改進立竿見影 |
跟蹤播放 | 通過在整個指令跟蹤中運行和前后移動,找到特定的延遲原因 |
長時間的分析
Profiler 支持對嵌入式軟件的性能進行分析,且對分析的時間長短幾乎沒有任何限制。這樣便可分析現實世界中的用例,獲得對軟件性能的透徹了解。由于不再需要縮短用例以適應工具,因此,可以檢測出要在長時間運行后才出現的關鍵性能問題。
針對完全優化的代碼的非侵入性分析
Profiler 在運行其性能分析時不會給嵌入式系統的行為帶來任何侵害,并且它支持分析完全優化的軟件。這樣便可對與作為最終產品一部分發布的軟件完全相同的生產軟件進行分析。該分析也不會對結果造成影響,使軟件中的真正瓶頸問題更易甄別。同時,該分析還可以確保最終產品能按實驗室中測量的那樣在生產場所正常運行。
語句和分支覆蓋信息
Profiler提供從指令覆蓋信息派生的語句和分支覆蓋信息。這樣便可通過了解測試的有效性深入地量化分析嵌入式軟件的質量水平。為適應標準驗證做法的需要,Profiler將多個分析運行操作合并到一個報告中。
還支持查看指令級的代碼覆蓋信息,這提供了進一步的優勢,即:甚至可以為沒有源代碼的系統部分提供代碼覆蓋信息。
硬件平臺分析
Profiler與新增的 ARM RVT2跟蹤捕獲單元和 ARM RVI運行控制調試單元相結合,可從硬件目標提供創新型流式分析。這種流式分析方法使通常的跟蹤捕獲單元不再依賴于板載緩沖區的大小,從而支持按需進行長時間分析。為支持以高達400 MHz的時鐘頻率運行的目標,全新的RVT2捕獲單元通過專用的USB2纜線連接到主機PC。Profiler支持基于 ARM926EJ-S、ARM946E-S、ARM966E-STM、ARM1136JF-S、ARM1176JZF-S、Cortex-A8、Cortex-M3 和 Cortex-R4 處理器的設備(可在將來發行版中添加更多內核)。

虛擬平臺分析
Profiler隨來自 ARM Fast Models庫的指令精確的實時系統模型一起提供。這些模型包括具有以下ARM處理器的 ARM Versatile/EB硬件平臺:ARM926EJ-S、ARM1136JF-S、ARM1176JZF-S、Cortex-R4、Cortex-A8和 Cortex-A9(單核)。這樣,無論硬件是否可用都可以支持性能和代碼覆蓋分析,該功能對于芯片前分析或補充可用硬件非常有用。 深入了解基于ARM技術的設備
Profiler是由ARM創建的,因此能夠為使用 ARM編譯器或與ABI相容的任何編譯器創建的基于ARM技術的設備和軟件提供深入分析,沒有任何程序能與之媲美。Profiler提供的信息包括:
- 關于每個指令的聯鎖信息,用于支持標識可通過重構源代碼或匯編代碼進行優化的代碼。
- 周期估計器,用來突出顯示執行的周期超過最佳周期數的指令。該信息支持識別內存瓶頸。
- 關于每個函數的延遲和效率信息,可提供基于聯鎖和最佳周期信息的高級視圖。
- 每一已處理的分支(執行或未執行)的詳細信息,用來提供控制流的低級視圖并支持在調用鏈中快速導航。
- Profiler是運用現代編譯器優化技術知識構建的,它提供創新的鏈接匯編代碼和源代碼視圖,該視圖可直觀演示源代碼與生成的指令之間的NxM關系。
這些詳細信息將支持客戶在盡量短的時間內發揮其基于ARM技術的設備的最優性能。
直觀的用戶界面
Profiler提供直觀的用戶界面。該界面使用戶能夠專注于編寫最佳的設備軟件,簡化學習新知識的過程。Profiler對所分析的軟件提供自上而下、由淺入深的分析,從概括性的視圖一直展開到詳細的報告。
概括性視圖顯示了按所用時間、延遲的時間和內存訪問排列的五大函數,并提供關于代碼覆蓋的高級信息。詳細視圖提供了更為詳細的信息,包括所有函數的詳細統計信息;源代碼及自其派生的匯編代碼的詳細信息(加注性能和覆蓋信息);并包括多個視圖可幫助探查動態調用圖和調用方-被調用方關系。

Profiler集成到流行的業界標準 Eclipse IDE 中。這允許開發人員在同一窗口中修改、生成和分析自己的代碼。
分析運行在Linux、Android和Symbian OS上的軟件
適用于Linux、Android和Symbian OS的Profiler可對運行這些操作系統的智能手機上的嵌入式設備軟件性能進行深入分析,其深入程度是其他軟件所不能及的。基于ARM的 CoreSight調試和跟蹤綜合基礎結構,Profiler憑借其獨有的功能,能夠在復雜系統上不受時間限制地分析軟件性能,同時無需修改應用程序或系統。智能手機開發人員可借助該功能提供卓越的性能,同時顯著降低內存和功耗要求。
由分析驅動的編譯
通過分析運行時性能,RVDS 4.1 Professional中的編譯器在與Profiler配合使用時,可以基于應用程序性能執行自動優化。用戶不用付出更多努力即有望看到性能的改進(速度快6%)和規模的縮減(減少40%)。
跟蹤播放
Profiler現在提供收集和存儲大量程序跟蹤的功能,以及在與代碼和反匯編相同的視圖內探查該跟蹤信息的功能。通過設置斷點并在整個指令跟蹤中運行或前后移動,用戶可更深入地了解自己應用程序的性能,并據此準確判定其優化工作的重心。