做能收款的网站多少钱,专业商铺装修设计,建筑工程师的工作内容,长沙网页设计哪家专业目录
1. 特权级
2. 控制和状态寄存器#xff08;CSR#xff09;
2.1 分类 2.2 分析 1. 特权级 一个 RISC-V 硬件线程#xff08;hart#xff09;是运行在某个特权级上的#xff0c;这个特权级被编码到一个或者多个 CSR#xff08;control and status registerCSR
2.1 分类 2.2 分析 1. 特权级 一个 RISC-V 硬件线程hart是运行在某个特权级上的这个特权级被编码到一个或者多个 CSRcontrol and status register控制和状态寄存器中的一种模式。 当前定义了四种特权级如下所示。
级别编码名字缩写000用户模式U101管理员/监管者模式S210保留H311机器模式M 特权级的作用被用于在不同的软件栈部件之间提供保护 现象试图执行当前特权模式不允许的操作 将导致一个异常的产生。这些异常通常会导致下层执行环境或者 HAL 产生自陷trap。 机器级是最高级特权也是 RISC-V 硬件平台唯一必须的特权级。
机器模式M-mode代码是固有可信的inherently trusted因为它可以在低层次访问机器的实现用户模式U-mode被用于传统应用程序管理员模式S-mode被分别用于操作系统 所有硬件实现必须提供M-mode因为这是唯一的模式可以不受限制地访问整个机器。 最简单的RISC-V实现可以仅提供M-mode虽然这样做不能为防止不正确的、恶意应用代码提供保护。许多RISC-V实现还支持至少一个用户模式U-mode以对系统的其他部分进行保护防止被应用程序代码破坏。管理员模式S-mode可被加入以在管理员级操作系统和SEE、HAL之间提供隔离。 一个 hart硬件线程通常在 U-mode 下运行应用程序直到某些自陷例如一个管理 员调用或者一个定时器中断强制切换到一个自陷处理函数trap handler这个自陷处理 函数通常运行在更特权的模式下。然后这个线程将执行这个自陷处理器函数它最终在 U-mode 下在引起自陷的指令处或之后继续线程执行。提升特权基级别的自陷称为垂直 自陷vertical trap而保持在同样特权级别的自陷称为水平自陷horizontal trap。RISC-V 特权体系结构提供了将自陷灵活地路由到不同的特权层。
2. 控制和状态寄存器CSR
2.1 分类
用户级 管理员级 机器级 2.2 分析 高权限模式通常可以使用权限较低的模式的所用功能并且它们还有一些低权限模式下不可用的额外功能例如
处理中断和执行 I/O 的功能处理器通常大部分时间都运行在权限最低的模式下处理中断和异常时会将控制权移交到更高权限的模式
RISC-V 特权体系结构定义的所有指令的指令集:
1mret、sret、uret mret、sret或uret指令用于从m模式中的自陷重定向。
2sfence.vma supervisor-mode fence.virtual memory addreee刷新当前CPU下的TLB在多核系统中如果一个hart修改了页表执行sfence.vma之后仅仅是刷新了当前hart的TLB无法刷新其他hart的TLB。
(3) wfi
等待中断指令。
等待中断指令WFI用于提供提示即当前的hart可以暂停直到有需要处理的中断。WFI指令的执行也可以用于通知硬件平台适当的中断应该优先路由到该hart。WFI可在所有特权模式下使用也可选择在U模式下使用。 当在mstatus中TW1时此指令可能引发非法指令异常。 如果当硬件线程被暂停时出现一个使能的中断或者后来出现了一个将会在下一条指 令处执行中断异常即自陷处理函数继续执行并且 mepcpc4。
4寄存器操纵
csrr读取一个 CSR 的值到通用寄存器。如csrr t0, mstatus读取 mstatus 的值到 t0 中。csrw把一个通用寄存器中的值写入 CSR 中。如csrw mstatus, t0将 t0 的值写入 mstatus。csrs把 CSR 中指定的 bit 置 1。如csrsi mstatus, (1 2)将 mstatus 的右起第 3 位置 1。csrc把 CSR 中指定的 bit 置 0。如csrci mstatus, (1 2)将 mstatus 的右起第 3 位置 0。csrrw读取一个 CSR 的值到通用寄存器然后把另一个值写入该 CSR。如csrrw t0, mstatus, t0将 mstatus 的值与 t0 的值交换。csrrs读取一个 CSR 的值到通用寄存器然后把该 CSR 中指定的 bit 置 1。csrrc读取一个 CSR 的值到通用寄存器然后把该 CSR 中指定的 bit 置 0。