前言


  • 提醒:全文10千字,预计阅读时长15分钟;
  • 读者:对 RISC-V 架构感兴趣的小伙伴;
  • 目的:读者利用15~30 分钟对本文沉浸式阅读理解,能够掌握 RISC-V 架构 80% 的要点;
  • 关键词 :RISC-V架构、指令集 ISA、总线、调试、虚拟化、M 模式、S 模式、 U 模式;
  • 相关推荐:如果你对结构、架构、系统等概念感兴趣,建议阅读架构与系统;
  • 相关推荐:如果你对 RISC-V 组织感兴趣,建议阅读RISC-V International RISC-V China

摘要


本文主要探讨了 RISC-V 架构的底层逻辑,介绍了RISC-V 架构的顶层设计;以处理器核心架构为基础,以系统架构为核心,以A系列和M系列架构为典型,对关键系统组件进行的通俗易懂的描述;本文提到的 RISC-V 架构不包含 GPU、NPU 架构;

一、概念


1.1 计算机体系结构

1.1.1 冯诺依曼架构

  • ​冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
  • 数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。​

1.1.2 哈佛架构

  • 哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。 简介 与两个存储器相对应的是系统的4条总线:程序和数据的数据总线与地址总线。

1.2 指令集架构 ISA

ISA是计算机硬件与系统软件之间的接口,指机器语言程序员或操作系统、编译器、解释器设计人员所看到的计算机功能特性和概念性结构,ISA 是计算机体系结构中非常重要的部分,通常是一套规范。

ISA 规定了数据类型寄存器、字节次序、指令格式指令集寻址方式、协处理器/理指令集扩展、异常处理方式

1.2.1 复杂架构指令集 CISC

复杂指令由微指令组成。

  • Intel :x86(IA32)、x86-64(Intel 64,兼容 IA32 的64位ISA)、IA64 不兼容IA32,安腾系列(x86,EM64T,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4A,SSE4.1,SSE4.2,AVX,AVX2,AVX-512,VMX
  • AMD:AMD64 ISA,第一个兼容IA32的64位 ISA

1.2.1 精简指令集 RISC

  • Arm ISA、RISC-V ISA、LoongArch ISA

1.3 微架构

ISA是一套规范,微架构是ISA的具体实现

  • x86-64 -> Intel Alder lake(golden cove & gracement)、AMD Zen 5
  • Arm -> Armv8-M33Armv8-A710
  • RISC-V ->芯来 N308、SiFive E76-MC、平头哥玄铁
  • LongArch -> GS464E 

1.4 片上系统 SoC

Soc实现计算机体系结构的实现。

  • Intel 12代 i7
  • ST stm32、TI TDA4
  • 芯昇 CM32M43xR
  • 玄铁C908

二、RISC-V 指令集架构


2.1 简介

RISC-V 架构:指的是第五代精简指令集架构,是面向下一代处理器的体系结构。因为没有向前兼容的历史包袱,所以 RISC-V 架构相比 Arm、 x86 等其他架构,可以从零开始设计,简单便成了 RISC-V 架构的设计哲学。

告别过去:曾经死磕 x86、Arm、LoongArch 指令集未果的伙计们,不要自责,看了 RISC-V 的模块化指令集架构,你就明白了到底是谁的错。

方法论:学习 RISC-V 方法论应以指令集为抓手:从核心/基础指令集,到扩展/升级指令集,以自顶向下的思维方法为核心:指令集 -> 微架构 -> 组件 -> 代码,以特定处理器分析为主线,以解放思想为原则。

2.2 模块化指令集

  • RV [32, 64, 128] I, M, A, F, D, G, Q, L, C, B, J, T, P, V, N;
  • DSA 特定领域架构

2.3 清晰的指令格式

  • 格式维度:R,I,S,B,U,J指令;
  • R型指令——用于寄存器与寄存器之间算术运算操作;
  • I 型指令——用于寄存器与立即数之间算术运算和读存储器操作;
  • S型指令——用于写存储器;
  • B型指令——用于分支转移操作(属于S型指令的变体);
  • U型指令——用于高20比特位立即数操作;
  • J型指令——用于直接跳转(属于U型指令的变体)

2.4 清晰的权限层级

  • 用户 U 模式
  • 管理 S 模式
  • 机器 M 模式
  • 特权指令与非特权指令

2.5 整齐划一的标准

  • 特权指令集标准

2.6 灵活的商业模式

  • x86 闭源
  • Arm 闭源 授权
  • RISC-V 闭源 授权 开源

三、RISC-V 微架构


3.1 微架构s

3.1.1芯来 N300

3.1.2 SiFive E76-MC

3.1.3 平头哥玄铁

3.2 微架构魔法

3.2.1 虚拟化

  • M 模式

3.2.2 安全

  • Enclave

四、标准、政策、法规

4.1 标准

图1 RISC-V 标准表
年份 标准 描述 工作组
Reduced integer bases 减少了整数基准
Total Store Ordering 完全存储有序
2022

RISC-V E-Trace

阐明了一种基于分支跟踪的有效的处理器跟踪方法 E-Trace 任务工作组

RISC-V SBI

硬件平台和操作系统内核之间的固件层,被实现为超级用户模式下的二进制接口 平台水平指导委员会

RISC-V UEFI

移植现有 UEFI 标准到 RISC-V 特权软件技术工作组
RISC-V Zmmul 简单的仅乘指令集 非特权指令集架构工作组
2021

源自 risc-v international

4.2 政策

  • 2022.10 《深圳市关于促进半导体与集成电路产业高质量发展的若干措施(征求意见稿)》RISC-V等架构芯片研发 最高奖励1000万元

五、组织、联盟

5.1 中国RISC-V产业联盟 2018

RISC-V 方法论

4.1 设计哲学

4.2 知识体系

4.3 入门方法

4.4 实践指南

总结


RISC-V 架构是非常有前景的指令集架构,值得我们花些时间学习。

参考


  • RISC-V 开源指令集 中文
  • RISC-V SBI 接口
  • RISC-V 特权指令集、非特权指令集、扩展指令集

术语

图灵机

一个抽象的机器、思想模型;

总线 

计算机各种功能部件之间传送信息的公共通信干线;

皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~

“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~

下一篇 「RISC-V Arch」RISC-V 指令集架构 ISA

「RISC-V Arch」 初识 RISC-V相关推荐

  1. 「TCG 规范解读」初识嵌入式和工业工作组

    可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性.TCG于2003年春成立,并采纳了由可信计算平台 ...

  2. 「TCG 规范解读」初识基础设施工作组

    可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性.TCG于2003年春成立,并采纳了由可信计算平台 ...

  3. 「TCG 规范解读」初识云和 DICE 工作组

    可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性.TCG于2003年春成立,并采纳了由可信计算平台 ...

  4. 「TCG 规范解读」初识 TPM 的应用环境

    可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性.TCG于2003年春成立,并采纳了由可信计算平台 ...

  5. 「R shiny基础」交互式入门

    上一节的「R shiny基础」增加一些小控件放在网页中的控件只能说是装饰品,要想真正让用户通过选择不同参数来得到不同结果,还需要这一节的知识 举个例子:我们希望下面网页在左边选择后,右边会有对应的输出 ...

  6. 90后「V神」封神之路:4岁学编程,19岁创办以太坊,4年十亿身家!

    来源:新智元 他眼里闪烁着晶蓝光芒. 看似平平无奇,却是你羡慕的另一个90后「天才少年」. 4岁开始编程,19岁辍学,从此便开创了一段传奇. 他是Vitalik Buterin,人称「V神」,就连俄罗 ...

  7. 少女时代动态android,少女时代攻「V APP」!连续8天live直播大放送

    艺人专属行动影音直播「平台V APP」全球吸睛,Android.iOS版上线后狂掀下载热潮.为扩大满足韩粉期待,「V APP」特别邀请人气女子天团少女时代登上「App Live」新单元,於8月18日至 ...

  8. 回顾2021虚拟与增强现实产业年会暨「金V奖」颁奖盛典

    摘要:6月18日,上海市北高新商务中心! 「金V起航,筑梦未来」,备受期待的2021虚拟与增强现实产业年会暨「金V奖」颁奖盛典将于6月18日13:30在上海市北高新商务中心隆重启幕! 2021虚拟与增 ...

  9. 「Arm Arch」 ISA 指令集

    本文源自<书香度年华>「ARM 架构专栏」,是一系列由浅入深.循序渐进的文章,文章之间有一定的前后关联性,所以按顺序阅读,建议收藏专栏. 目录 一. 摘要 Arm采用精简指令集RISC架构 ...

最新文章

  1. 【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )
  2. 210. 课程表 II
  3. 04.卷积神经网络 W4.特殊应用:人脸识别和神经风格转换(作业:快乐屋人脸识别+图片风格转换)
  4. 【数据结构与算法】哈夫曼树的Java实现
  5. LoadRunner实战
  6. js mysql json字符串转数组中_php数据库数据转换为js中的json对象
  7. 超级详细的手写webpack4配置来启动vue2项目(附配置作用)
  8. 冇内容管理系统JS分析资料 一. attachEvent 的用法
  9. centos安装aria2c_Centos 7 编译安装Aria2
  10. 函数2——*args/**kwargs、作用域、函数的嵌套、关键字globa和nonlocal、函数的注释...
  11. 中国制盐市场销售动态及需求潜力预测报告(新版)2022-2027年
  12. 第十八篇_Class文件
  13. 致远项目管理SPM系统之合同基本信息管理
  14. html插入图片出现红叉,网页上的图片显示为红叉的解决方法
  15. RTMP,RTSP,HLS 流服务器
  16. Android 无标题 全屏设置
  17. VIP网易邮箱,163VIP邮箱,新浪vip等邮箱的对比分析
  18. 前后端开发实用网站推荐
  19. 麻将胡牌算法——C#
  20. Android入门文档

热门文章

  1. 基于Android的仓库管理系统APP设计与实现
  2. Xcode 没有提示
  3. JAVA软件开发了解
  4. 数据守护主备集群搭建
  5. 移动134号段MSISDN号码和IMSI的对应关系(收藏)
  6. android8.1隐藏导航栏,【EMUI8.0】利用ADB命令隐藏导航栏
  7. statusStrip覆盖SplitContainer
  8. 关键词布局对网站优化的影响非同寻常!
  9. 机器学习决策树算法泰坦尼克号乘客生存预测
  10. 三边测量法:通过三点坐标和到三点的距离,返回第4点位置