RISC-V指令集 [第五期“一生一芯”计划 - P7]
2023-08-08 21:15 作者:InkyDragon | 我要投稿

PPT:ysyx.oscc.cc/slides/2205/07.html
大纲
- 引言
- 虚假的RISC-V手册
- 指令集的评价标准
- RISC-V指令集简介
- RV32I指令集设计选讲
- 总结
-----------------------------------
## 1. 引言
00:07
## 2. 虚假的RISC-V手册
01:34
- RV Reader 是一本科普读物!
- 官方的手册(The RISC-V Instruction Set Manual)
rv-isa-man = riscv.org/technical/specifications/
## 3. 指令集的评价标准
02:50
03:33
芯片越小,成本越低
07:32
越简洁,芯片面积越小
越简洁,越低的验证成本
18:34
性能 = 程序执行时间
time inst cycle time perf = ------ = ------ * ------- * ------- prog prog inst cycle
- 编译优化:更好的指令集设计
- 增加 IPC:体系结构优化
- 增加主频:关键路径优化、后端物理设计优化
性能公式体现出的设计矛盾
- 程序大小 & IPC
- CISC 复杂指令集:程序小、CPI 大
- RISC 精简指令集:程序大、CPI 小
- IPC & 主频
- 简单微结构设计:IPC 大、主频低
- 复杂微结构设计:IPC 小、主频高
28:03
原则: 不要让指令集手册的定义约束微结构的实现
反例: MIPS的延迟槽(delay slot)
41:03
好不好加新指令
- 变长可以一直加
- 定长需要省着用
你能不能加新指令:能否自由的添加指令
46:21
越小越好
- 嵌入式:越小成本越低
- 高性能:越小=低功耗+高性能
52:17
- 更多的通用寄存器
- 提供相对PC的分支和数据寻址,可以生成高质量的PIC(利于动态链接库)
## 4. RISC-V 指令集简介
54:38
起源 UC Berkeley,2021年,自行开发
目标:通用 ISA
rv 特色
- 简单:相对 x86、ARM
- 干净:无包袱
- 模块化:基础+标准扩展+...
- 可扩展性、可定制化
- 稳定
模块化
- 基础整数指令集
## 5. RV32I 指令集设计选讲
01:15:05
- 6中指令格式,长度均为32位
- 均为三地址指令
设计细节
- 全0、全1均为非法指令
- 立即数均进行符号扩展
立即数的编码方式
- 让硬件易于实现
U 指令
访存指令
无条件跳转
## 6. 总结
01:47:35
- 指令集设计体现了架构师对于计算机系统的深入理解
- 读 RV Reader 和官方手册:阐述了做设计背后的原因