国产第1页_91在线亚洲_中文字幕成人_99久久久久久_五月宗合网_久久久久国产一区二区三区四区

讀書月攻略拿走直接抄!
歡迎光臨中圖網 請 | 注冊
> >>
處理器架構設計:基于高層次綜合的RISC-V實現

包郵 處理器架構設計:基于高層次綜合的RISC-V實現

出版社:機械工業出版社出版時間:2025-03-01
開本: 16開 頁數: 342
中 圖 價:¥123.5(6.9折) 定價  ¥179.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

處理器架構設計:基于高層次綜合的RISC-V實現 版權信息

處理器架構設計:基于高層次綜合的RISC-V實現 本書特色

·對于本科生,本書是實用的計算機體系結構入門書。相對于Patterson和Hennessy等作者的經典書籍,本書更側重于實踐,從普通流水線到多周期、多線程和多核,逐步實現不同的處理器。
·對于教師,本書是一應俱全的實驗工具包。書中的所有實現都作為GitHub開源項目向讀者開放,并使用定量方法,基于相同的基準測試集來對比不同實現方案的性能。
·對于FPGA工程師,本書是高層次綜合(HLS)和RISC-V實戰指南。書中介紹了Xilinx Vitis工具包中的HLS環境,逐步解釋如何在FPGA上對設計進行實現、仿真和綜合。

處理器架構設計:基于高層次綜合的RISC-V實現 內容簡介

本書是一本非常實用的計算機體系結構入門書,所基于的RISC-V指令集架構是一種開源的機器語言,有望成為主流的設計語言。本書旨在指導讀者動手設計RISC-V處理器,實現不同的處理器組織,如普通流水線、多周期操作流水線、多線程、多核等。在每一步的實現環節,都給出開源的C++ HLS代碼,可以在基于FPGA的開發板上進行集成和測試。本書從設計的角度介紹計算機體系結構,既涵蓋足夠的理論知識,又提供豐富的實驗資源,既可作為面向本科生的計算機體系結構入門教程,又可作為面向FPGA工程師的高層次綜合和RISC-V的實戰指南。

處理器架構設計:基于高層次綜合的RISC-V實現處理器架構設計:基于高層次綜合的RISC-V實現 前言

前 言

處理器體系結構:DIY方式

本書是關于處理器體系結構的又一本新書。盡管本書介紹了多核和多線程設計,但這些新內容并非本書的主題,本書旨在介紹處理器體系結構的設計。
本書借鑒了Douglas Comer所著的知名操作系統教材[1-2]。與Douglas Comer介紹操作系統設計的方式類似,本書使用DIY方式來介紹處理器設計。
Douglas Comer的書使用C源代碼從頭構建了一個完整的操作系統。本書的目標是讓讀者也使用C源代碼從頭開始構建自己的處理器。
讀者只需一臺計算機、一塊開發板(可選)和一套能夠將C語言程序轉換成等效FPGA(現場可編程門陣列)實現的免費軟件。
如果讀者沒有開發板,仍然可以仿真本書中介紹的處理器。

處理器架構設計:基于高層次綜合的RISC-V實現 目錄

譯者序
前 言
致 謝
**部分 單核處理器
第1章 FPGA及高層次綜合概述2
1.1 FPGA中可放置的硬件2
1.2 查找表:一種存儲真值表的硬件3
1.3 組合LUT4
1.4 FPGA的結構6
1.5 FPGA編程7
參考文獻8
第2章 Vitis_HLS、Vivado和Vitis
     IDE工具的設置和使用9
2.1 獲取硬件9
2.2 獲取軟件:Xilinx Vitis工具10
2.3 在Vitis軟件中安裝開發板的定義11
2.4 安裝圖書資源12
2.5 使用軟件12
2.5.1 創建項目12
2.5.2 創建IP16
2.5.3 仿真IP20
2.5.4 綜合IP24
2.6 使用Vivado創建設計32
2.7 加載IP并使用Vitis運行FPGA50
參考文獻61
第3章 RISC-V工具的安裝和使用62
3.1 安裝RISC-V工具鏈和模擬
   器/調試器62
3.1.1 安裝RISC-V工具鏈62
3.1.2 spike模擬器64
3.1.3 為基于RISC-V FPGA的處理
   器構建可執行代碼67
3.2 使用GDB進行調試68
3.2.1 安裝GDB69
3.2.2 安裝OpenOCD69
3.2.3 定義與spike模擬器兼容的
    鏈接器描述文件69
3.2.4 使用鏈接器描述文件進行
   編譯70
3.2.5 為OpenOCD定義spike配置
   文件70
3.2.6 連接spike、OpenOCD和GDB70
3.2.7 調試過程71
3.3 使用GDB調試復雜代碼73
第4章 RISC-V體系結構77
4.1 RISC-V指令集體系結構77
4.1.1 RV32I寄存器和RISC-V
   應用程序二進制接口77
4.1.2 RV32I指令79
4.1.3 RV32I指令格式80
4.1.4 匯編語法84
4.2 代碼示例86
4.2.1 表達式86
4.2.2 測試87
4.2.3 循環89
4.2.4 函數調用89
參考文獻91
第5章 構建具有“取指”“譯碼”
        和“執行”功能的處理器92
5.1 HLS編程的一般概念92
5.1.1 關鍵路徑92
5.1.2 使用更多的計算來減少關鍵
   路徑93
5.1.3 并行執行93
5.2 基本的處理器執行時間公式94
5.3 **步:構建更新pc的通路95
5.3.1 fetching_ip設計95
5.3.2 fetching_ip頂層函數96
5.3.3 fetch函數99
5.3.4 execute函數101
5.3.5 IP運行條件101
5.3.6 使用測試平臺進行IP仿真102
5.3.7 仿真輸出102
5.3.8 fetching_ip綜合103
5.3.9 z1_fetching_ip Vivado項目105
5.3.10 在FPGA上驅動fetching_ip
      的helloworld.c程序106
5.4 第二步:添加一點譯碼操作來
  計算下一個pc107
5.4.1 RISC-V指令編碼107
5.4.2 fetching_decoding_ip110
5.4.3 fetching_decoding_ip.h文件112
5.4.4 fetch函數和running_cond_
   update函數114
5.4.5 decode函數114
5.4.6 指令執行(計算下一個pc)116
5.4.7 使用測試平臺模擬
   fetching_decoding_ip118
5.4.8 fetching_decoding_ip的綜合119
5.4.9 z1_fetching_decoding_ip
   Vivado項目119
5.4.10 驅動fetching_decoding_ip
     的helloworld.c代碼121
5.5 第三步:填充執行級來構建
  寄存器通路121
5.5.1 取指、譯碼和執行IP:
   fde_ip設計121
5.5.2 兩種調試工具:寄存器文件
   轉存和代碼反匯編123
5.5.3 IP的運行條件124
5.5.4 fde_ip.h文件124
5.5.5 譯碼函數和執行函數126
5.5.6 寄存器文件127
5.5.7 計算128
5.5.8 使用測試平臺模擬fde_ip132
5.5.9 fde_ip綜合138
5.5.10 z1_fde_ip Vivado項目138
5.5.11 使用helloworld.c程序
    驅動FPGA中的fde_ip139
參考文獻140
第6章 構建RISC-V處理器141
6.1 rv32i_npp_ip頂層函數141
6.1.1 rv32i_npp_ip頂層函數原型、
   局部聲明和初始化141
6.1.2 do…while循環142
6.2 譯碼更新143
6.3 數據存儲器訪問:對齊和大小端143
6.4 execute函數144
6.4.1 訪存地址的計算144
6.4.2 compute_result函數145
6.4.3 mem_store函數146
6.4.4 mem_load函數147
6.4.5 write_reg函數148
6.5 用測試平臺模擬rv32i_npp_ip149
6.6 rv32i_npp_ip的綜合153
6.7 z1_rv32i_npp_ip Vivado項目154
6.8 在FPGA上驅動rv32i_npp_ip
   的helloworld.c程序154
第7章 測試RISC-V處理器156
7.1 用本書的測試程序測試
   rv32i_npp_ip處理器156
7.2 使用官方riscv-tests進行更多測試156
7.2.1 用spike運行riscv-tests156
7.2.2 riscv-tests結構157
7.2.3 使riscv-tests結構適配
   Vitis_HLS環境160
7.2.4 添加_start.S程序將所有
   測試合并161
7.2.5 在Vitis_HLS中仿真測試
   的testbench162
7.2.6 在Vitis_HLS環境中運行
   riscv-tests163
7.2.7 在FPGA上測試167
7.3 在rv32i_npp_ip處理器上運行
  基準測試集168
7.3.1 mibench測試集中的
   basicmath_small基準
   測試169
7.3.2 在FPGA上運行basicmath_
   small基準測試174
7.3.3 mibench測試集的其他
   基準測試176
7.3.4 mibench和riscv-tests基準
   在rv32i_npp_ip實現上的
   執行時間176
7.4 建議練習:RISC-V的M和F
   指令擴展177
7.4.1 使rv32i_npp_ip設計適應
   RISC-V的M擴展177
7.4.2 使rv32i_npp_ip設計適應
   RISC-V的F擴展178
7.5 調試提示179
7.5.1 綜合不是仿真:可以禁用
   仿真的某些部分179
7.5.2 無限仿真:用for循環替換
   do…while循環179
7.5.3 Frozen IP On FPGA:檢查
   ap_int和ap_uint變量179
7.5.4 Frozen IP On FPGA:檢查
   #ifndef__SYNTHESIS__
   內部的計算180
7.5.5 Frozen IP On FPGA:用
   for循環代替“while
    (!IsDone(...)); ”循環180
7.5.6 Frozen IP On FPGA:減少
   RISC-V代碼的運行180
7.5.7 FPGA上的非確定性行為:
   檢查初始化180
7.5.8 在FPGA上運行時的調試
   輸出180
參考文獻180
第8章 構建流水線RISC-V處理器181
8.1 **步:流水線控制181
8.1.1 非流水線微架構與流水線
   微架構的區別181
8.1.2 流水級之間的連接結構182
8.1.3 IP頂層函數183
8.1.4 流水線中的控制流指令
   處理185
8.1.5 fetch_decode流水級186
8.1.6 execute_wb流水級186
8.1.7 IP的仿真與綜合188
8.1.8 使用IP的Vivado項目189
8.1.9 在開發板上運行Vivado
   項目190
8.1.10 simple_pipeline_ip的進
   一步測試191
8.1.11 非流水線設計與流水線
    設計的比較191
8.2 第二步:將流水線分成多個
  流水級192
8.2.1 四級流水線192
8.2.2 流水級之間的連接192
8.2.3 fetch_decode流水級的
   decode部分194
8.2.4 IP的頂層函數194
8.2.5 執行階段的旁路機制195
8.2.6 執行階段197
8.2.7 內存載入冒險201
8.2.8 訪存階段202
8.2.9 寫回階段202
8.2.10 testbench函數203
8.2.11 IP綜合204
8.2.12 Vivado項目204
8.2.13 Vivado項目在開發板上
    的執行情況205
8.2.14 rv32i_pp_ip的進一步測試206
8.3 比較二級流水線與四級流水線206
第9章 構建多周期流水線RISC-V
    處理器208
9.1 流水線與多周期流水線的區別208
9.1.1 凍結流水級的等待信號208
9.1.2 有效的輸入位和輸出位209
9.1.3 取指并計算下一個pc209
9.1.4 多周期流水級的安全結構210
9.1.5 多個多周期流水級210
9.2 IP的頂層函數211
9.3 流水級213
9.3.1 取指階段213
9.3.2 譯碼階段215
9.3.3 發射階段217
9.3.4 執行階段222
9.3.5 訪存階段226
9.3.6 寫回階段227
9.4 仿真、綜合與運行IP228
9.4.1 IP仿真與綜合228
9.4.2 Vivado項目及實現報告229
9.4.3 在開發板上運行IP230
9.4.4 multicycle_pipeline_ip的
   進一步測試231
9.5 比較多周期流水線與四級流水線231
9.6 建議練習:將II減少到1233
參考文獻234
第10章 使用多hart流水線構建
      RISC-V處理器235
10.1 使用多hart處理器同時處理
   多個線程235
10.2 多hart內存模型236
10.3 multihart流水線238
10.3.1 hart的數量239
10.3.2 multihart的流水級狀態240
10.3.3 占用信息數組243
10.3.4 multihart_ip的頂層函數243
10.3.5 將_to_結構復制到_from_
    結構的new_cycle函數249
10.3.6 multihart取指階段250
10.3.7 譯碼階段252
10.3.8 發射階段253
10.3.9 執行階段256
10.3.10 訪存階段257
10.3.11 寫回階段260
10.3.12 lock_unlock_update函數262
10.3.13 run_cond_update函數262
10.4 模擬multihart_ip263
10.4.1 用不相關的代碼填充hart263
10.4.2 用并行化代碼填充hart265
10.5 綜合IP269
10.6 Vivado項目和實施報告269
10.7 在開發板上運行multihart_ip271
10.7.1 運行獨立代碼271
10.7.2 運行并行應用程序272
10.7.3 multihart_ip的進一步測試273
10.8 比較multihart_ip與四級流
   水線274
10.8.1 兩個hart274
10.8.2 四個hart275
10.8.3 八個hart276
參考文獻276
第二部分 多核處理器
第11章 連接IP278
11.1 AXI interconnect系統278
11.2 使用外部存儲器IP的非流水
   RISC-V處理器279
11.2.1 具有BRAM接口的頂層
    函數279
11.2.2 IP的綜合280
11.2.3 Vivado項目280
11.2.4 在開發板上運行IP284
11.3 通過AXI interconnect連接
    多個CPU和多塊RAM285
11.3.1 多IP設計285
11.3.2 CPU的頂層函數286
11.3.3 CPU頭文件和testbench
    代碼287
11.4 多IP設計的仿真、綜合和運行288
11.4.1 仿真288
11.4.2 綜合289
11.4.3 Vivado項目289
11.4.4 運行多IP設計294
第12章 多核RISC-V處理器296
12.1 multicycle_pipeline_ip到多核
   的適配296
12.1.1 向頂層函數原型添加IP的編號297
12.1.2 IP頂層函數聲明298
12.1.3 IP頂層函數初始化298
12.1.4 IP頂層函數主循環299
12.1.5 寄存器文件初始化299
12.1.6 訪存300
12.2 仿真IP303
12.2.1 在不同的IP上仿真獨立的
    程序303
12.2.2 仿真并行的程序305
12.3 綜合IP309
12.4 Vivado項目309
12.5 在開發板上運行IP311
12.5.1 運行獨立的程序311
12.5.2 運行并行的程序312
12.6 評估多核IP的并行效率314
參考文獻315
第13章 基于multihart核的多核
     RISC-V處理器316
13.1 從multihart_ip到多核316
13.1.1 multihart IP多核的頂層
   函數原型和局部聲明316
13.1.2 數據存儲器的訪問319
13.2 仿真IP322
13.2.1 仿真獨立的程序322
13.2.2 仿真并行的程序325
13.2.3 綜合IP328
13.2.4 Vivado項目328
13.3 在開發板上運行IP329
13.3.1 運行獨立的程序329
13.3.2 運行并行的程序331
13.4 評估多核multihart IP的并行
   效率333
第14章 使用Pynq-Z1/Z2開發
      板上的LED和按鈕進行
     探索335
14.1 訪問開發板上的按鈕和LED
  的Zynq設計335
14.2 通過RISC-V處理器訪問按鈕
  和LED的設計336
14.3 結論339
縮略詞340
展開全部

處理器架構設計:基于高層次綜合的RISC-V實現 作者簡介

伯納德·古森斯(Bernard Goossens)
法國佩皮尼昂大學理學院教授,研究領域包括處理器微架構、計算機系統等。著有Architecture et micro-architecture des processeurs(Springer,2002)(法語)。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 国产精品狼人久久久久影院 | 老汉色老汉首页a亚洲 | 亚洲午夜理论片在线观看 | 黄色软件免费视频 | 日本真人边吃奶边做爽电影 | 国产成人久久一区二区三区 | 999精品在线| 久久人妻少妇嫩草av蜜桃 | 美女张开腿让男生桶 | 国产午夜亚洲精品久久999 | aiai视频在线观看 | 欧洲美女粗暴牲交免费观看 | 熟妇人妻系列av无码一区二区 | 日本精品a在线观看 | 永久免费观看国产裸体美女 | 国内精品免费视频自在线 | 亚洲国产综合无码一区 | 美女的mm视频网站 | 毛片观看网址 | 青青草原伊人网 | 国产爆乳无码视频在线观看3 | 成人网久久 | 精品无码久久久久久久久水蜜桃 | 国产麻豆媒一区一区二区三区 | 成人久久免费网站 | 七次郎在线观看视频国产 | 国产精品成人影院在线观看 | 欧美毛片在线播放观看 | 久久99精品久久久久久噜噜噜 | 欧美午夜特黄aaaaaa片 | 中文字幕婷婷 | 日日摸夜夜添夜夜添特色大片 | 欧美成人片一区二区三区 | 国内精品久久久久影院不卡 | a级黄色毛片免费播放视频 a级黄色毛片视频 | 香蕉视频在线观看亚洲 | 久久婷婷影院 | 中文字幕人妻丝袜成熟乱 | 亚洲国产精品久久综合 | 欧美激情精品久久久久 | 日本一级特黄毛片高清视频 |