產(chǎn)品開發(fā)中的自適應(yīng)性能分析
開發(fā)工具的目的不僅僅是用于調(diào)試復(fù)雜問題,而且還要提高開發(fā)效率。有時候,比起有效電源特性,這一目標(biāo)的達(dá)成更取決于標(biāo)準(zhǔn)產(chǎn)品特性的便捷與實用。大部分專業(yè)調(diào)試器中的一大便捷特性是以寄存器組來顯示存儲器映射SoC外設(shè)寄存器,包括其名稱、比特域和描述,這與外設(shè)文檔中的相一致。
當(dāng)針對FPGA進行開發(fā)時,還要復(fù)雜一些。FPGA供應(yīng)商通常會提供FPGA硬件庫,例如,加密/解密模塊、數(shù)學(xué)算法加速模塊和外設(shè)控制器等。但是,需要硬件開發(fā)人員確定將多少模塊綜合到FPGA中,確定在處理器中,它們位于存儲器映射的哪些位置,這意味著,軟件調(diào)試器不可能立即提供外設(shè)寄存器視圖。軟件開發(fā)人員能夠手動生成調(diào)試器外設(shè)描述視圖,但是手動編輯非常耗時,而且容易出錯。其解決方法要求在FPGA綜合工具和軟件調(diào)試器之間進行通信。Altera QSys系統(tǒng)配置工具為完整的FPGA設(shè)計生成外設(shè)寄存器描述文件,ARM DS-5調(diào)試器能夠自動導(dǎo)入文件,顯示FPGA IP寄存器,看起來它們就像硬核處理器系統(tǒng)的組成部分。
圖1:自動生成外設(shè)寄存器視圖,并在DS-5調(diào)試器上進行導(dǎo)入
系統(tǒng)級性能分析
今天,產(chǎn)品開發(fā)人員更關(guān)注調(diào)試性能問題,努力在相同的硬件上實現(xiàn)更多的功能,或者降低功耗。因此,工具供應(yīng)商越來越關(guān)注性能和功耗分析工具。
選擇SoC器件(集成了處理器和FPGA架構(gòu))的一個主要原因是能夠使用FPGA硬件模塊來加速軟件工作。例如,可以使用FFT解碼器或者FPGA架構(gòu)中的 DES解密算法來釋放處理器,從而讓處理器去完成其他任務(wù),或者,進入睡眠狀態(tài)以節(jié)省功耗。對于這些器件,工具應(yīng)能夠查看處理器和FPGA IP模塊資源占用率相對水平。然后,設(shè)計人員可以使用這些信息來優(yōu)化系統(tǒng)。
雖然采用了指令跟蹤來優(yōu)化軟件編解碼器和其他性能軟件,但是,對于運行Linux和Android等操作系統(tǒng)的ARM應(yīng)用處理器,還是需要使用ARM DS-5流線性能分析器等某些特定的分析工具。ARM DS-5使用在目標(biāo)中運行的Linux驅(qū)動,按照一定的時間間隔對信息進行采樣,每次由事件計數(shù)器提供捕獲的任務(wù)切換信息,諸如:
● 處理器負(fù)載等操作系統(tǒng)事件。
● 分支誤預(yù)測等處理器事件。
● 系統(tǒng)事件,這些計數(shù)器支持用戶找到系統(tǒng)級瓶頸。
● 軟件注釋,用于報告感興趣的事件。
看到這一信息在一條時間線上顯現(xiàn)后,開發(fā)人員就了解了軟件和硬件之間的相互作用。
對于混合處理器和FPGA器件,可以使用流線分析器來同時優(yōu)化硬件和軟件。硬件中需要的唯一基本組件是存儲器映射寄存器,對每一不同IP模塊的利用率進行計算。然后,可以配置流線來訪問這些新計數(shù)器,顯示其隨著時間變化的數(shù)值,與CPU使用率和其他系統(tǒng)級計數(shù)器相關(guān)聯(lián)。
圖2:ARM DS-5流線中的時間線視圖。
對功耗有要求的用戶可以通過ARM
評論