[發(fā)明專利]硬件中斷的處理方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201710103980.1 | 申請(qǐng)日: | 2017-02-24 |
| 公開(公告)號(hào): | CN108509255B | 公開(公告)日: | 2021-01-22 |
| 發(fā)明(設(shè)計(jì))人: | 高巨鑫;李雪峰;高翔 | 申請(qǐng)(專利權(quán))人: | 龍芯中科技術(shù)股份有限公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48 |
| 代理公司: | 北京潤(rùn)澤恒知識(shí)產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 100095 北京市海淀*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 硬件 中斷 處理 方法 裝置 | ||
本發(fā)明實(shí)施例提供一種硬件中斷的處理方法和裝置,應(yīng)用于MIPS架構(gòu),方法包括:接收預(yù)設(shè)硬件中斷接口的硬件中斷觸發(fā)信號(hào);判斷硬件中斷觸發(fā)信號(hào)對(duì)應(yīng)的硬件中斷是否為定時(shí)器觸發(fā)的中斷;如果是,將PMU中采樣的數(shù)據(jù)從LINUX內(nèi)核空間映射到用戶空間。本發(fā)明實(shí)施例在PMC溢出無法觸發(fā)中斷時(shí),確保用戶空間的Perf能夠繼續(xù)監(jiān)控指定硬件性能事件,有效提高了系統(tǒng)可靠性和用戶體驗(yàn)。
技術(shù)領(lǐng)域
本發(fā)明涉及LINUX系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種硬件中斷的處理方法和一種硬件中斷的處理裝置。
背景技術(shù)
Perf(Performance Event,性能事件)是內(nèi)置于LINUX內(nèi)核源碼樹中的性能剖析工具。Perf基于事件采樣原理,以性能事件為基礎(chǔ),能實(shí)現(xiàn)針對(duì)處理器相關(guān)性能指標(biāo)與操作系統(tǒng)相關(guān)性能指標(biāo)的性能剖析。實(shí)際應(yīng)用中,Perf可用于對(duì)處理器、操作系統(tǒng)進(jìn)行性能瓶頸查找和熱點(diǎn)代碼定位。
現(xiàn)有技術(shù)中,Perf對(duì)硬件性能事件進(jìn)行監(jiān)控的原理如下:Perf通過LINUX系統(tǒng)調(diào)用sys_perf_event_open函數(shù),進(jìn)而在LINUX內(nèi)核中注冊(cè)一個(gè)監(jiān)測(cè)指定硬件性能事件的性能計(jì)數(shù)器,LINUX內(nèi)核根據(jù)Perf提供的指定硬件性能事件的參數(shù)信息在PMU(PerformanceMonitoring Unit,性能監(jiān)控單元)上初始化一個(gè)PMC(Performance Monitoring Counter,硬件性能計(jì)數(shù)器)。PMC隨著指定硬件性能事件的發(fā)生而自動(dòng)累加。在PMC溢出時(shí),復(fù)位PMC,PMU觸發(fā)一個(gè)PMI(Performance MonitoringInterrupt,性能監(jiān)控中斷)中斷。LINUX內(nèi)核通過PMI中斷對(duì)應(yīng)的處理函數(shù)對(duì)PMU的采樣數(shù)據(jù)進(jìn)行處理,并將處理后的采樣數(shù)據(jù)放入RingBuffer(緩存),Ring Buffer用于與用戶空間進(jìn)行通信。用戶空間里的perf分析程序采用mmap(將一個(gè)文件或者其它對(duì)象映射進(jìn)內(nèi)存)機(jī)制從Ring Buffer中讀取采樣數(shù)據(jù),并對(duì)采樣數(shù)據(jù)進(jìn)行解析,并將解析后的結(jié)果顯示在應(yīng)用層Perf界面。
上述Perf對(duì)硬件性能事件進(jìn)行監(jiān)控的原理存在以下缺陷:當(dāng)LINUX系統(tǒng)中PMC溢出無法觸發(fā)中斷時(shí),應(yīng)用層Perf界面將無監(jiān)控信息顯示,導(dǎo)致用戶空間的Perf無法監(jiān)控指定硬件性能事件。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明實(shí)施例的目的在于提供一種硬件中斷的處理方法和一種硬件中斷的處理裝置,以解決現(xiàn)有技術(shù)中當(dāng)LINUX系統(tǒng)中PMC溢出無法觸發(fā)中斷時(shí),用戶無法監(jiān)控指定硬件性能事件的問題。
為了解決上述問題,本發(fā)明實(shí)施例公開了一種硬件中斷的處理方法,應(yīng)用于MIPS架構(gòu)(Microprocessor without interlocked piped stages architecture,一種采取精簡(jiǎn)指令集的處理器架構(gòu)),包括以下步驟:接收預(yù)設(shè)硬件中斷接口的硬件中斷觸發(fā)信號(hào);判斷所述硬件中斷觸發(fā)信號(hào)對(duì)應(yīng)的硬件中斷是否為定時(shí)器觸發(fā)的中斷;如果是,將PMU中采樣的數(shù)據(jù)從LINUX內(nèi)核空間映射到用戶空間。
為了解決上述問題,本發(fā)明實(shí)施例還公開了一種硬件中斷的處理裝置,應(yīng)用于MIPS架構(gòu),包括:信號(hào)接收模塊,用于接收預(yù)設(shè)硬件中斷接口的硬件中斷觸發(fā)信號(hào);判斷模塊,用于判斷所述硬件中斷觸發(fā)信號(hào)對(duì)應(yīng)的硬件中斷是否為定時(shí)器觸發(fā)的中斷;中斷模塊,用于當(dāng)判斷所述硬件中斷觸發(fā)信號(hào)對(duì)應(yīng)的硬件中斷為定時(shí)器觸發(fā)的中斷時(shí),將PMU中采樣的數(shù)據(jù)從LINUX內(nèi)核空間映射到用戶空間。
本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):在PMC溢出無法觸發(fā)中斷的情況下,若接收到預(yù)設(shè)硬件中斷接口的硬件中斷觸發(fā)信號(hào),則判斷所述硬件中斷觸發(fā)信號(hào)對(duì)應(yīng)的硬件中斷是否為定時(shí)器觸發(fā)的中斷,如果是,將PMU中采樣的數(shù)據(jù)從LINUX內(nèi)核空間映射到用戶空間。這樣,在PMC溢出無法觸發(fā)中斷時(shí),實(shí)現(xiàn)定時(shí)器中斷代替PMC溢出觸發(fā)中斷,確保用戶空間的Perf仍然可以獲得待監(jiān)控硬件性能事件的采樣數(shù)據(jù),繼而應(yīng)用層Perf界面可以顯示采樣數(shù)據(jù),即實(shí)現(xiàn)了用戶空間的Perf可以繼續(xù)監(jiān)控指定硬件性能事件,有效提高了系統(tǒng)可靠性和用戶體驗(yàn)。
附圖說明
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于龍芯中科技術(shù)股份有限公司,未經(jīng)龍芯中科技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710103980.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





