成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

ARM PMU 用途不僅僅是性能

2024/05/20
4272
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

哈嘍,大家好,我是程序員秘書LittleG。

ARM Performance Monitor Unit (PMU) 是一種硬件組件,用于跟蹤和計(jì)數(shù)系統(tǒng)中的底層硬件事件。

集成在ARM架構(gòu)處理器中,可以用于監(jiān)控和度量處理器及系統(tǒng)性能的關(guān)鍵指標(biāo),對于性能分析、調(diào)試、能耗管理和優(yōu)化軟件性能至關(guān)重要。

正文

用途說明:

性能分析:通過監(jiān)測與CPU相關(guān)的事件(如執(zhí)行指令數(shù)、捕獲異常數(shù)、時(shí)鐘周期數(shù)等),與cache相關(guān)的事件(如cache訪問次數(shù)、miss次數(shù)等),以及與TLB(Translation Lookaside Buffer)有關(guān)的事件,PMU 可以幫助了解程序的執(zhí)行行為,進(jìn)而對程序進(jìn)行性能分析和調(diào)優(yōu)。通過測量執(zhí)行時(shí)間、指令周期數(shù)、緩存命中率等,幫助識別程序的性能瓶頸。

系統(tǒng)調(diào)試:通過跟蹤特定事件的發(fā)生,如中斷延遲、上下文切換頻率,輔助系統(tǒng)級別的調(diào)試。

能耗管理:監(jiān)控處理器活動(dòng),協(xié)助實(shí)現(xiàn)動(dòng)態(tài)電壓和頻率調(diào)整(DVFS),降低能耗。

軟件優(yōu)化:提供數(shù)據(jù)支持,幫助我們針對特定硬件特性優(yōu)化代碼,提升運(yùn)行效率。

功能組件:

事件計(jì)數(shù)器:PMU 包含一組事件計(jì)數(shù)器,分為兩類,一類是cycle counter,用于計(jì)數(shù)CYCLES事件;另一類是performance counter,用于計(jì)數(shù)其他類型的事件。在ARMv8架構(gòu)中,例如Cortex-A53,有1個(gè)cycle counter和6個(gè)performance counters。

控制寄存器:PMU 包含用于控制計(jì)數(shù)器的寄存器,可以通過編程配置計(jì)數(shù)的事件類型、中斷使能/屏蔽等。

寄存器訪問:PMU 寄存器可以通過特定的系統(tǒng)控制指令訪問,如在ARM架構(gòu)中,可以通過CP15協(xié)處理器或外部APB接口來編程。

中斷和溢出:當(dāng)計(jì)數(shù)器溢出時(shí),可以產(chǎn)生overflow中斷,PMU硬件會(huì)根據(jù)控制寄存器內(nèi)設(shè)置的中斷屏蔽位判斷是否將該中斷發(fā)送給CPU處理。

使用場景

場景1:假設(shè)我們要分析一段代碼的性能,特別是想了解cachemiss次數(shù),可以按照以下步驟使用PMU:

確定監(jiān)控事件:根據(jù)ARM架構(gòu)的文檔,找到代表cache miss的事件編碼。

配置PMU:通過編程設(shè)置PMU的控制寄存器,選擇相應(yīng)的事件計(jì)數(shù)器,并將其配置為監(jiān)控cache miss事件。

啟動(dòng)計(jì)數(shù):使能PMU硬件和選定的計(jì)數(shù)器。

運(yùn)行代碼:執(zhí)行需要分析的代碼段。

讀取計(jì)數(shù)器:代碼執(zhí)行完成后,讀取事件計(jì)數(shù)器的值,這個(gè)值就是cache miss的次數(shù)。

分析結(jié)果:根據(jù)計(jì)數(shù)器的值,分析代碼的性能,找出可能的性能瓶頸。

調(diào)優(yōu)代碼:根據(jù)分析結(jié)果,對代碼進(jìn)行調(diào)優(yōu),比如增加數(shù)據(jù)的局部性,減少cache miss。

場景2:假設(shè)發(fā)現(xiàn)有某一款特定應(yīng)用在某款基于ARM Cortex-A系列處理器的手機(jī)上運(yùn)行緩慢,想要找出性能瓶頸所在。

確定監(jiān)控事件:首先,需要確定哪些性能指標(biāo)可能是瓶頸的來源,例如CPU利用率過高、緩存未命中頻繁等。因此,他可能會(huì)選擇監(jiān)控“指令周期數(shù)”、“L1緩存未命中次數(shù)”和“CPU周期空閑比例”等事件。

配置PMU:編寫代碼,使用適當(dāng)?shù)南到y(tǒng)調(diào)用來配置PMU。例如,在Linux環(huán)境下,可能使用perf_event_open系統(tǒng)調(diào)用或perf命令行工具,指定要監(jiān)控的事件和計(jì)數(shù)器。

數(shù)據(jù)收集:應(yīng)用在目標(biāo)設(shè)備上運(yùn)行時(shí),PMU自動(dòng)累積選定事件的計(jì)數(shù)。開發(fā)者可以在應(yīng)用運(yùn)行一段時(shí)間后,讀取計(jì)數(shù)器的值,或者使用perf record記錄整個(gè)運(yùn)行過程,之后通過perf report分析數(shù)據(jù)。

分析與優(yōu)化:分析結(jié)果顯示,L1緩存未命中率極高,表明應(yīng)用頻繁訪問的數(shù)據(jù)未有效利用緩存。開發(fā)者據(jù)此優(yōu)化數(shù)據(jù)訪問模式,比如通過數(shù)據(jù)局部性改善來減少緩存未命中,或者調(diào)整算法減少不必要的運(yùn)算。

驗(yàn)證改進(jìn):優(yōu)化后,再次使用PMU監(jiān)控同樣的性能指標(biāo),驗(yàn)證優(yōu)化措施的效果。如果緩存未命中率顯著下降,且整體應(yīng)用響應(yīng)時(shí)間縮短,則證明優(yōu)化成功。

下期見~

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級 參考價(jià)格 更多信息
FT232RQ-TRAY 1 FTDI Chip USB Bus Controller, CMOS, 5 X 5 MM, GREEN, QFN-32

ECAD模型

下載ECAD模型
$4.5 查看
ATXMEGA128A1U-AU 1 Microchip Technology Inc IC MCU 8BIT 128KB FLASH 100TQFP

ECAD模型

下載ECAD模型
$7 查看
FT232RQ-REEL 1 FTDI Chip USB Bus Controller, CMOS, 5 X 5 MM, GREEN, QFN-32

ECAD模型

下載ECAD模型
$4.95 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄
肥城市| 晋城| 扎赉特旗| 南溪县| 浮山县| 海原县| 抚松县| 阳东县| 元江| 邳州市| 北川| 腾冲县| 江油市| 泰顺县| 辽源市| 徐闻县| 喀什市| 湟中县| 江西省| 岳西县| 漯河市| 司法| 东方市| 翁牛特旗| 若尔盖县| 临沧市| 永城市| 舒城县| 尉犁县| 德惠市| 博客| 新乡市| 佛冈县| 安西县| 永和县| 繁昌县| 盐山县| 钟祥市| 忻城县| 蒙阴县| 柳州市|