開源 RISC-V 處理器架構分析與驗證

吳慶波、張凡、張留洋、吳喜廣

  • 出版商: 清華大學
  • 出版日期: 2024-01-01
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • ISBN: 7302626499
  • ISBN-13: 9787302626497
  • 相關分類: RISC-V
  • 立即出貨

  • 開源 RISC-V 處理器架構分析與驗證-preview-1
  • 開源 RISC-V 處理器架構分析與驗證-preview-2
  • 開源 RISC-V 處理器架構分析與驗證-preview-3
開源 RISC-V 處理器架構分析與驗證-preview-1

買這商品的人也買了...

商品描述

本書從處理器指令集架構入手,介紹了RISCV指令集架構,在此基礎上對處理器微架構進行闡述,同時,以Ariane核為例詳述微架構中指令提取、指令解碼、指令發射、指令執行和指令提交,以及存儲管理、中斷和異常處理。除RISCV核之外,本書還涉及處理器驗證,其中包括UVM、RISCV驗證框架的搭建、指令發生器和模擬器。 本書適合作為大專院校學生學習RISCV指令集微架構以及芯片驗證的入門教材,也可供RISCV處理器設計與驗證相關工程技術人員或研究人員參考。

目錄大綱

目錄

 

 

第一部分處理器指令集架構

第1章RISCV指令集架構淺析0031.1指令集架構003

1.1.1復雜指令集電腦與精簡指令集電腦003

1.1.2經典指令集005

1.1.3RISCV009

1.2RISCV指令集簡介010

1.3RISCV基礎指令集011

1.3.1算術與邏輯操作指令013

1.3.2控制轉移指令017

1.3.3內存訪問指令019

1.3.4控制和狀態指令021

1.4RISCV擴展指令集023

1.4.1RV32M整數乘除法指令023

1.4.2RV32A原子指令024

1.4.3RV32C壓縮指令027

1.4.4RV32F單精度浮點指令034

1.4.5RV32D雙精度浮點指令039

1.5RISCV 64位基礎指令044

1.6RISCV特權指令046

1.7本章小結047 開源RISCV處理器架構分析與驗證目錄 第二部分處理器微架構

第2章微架構頂層分析0512.1流水線051

2.1.1RISCV指令集052

2.1.2流水化實現053

2.1.3流水線性能055

2.1.4流水線冒險058

2.1.5分支預測063

2.1.6標量流水線局限性063

2.2Ariane微架構064

2.2.1Ariane簡介064

2.2.2頂層接口065

2.2.3流水線架構068

2.2.4數據流071

2.2.5模塊層次072

2.3本章小結074

第3章指令提取075

3.1指令提取概述075

3.2分支預測算法076

3.2.12位飽和計數器077

3.2.2兩級分支預測器078

3.2.3Gshare分支預測器079

3.2.4分支目標緩沖器080

3.2.5返回地址堆棧080

3.3指令提取單元設計081

3.3.1整體設計081

3.3.2指令重對齊085

3.3.3分支檢測087

3.3.4分支預測088

3.3.5指令隊列089

3.3.6取指地址091

3.4本章小結091

第4章指令解碼092

4.1指令解碼概述092

4.1.1壓縮指令093

4.1.2解碼異常094

4.2指令解碼單元設計095

4.2.1整體設計095

4.2.2壓縮指令解碼098

4.2.3標準指令解碼100

4.3本章小結102

第5章指令發射103

5.1單發射和多發射103

5.2順序發射和亂序發射104

5.3指令動態調度105

5.4指令發射單元設計108

5.4.1整體設計108

5.4.2Scoreboard模塊實現113

5.4.3Issue_Read_Operands模塊實現116

5.5本章小結116

第6章指令執行117

6.1指令執行概述117

6.2指令執行單元設計119

6.2.1整體設計119

6.2.2LSU模塊設計123

6.2.3FLU模塊設計126

6.2.4FPU模塊設計131

6.3本章小結137

第7章指令提交138

7.1指令提交概述138

7.2指令提交單元設計139

7.2.1整體設計140

7.2.2Commit_Stage模塊實現142

7.2.3Controller模塊實現146

7.3本章小結148

第8章存儲管理149

8.1緩存原理149

8.1.1緩存組織結構150

8.1.2緩存寫入策略152

8.1.3緩存替換算法153

8.1.4緩存優化155

8.2緩存設計156

8.2.1整體設計156

8.2.2指令緩存模塊設計158

8.2.3數據緩存模塊設計160

8.3存儲管理部件166

8.3.1虛擬內存167

8.3.2地址轉換170

8.4存儲管理部件設計176

8.5本章小結179

第9章中斷和異常180

9.1中斷和異常概述181

9.2異常處理機制183

9.2.1異常處理過程183

9.2.2寄存器說明184

9.3中斷控制平臺189

9.3.1中斷源190

9.3.2中斷目標192

9.3.3中斷處理流程192

9.4中斷和異常設計實例193

9.4.1異常產生和處理193

9.4.2PLIC模塊195

9.4.3CLINT模塊199

9.5本章小結200

第三部分處理器驗證

第10章UVM簡介20310.1UVM概述203

10.1.1驗證方法學概述204

10.1.2驗證方法學的發展史205

10.2UVM基本概念206

10.2.1UVM類的說明207

10.2.2UVM樹形結構209

10.2.3UVM運行機制210

10.3UVM組件介紹219

10.3.1uvm_test219

10.3.2uvm_env221

10.3.3uvm_agent222

10.3.4uvm_driver224

10.3.5uvm_monitor225

10.3.6uvm_scoreboard225

10.3.7uvm_sequence和uvm_sequencer225

10.3.8reference model228

10.3.9tb_interface228

10.4本章小結229

第11章RISCV驗證框架230

11.1通用驗證框架230

11.1.1驗證測試點232

11.1.2驗證層次233

11.1.3驗證透明度236

11.1.4驗證激勵約束240

11.1.5驗證檢測機制244

11.1.6驗證集成環境246

11.2RISCV驗證特點249

11.2.1指令發包器隨機性249

11.2.2指令集模擬器準確性251

11.2.3覆蓋率模型完備性252

11.3本章小結253

第12章RISCV指令發生器254

12.1RISCVDV概述254

12.1.1特性簡介254

12.1.2驗證流程255

12.1.3測試用例集256

12.2RISCVDV使用方法256

12.2.1軟件安裝257

12.2.2運行指令發生器258

12.2.3命令說明259

12.2.4YAML配置261

12.3RISCVDV結構分析264

12.3.1模擬激勵xaction264

12.3.2Generator267

12.3.3測試用例269

12.3.4擴展說明270

12.4本章小結271

第13章RISCV指令集模擬器272

13.1RISCV指令集模擬器概述272

13.2Spike概述273

13.2.1特性簡介273

13.2.2軟件棧分析274

13.3Spike使用方法275

13.3.1軟件安裝275

13.3.2命令解析275

13.3.3運行示例277

13.3.4Log文件分析277

13.3.5運行Linux278

13.4Spike源代碼分析279

13.4.1代碼目錄結構279

13.4.2靜態結構281

13.4.3啟動流程282

13.5Spike擴展284

13.5.1定製Log284

13.5.2擴展指令286

13.5.3擴展外設286

13.6本章小結288