| | | 新版】處理器設計 手把手教你RISC-V CPU(上)胡振波 自制cpu自主 | 該商品所屬分類:圖書 -> | 【市場價】 | 960-1392元 | 【優惠價】 | 600-870元 | 【作者】 | 胡振波芯來科技生態組 | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115568007 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](/c49/33/28100427961.jpg)
出版社:人民郵電出版社 ISBN:9787115568007 商品編碼:28100427961 品牌:鳳凰新華(PHOENIX 出版時間:2021-10-01 頁數:428 代碼:109 作者:胡振波,芯來科技生態組
"![](https://img30.360buyimg.com/vc/jfs/t1/200190/28/22000/1040999/619b379eEc1137ad4/02c5e5f394ec7f6d.jpg)
內容簡介本書繫統地介紹了 CPU 設計技巧和新興開源RISC-V架構,內容翔實,涵蓋開源蜂鳥E203處理器各模塊的具體實現,以及可擴展協處理器的實現機制。為了讓讀者學以致用,本書還集成了大量的實例,用實例把各個模塊的實現方式貫穿起來。 本書適合從事CPU設計的工程師和技術愛好者閱讀。 作者簡介胡振波,芯來科技創辦人兼執行官,中國RISC-V領域的先行者,擁有豐富的處理器內核開發經驗,曾長期就職於外企,擔任處理器內核研發核心崗位負責人。其打造的國內RISC-V開源項目——蜂鳥E203,對國內RISC-V的普及和推廣起到了巨大的推動作用。以胡振波為核心創辦的芯來科技目前已經成為中國先行的RISC-V處理器內核IP和解決方案公司,推出的嵌入式CPU核繫列產品處於中國RISC-V處理器研發與產業化的前列。 目錄第 一部分CPU與RISC-V綜述
第1章 CPU之三生三世2 1.1眼看他起高樓,眼看他宴賓客,眼看他樓塌了—CPU眾生相3 1.1.1ISA—CPU的靈魂4 1.1.2CISC架構與RISC架構5 1.1.332位架構與64位架構6 1.1.4ISA眾生相6 1.1.5CPU的領域之分11 1.2ISA請扛起這口鍋—為什麼國產CPU尚未足夠成熟12 1.2.1MIPS繫—龍芯和君正12 1.2.2x86繫—北大眾志、上海兆芯和天津海光13 1.2.3Power繫—中晟宏芯14 1.2.4Alpha繫—申威14 1.2.5ARM繫—飛騰、海思、展訊14 1.2.6RISC-V繫—平頭哥、芯來科技16 1.2.7背鍋俠ISA16 1.3人生已如此艱難,你又何必拆穿—CPU從業者的無奈18 1.4無敵者是多麼寂寞—ARM統治著的世界19 1.4.1獨樂樂與眾樂樂—ARM公司的盈利模式19 1.4.2小個子有大力量—無處不在的Cortex-M繫列22 1.4.3移動王者—Cortex-A繫列在手持設備領域的巨大成功23 1.4.4進擊的巨人—ARM進軍PC與服務器領域的雄心25 1.4.5ARM當前發展26 1.5東邊日出西邊雨,道是無晴卻有晴—RISC-V登場26 1.5.1緣起名校26 1.5.2興於開源27 1.5.3本土發展29 1.6舊時王謝堂前燕,飛入尋常百姓家—你也可以設計自己的處理器30 第2章 大道至簡—RISC-V架構之魂31 2.1簡單就是美—RISC-V架構的設計理念32 2.1.1無病一身輕—架構的篇幅32 2.1.2能屈能伸—模塊化的指令集34 2.1.3濃縮的都是精華—指令的數量34 2.2RISC-V架構簡介35 2.2.1模塊化的指令集35 2.2.2可配置的通用寄存器組36 2.2.3規整的指令編碼36 2.2.4簡潔的存儲器訪問指令37 2.2.5高效的分支跳轉指令38 2.2.6簡潔的子程序調用38 2.2.7無條件碼執行39 2.2.8無分支延遲槽40 2.2.9零開銷硬件循環指令40 2.2.10簡潔的運算指令40 2.2.11優雅的壓縮指令子集41 2.2.12特權模式42 2.2.13CSR42 2.2.14中斷和異常42 2.2.15P擴展指令子集43 2.2.16矢量指令子集43 2.2.17自定義指令擴展43 2.2.18比較43 2.3RISC-V軟件工具鏈44 2.4RISC-V和其他開放架構有何不同47 2.4.1平民英雄—OpenRISC47 2.4.2豪門顯貴—SPARC48 2.4.3身出名門—MIPS48 2.4.4名校優生—RISC-V49 第3章亂花漸欲迷人眼—盤點RISC-V商業版本與開源版本50 3.1各商業版本與開源版本綜述51 3.1.1Rocket Core51 3.1.2BOOM Core53 3.1.3Freedom E310 SoC54 3.1.4LowRISC SoC54 3.1.5PULPino Core與SoC54 3.1.6PicoRV32 Core55 3.1.7SCR1 Core56 3.1.8ORCA Core56 3.1.9Andes Core56 3.1.10Microsemi Core56 3.1.11Codasip Core57 3.1.12Nuclei Core57 3.1.13蜂鳥E203處理器核與SoC58 3.2小結59 第4章開源RISC-V—蜂鳥E203處理器核與SoC60 4.1與眾不同的蜂鳥E203處理器61 4.2蜂鳥E203處理器簡介—蜂鳥雖小,五髒俱全62 4.3蜂鳥E203處理器的性能指標64 4.4蜂鳥E203處理器的配套SoC64 4.5蜂鳥E203處理器的配置選項66
第二部分手把手教你使用Verilog設計CPU 第5章先見森林,後觀樹木—蜂鳥E203處理器核設計總覽和頂層70 5.1處理器硬件設計概述71 5.1.1架構和微架構71 5.1.2CPU、處理器、Core和處理器核71 5.1.3處理器設計和驗證71 5.2蜂鳥E203處理器核的設計理念72 5.3蜂鳥E203處理器核的RTL代碼風格73 5.3.1使用標準DFF模塊例化生成寄存器73 5.3.2推薦使用assign語法替代if-else和case語法75 5.3.3其他若干注意事項77 5.4蜂鳥E203模塊層次劃分77 5.5蜂鳥E203處理器核的源代碼78 5.6蜂鳥E203處理器核的配置選項78 5.7蜂鳥E203處理器核支持的RISC-V指令子集79 5.8蜂鳥E203處理器核的流水線結構79 5.9蜂鳥E203處理器核的頂層接口79 5.10小結82 第6章流水線不是流水賬—蜂鳥E203處理器核流水線83 6.1處理器流水線概述84 6.1.1從經典的5級流水線說起84 6.1.2可否不要流水線—流水線和狀態機的關繫86 6.1.3深處種菱淺種稻,不深不淺種荷花—流水線的深度86 6.1.4向上生長—越來越深的流水線87 6.1.5向下生長—越來越淺的流水線88 6.2處理器流水線中的亂序88 6.3處理器流水線中的反壓88 6.4處理器流水線中的衝突89 6.4.1流水線中的資源衝突89 6.4.2流水線中的數據衝突90 6.5蜂鳥E203處理器的流水線91 6.5.1流水線總體結構91 6.5.2流水線中的衝突92 6.6小結92 第7章萬事開頭難— 一切從取指令開始93 7.1取指概述94 7.1.1取指特點94 7.1.2如何快速取指95 7.1.3如何處理地址不對齊的指令96 7.1.4如何處理分支指令97 7.2RISC-V架構特點對於取指的簡化102 7.2.1規整的指令編碼格式102 7.2.2指令長度指示碼放於低位102 7.2.3簡單的分支跳轉指令103 7.2.4沒有分支延遲槽指令104 7.2.5提供明確的靜態分支預測依據105 7.2.6提供明確的RAS依據105 7.3蜂鳥E203處理器的取指實現106 7.3.1IFU總體設計思路106 7.3.2簡單譯碼108 7.3.3簡單BPU110 7.3.4PC生成114 7.3.5訪問ITCM和BIU116 7.3.6ITCM120 7.3.7BIU120 7.4小結121 第8章一鼓作氣,執行力是關鍵—執行122 8.1執行概述123 8.1.1指令譯碼123 8.1.2指令執行123 8.1.3流水線的衝突124 8.1.4指令的交付124 8.1.5指令發射、派遣、執行、寫回的順序124 8.1.6分支解析126 8.2RISC-V架構的特點對於執行的簡化126 8.2.1規整的指令編碼格式127 8.2.2優雅的16位指令127 8.2.3精簡的指令個數127 8.2.4整數指令的操作數個數是1或2127 8.3蜂鳥E203處理器的執行實現127 8.3.1執行指令列表128 8.3.2EXU總體設計思路128 8.3.3譯碼129 8.3.4整數通用寄存器組135 8.3.5CSR138 8.3.6指令發射、派遣139 8.3.7流水線衝突、長指令和OITF143 8.3.8ALU149 8.3.9交付162 8.3.10寫回162 8.3.11協處理器擴展162 8.4小結163 第9章善始者實繁,克終者蓋寡—交付164 9.1處理器中指令的交付、取消、衝刷165 9.1.1指令交付、取消、衝刷165 9.1.2指令交付的常見實現策略166 9.2RISC-V架構特點對於交付的簡化166 9.3蜂鳥E203處理器中指令交付的硬件實現167 9.3.1分支預測指令的處理168 9.3.2中斷和異常的處理171 9.3.3多周期執行的指令的交付171 9.4小結172 第10章 讓子彈飛一會兒—寫回173 10.1處理器的寫回174 10.1.1處理器寫回功能簡介174 10.1.2處理器常見寫回策略174 10.2蜂鳥E203處理器的寫回硬件實現174 10.2.1最終寫回仲裁175 10.2.2OITF模塊和長指令寫回仲裁模塊176 10.3小結179 第11章 哈弗還是比亞迪—存儲器181 11.1存儲器概述182 11.1.1誰說處理器一定要有緩存182 11.1.2處理器一定要有存儲器183 11.1.3ITCM和DTCM185 11.2RISC-V架構特點對於存儲器訪問指令的簡化186 11.2.1僅支持小端格式186 11.2.2無地址自增/自減模式186 11.2.3無一次讀多個數據和一次寫多個數據的指令186 11.3RISC-V架構的存儲器訪問指令187 11.3.1存儲器讀和寫指令187 11.3.2fence指令和fence.i指令187 11.3.3A擴展指令集187 11.4蜂鳥E203處理器核的存儲器子繫統硬件實現188 11.4.1存儲器子繫統總體設計思路188 11.4.2AGU188 11.4.3LSU193 11.4.4ITCM和DTCM195 11.4.5A擴展指令集的硬件實現198 11.4.6fence與fence.i指令的硬件實現202 11.4.7BIU204 11.4.8ECC204 11.5小結204 第12章 黑盒子的窗口—總線205 12.1片上總線協議概述206 12.1.1AXI206 12.1.2AHB206 12.1.3APB207 12.1.4TileLink207 12.1.5總結比較207 12.2自定義總線協議ICB208 12.2.1ICB協議簡介208 12.2.2ICB協議信號209 12.2.3ICB協議的時序209 12.3ICB的硬件實現214 12.3.1一主多從214 12.3.2多主一從215 12.3.3多主多從216 12.4蜂鳥E203處理器核BIU217 12.4.1BIU簡介217 12.4.2BIU的微架構218 12.4.3BIU的源代碼218 12.5蜂鳥E203處理器SoC總線219 12.5.1SoC總線簡介219 12.5.2SoC總線的微架構220 12.5.3SoC總線的源代碼220 12.6小結221 第13章 不得不說的故事—中斷和異常222 13.1中斷和異常概述223 13.1.1中斷概述223 13.1.2異常概述224 13.1.3廣義上的異常224 13.2RISC-V架構異常處理機制226 13.2.1進入異常226 13.2.2退出異常229 13.2.3異常服務程序230 13.3RISC-V架構中斷定義231 13.3.1中斷類型231 13.3.2中斷屏蔽233 13.3.3中斷等待233 13.3.4中斷優先級與仲裁234 13.3.5中斷嵌套235 13.4RISC-V架構中與中斷和異常相關的CSR236 13.5蜂鳥E203處理器中異常處理的硬件實現236 13.5.1蜂鳥E203處理器的異常和中斷實現要點236 13.5.2蜂鳥E203處理器支持的中斷和異常類型237 13.5.3蜂鳥E203處理器對mepc寄存器的處理237 13.5.4蜂鳥E203處理器的中斷接口238 13.5.5蜂鳥E203處理器CLINT微架構及源代碼分析239 13.5.6蜂鳥E203處理器PLIC微架構及源代碼分析242 13.5.7蜂鳥E203處理器中交付模塊對中斷和異常的處理244 13.6小結248 第14章 最不起眼的其實是最難的—調試機制249 14.1調試機制概述250 14.1.1交互調試概述250 14.1.2跟蹤調試概述252 14.2RISC-V架構的調試機制252 14.2.1調試器軟件的實現253 14.2.2調試模式253 14.2.3調試指令254 14.2.4調試模式下的CSR254 14.2.5調試中斷254 14.3蜂鳥E203處理器中的調試機制254 14.3.1蜂鳥E203處理器中的交互式調試254 14.3.2DTM255 14.3.3硬件調試模塊256 14.3.4調試中斷處理259 14.3.5調試模式下CSR的實現260 14.3.6調試機制指令的實現261 14.4小結262 第15章 動如脫兔,靜若處子—低功耗的訣竅263 15.1處理器低功耗技術概述264 15.1.1軟件層面的低功耗264 15.1.2繫統層面的低功耗264 15.1.3處理器層面的低功耗265 15.1.4模層面的低功耗265 15.1.5寄存器層面的低功耗266 15.1.6鎖存器層面的低功耗267 15.1.7SRAM層面的低功耗267 15.1.8組合邏輯層面的低功耗267 15.1.9工藝層面的低功耗268 15.2RISC-V架構的低功耗機制268 15.3蜂鳥E203處理器低功耗機制的硬件實現268 15.3.1蜂鳥E203處理器在繫統層面的低功耗268 15.3.2蜂鳥E203處理器層面的低功耗270 15.3.3蜂鳥E203處理層面的低功耗272 15.3.4蜂鳥E203處理器在寄存器層面的低功耗272 15.3.5蜂鳥E203處理器在鎖存器層面的低功耗275 15.3.6蜂鳥E203處理器在SRAM層面的低功耗276 15.3.7蜂鳥E203處理器在組合邏輯層面的低功耗277 15.3.8蜂鳥E203處理器在工藝層面的低功耗278 15.4小結278 第16章 工欲善其事,必先利其器—RISC-V可擴展協處理器279 16.1領域特定架構280 16.2RISC-V架構的可擴展性281 16.2.1RISC-V架構的預留指令編碼空間281 16.2.2RISC-V架構的預定義指令282 16.3蜂鳥E203處理器的協處理器擴展機制—NICE282 16.3.1NICE指令的編碼282
16.3.2NICE協處理器的接口信號283 16.3.3NICE協處理器的流水線接口284 16.3.4NICE協處理器的存儲器接口285 16.3.5NICE協處理器的接口時序286 16.4蜂鳥E203處理器的協處理器參考示例290 16.4.1示例協處理器的實現需求290 16.4.2示例協處理器的自定義指令291 16.4.3示例協處理器的硬件實現292 16.4.4示例協處理器的軟件驅動292 16.4.5示例協處理器的性能分析294
第三部分開發實戰 第17章 先冒個煙—運行Verilog仿真測試298 17.1E203開源項目的代碼層次結構299 17.2E203開源項目的測試用例300 17.2.1riscv-tests自測試用例300 17.2.2編譯ISA自測試用例301 17.3E203 開源項目的測試平臺304 17.4在測試平臺中運行測試用例304 第18章 套上殼子上路—更多實踐308
附錄ARISC-V架構的指令集311 附錄BRISC-V架構的CSR341 附錄CRISC-V架構的PLIC351 附錄D存儲器模型背景359 附錄E存儲器原子操作指令背景364 附錄FRISC-V指令編碼列表367 附錄GRISC-V偽指令列表374
" | | | | | |