RISC-V在云端、數(shù)據(jù)中心、汽車與網(wǎng)絡技術中的頻繁創(chuàng)新和亮相,已經(jīng)讓這一成長中的ISA一只腳邁入了高性能計算場景。然而缺少強大的性能監(jiān)測工具讓RISC-V的應用優(yōu)化成了問題,尤其是在RISC-V如今不少軟件源于從非原生移植的情況下,運算性能不能發(fā)揮出百分百的實力成了令人頭疼的問題。
與此同時,英特爾和ARM都擁有自己專用的性能監(jiān)控方案,讓開發(fā)者可以發(fā)揮出其硬件的全部效力,但RISC-V仍然依靠定制或廠商特定的方案,而缺少通用性能監(jiān)控軟件工具的完整支持。
Perf對RISC-V的支持
系統(tǒng)級的性能優(yōu)化往往是靠性能剖析和代碼優(yōu)化來實現(xiàn)的,前者是為了尋找性能瓶頸,后者則是為了改善軟件性能,因此這類性能分析/監(jiān)控工具成了處理器開發(fā)時必不可少的軟件。盡管RISC-V的ISA規(guī)范已經(jīng)定義了硬件性能監(jiān)控(HPM),但總體支持程度上仍未完善。
就以Linux上的性能分析工具Perf為例,該工具可以借助PMU(性能監(jiān)控單元)、tracepoint和內(nèi)核計數(shù)器來分析程序中的硬件事件,比如處理器時鐘周期、指令計數(shù)器等,也可以分析一些軟件事件,比如Page Fault等。
Perf分為兩種模式,一種是perf stat,一種是perf record。如今上游Linux的perf雖然已經(jīng)對RISC-V有了支持,但僅對perf stat有一些基本的支持。比如mcycle這一CSR用于處理器運行的時鐘周期計數(shù),而minstret這一CSR則用于退休指令計數(shù)。
目前RISC-V特權規(guī)范中的支持 / 西部數(shù)據(jù)
RISC-V privileged規(guī)范中,RISC-V定義了幾種特權模式,分別是U-mode(用戶模式)、S-mode(管理員模式)和M-mode(機器模式)。但目前只有在機器模式下才能對這些寄存器進行讀寫,管理員模式下缺乏可寫入的寄存器。
計數(shù)器卻又是每時每刻運行中的,所以現(xiàn)在可以做到周期和指令計數(shù),卻無法啟用、禁用和暫停計數(shù)器,無法使用任何可編程計數(shù)器和事件采樣。不僅如此,RISC-V的perf不僅無法處理計數(shù)器溢出,也不支持溢出中斷。雖然市面上很多RISC-V處理器已經(jīng)考慮到了這一點,采用定制的形式來完成部分任務,比如Esperanto就為自己的ET-SoC-1千核RISC-V處理器加入了商業(yè)級的芯片除錯與性能監(jiān)控能力,但RISC-V規(guī)范本身缺少這些支持,這也就不利于當下RISC-V的開源生態(tài)。
完整的Perf支持缺少了什么?
于是我們現(xiàn)在發(fā)現(xiàn)管理員模式下無法寫入計數(shù)器,也無法改變mcountinhibit來直接開啟或停止計數(shù)器,也無法改變mhpmcountern來開啟或禁用直接讀取。接著就是沒有中斷指示器,我們不知道哪一個計數(shù)器出現(xiàn)了數(shù)值溢出,也沒有事件篩選功能。那么針對這些問題的解決方案是什么,哪些措施才能實現(xiàn)完整的Perf支持呢?來自西部數(shù)據(jù)的Atish Patra在近期的RISC-V峰會上提出了他以及開發(fā)社區(qū)所青睞的答案——SBI PMU擴展和sscofpmf ISA擴展。
SBI PMU擴展將作為一個接口,讓管理員模式下的軟件發(fā)現(xiàn)硬件計數(shù)器的細節(jié),針對特定的perf事件來配置硬件計數(shù)器,在請求下開始或停止計數(shù)器。除此之外,SBI PMU擴展還引入了固件性能計數(shù)器來監(jiān)控固件事件,比如未對齊的存取指令數(shù)、RFENCE和IPI數(shù)等等。如今在RISC-V的SBI 1.0版本中我們也可以看到,PMU擴展已經(jīng)成了該規(guī)范的一部分。
接著是sscofpmf擴展,ss代表的是特權架構和管理員級的擴展,cofpmf代表的是溢出計數(shù)和特權模式篩選。該擴展新增了一個32位的scountovf只讀寄存器,該寄存器存儲的是29個mhpmcounter的第63位(OF),如此一來就能準確快速地判斷究竟是哪個事件的計數(shù)器溢出了。這一擴展已經(jīng)凍結,目前處于審查狀態(tài),預計不久的將來就會批準,來自Linux內(nèi)核的支持工作也在推進中。
小結
RISC-V作為一個尚處于發(fā)展初期的架構,在某些方面確實還有不及其前輩x86和ARM的地方,我們這次從性能監(jiān)控上就能看出一些端倪,但RISC-V自身的特性也為它帶來了不小的優(yōu)勢。
首先,RISC-V是站在巨人的肩膀上發(fā)展的,它可以有效地規(guī)避以上那些架構走錯的老路。其次,開源開放讓RISC-V有了龐大的社區(qū)支持,像以上這些解決方案,其實已經(jīng)被多次提及,來自社區(qū)的力量勢必可以讓RISC-V走得更遠。
與此同時,英特爾和ARM都擁有自己專用的性能監(jiān)控方案,讓開發(fā)者可以發(fā)揮出其硬件的全部效力,但RISC-V仍然依靠定制或廠商特定的方案,而缺少通用性能監(jiān)控軟件工具的完整支持。
Perf對RISC-V的支持
系統(tǒng)級的性能優(yōu)化往往是靠性能剖析和代碼優(yōu)化來實現(xiàn)的,前者是為了尋找性能瓶頸,后者則是為了改善軟件性能,因此這類性能分析/監(jiān)控工具成了處理器開發(fā)時必不可少的軟件。盡管RISC-V的ISA規(guī)范已經(jīng)定義了硬件性能監(jiān)控(HPM),但總體支持程度上仍未完善。
就以Linux上的性能分析工具Perf為例,該工具可以借助PMU(性能監(jiān)控單元)、tracepoint和內(nèi)核計數(shù)器來分析程序中的硬件事件,比如處理器時鐘周期、指令計數(shù)器等,也可以分析一些軟件事件,比如Page Fault等。
Perf分為兩種模式,一種是perf stat,一種是perf record。如今上游Linux的perf雖然已經(jīng)對RISC-V有了支持,但僅對perf stat有一些基本的支持。比如mcycle這一CSR用于處理器運行的時鐘周期計數(shù),而minstret這一CSR則用于退休指令計數(shù)。
目前RISC-V特權規(guī)范中的支持 / 西部數(shù)據(jù)
RISC-V privileged規(guī)范中,RISC-V定義了幾種特權模式,分別是U-mode(用戶模式)、S-mode(管理員模式)和M-mode(機器模式)。但目前只有在機器模式下才能對這些寄存器進行讀寫,管理員模式下缺乏可寫入的寄存器。
計數(shù)器卻又是每時每刻運行中的,所以現(xiàn)在可以做到周期和指令計數(shù),卻無法啟用、禁用和暫停計數(shù)器,無法使用任何可編程計數(shù)器和事件采樣。不僅如此,RISC-V的perf不僅無法處理計數(shù)器溢出,也不支持溢出中斷。雖然市面上很多RISC-V處理器已經(jīng)考慮到了這一點,采用定制的形式來完成部分任務,比如Esperanto就為自己的ET-SoC-1千核RISC-V處理器加入了商業(yè)級的芯片除錯與性能監(jiān)控能力,但RISC-V規(guī)范本身缺少這些支持,這也就不利于當下RISC-V的開源生態(tài)。
完整的Perf支持缺少了什么?
于是我們現(xiàn)在發(fā)現(xiàn)管理員模式下無法寫入計數(shù)器,也無法改變mcountinhibit來直接開啟或停止計數(shù)器,也無法改變mhpmcountern來開啟或禁用直接讀取。接著就是沒有中斷指示器,我們不知道哪一個計數(shù)器出現(xiàn)了數(shù)值溢出,也沒有事件篩選功能。那么針對這些問題的解決方案是什么,哪些措施才能實現(xiàn)完整的Perf支持呢?來自西部數(shù)據(jù)的Atish Patra在近期的RISC-V峰會上提出了他以及開發(fā)社區(qū)所青睞的答案——SBI PMU擴展和sscofpmf ISA擴展。
SBI PMU擴展將作為一個接口,讓管理員模式下的軟件發(fā)現(xiàn)硬件計數(shù)器的細節(jié),針對特定的perf事件來配置硬件計數(shù)器,在請求下開始或停止計數(shù)器。除此之外,SBI PMU擴展還引入了固件性能計數(shù)器來監(jiān)控固件事件,比如未對齊的存取指令數(shù)、RFENCE和IPI數(shù)等等。如今在RISC-V的SBI 1.0版本中我們也可以看到,PMU擴展已經(jīng)成了該規(guī)范的一部分。
接著是sscofpmf擴展,ss代表的是特權架構和管理員級的擴展,cofpmf代表的是溢出計數(shù)和特權模式篩選。該擴展新增了一個32位的scountovf只讀寄存器,該寄存器存儲的是29個mhpmcounter的第63位(OF),如此一來就能準確快速地判斷究竟是哪個事件的計數(shù)器溢出了。這一擴展已經(jīng)凍結,目前處于審查狀態(tài),預計不久的將來就會批準,來自Linux內(nèi)核的支持工作也在推進中。
小結
RISC-V作為一個尚處于發(fā)展初期的架構,在某些方面確實還有不及其前輩x86和ARM的地方,我們這次從性能監(jiān)控上就能看出一些端倪,但RISC-V自身的特性也為它帶來了不小的優(yōu)勢。
首先,RISC-V是站在巨人的肩膀上發(fā)展的,它可以有效地規(guī)避以上那些架構走錯的老路。其次,開源開放讓RISC-V有了龐大的社區(qū)支持,像以上這些解決方案,其實已經(jīng)被多次提及,來自社區(qū)的力量勢必可以讓RISC-V走得更遠。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
處理器
+關注
關注
68文章
19396瀏覽量
230701 -
Linux
+關注
關注
87文章
11336瀏覽量
210097 -
RISC-V
+關注
關注
45文章
2317瀏覽量
46349
發(fā)布評論請先 登錄
相關推薦
risc-v芯片在電機領域的應用展望
具體應用場景進行靈活定制,從而實現(xiàn)更高效的控制算法和更優(yōu)化的性能表現(xiàn)。
此外,RISC-V芯片還支持多核架構,這使得電機控制系統(tǒng)能夠同時處理多個任務,提高整體運行效率。在電機驅動方面,多核架構能夠使得
發(fā)表于 12-28 17:20
關于RISC-V學習路線圖推薦
的編程方法。
學習RISC-V匯編語言 :
了解RISC-V匯編語言的語法和指令格式,編寫簡單的匯編程序。
調(diào)試與優(yōu)化 :
使用調(diào)試工具(如GDB)對RISC-V程序進行調(diào)試和
發(fā)表于 11-30 15:21
加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來 !
加入RISC-VAdvocate行列!我們正在尋找來自世界各地的RISC-V愛好者,通過全球推廣和參與,成為支持RISC-V進步的關鍵參與者。作為一名
RISC-V Summit China 2024 青稞RISC-V+接口PHY,賦能RISC-V高效落地
沁恒在歷屆峰會上分享RISC-V在MCU領域的創(chuàng)新成果,和大家共同見證了本土RISC-V產(chǎn)業(yè)的成長。早在第一屆RISC-V中國峰會上,沁恒就公開了青稞RISC-V系列量產(chǎn)芯片的
RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,賦能RISC-V高效落地
進一步擴展至單線,目前是32位MCU中唯一的單線調(diào)試接口。
自研內(nèi)核與接口等關鍵模塊省去了外購IP的授權和提成費,進一步為客戶節(jié)約了成本。少花一份錢,卻能在標準RISC-V架構的基礎上享受更多的特色功能
發(fā)表于 08-30 17:37
risc-v的發(fā)展歷史
得RISC-V架構在學術圈和開源社區(qū)中獲得了更廣泛的關注和應用。
四、廣泛應用與生態(tài)系統(tǒng)建設
工業(yè)界應用:隨著RISC-V架構的不斷發(fā)展,越來越多的公司開始采用RISC-V架構。例如,
發(fā)表于 07-29 17:20
rIsc-v的缺的是什么?
RISC-V作為一種開源的指令集架構(ISA),自其誕生以來就受到廣泛關注和應用,但它也存在一些不足之處。以下是RISC-V架構目前存在的主要缺點:
1. 性能問題
相對于專用ISA的性能
發(fā)表于 07-29 17:18
淺析RISC-V領先ARM的優(yōu)勢
、教育以及初創(chuàng)企業(yè)中的使用。
定制化能力強:
RISC-V采用了模塊化設計的思路,不同的組件可以靈活進行裁剪與增加。這使得RISC-V架構可以根據(jù)具體的應用需求進行靈活定制,優(yōu)化并滿足
發(fā)表于 06-27 08:45
risc-v的mcu對RTOS兼容性如何
的RTOS解決方案,這些解決方案已經(jīng)針對他們的特定硬件進行了優(yōu)化和測試。
實時性能 :
RTOS的主要特點是其實時性能,即能夠在確定的時間內(nèi)響應外部事件。RISC-V MCU的實時
發(fā)表于 05-27 16:26
RISC-V的MCU關于USB高速通信設計的難點
RISC-V的MCU關于USB高速通信設計的難點主要集中在硬件集成、性能優(yōu)化、軟件生態(tài)和成本效益等方面。以下是針對這些難點的詳細分析和歸納:
硬件集成與外設支持 :
高速USB PHY集成 :傳統(tǒng)
發(fā)表于 05-27 16:23
RISC-V的MCU與ARM對比
和實現(xiàn)。這意味著RISC-V具有高度的靈活性和可定制性,可以根據(jù)不同的應用需求進行優(yōu)化和擴展。
ARM :ARM是一種專有的架構,任何想要使用ARM的指令集或實現(xiàn)的設計者都必須向ARM公司支付版權費
發(fā)表于 05-27 15:58
為何什么risc-v芯片比arm的效率高
免費使用和修改其指令集,這促進了RISC-V生態(tài)系統(tǒng)的快速發(fā)展。隨著越來越多的公司和開發(fā)者參與到RISC-V的開發(fā)和優(yōu)化中來,RISC-V芯
發(fā)表于 04-28 09:38
RISC-V有哪些優(yōu)點和缺點
。同時,這種設計也降低了制造成本,使得RISC-V在成本敏感的應用場景中更具競爭力。
缺點:
性能問題:雖然RISC-V設計簡潔,但相對于某些專用ISA(如ARM),其
發(fā)表于 04-28 09:03
RISC-V有哪些優(yōu)缺點?是堅持ARM方向還是投入risc-V的懷抱?
是一個優(yōu)勢。同時,這種設計也降低了制造成本,使得RISC-V在成本敏感的應用場景中更具競爭力。
缺點 :
性能問題 :雖然RISC-V設計簡潔,但相對于某些專用ISA(如ARM),其
發(fā)表于 04-28 08:51
什么是RISC-V?RISC-V的關鍵技術
RISC-V不僅僅是一個流行語;它建立在堅實的技術基礎之上,使其有別于其他指令集架構 (ISA)。RISC-V的核心是基于精簡指令集計算(RISC)原則,強調(diào)效率和性能。
發(fā)表于 03-26 09:34
?3637次閱讀
評論