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

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

《開源RISC-V處理器架構分析與驗證》是2024年清華大學出版社出版的圖書,作者是吳慶波、張凡、張留洋、吳喜廣。

基本介紹

  • 中文名:開源RISC-V處理器架構分析與驗證
  • 作者:吳慶波、張凡、張留洋、吳喜廣
  • 出版時間:2024年1月1日
  • 出版社:清華大學出版社
  • ISBN:9787302626497 
  • 定價:79 元
內容簡介,圖書目錄,

內容簡介

本書從處理器指令集架構入手,介紹了RISCV指令集架構,在此基礎上對處理器微架構進行闡述,同時,以Ariane核為例詳述微架構中指令提取、指令解碼、指令發射、指令執行和指令提交,以及存儲管理、中斷和異常處理。除RISC-V核之外,本書還涉及處理器驗證,其中包括UVM、RISC-V驗證框架的搭建、指令發生器和模擬器。

圖書目錄

目錄
第一部分處理器指令集架構
第1章RISCV指令集架構淺析003
1.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
第二部分處理器微架構
第2章微架構頂層分析051
2.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

相關詞條

熱門詞條

聯絡我們