RISC-V CSR寄存器
CSR是控制狀態(tài)寄存器,RISC-V中CSR寄存器,需要使用csrr、csrw、csrrw等特定指令進(jìn)行訪問。
M模式和S模式都有自己的CSR寄存器,但是大體上相同。下面列舉一些常用的CSR。
M模式CSR寄存器
mstatus
狀態(tài)寄存器,保存了全局中斷使能狀態(tài)和其他狀態(tài),例如切換模式前,保存當(dāng)前模式。
mtvec
異常入口基地址寄存器。保存發(fā)生異常時需要跳轉(zhuǎn)的地址。
medeleg和mideleg
medeleg是異常委托,mideleg是中斷委托。例如,在M模式下發(fā)生異?;蛑袛鄷r,可以通過這兩個寄存器,將中斷/異常交給S模式或者其他模式處理。
mip和mie
mie是中斷使能寄存器,對需要使能的中斷,在對應(yīng)位使能。
mip是中斷等待寄存器,表示目前正準(zhǔn)備處理的中斷。
hpm
全稱Hardware Performance Monitor,硬件性能單元,用于性能計數(shù)。包括了兩類寄存器:mhpmcounter和mhpmevent
- mhpmcounter:性能計數(shù)器
- mhpmevent:用于配置性能事件
mcounteren和mcountinhibit
這兩個也是hpm相關(guān)的寄存器,主要用于控制hpm的使能、計數(shù)禁止。
- mcounteren:計數(shù)器使能
- mcountinhibit:禁止計數(shù)
mscratch
用于保存M模式指向hart上下文的指針,并在進(jìn)入M模式的處理程序時,和用戶寄存器交換。
mepc
發(fā)生中斷時,當(dāng)前程序的PC值,保存在mepc中,中斷返回時,會從mepc讀取PC值。
mcause
用于保存發(fā)生中斷或異常的情況,中斷和異常描述如下:

1代表中斷,0代表異常,每個異常/中斷都有對應(yīng)的編碼值,通過mcause的值,可以很清楚的知道發(fā)生了什么中斷或異常,特別在調(diào)試過程,mcause發(fā)揮了很大作用。
mvtal
異常值寄存器,例如發(fā)生異常時,保存出錯的地址。
S模式CSR寄存器
S模式的CSR和M模式基本上是一樣的,只不過將第一個字母m改為了s,例如mcause改為了scause,mvtal改為了svtal。它們的功能基本相同,這里就不再贅述了。
需要注意的是,S模式除了擁有M模式相同功能的CSR外,另外還增加了一個stap寄存器。
stap寄存器主要是給MMU使用,stap寄存器保存了頁表的基地址,MMU通過stap可以找到第一級頁表,進(jìn)而找到物理地址。stap寄存器涉及到的內(nèi)容比較多,關(guān)于stap相關(guān)內(nèi)容,以后會詳細(xì)展開講講。
-
寄存器
+關(guān)注
關(guān)注
31文章
5583瀏覽量
128959 -
內(nèi)核
+關(guān)注
關(guān)注
4文章
1435瀏覽量
42464 -
Linux
+關(guān)注
關(guān)注
88文章
11621瀏覽量
217797 -
CSR
+關(guān)注
關(guān)注
3文章
120瀏覽量
70643 -
計數(shù)器
+關(guān)注
關(guān)注
32文章
2306瀏覽量
97528 -
RISC
+關(guān)注
關(guān)注
6文章
485瀏覽量
86036
發(fā)布評論請先 登錄
RISC-V 基礎(chǔ)學(xué)習(xí):RISC-V 基礎(chǔ)介紹
RISC-V工作模式及寄存器基本知識
RISC-V基礎(chǔ)指令詳解
CSR讀寫控制模塊的詳解
RISC-V B擴(kuò)展介紹及實(shí)現(xiàn)
CSR讀寫控制模塊詳解
CSR讀寫控制模塊
如何使用J-Link和Embedded Studio讀寫RISC-V處理器的CSR?
初探RISC-V—《RISC-V體系結(jié)構(gòu)編程與實(shí)踐》
RISC-V CSR 相關(guān)指令集
RISC-V MCU gp全局指針說明
用于RISC-V處理器的三重模塊化冗余ALU和寄存器文件的設(shè)計示
RISC-V PMP寄存器介紹
RISC-V特權(quán)架構(gòu)和通用寄存器

RISC-V CSR寄存器介紹
評論