欢迎光临散文网 会员登陆 & 注册

RISC-V指令集 [第五期“一生一芯”计划 - P7]

2023-08-08 21:15 作者:InkyDragon  | 我要投稿

PPT:ysyx.oscc.cc/slides/2205/07.html

大纲

  1. 引言
  2. 虚假的RISC-V手册
  3. 指令集的评价标准
  4. RISC-V指令集简介
  5. RV32I指令集设计选讲
  6. 总结


-----------------------------------


## 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
  1. 编译优化:更好的指令集设计
  2. 增加 IPC:体系结构优化
  3. 增加主频:关键路径优化、后端物理设计优化

性能公式体现出的设计矛盾

  1. 程序大小 & IPC
  2. CISC 复杂指令集:程序小、CPI 大
  3. RISC 精简指令集:程序大、CPI 小
  4. IPC & 主频
  5. 简单微结构设计:IPC 大、主频低
  6. 复杂微结构设计: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 和官方手册:阐述了做设计背后的原因




RISC-V指令集 [第五期“一生一芯”计划 - P7]的评论 (共 条)

分享到微博请遵守国家法律