RISC-V指令集 [第五期“一生一芯”計(jì)劃 - P7]
2023-08-08 21:15 作者:InkyDragon | 我要投稿

PPT:ysyx.oscc.cc/slides/2205/07.html
大綱
- 引言
- 虛假的RISC-V手冊(cè)
- 指令集的評(píng)價(jià)標(biāo)準(zhǔn)
- RISC-V指令集簡(jiǎn)介
- RV32I指令集設(shè)計(jì)選講
- 總結(jié)
-----------------------------------
## 1. 引言
?
00:07
?## 2. 虛假的RISC-V手冊(cè)
?
01:34
?- RV Reader 是一本科普讀物!
- 官方的手冊(cè)(The RISC-V Instruction Set Manual)
rv-isa-man = riscv.org/technical/specifications/
## 3. 指令集的評(píng)價(jià)標(biāo)準(zhǔn)
?
02:50
??
03:33
?芯片越小,成本越低
?
07:32
?越簡(jiǎn)潔,芯片面積越小
越簡(jiǎn)潔,越低的驗(yàn)證成本
?
18:34
?性能 = 程序執(zhí)行時(shí)間
? ? ? ? time? ? ?inst? ? ?cycle? ? ?time perf = ------ = ------ * ------- * ------- ? ? ? ? prog? ? ?prog? ? ?inst? ? ? cycle
- 編譯優(yōu)化:更好的指令集設(shè)計(jì)
- 增加 IPC:體系結(jié)構(gòu)優(yōu)化
- 增加主頻:關(guān)鍵路徑優(yōu)化、后端物理設(shè)計(jì)優(yōu)化
性能公式體現(xiàn)出的設(shè)計(jì)矛盾
- 程序大小 & IPC
- CISC 復(fù)雜指令集:程序小、CPI 大
- RISC 精簡(jiǎn)指令集:程序大、CPI 小
- IPC & 主頻
- 簡(jiǎn)單微結(jié)構(gòu)設(shè)計(jì):IPC 大、主頻低
- 復(fù)雜微結(jié)構(gòu)設(shè)計(jì):IPC 小、主頻高
?
28:03
?原則: 不要讓指令集手冊(cè)的定義約束微結(jié)構(gòu)的實(shí)現(xiàn)
反例: MIPS的延遲槽(delay slot)
?
41:03
?好不好加新指令
- 變長(zhǎng)可以一直加
- 定長(zhǎng)需要省著用
你能不能加新指令:能否自由的添加指令
?
46:21
?越小越好
- 嵌入式:越小成本越低
- 高性能:越小=低功耗+高性能
?
52:17
?- 更多的通用寄存器
- 提供相對(duì)PC的分支和數(shù)據(jù)尋址,可以生成高質(zhì)量的PIC(利于動(dòng)態(tài)鏈接庫)
## 4. RISC-V 指令集簡(jiǎn)介
?
54:38
?起源 UC Berkeley,2021年,自行開發(fā)
目標(biāo):通用 ISA
rv 特色
- 簡(jiǎn)單:相對(duì) x86、ARM
- 干凈:無包袱
- 模塊化:基礎(chǔ)+標(biāo)準(zhǔn)擴(kuò)展+...
- 可擴(kuò)展性、可定制化
- 穩(wěn)定
模塊化
- 基礎(chǔ)整數(shù)指令集
## 5. RV32I 指令集設(shè)計(jì)選講
?
01:15:05
?- 6中指令格式,長(zhǎng)度均為32位
- 均為三地址指令
設(shè)計(jì)細(xì)節(jié)
- 全0、全1均為非法指令
- 立即數(shù)均進(jìn)行符號(hào)擴(kuò)展
立即數(shù)的編碼方式
- 讓硬件易于實(shí)現(xiàn)
U 指令
訪存指令
無條件跳轉(zhuǎn)
## 6. 總結(jié)
?
01:47:35
?- 指令集設(shè)計(jì)體現(xiàn)了架構(gòu)師對(duì)于計(jì)算機(jī)系統(tǒng)的深入理解
- 讀 RV Reader 和官方手冊(cè):闡述了做設(shè)計(jì)背后的原因
標(biāo)簽: