RISC V (RV32+RV64) 架构 整体介绍
文章目录
- riscv 市场
- 芯片介绍
- 软件介绍
- 开发板介绍
- PC介绍
- riscv 架构
- 编程模型(指令集/寄存器/ABI/SBI)
- 运行状态
- 指令集
- 寄存器
- riscv32和riscv64两者的区别
- 非特权级别(u-mode)下不建议访问的指令与寄存器
- ABI
- 扩展指令集
- 异常模型
- 内存模型
- MMU
- 内存一致性
- 缓存一致性
- 原子性
- memory order
- cache
- debug架构
- External Debug
- Self-hosted Debug
- Trace
- BOOT模型
- 虚拟化模型
- 安全模型
- 开发工具
- gcc toolchain & gdb
- qemu
- 常见开发环境
- 软件开发
- riscv SBI 编程
- 裸机(baremetal)开发
- RTOS
- rt-thread
- freertos
- linux
- riscv-linux 镜像
- riscv-linux boot 符号
- debug
- boot
- boot时的内存管理
- 架构相关代码
- 通用知识:如何新增一个架构
- 附录 : RISCV 参考资料
riscv 市场
芯片介绍
- 市场上的riscv芯片
软件介绍
- riscv上的软件列表
开发板介绍
- riscv 开发板 哪吒 boot&硬件解读
PC介绍
- 市面上的单板riscv计算机
- HiFive Unmatched 总览
riscv 架构
- riscv 架构的思考
编程模型(指令集/寄存器/ABI/SBI)
运行状态
没有这个概念
指令集
- riscv 指令集 与 编译链中的riscv指令集
- ARMv7/ARMv8/RV32/RV64指令集及寄存器对比
寄存器
- riscv 寄存器 与 编译链中的riscv寄存器
- riscv 的CSR
riscv32和riscv64两者的区别
非特权级别(u-mode)下不建议访问的指令与寄存器
// 指令
sret/wfi/sfence.wma
// 寄存器
s-mode 的 csr
m-mode 的 csr
ABI
- risc-v与SBI与ABI及riscv常见的ABI及其体现
扩展指令集
- 扩展指令集
异常模型
- riscv的异常与中断及实例
- [工作模式]及实例
M-mode S-mode U-mode debug-mode
内存模型
MMU
- RISC V的MMU
内存一致性
- 内存一致性: A.缓存一致性 B.原子性 C.memory order
缓存一致性
- 缓存一致性问题分类及arm解决方案
- rv的cache
原子性
- 原子操作amoswap
memory order
乱序和屏障1 : 总览 及 编译器内存屏障
乱序和屏障2 : UP单核需要处理的CPU乱序问题
RVWMO 内存一致性模型TODO
cache
高速缓存与一致性专栏索引
cache 概念详解
riscv 的cache 实现
debug架构
External Debug
jtag
Self-hosted Debug
ebreak 指令
Trace
BOOT模型
- 官方 bootflow 介绍1
- 官方 bootflow 介绍2
虚拟化模型
安全模型
开发工具
gcc toolchain & gdb
riscv的编译链1. sifive 发布的 : riscv64-unknown-elf-gcc2. crosstool-ng 发布的 : riscv64-unknown-elf-gcc3. riscv-gnu-toolchain 发布的 : riscv64-unknown-elf-gcc//4. andes 发布的 : win :riscv64-linux-gcc/riscv64-elf-gcc/riscv32-linux-gcc/riscv32-elf-gcc// linux :riscv64-linux-gcc
这里提到过
可以 直接 在 https://github.com/sifive/freedom-tools/releases 下载,December 2020 Tools Release及以前都会有发布https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz可以 用 https://github.com/crosstool-ng/crosstool-ng 的源码 去编译// 生成 为 riscv64-unknown-elf-gcc
可以 用 https://github.com/riscv/riscv-gnu-toolchain 的源码 去编译// 生成为 riscv64-unknown-elf-gcc
- 编译器1 : Crosstool-NG… … 编译出 riscv64-unknown-elf-gcc
- 编译器2 : riscv-gnu-toolchain 编译出 riscv64-unknown-linux-gnu-gcc
- 编译器3 : sifive … … … … …发布的 riscv64-unknown-elf-gcc
- riscv 编译链 转换 C code 到汇编
qemu
- qemu 6.1.0 编译出 qemu-system-riscv32
- ubuntu20.04 安装 qemu-system-misc
qemu 6.1.0 运行参数
qemu 6.1.0 中的仿真板 RISC-V VirtIO board
如何在qemu上添加一个platform 专栏
qemu riscv 开发板介绍
常见开发环境
芯来科技 的 Nuclei SDK
软件开发
riscv SBI 编程
- RISC-V64 opensbi启动过程
- opensbi下的riscv64裸机系列编程1(串口输出)
- opensbi下的riscv64裸机编程2(中断与异常)
裸机(baremetal)开发
PLIC & CLINT
RV64 V扩展编程
riscv代码调试遇到过的问题及坑
ARMv7/ARMv8/RV32/RV64裸机编程中的区别
兼容ARMv7/ARMv8/RV32/RV64的一个裸机qemu工程
TODO : opensbi 在什么时候才会用到MSU 三模式肯定会用到MU 两模式会不会用到?M 一模式会不会用到?
RTOS
rt-thread
基于rv64 的 rt-thread(官方)
基于rv64 的 rt-thread(非官方)及 我的virt64
基于rv32 的 rt-thread(非官方)及 我的virt32
rt-thread cpu 移植
freertos
FreeRTOS的简单认识与各模块的符号
基于RV32 的 FreeRTOS(官方)体验教程
FreeRTOS 在 RV64 qemu-virt 板 上的移植
FreeRTOS 在RISCV上的port
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 启动流程
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 运行流程
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 运行流程 的栈分析
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 运行流程 的Mode分析
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 运行流程 的异常分析
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 锁机制 分析
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的调度时机
linux
riscv-linux 镜像
riscv-linux boot 符号
- arm32-linux boot 符号总览
- rv32-linux boot 符号总览
- rv64-linux boot 符号总览
debug
- gdb调试qemu virt板 rv64 linux 各个过程
- gdb调试qemu virt板 rv32 linux 各个过程
boot
- riscv linux 从加载到start_kernel简版
- riscv linux 参考启动流程
boot时的内存管理
- RISC 架构 linux boot 临时页表 对比 ARM32 ARM64 RV32 RV64
架构相关代码
通用知识:如何新增一个架构
- 将 Linux 移植到新的处理器架构,第 1 部分:基础前言
- 将 Linux 移植到新的处理器架构,第 2 部分:早期代码
附录 : RISCV 参考资料
相关官网网址
https://github.com/riscv-non-isa
https://github.com/riscv
http://crva.ict.ac.cn/
https://riscv.org/
- [riscv-specifications](https://riscv.org/technical/specifications/)
- [riscv教程](https://riscv.org/risc-v-learn-online/)核心
RISC-V-Reader-Chinese-v2p1.pdf : 中文手册
riscv-spec-20191213.pdf : 非特权指令集
riscv-privileged-20190608.pdf : 特权指令集
Design of the RISC-V Instruction Set Architecture EECS-2016-1.pdf
riscv-abi.pdf
riscv-sbi.pdfdebug&trace
riscv-debug-release.pdf riscv-debug-stable.pdf : debug
riscv-trace-spec.pdf : trace
5001-Nexus_11497-DAC10.pdf : trace
debugger_riscv.pdf : Lauterbach debug 相关手册启动
The Standardized Boot flow for RISC-V Platforms.pdf : 启动流程
Summit_bootflow.pdf
ELCE_2019_final_upload.pptx
FOSDEM_2020_Atish.pdf
Linux_plumbers_bootflow.pdf
The_role_of_open_source_firmware_in_RISC-V.pdf虚拟化
A First Look at RISC-V Virtualization from an Embedded Systems Perspective.pdf 简单介绍 : 入门用
RISC-V and Open Hardware BoF
Xvisor: Embedded Hypervisor for RISC-V
risc-v-getting-started-guide.pdf//其他个人资料,辅助理解
https://zhuanlan.zhihu.com/p/102484084
虚拟化: https://github.com/FengWuCB/RVirt
虚拟化: https://github.com/kvm-riscv
指令集 : https://www.cnblogs.com/mikewolf2002/category/1329315.html
debug : https://ithelp.ithome.com.tw/m/articles/10197439
RISC V (RV32+RV64) 架构 整体介绍相关推荐
- ARMv8 ARM64 架构 整体介绍
这里整理一些 arm64(aarch64是armv8下面的一个工作状态,一般我们将其称为arm64?) 在这里不考虑 aarch32 这里的主要内容是 手册 arm ARM arm ARM// cpu ...
- 【收藏】GeoMesa整体架构模块介绍、创建Schema并导入数据
geomesa-accumulo:基于 Apache Accumulo的DataStore 实现 geomesa-archetypes: Maven构建模板 geomesa-arrow: 基于 Apa ...
- 软件架构--架构设计的整体介绍
软件架构--架构设计的整体介绍 1 介绍 1.1 概述 1.2 复杂系统 1.3 架构目标 1.4 架构过程(引用<系统架构:复杂系统的产品设计与开发>) 1.5 系统预测方式 经验 实验 ...
- FusionSphere整体介绍
FusionSphere整体介绍 分类专栏: 云计算 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.cs ...
- 自己动手写处理器之第一阶段(3)——MIPS32指令集架构简单介绍
将陆续上传本人写的新书<自己动手写处理器>(尚未出版).今天是第四篇.我尽量每周四篇 1.4 MIPS32指令集架构简单介绍 本书设计的处理器遵循MIPS32 Release 1架构,所以 ...
- 瑞吉外卖01-项目整体介绍
瑞吉外卖-项目整体介绍 前言 软件开发整体介绍(了解) 软件开发流程 第1阶段: 需求分析 第2阶段: 设计 第3阶段: 编码 第4阶段: 测试 第5阶段: 上线运维 角色分工 软件环境 开发环境(d ...
- 微服务架构总结性介绍 (深度好文)
微服务架构总结性介绍 (深度好文) 资料来源:有架构给我的一些资料,以及自己百度和论坛.社区找来的一些资料,权当做一个总结式的简介... 目录如下: 一.微服务架构介绍 二.出现和发展 三.传统开发模 ...
- Reggie外卖项目 —— 项目开发整体介绍
01.项目开发整体介绍 1.1.项目介绍 1.本项目(瑞吉外卖)是专门为餐饮企业(餐厅.饭店)定制的一款软件产品,包括系统管理后台和移动端应用两部分. 系统管理后台主要提供给餐饮企业内部员工使用,可以 ...
- 常见的系统架构设计介绍
系统架构设计介绍 分布式架构 初始阶段架构 特征 应用服务和数据服务以及文件服务分离 特征 问题 使用缓存改善性能 特征 问题 使用应用服务器集群 特征 描述 问题 数据库读写分离 特征 描述 问题 ...
最新文章
- 支持量子机器学习,王海峰发布最新百度飞桨全景图
- 【LibreOJ】#6395. 「THUPC2018」城市地铁规划 / City 背包DP+Prufer序
- Hadoop学习笔记:MapReduce框架详解
- 清华大学高阳:Mastering Atari Games with Limited Data
- Spring IoC 源码系列(三)Spring 事件发布机制原理分析
- AIX5安装bash
- 深度学习之循环神经网络(11-b)GRU情感分类问题代码
- python中elif和while简单介绍及注意事项(含笔记)
- 蚂蚁集团涵畅:再启程,Service Mesh 前路虽长,尤可期许
- 物联网企业该如何与华为云合作,这份FAQ值得一看
- Sysdig and Falco now powered by eBPF
- dubbo+zookeeper下生产者和消费者配置(基于springboot开发)
- 四款亲试好用的PDF编辑器推荐,看看哪款最适合你
- Windows下搭建PHP扩展开发环境
- 各大邮箱网址用哪个好?企业内部邮箱哪个比较好用?
- 清除缓存-Ctrl+Shift+Delete
- 免费远程控制软件新功能
- 广告推荐论文 博客 项目 汇总
- WPF ListBox等ItemsControl交替(Alternation)变化效果
- 使用ENVI软件中的SARSCAP工具对RADARSAT数据进预处理
热门文章
- Microsoft Office Word 2010-2016中公式不能自动斜体的解决方法
- 【设计模式】工厂模式(Factory Pattern)
- AMBA总线概述——AHB、APB、AXI
- 解决利用<input type=“file“>上传文件时,value拿到的是fakePath问题
- 在澳洲学计算机挣得多吗,2020年澳洲计算机科学专业挂科率高吗?
- 苹果的黑科技:如何让按不动的触控板产生点按的感觉
- 插值与拟合 (二) : 曲线拟合的线性最小二乘法
- 数字集成电路面试常见问题_关于空间级集成电路的常见误解
- Duilib 和 DuiDesigner 简介
- 她二本科毕业,拿到阿里年薪40万offer!经验都记录在这几个公众号日记中