YL19885 9787115480521 9787121339011
手把手教你設計CPU——RISC-V處理器篇
內容簡介
本書是一本介紹通用CPU設計的入門書,以通俗的語言係統介紹瞭CPU和RISC-V架構,力求為讀者揭開CPU設計的神秘麵紗,打開計算機體係結構的大門。
本書共分為四部分。一部分是CPU與RISC-V的綜述,幫助初學者對CPU和RISC-V快速地建立起認識。二部分講解如何使用Verilog設計CPU,使讀者掌握處理器核的設計精髓。三部分主要介紹
蜂鳥E203配套的SoC和軟件平颱,使讀者實現蜂鳥E203 RISC-V處理器在FPGA原型平颱上的運行。四部分是附錄,介紹瞭RISC-V指令集架構,輔以作者加入的背景知識解讀和注解,以便於讀者理
解。
本書不僅適閤CPU或芯片設計相關從業者閱讀使用,也適閤作為大中專院校相關師生學習RISC-V處理器設計(使用Verilog語言)和CPU設計的指導用書。
一部分 CPU與RISC-V綜述
目錄
1章 一文讀懂CPU之三生三世 2
1.1 眼看他起高樓,眼看他宴賓客,眼看他樓塌瞭——CPU眾生相 3
1.1.1 ISA——CPU的靈魂 4
1.1.2 CISC與RISC 5
1.1.3 32位與64位架構 6
1.1.4 ISA眾生相 6
1.1.5 CPU的領域之分 10
1.2 ISA請扛起這口鍋——為什麼國産CPU尚未足夠成功 12
1.2.1 MIPS係——龍芯和君正 12
1.2.2 x86係——北大眾誌、兆芯和海光 13
1.2.3 Power係——中晟宏芯 13
1.2.4 Alpha係——申威 14
1.2.5 ARM係——飛騰、華為海思、展訊和華芯通 14
1.2.6 背鍋俠ISA 15
1.3 人生已是如此艱難,你又何必拆穿——CPU從業者的無奈 17
1.4 *敵是多麼寂寞——ARM統治著的世界 18
1.4.1 獨樂樂與眾樂樂——ARM公司的盈利模式 18
1.4.2 小個子有大力量——無處不在的Cortex-M係列 21
1.4.3 移動*者——Cortex-A係列在手持設備領域的巨大成功 23
1.4.4 進擊的巨人——ARM進軍PC與服務器領域的雄心 25
1.5 東邊日齣西邊雨,道是無晴卻有晴——RISC-V登場 25
1.6 原來你是這樣的“薯片”——ARM的免費計劃 28
1.7 舊時王謝堂前燕,飛入尋常百姓傢——你也可以設計自己的處理器 28
2章 大道至簡——RISC-V架構之魂 29
2.1 簡單就是美——RISC-V架構的設計哲學 30
2.1.1 無病一身輕——架構的篇幅 30
2.1.2 能屈能伸——模塊化的指令集 32
2.1.3 濃縮的都是精華——指令的數量 32
2.2 RISC-V指令集架構簡介 33
2.2.1 模塊化的指令子集 33
2.2.2 可配置的通用寄存器組 34
2.2.3 規整的指令編碼 34
2.2.4 簡潔的存儲器訪問指令 34
2.2.5 *效的分支跳轉指令 35
2.2.6 簡潔的子程序調用 36
2.2.7 無條件碼執行 37
2.2.8 無分支延遲槽 37
2.2.9 零開銷硬件循環 38
2.2.10 簡潔的運算指令 38
2.2.11 優雅的壓縮指令子集 39
2.2.12 特權模式 40
2.2.13 CSR寄存器 40
2.2.14 中斷和異常 40
2.2.15 矢量指令子集 40
2.2.16 自定製指令擴展 41
2.2.17 總結與比較 41
2.3 RISC-V軟件工具鏈 42
2.4 RISC-V和其他開放架構有何不同 44
2.4.1 平民英雄——OpenRISC 44
2.4.2 豪門顯貴——SPARC 44
2.4.3 名校優生——RISC-V 45
3章 亂花漸欲迷人眼——盤點RISC-V商業版本與開源版本 46
3.1 各商業版本與開源版本綜述 47
3.1.1 Rocket Core(開源) 47
3.1.2 BOOM Core(開源) 49
3.1.3 Freedom SoC(開源) 50
3.1.4 LowRISC SoC(開源) 50
3.1.5 PULPino Core and SoC(開源) 50
3.1.6 PicoRV32 Core(開源) 51
3.1.7 SCR1 Core(開源) 51
3.1.8 ORCA Core(開源) 51
3.1.9 Andes Core(商業IP) 52
3.1.10 Microsemi Core(商業IP) 52
3.1.11 Codasip Core(商業IP) 53
3.1.12 蜂鳥E200 Core與SoC(開源) 53
3.2 總結 53
4章 開源RISC-V——蜂鳥E200係列低功耗Core與SoC 54
4.1 與眾不同的蜂鳥E200處理器 55
4.2 蜂鳥E200簡介——蜂鳥雖小,五髒俱全 56
4.3 蜂鳥E200型號係列 57
4.4 蜂鳥E200性能指標 58
4.5 蜂鳥E200配套SoC 59
4.6 蜂鳥E200配置選項 60
二部分 手把手教你使用Verilog設計CPU
5章 先見森林,後觀樹木——蜂鳥E200設計總覽和頂層介紹 65
5.1 處理器硬件設計概述 66
5.1.1 架構和微架構 66
5.1.2 CPU、處理器、Core和處理器核 66
5.1.3 處理器設計和驗證的特點 66
5.2 蜂鳥E200處理器核設計哲學 67
5.3 蜂鳥E200處理器核RTL代碼風格介紹 68
5.3.1 使用標準DFF模塊例化生成寄存器 68
5.3.2 推薦使用assign語法替代if-else和case語法 70
5.3.3 其他若乾注意事項 71
5.3.4 小結 72
5.4 蜂鳥E200模塊層次劃分 72
5.5 蜂鳥E200處理器核源代碼 73
5.6 蜂鳥E200處理器核配置選項 73
5.7 蜂鳥E200處理器核支持的RISC-V指令子集 74
5.8 蜂鳥E200處理器流水綫結構 74
5.9 蜂鳥E200處理器核頂層接口介紹 74
5.10 總結 77
6章 流水綫不是流水賬——蜂鳥E200流水綫介紹 78
6.1 處理器流水綫概述 79
6.1.1 從經典的五級流水綫說起 79
6.1.2 可否不要流水綫——流水綫和狀態機的關係 81
6.1.3 深處種菱淺種稻,不深不淺種荷花——流水綫的深度 81
6.1.4 嚮上生長——越來越深的流水綫 82
6.1.5 嚮下生長——越來越淺的流水綫 83
6.1.6 總結 83
6.2 處理器流水綫中的亂序 83
6.3 處理器流水綫中的反壓 84
6.4 處理器流水綫中的衝突 84
6.4.1 流水綫中的資源衝突 84
6.4.2 流水綫中的數據衝突 85
6.5 蜂鳥E200處理器的流水綫 86
6.5.1 流水綫總體結構 86
6.5.2 流水綫中的衝突 87
6.6 總結 87
7章 萬事開頭難嗎—— *切從取指令開始 88
7.1 取指概述 89
7.1.1 取指特點 89
7.1.2 如何快速取指 90
7.1.3 如何處理非對齊指令 91
7.1.4 如何處理分支指令 92
7.2 RISC-V架構特點對於取指的簡化 97
7.2.1 規整的指令編碼格式 97
7.2.2 指令長度指示碼放於低位 97
7.2.3 簡單的分支跳轉指令 98
7.2.4 沒有分支延遲槽指令 100
7.2.5 提供明確的靜態分支預測依據 100
7.2.6 提供明確的RAS依據 101
7.3 蜂鳥E200處理器的取指實現 101
7.3.1 IFU總體設計思路 102
7.3.2 Mini-Decode 103
7.3.3 Simple-BPU分支預測 105
7.3.4 PC生成 109
7.3.5 訪問ITCM和BIU 111
7.3.6 ITCM 115
7.3.7 BIU 116
7.4 總結 116
8章 一鼓作氣,執行力是關鍵——執行 117
8.1 執行概述 118
8.1.1 指令譯碼 118
8.1.2 指令執行 118
8.1.3 流水綫的衝突 119
8.1.4 指令的交付 119
8.1.5 指令發射、派遣、執行、寫迴的順序 119
8.1.6 分支解析 121
8.1.7 小結 121
8.2 RISC-V架構特點對於執行的簡化 121
8.2.1 規整的指令編碼格式 122
8.2.2 優雅的16位指令 122
8.2.3 精簡的指令個數 122
8.2.4 整數指令都是兩操作數 122
8.3 蜂鳥E200處理器的執行實現 123
8.3.1 執行指令列錶 123
8.3.2 EXU總體設計思路 123
8.3.3 譯碼 124
8.3.4 整數通用寄存器組 130
8.3.5 CSR寄存器 133
8.3.6 指令發射派遣 134
8.3.7 流水綫衝突、長指令和OITF 139
8.3.8 ALU 145
8.3.9 高性能乘除法 157
8.3.10 浮點單元 158
8.3.11 交付 159
8.3.12 寫迴 159
8.3.13 協處理器擴展 160
8.3.14 小結 160
9章 善始者實繁,剋終者蓋寡——交付 161
9.1 處理器交付、取消、衝刷 162
9.1.1 處理器交付、取消、衝刷簡介 162
9.1.2 處理器交付常見實現策略 163
9.2 RISC-V架構特點對於交付的簡化 164
9.3 蜂鳥E200處理器交付硬件實現 164
9.3.1 分支預測指令的處理 165
9.3.2 中斷和異常的處理 168
..............................
芯片驗證漫遊指南——從係統理論到UVM的驗證全視界
內容簡介
**驗證專傢劉斌(路桑)嚮您全麵介紹芯片驗證,從驗證的理論,到SystemVerilog語言和UVM驗證方法學,再到**驗證項目話題。這本綜閤性、實用性的驗證理論和編程方麵的圖書,針對芯片驗證領域不同級彆的驗證工程師,給齣由淺入深的技術指南:學習驗證理論來認識驗證流程和標準,學習SystemVerilog語言和UVM方法學來掌握目前主流的動態驗證技術,瞭解**驗證話題在今後遇到相關問題時可以參考。
目錄
第1章 芯片驗證全視
1.1 功能驗證簡介
1.2 驗證的處境
1.2.1 驗證語言的發展
1.2.2 驗證麵臨的挑戰
1.3 驗證能力的5個維度
1.3.1 完備性
1.3.2 復用性
1.3.3 **性
1.3.4 高産齣
1.3.5 代碼性能
1.4 驗證的任務和目標
1.4.1 按時保質低耗
1.4.2 芯片研發與客戶反饋
1.4.3 缺陷增長麯綫
1.5 驗證的周期
1.5.1 驗證周期中的檢查點
1.5.2 功能詳述
1.5.3 製定驗證計劃
1.5.4 開發驗證環境
1.5.5 調試環境和HDL文件
1.5.6 迴歸測試
1.5.7 芯片生産
1.5.8 矽後係統測試
1.5.9 逃逸分析
1.6 本章結束語
........................
這本書真是讓我眼前一亮!我一直對計算機底層運作原理充滿好奇,特彆是CPU是如何工作的。雖然市麵上有很多介紹CPU的書籍,但要麼過於理論化,要麼停留在概念層麵,讓我覺得難以入手。這本《現貨包郵】手把手教你設計CPU RISC-V處理器篇+芯片驗證漫遊指南 自己設計製作CPU架構開發》則完全不同,它從“手把手教你設計”這個標題就抓住瞭我的痛點。我一直認為,學習技術最好的方式就是動手實踐,而這本書似乎正是為此而生。標題中提到的“RISC-V處理器篇”讓我看到瞭學習現代、開放指令集架構的希望,這比學習那些封閉的、商業化的架構更容易讓我獲得成就感。同時,“芯片驗證漫遊指南”這個副標題也讓我對這本書的實用性有瞭更高的期待。我一直覺得,設計齣CPU隻是第一步,如何確保它正確高效地工作同樣重要,而驗證正是關鍵所在。這本書能同時涵蓋設計和驗證,讓我覺得物超所值。我迫不及待地想翻開這本書,看看作者是如何一步一步地引導我構建屬於自己的CPU,並學習如何對其進行 rigorous 的測試。我希望這本書能提供清晰的步驟、豐富的圖示以及易於理解的代碼示例,讓我這個初學者也能跟得上。
評分我一直夢想著能夠親手設計一個屬於自己的CPU,但苦於找不到閤適的入門書籍。《【現貨包郵】手把手教你設計CPU RISC-V處理器篇+芯片驗證漫遊指南 自己設計製作CPU架構開發》這個書名,簡直就是為我量身定做的。特彆是“手把手教你設計”和“自己設計製作CPU架構開發”這樣的錶述,讓我感覺這本書會非常接地氣,不會是那種高高在上的理論講解,而是能夠真正帶領我一步步去實踐。RISC-V這個詞也讓我眼前一亮,它代錶著開放和未來,學習它比學習那些閉源的架構更有意義,也更容易獲得成就感。我一直認為,學習CPU設計,光看書是遠遠不夠的,必須要有實際的動手操作,所以“自己設計製作”這一點對我來說是最大的吸引力。我希望這本書能夠提供清晰的設計思路,並且有詳細的硬件描述語言(HDL)代碼示例,讓我能夠直接跟著做。更讓我驚喜的是,書中還包含瞭“芯片驗證漫遊指南”,這說明它不僅僅關注設計,還強調瞭驗證的重要性。我深知,一個設計得再好的CPU,如果沒有經過嚴格的驗證,也很難真正投入使用。所以,我非常期待這本書能在驗證方法、測試環境搭建等方麵給我提供有益的指導,讓我能夠全麵地掌握CPU設計和驗證的整個流程,最終能夠實現自己的CPU設計夢想。
評分作為一個對計算機體係結構有著濃厚興趣的學習者,我一直在尋找一本能夠真正將理論知識轉化為實踐能力的圖書。《【現貨包郵】手把手教你設計CPU RISC-V處理器篇+芯片驗證漫遊指南 自己設計製作CPU架構開發》這個書名,立刻吸引瞭我的注意力。它明確地指嚮瞭“設計CPU”這個我一直以來都渴望深入探索的領域,並且聚焦於RISC-V,一個在當前備受矚目的開源指令集架構。這讓我感到非常興奮,因為學習RISC-V不僅能幫助我理解現代CPU的設計理念,還能讓我接觸到前沿的技術發展。而“手把手教你設計”和“自己設計製作CPU架構開發”這些詞語,則給我一種強烈的信心,認為這本書不是那種晦澀難懂、隻講理論的教材,而是真正注重實踐,能夠引導讀者一步步完成CPU設計過程的書籍。我特彆期待書中能夠包含大量的圖示、流程圖以及實際的代碼案例,能夠清晰地展示CPU的各個組成部分是如何協同工作的。同時,“芯片驗證漫遊指南”這個副標題,也讓我看到瞭這本書的全麵性。我認為,設計一個CPU僅僅是成功的一半,對其進行有效的驗證,確保其功能的正確性和性能的優化,同樣至關重要。我希望這本書能夠提供關於驗證策略、測試平颱搭建以及常用驗證工具使用的詳細介紹,讓我能夠真正掌握從設計到驗證的完整流程。
評分從我個人學習技術的經驗來看,選擇一本能夠深入淺齣、理論與實踐並重的書籍至關重要。這本書的書名《現貨包郵】手把手教你設計CPU RISC-V處理器篇+芯片驗證漫遊指南 自己設計製作CPU架構開發》恰恰符閤瞭我的期望。我一直認為,理解CPU的精髓,必須從其最核心的設計原理入手,而不是僅僅停留在軟件層麵的應用。RISC-V作為一個開源指令集,為我提供瞭一個絕佳的學習平颱,讓我能夠擺脫商業授權的束縛,更自由地探索CPU的設計細節。更重要的是,標題中“手把手教你設計”和“自己設計製作CPU架構開發”的錶述,預示著這本書會提供一種循序漸進的學習路徑,而不是簡單羅列概念。我期待書中能夠包含實際的硬件描述語言(HDL)代碼示例,並對每個設計模塊進行詳細的講解。此外,“芯片驗證漫遊指南”也讓我看到瞭這本書的深度。在我看來,一個設計是否優秀,很大程度上取決於其驗證的完備性。這本書如果能提供有效的驗證方法和工具使用指導,那將是極大的加分項。總而言之,我對這本書寄予厚望,希望能它能夠為我打開CPU設計和驗證的大門,讓我能夠真正掌握這項硬核技術。
評分我是一個對計算機底層技術充滿熱情但又缺乏實踐經驗的初學者。《【現貨包郵】手把手教你設計CPU RISC-V處理器篇+芯片驗證漫遊指南 自己設計製作CPU架構開發》這個書名,如同黑暗中的燈塔,瞬間吸引瞭我。它直接點齣瞭“設計CPU”的核心目標,並且強調瞭“手把手教你”的學習方式,這對於像我這樣的新手來說,簡直是福音。過去我嘗試閱讀過一些計算機體係結構的經典書籍,但往往因為理論過於抽象而難以消化,最終不瞭瞭之。而這本書的“自己設計製作CPU架構開發”的錶述,則預示著它會提供一條通往實踐的路徑,讓我能夠真正地“玩轉”CPU設計。RISC-V的加入,更是讓我看到瞭學習的潛力,一個開放、可定製的指令集,意味著我可以更深入地理解CPU的工作原理,甚至去嘗試修改和優化。我特彆期待這本書能夠提供豐富的代碼示例,最好是用Verilog或VHDL等硬件描述語言編寫的,並且配有詳細的注釋和解釋,這樣我纔能更好地理解代碼的邏輯,並嘗試復現。而“芯片驗證漫遊指南”這個副標題,則讓我看到瞭這本書的全麵性和前瞻性。我明白,一個成功的CPU設計離不開嚴格的驗證,所以我希望這本書能夠教會我如何搭建驗證環境,如何編寫測試用例,以及如何分析驗證結果,讓我能夠從設計到驗證都擁有紮實的功底,從而真正地做齣自己的CPU。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有