91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RISC-V CSR寄存器介紹

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-10-08 14:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RISC-V CSR寄存器

CSR是控制狀態(tài)寄存器,RISC-V中CSR寄存器,需要使用csrr、csrw、csrrw等特定指令進行訪問。

M模式和S模式都有自己的CSR寄存器,但是大體上相同。下面列舉一些常用的CSR。

M模式CSR寄存器

mstatus

狀態(tài)寄存器,保存了全局中斷使能狀態(tài)和其他狀態(tài),例如切換模式前,保存當前模式。

mtvec

異常入口基地址寄存器。保存發(fā)生異常時需要跳轉的地址。

medelegmideleg

medeleg是異常委托,mideleg是中斷委托。例如,在M模式下發(fā)生異?;蛑袛鄷r,可以通過這兩個寄存器,將中斷/異常交給S模式或者其他模式處理。

mipmie

mie是中斷使能寄存器,對需要使能的中斷,在對應位使能。

mip是中斷等待寄存器,表示目前正準備處理的中斷。

hpm

全稱Hardware Performance Monitor,硬件性能單元,用于性能計數(shù)。包括了兩類寄存器:mhpmcounter和mhpmevent

  • mhpmcounter:性能計數(shù)器
  • mhpmevent:用于配置性能事件

mcounterenmcountinhibit

這兩個也是hpm相關的寄存器,主要用于控制hpm的使能、計數(shù)禁止。

  • mcounteren:計數(shù)器使能
  • mcountinhibit:禁止計數(shù)

mscratch

用于保存M模式指向hart上下文的指針,并在進入M模式的處理程序時,和用戶寄存器交換。

mepc

發(fā)生中斷時,當前程序的PC值,保存在mepc中,中斷返回時,會從mepc讀取PC值。

mcause

用于保存發(fā)生中斷或異常的情況,中斷和異常描述如下:

圖片

1代表中斷,0代表異常,每個異常/中斷都有對應的編碼值,通過mcause的值,可以很清楚的知道發(fā)生了什么中斷或異常,特別在調試過程,mcause發(fā)揮了很大作用。

mvtal

異常值寄存器,例如發(fā)生異常時,保存出錯的地址。

S模式CSR寄存器

S模式的CSR和M模式基本上是一樣的,只不過將第一個字母m改為了s,例如mcause改為了scause,mvtal改為了svtal。它們的功能基本相同,這里就不再贅述了。

需要注意的是,S模式除了擁有M模式相同功能的CSR外,另外還增加了一個stap寄存器。

stap寄存器主要是給MMU使用,stap寄存器保存了頁表的基地址,MMU通過stap可以找到第一級頁表,進而找到物理地址。stap寄存器涉及到的內容比較多,關于stap相關內容,以后會詳細展開講講。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5608

    瀏覽量

    129943
  • 內核
    +關注

    關注

    4

    文章

    1467

    瀏覽量

    42864
  • Linux
    +關注

    關注

    88

    文章

    11756

    瀏覽量

    218996
  • CSR
    CSR
    +關注

    關注

    3

    文章

    120

    瀏覽量

    70812
  • 計數(shù)器
    +關注

    關注

    32

    文章

    2315

    瀏覽量

    98164
  • RISC
    +關注

    關注

    6

    文章

    485

    瀏覽量

    86574
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RISC-V 基礎學習:RISC-V 基礎介紹

    10 機器特權級 3 M 11 一個RISC-V 硬件線程(hart),相當于一個CPU 內獨立的可執(zhí)行核心,在任意時刻,只能運行在某一個特權級上,這個特權級由CSR(控制和狀態(tài)寄存器)指定配置
    發(fā)表于 03-12 10:25

    RISC-V工作模式及寄存器基本知識

    RISC-V Linux為例,Linux應用程序處于U模式,Linux內核/uboot處于S模式,M模式則是OpenSBI。M模式擁有最高訪問權限,Linux內核如果要訪問CSR寄存器,則必須由S模式切換
    發(fā)表于 04-12 14:06

    RISC-V基礎指令詳解

    RISC-V中定義了六種指令類型,其中包括 R型指令 : 用于寄存器寄存器之間算數(shù)運算的指令 I型指令 : 用于寄存器和立即數(shù)算術運算和讀存儲
    發(fā)表于 12-29 18:47

    CSR讀寫控制模塊的詳解

    具體代碼位于: 概述 CSRRISC-V中的控制狀態(tài)寄存器(Control and Status Registers),用于控制處理的行為和狀態(tài)。
    發(fā)表于 10-21 15:17

    RISC-V B擴展介紹及實現(xiàn)

    的擴展,它提供了一些常見的位操作和壓縮指令,從而增強了RISC-V的位運算和壓縮指令的能力。 對于位操作,B擴展增加了兩個寄存器-位移結果寄存器(RZ)和位位掩碼寄存器(RM)。前者可
    發(fā)表于 10-21 13:01

    CSR讀寫控制模塊詳解

    具體代碼位于: 概述 CSRRISC-V中的控制狀態(tài)寄存器(Control and Status Registers),用于控制處理的行為和狀態(tài)。
    發(fā)表于 10-24 06:08

    CSR讀寫控制模塊

    隊伍編號:CICC1413 具體代碼位于: 概述 CSRRISC-V中的控制狀態(tài)寄存器(Control and Status Registers),用于控制處理的行為和狀態(tài)。
    發(fā)表于 10-24 10:01

    如何使用J-Link和Embedded Studio讀寫RISC-V處理CSR?

    CSR簡介RISC-V 架構的控制和狀態(tài)寄存器(Control and Status Register, CSR),用于配置或記錄一些處理
    發(fā)表于 08-25 15:51

    初探RISC-V—《RISC-V體系結構編程與實踐》

    最近有幸讀了一本介紹RISC-V的書籍《RISC-V體系結構編程與實踐》,這是一本非常有價值的書籍,它介紹RISC-V體系結構的各個方面,
    發(fā)表于 03-28 11:41

    RISC-V 發(fā)展

    匯編當中,都使用ABI名稱來代表這些寄存器。RISC-V CSR寄存器CSR是控制狀態(tài)寄存器
    發(fā)表于 04-14 10:18

    RISC-V CSR 相關指令集

    CSRRW(Atomic Read/Write CSR) 指令原子性的交換CSR寄存器中的值。 CSRRW指令讀取在CSR中的舊值,將其零擴展到32位,然后寫入整數(shù)
    發(fā)表于 12-08 18:21 ?8次下載
    <b class='flag-5'>RISC-V</b> <b class='flag-5'>CSR</b> 相關指令集

    RISC-V MCU gp全局指針說明

    gp ,g lobal pointer,全局指針寄存器,RISC-V 32個寄存器之一,為了優(yōu)化±2KB內全局變量的訪問。
    的頭像 發(fā)表于 02-15 11:55 ?2717次閱讀

    用于RISC-V處理的三重模塊化冗余ALU和寄存器文件的設計示

    用于RISC-V處理的三重模塊化冗余ALU和寄存器文件的設計示例 演講ppt分享
    發(fā)表于 07-17 16:34 ?2次下載

    RISC-V PMP寄存器介紹

    每個 PMP 區(qū)域都由一個 8 位 pmpXcfg 字段描述,與一個 64 位 pmpaddrX寄存器結合使用,該寄存器保存受保護區(qū)域的基地址。每個區(qū)域的范圍取決于下一節(jié)中描述的尋址 (A) 模式
    的頭像 發(fā)表于 10-07 17:39 ?2872次閱讀
    <b class='flag-5'>RISC-V</b> PMP<b class='flag-5'>寄存器</b><b class='flag-5'>介紹</b>

    RISC-V特權架構和通用寄存器

    RISC-V特權架構 ARM有7種工作模式,而RISC-V也有不同的模式,這些模式在RISC-V中也被稱為特權架構。 RISC-V總共有四種模式,分別是U、S、H和M模式: U模式被編
    的頭像 發(fā)表于 10-08 14:48 ?2985次閱讀
    <b class='flag-5'>RISC-V</b>特權架構和通用<b class='flag-5'>寄存器</b>