发新帖我要提问
12
返回列表
[其他]

RISC-V基本介绍(转载)

[复制链接]
楼主: 9dome猫
手机看帖
扫描二维码
随时随地手机跟帖
9dome猫|  楼主 | 2022-5-28 15:55 | 显示全部楼层
一个hart(硬件线程)通常在U-mode下运行应用程序,直到某些自陷(trap,例如一个管理员调用或者一个定时器中断)强制切换到一个自陷处理函数(trap handler)。提升特权级别的自陷称为垂直自陷(vertical trap),而保持在同样特权级别的自陷称为水平自陷(horizontal trap)。

使用特权

评论回复
9dome猫|  楼主 | 2022-5-28 16:01 | 显示全部楼层
例如,下表是已被分配的用户级别(U)的CSR地址:
634456291d6bb0ea72.png

使用特权

评论回复
9dome猫|  楼主 | 2022-5-28 16:02 | 显示全部楼层
特权级别的切换对应于操作系统中用户态到内核态的切换,在内核态中才可以进行系统调用。

使用特权

评论回复
9dome猫|  楼主 | 2022-5-28 16:02 | 显示全部楼层
四、学习资料
1. 官方资料

在RISC-V官网上可以下载基础的ISA手册及特权手册:https://riscv.org/technical/specifications/

开发者在开发前需要阅读架构规范。官方的github主页是:https://github.com/riscv。

使用特权

评论回复
9dome猫|  楼主 | 2022-5-28 16:03 | 显示全部楼层
2. 开发参考

RISC-V只是定义了一套指令集架构规范,没有具体实现的代码,需要开发者根据该架构手册,通过使用硬件描述语言如VHDL编程来具体实现基于RISC-V的处理器,再移植到满足RISC-V需求的硬件平台(处理器芯片或开发板)上去。
使用RISC-V架构的同时,还要配套开发相应的编译器gcc以及调试器如openOCD。

同时RISC-V官方提供了兼容性测试代码,可以测试每一条指令的运行结果,验证开发者的核是否实现了RISC-V规范。、

使用特权

评论回复
9dome猫|  楼主 | 2022-5-28 16:04 | 显示全部楼层
目前基于RISC-V架构的开源处理器有很多,既有标量处理器Rocket,也有超标量处理器BOOM,还有面向嵌入式领域的Z-scale、PicoRV32等。具体有哪些开源处理器项目可以参见:RISC-V架构总结1,开源代码在github上也有很多。

可供学习的一个简单RISC-V核是tinyrisc。该项目实现的是一个单核32位的小型RISC-V处理器核,采用verilog语言编写、

使用特权

评论回复
9dome猫|  楼主 | 2022-5-28 16:04 | 显示全部楼层
总结

RISCV由于其开源性,被大家广泛使用,我们在需要特定的处理器时也可以采用RISCV架构自行开发。同时RISCV具有低功耗的特点,适合嵌入式开发。

使用特权

评论回复
海滨消消| | 2022-6-14 09:31 | 显示全部楼层
这种开源的指令集对国产芯片来说还是意义重大的,国产芯片还是要加油啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则