没有合适的资源?快使用搜索试试~ 我知道了~
首页risc-v特权指令-cn.pdf
资源详情
资源评论
资源推荐
Copyright ©2010-2015, The Regents of the University of California. All rights reserved.
i
RISC-V 指令集手册
卷 2:特权体系结构(Privileged Architecture)
特权体系结构 1.7 版
文档版本 1.7 版
(翻译:要你命 3000@EETOP 翻译版本 1.0)
警告!这个规范的初稿在成为标准之前,可能会被修改,因此基于此规范
初稿的实现,可能与未来的标准规范并不相符。
Andrew Waterman, Yunsup Lee, Rimas Avižienis, David Patterson, Krste Asanović
CS Division, EECS Department, University of California, Berkeley
{waterman|yunsup|rimas|pattrsn|krste}@eecs.berkeley.edu
2015 年 5 月 9 日
该文档同时也是 UCB/EECS-2015-49 技术报告
Copyright ©2010-2015, The Regents of the University of California. All rights reserved.
ii
目录
第 1 章 介绍 ............................................................................................................................... 1
1.1 RISC-V 硬件平台术语 ................................................................................................... 1
1.2 RISC-V 特权软件栈术语 ............................................................................................... 2
1.3 特权级 ........................................................................................................................... 3
第 2 章 控制和状态寄存器(CSR) ......................................................................................... 5
2.1 访问 CSR 的指令........................................................................................................... 5
2.2 CSR 地址映射约定 ........................................................................................................ 6
2.3 CSR 列表 ....................................................................................................................... 7
第 3 章 机器级 ISA .................................................................................................................. 12
3.1 机器级 CSR ................................................................................................................. 12
3.1.1 CPU ID 寄存器 mcpuid .................................................................................... 12
3.1.2 实现 ID 寄存器 mimpid .................................................................................. 13
3.1.3 硬件线程 ID 寄存器 mhartid ......................................................................... 14
3.1.4 机器状态寄存器(mstatus) ........................................................................ 14
3.1.5 mstatus 寄存器中的特权和全局中断使能栈 ............................................... 15
3.1.6 mstatus 寄存器中的虚拟化管理字段 ........................................................... 16
3.1.7 mstatus 寄存器中的存储器特权 ................................................................... 17
3.1.8 mstatus 寄存器中的扩展上下文状况 ........................................................... 17
3.1.9 机器自陷向量基址寄存器(mtvex) ........................................................... 20
3.1.10 机器自陷转移寄存器(mtdeleg) ................................................................ 21
3.1.11 机器中断寄存器(mip 和 mie) ................................................................... 22
3.1.12 机器定时器寄存器(mtime、mtimecmp) ................................................. 23
3.1.13 机器 Scratch 寄存器(mscratch) ................................................................ 24
3.1.14 机器异常程序计数器(mepc) .................................................................... 25
3.1.15 机器原因寄存器(mcause) ........................................................................ 25
3.1.16 机器坏地址寄存器(mbadaddr) ................................................................ 26
3.2 机器模式特权指令 ..................................................................................................... 27
3.2.1 改变特权级的指令 ......................................................................................... 27
3.2.2 自陷重定向指令 ............................................................................................. 27
3.2.3 等待中断 ......................................................................................................... 28
3.3 物理存储器属性 ......................................................................................................... 29
3.4 物理存储器访问控制 ................................................................................................. 29
3.5 Mbare 寻址环境 ......................................................................................................... 30
3.6 基址-边界环境 ........................................................................................................... 30
3.6.1 Mbb:单个基址-边界寄存器(mbase,mbound) .................................... 30
3.6.2 Mbbid:分离的指令和数据基址-边界寄存器 ............................................. 31
第 4 章 管理员级 ISA............................................................................................................... 33
4.1 管理员 CSR ................................................................................................................. 33
4.1.1 管理员状态寄存器(sstatus) ...................................................................... 33
4.1.2 sstatus 寄存器中的存储器特权 ..................................................................... 34
4.1.3 管理员中断寄存器(sip 和 sie) .................................................................. 34
4.1.4 管理员定时器寄存器(stime,stimecmp) ................................................ 35
Copyright ©2010-2015, The Regents of the University of California. All rights reserved.
iii
4.1.5 管理员 scratch 寄存器(sscratch) .............................................................. 35
4.1.6 管理员异常程序计数器(sepc) .................................................................. 35
4.1.7 管理员原因寄存器(scause) ...................................................................... 36
4.1.8 管理员坏地址寄存器(sbadaddr) .............................................................. 36
4.1.9 管理员页表基址寄存器(sptbr) ................................................................ 37
4.1.10 管理员地址空间 ID 寄存器(sasid) ........................................................... 37
4.2 管理员指令 ................................................................................................................. 38
4.2.1 管理员存储器管理栅栏指令 ......................................................................... 38
4.3 管理员在 Mbare 环境中的操作 ................................................................................ 39
4.4 管理员在基址边界环境中的操作 ............................................................................. 39
4.5 Sv32:基于页面的 32 位虚拟存储器系统 ............................................................... 39
4.5.1 寻址和存储器保护 ......................................................................................... 39
4.5.2 虚拟地址翻译过程 ......................................................................................... 41
4.6 Sv39:基于页面的 39 位虚拟存储器系统 ............................................................... 42
4.6.1 寻址和存储器保护 ......................................................................................... 42
4.7 Sv48:基于页面的 48 位虚拟存储器系统 ............................................................... 43
4.7.1 寻址和存储器保护 ......................................................................................... 43
第 5 章 Hypervisor 级 ISA ........................................................................................................ 44
第 6 章 RISC-V 特权指令集列表 ............................................................................................. 45
第 7 章 历史 ............................................................................................................................. 46
7.1 资助 ............................................................................................................................. 46
参考文献......................................................................................................................................... 47
Copyright ©2010-2015, The Regents of the University of California. All rights reserved.
1
第1章 介绍
这是一个
RISC-V
特权体系结构描述文档的初始版本。这个版本与我们当
前的实现并不相符。欢迎反馈。在最终发布版本之前,可能会修改。
本文档描述了 RISC-V 特权体系结构,它覆盖了除了用户级 ISA 之外所有的 RISC-V 其他
方面的内容,包括特权指令、运行操作系统所需的额外功能、接入外部设备。
我们的设计考虑,将出现在类似的文本段落内,如果读者只关心规范,则
可以跳过这些段落。
我们清楚地知道,本文档所描述的整个特权级设计,可以被完全不同的另
外一个特权级设计所替代,而不需要修改用户级
ISA
,甚至不需要改变
ABI
。
特别地,整个特权级规范被设计成用于运行现有的操作系统,包含了一个传统
的基于层次的保护模型。其他的特权规范可以包含其他某些更为灵活的保护域
模型。
1.1 RISC-V 硬件平台术语
一个 RISC-V 硬件平台可以包含一个或者多个 RISC-V 兼容的核心、其他非 RISC-V 兼容的
核心、固定功能的加速器、各种物理存储器结构、I/O 设备以及一个允许这些部件相互通信
的互联结构。
一个部件被称为“
核心(
core
)
”,如果它包含了一个独立的指令取指单元。一个 RISC-V
兼容核心可能通过多线程技术支持多个 RISC-V 兼容硬件线程,或者 harts。
一个 RISC-V 核心可能有额外的专有指令集扩展或者一个增加的
协处理器(
coprocessor
)
。
我们使用术语
协处理器
,指的是一个接入到 RISC-V 核心的单元,绝大部分时间被 RISC-V 指
令流序列化,但它包含了一些额外的体系结构状态和指令集扩展,并有可能相对于主要的
RISC-V 指令流来说,有一定的自治。
我们使用术语
加速器(
accelerator
)
,指的是一个要么不能编程的固定功能单元,要么
是一个可以自治工作、但专门用于某项任务的核心。在 RISC-V 系统中,我们预期许多可编
程加速器将会是基于 RISC-V 核心的,包含专门的指令集扩展,和/或定制化的协处理器。一
类重要的 RISC-V 加速器是 I/O 加速器,它将 I/O 处理任务从主要应用核心上卸载负载(offload)。
RISC-V 硬件平台的系统级组织结构,可以从单个核心的微控制器,到一个拥有共享存储
器众核(manycore)服务器作为节点的数千个节点的集群系统。即使是小型的片上系统
(System on a chip)也可能是结构化的,包含层次化的多个计算机和/或多个处理器,以便
能够模块化设计研发或者在不同的子系统之间提供安全隔离。
本文档重点关注运行在一个单处理器或者一个共享存储器多处理器中的每一个 hart(硬
件线程)可以看到的特权体系结构。
Copyright ©2010-2015, The Regents of the University of California. All rights reserved.
2
1.2 RISC-V 特权软件栈术语
本节描述我们用于描述 RISC-V 各种各样可能的特权软件栈中的部件术语。
图 1.1 给出了 RISC-V 体系结构支持的可能的软件栈。最左边的图给出了一个简单的系
统,它只支持单个应用程序运行在一个应用执行环境(Application Execution Environment, AEE)
上。这个应用程序被编码为与一个特定的应用程序二进制接口(Application Binary Interface,
ABI)运行。这个 ABI 包含所支持的用户级 ISA,加上一堆与 AEE 交互的 ABI 调用。ABI 对应
用程序隐藏了 AEE 的细节,使得实现 AEE 具有更大的灵活性。同样的 ABI 可被直接实现在多
个不同的主机操作系统上,或者被一个用户模式下的仿真环境支持,这个仿真环境运行在一
个不同的 ISA 机器上。(译者注:就像虚拟机,或者指令模拟器)
应用
应用
应用
应用
应用
应用
应用
ABI
ABI
ABI
ABI
ABI
ABI
ABI
AEE
OS
OS
OS
SBI
SBI
SBI
SEE
Hypervisor
HBI
HEE
图 1.1:不同实现的栈,支持各种形式的特权执行
在我们的图形表示中,用黑底白字表示抽象接口,将它们与实现接口的具
体部件实例相区分开来。
中间的配置显示了一个传统的操作系统(OS),可支持多个应用程序的多道运行。每个
应用程序通过 ABI 与 OS 通信,OS 提供了 AEE。正如同应用程序通过 ABI 与 AEE 通信一样,
RISC-V 操作系统通过一个管理员二进制接口(Supervisor Binary Interface,SBI)与管理员执
行环境(Supervisor Execution Environment,SEE)通信。一个 SBI 包含了用户级和管理员级
ISA,以及一堆 SBI 函数调用。在所有 SEE 实现中,使用单一的 SBI,允许单一的 OS 二进制
镜像运行于任何 SEE 之上。在低端的硬件平台上,SEE 可以只是一个简单的 boot loader 和
BIOS 类型的 IO 系统,在高端服务器上,SEE 可以是一个提供 hypervisor 的虚拟机,或者在
一个体系结构仿真环境中,SEE 可以是一个运行在主机操作系统上的“很薄的”转换层。
绝大多数管理员级
ISA
定义,并没有将
SBI
和执行环境和
/
或硬件平台进行
区分,使得虚拟化和开发新的硬件平台变得复杂化。
最右侧的配置显示了一个虚拟机监视器配置,此处由一个单一的 hypervisor 支持多个多
道操作系统。每个 OS 通过一个 SBI 与 hypervisor 通信,hypervisor 提供了 SEE。Hypervisor
使用一个 hypervisor 二进制接口(Hypervisor Binary Interface,HBI)与 hypervisor 执行环境
(Hypervisor Execution Environment,HEE)通信,这将把 hypervisor 与具体的硬件平台细节
相隔离。
剩余49页未读,继续阅读
jiewoyimoxiao
- 粉丝: 3
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2022年中国足球球迷营销价值报告.pdf
- 房地产培训 -营销总每天在干嘛.pptx
- 黄色简约实用介绍_汇报PPT模板.pptx
- 嵌入式系统原理及应用:第三章 ARM编程简介_3.pdf
- 多媒体应用系统.pptx
- 黄灰配色简约设计精美大气商务汇报PPT模板.pptx
- 用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-tf2sos-sos2tf-幅相频谱等等.docx
- 网络营销策略-网络营销团队的建立.docx
- 电子商务示范企业申请报告.doc
- 淡雅灰低面风背景完整框架创业商业计划书PPT模板.pptx
- 计算模型与算法技术:10-Iterative Improvement.ppt
- 计算模型与算法技术:9-Greedy Technique.ppt
- 计算模型与算法技术:6-Transform-and-Conquer.ppt
- 云服务安全风险分析研究.pdf
- 软件工程笔记(完整版).doc
- 电子商务网项目实例规划书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0