數(shù)字設(shè)計和計算機(jī)體系結(jié)構(gòu) RISC-V版 [美]莎拉·L. 哈里斯 [美]戴維·哈里斯
定 價:119 元
- 作者:[美]莎拉·L. 哈里斯 [美]戴維·哈里斯
- 出版時間:2025/1/1
- ISBN:9787111767374
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP303
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
繼MIPS版和ARM版之后,本書與時俱進(jìn)地推出了RISC-V版。全書從計算機(jī)體系結(jié)構(gòu)的角度介紹數(shù)字邏輯設(shè)計的基礎(chǔ)知識,從基本的二進(jìn)制數(shù)開始,詳細(xì)討論RISC-V處理器的設(shè)計原則、技術(shù)與方法。本書首先介紹數(shù)字邏輯門,接著講解組合電路和時序電路的設(shè)計,并以這些基本的數(shù)字邏輯設(shè)計概念為基礎(chǔ),重點(diǎn)介紹如何設(shè)計真實的處理器。書中包含大量示例,并分別用SystemVerilog和VHDL給出相應(yīng)數(shù)字系統(tǒng)設(shè)計的實現(xiàn)。本書不僅反映了當(dāng)前數(shù)字電路設(shè)計的主流方法,而且突出了計算機(jī)體系結(jié)構(gòu)的工程特點(diǎn),適合高等院校計算機(jī)相關(guān)專業(yè)的學(xué)生閱讀,也適合從事處理器設(shè)計的技術(shù)人員參考。
繼MIPS版和ARM版之后,本書與時俱進(jìn)地推出了RISC-V版。本書從計算機(jī)體系結(jié)構(gòu)的角度,由最基礎(chǔ)的二進(jìn)制數(shù)開始,系統(tǒng)介紹數(shù)字邏輯設(shè)計的基礎(chǔ)知識,引導(dǎo)讀者逐步了解RISC-V微處理器的設(shè)計,并在硬件仿真、軟件仿真和真實硬件中對其進(jìn)行編程。通過將輕松的寫作風(fēng)格和數(shù)字設(shè)計的實踐方法相結(jié)合,本書引領(lǐng)讀者從數(shù)字邏輯的基礎(chǔ)知識開始,逐步學(xué)習(xí)真實的處理器設(shè)計。希望讀者通過閱讀本書,能夠設(shè)計出自己的RISC-V微處理器,并對其工作原理有自頂向下的理解。本書從數(shù)字邏輯門開始,逐步深入到組合電路和時序電路的設(shè)計,并利用這些基本構(gòu)件作為設(shè)計RISC-V處理器的基礎(chǔ)。全書包含大量實例,并列講解基本功能模塊的SystemVerilog和VHDL設(shè)計,并完整地討論了單周期、多周期和流水線版本的RISC-V體系結(jié)構(gòu)的實現(xiàn)方法。
前 言
Digital Design and Computer Architecture, RISC-V Edition
這本書的獨(dú)特之處在于從計算機(jī)體系結(jié)構(gòu)的角度介紹數(shù)字邏輯設(shè)計,從基本的二進(jìn)制數(shù)開始介紹,直到完成微處理器的設(shè)計。
我們一直堅信,構(gòu)建一個微處理器是電子工程和計算機(jī)科學(xué)專業(yè)的學(xué)生求學(xué)生涯中一段特殊且重要的旅程。對于外行而言,處理器內(nèi)部的工作原理幾乎像魔法一樣神奇,但是事實證明,經(jīng)過詳細(xì)解釋之后,處理器的工作原理是非常易于理解的。數(shù)字邏輯設(shè)計本身是一門令人興奮的學(xué)科,匯編語言程序是處理器內(nèi)部所用的語言,而微體系結(jié)構(gòu)是將兩者聯(lián)系在一起的紐帶。
這本日益流行的書的前兩版分別為MIPS體系結(jié)構(gòu)版和ARM體系結(jié)構(gòu)版。作為最初的RISC體系結(jié)構(gòu)之一,MIPS是清晰并且非常易于理解和構(gòu)建的。因為受MIPS啟發(fā)才有了包括RISC-V在內(nèi)的眾多后續(xù)體系結(jié)構(gòu),所以它目前仍是一種重要的體系結(jié)構(gòu)。ARM體系結(jié)構(gòu)則由于其高效性和豐富的生態(tài)環(huán)境,在過去幾十年中迅速流行起來。目前生產(chǎn)的ARM處理器已超過500億個,地球上超過75%的人在使用含ARM處理器的相關(guān)產(chǎn)品。
在過去的十年中,無論是在教學(xué)還是在商業(yè)價值方面,RISC-V都已經(jīng)發(fā)展成一種日益重要的計算機(jī)體系結(jié)構(gòu)。作為首個被廣泛使用的開源計算機(jī)體系結(jié)構(gòu),RISC-V具備MIPS的簡便性,也兼顧了現(xiàn)代處理器的靈活性和功能性。
在教學(xué)方面,MIPS、ARM和RISC-V三版書籍的學(xué)習(xí)目標(biāo)都是相同的。RISC-V體系結(jié)構(gòu)具有可擴(kuò)展性并提供壓縮指令功能,這些特性雖提高了效率但也增加了少量復(fù)雜性。MIPS、ARM和RISC-V這三種微體系結(jié)構(gòu)有許多相似之處。只要市場需要,我們希望能同時提供MIPS、ARM和RISC-V三種版本的書籍。
特點(diǎn)
并列講解SystemVerilog和VHDL
硬件描述語言(hardware description language,HDL)是現(xiàn)代數(shù)字邏輯設(shè)計實踐的中心,但設(shè)計者分布在SystemVerilog和VHDL兩個語言陣營。本書在介紹組合邏輯和時序邏輯設(shè)計后,緊接著在第4章介紹了HDL,然后在第5章和第7章介紹使用HDL設(shè)計更大的電路模塊和整個處理器。如果不講授HDL,可以跳過第4章,直接學(xué)習(xí)后續(xù)的章節(jié)。
本書的獨(dú)特之處在于同時介紹SystemVerilog和VHDL,使讀者能夠同時學(xué)習(xí)這兩種語言。第4章描述了適用于這兩種HDL的原則,然后并列提供了兩種語言的語法和示例。這種并列方式使教師能輕松地選擇其中一種進(jìn)行教學(xué),也使讀者在專業(yè)實踐中能較為方便地從一種HDL轉(zhuǎn)換到另一種HDL。
RISC-V體系結(jié)構(gòu)和微體系結(jié)構(gòu)
第6章和第7章深入介紹了RISC-V體系結(jié)構(gòu)和微體系結(jié)構(gòu)。因為RISC-V體系結(jié)構(gòu)已廣泛應(yīng)用于實際產(chǎn)品,并且高效、易于學(xué)習(xí),所以它是一種理想的體系結(jié)構(gòu)。此外,它在商業(yè)界和業(yè)余愛好者社區(qū)中深受歡迎,相關(guān)仿真工具和開發(fā)工具也十分完備。
現(xiàn)實視角
第6章除了從現(xiàn)實視角討論RISC-V體系結(jié)構(gòu)之外,還從另一個視角闡釋了Intel x86 處理器的體系結(jié)構(gòu)。第 9 章還介紹了 SparkFun的RED-V RedBoard中的外設(shè),這是一種以SiFive的Freedom E310 RISC-V處理器為中心的很受歡迎的開發(fā)板。這兩章揭示了如何將書中所講的概念應(yīng)用到很多PC內(nèi)部芯片和消費(fèi)電子產(chǎn)品的設(shè)計中。
高級微體系結(jié)構(gòu)概覽
第7章概述了現(xiàn)代高性能微體系結(jié)構(gòu)的特征,包括分支預(yù)測、超標(biāo)量、亂序執(zhí)行操作、多線程和多核處理器。這些內(nèi)容對于第一次上體系結(jié)構(gòu)課程的學(xué)生很有用。還說明了本書介紹的微體系結(jié)構(gòu)原理是如何擴(kuò)展到現(xiàn)代處理器的設(shè)計中的。
章末的習(xí)題和面試題
學(xué)習(xí)數(shù)字邏輯設(shè)計的最佳方法就是實踐。每章的最后有很多習(xí)題,供讀者實際應(yīng)用所學(xué)習(xí)的內(nèi)容。習(xí)題后面是同行向申請這個領(lǐng)域工作的學(xué)生提出的一些面試題。這些問題有助于學(xué)生了解求職者在面試過程中可能遇到的典型問題。習(xí)題答案可以通過本書的配套網(wǎng)站和教師網(wǎng)站獲取。
在線補(bǔ)充資料
補(bǔ)充資料可通過ddcabook.com或出版商網(wǎng)站https://www.elsevier.com/books-and-journals/
book-companion/9780128200643獲取。本書配套網(wǎng)站(對所有讀者開放)包括:
視頻講解鏈接。
奇數(shù)編號習(xí)題的答案。
PDF格式和PPTX格式的插圖。
Intel公司專業(yè)版計算機(jī)輔助設(shè)計工具的鏈接。
關(guān)于如何使用PlatformIO(Visual Studio Code的擴(kuò)展)對RISC-V處理器進(jìn)行編譯、匯編以及模擬C和匯編代碼的說明。
RISC-V處理器的HDL代碼。
Intel Quartus使用提示。
PPT格式的電子教案。
課程示例和實驗素材。
勘誤表。
教師網(wǎng)站(僅提供給在https://inspectioncopy.elsevier.com注冊的使用者)包括:
所有習(xí)題的答案。
實驗解決方案。
EdX MOOC
本書還通過EdX提供了配套的MOOC。課程包括視頻講解、互動練習(xí)、交互式問題集和實驗。MOOC分為數(shù)字邏輯設(shè)計(ENGR 85A)和計算機(jī)體系結(jié)構(gòu)(ENGR 85B)兩部分,它們由HarveyMuddX提供(在EdX上搜索“Digital Design HarveyMuddX”和“Computer Architecture HarveyMuddX”)。EdX不對訪問視頻收費(fèi),但對互動練習(xí)和證書收費(fèi),并為有經(jīng)濟(jì)困難的學(xué)生提供折扣。
如何使用課程中的軟件工具
Quartus軟
莎拉·L. 哈里斯(Sarah L. Harris)內(nèi)華達(dá)大學(xué)拉斯維加斯分校電氣與計算機(jī)工程系教授。曾在惠普、圣地亞哥超級計算機(jī)中心和NVIDIA工作。研究領(lǐng)域包括仿生假肢設(shè)計和在硬件中部署機(jī)器學(xué)習(xí)算法。她擁有斯坦福大學(xué)電氣工程博士學(xué)位。
戴維·哈里斯(David Harris)哈維·穆德學(xué)院工程系教授。曾在英特爾公司從事Itanium和Pentium II處理器的邏輯和電路設(shè)計,并曾擔(dān)任Broadcom、Sun Microsystems、惠普、Evans & Sutherland等設(shè)計公司的顧問,獲得了十余項專利。他擁有斯坦福大學(xué)電氣工程博士學(xué)位。
目 錄
Digital Design and Computer Architecture, RISC-V Edition
譯者序
前言
第1章 數(shù)字系統(tǒng) 1
1.1 寫在最前面 1
1.2 管理復(fù)雜性的技術(shù) 1
1.2.1 抽象 1
1.2.2 準(zhǔn)則 2
1.2.3 三Y原則 3
1.3 數(shù)字抽象 3
1.4 數(shù)制系統(tǒng) 4
1.4.1 十進(jìn)制數(shù) 4
1.4.2 二進(jìn)制數(shù) 5
1.4.3 十六進(jìn)制數(shù) 6
1.4.4 字節(jié)、半字和字 7
1.4.5 二進(jìn)制加法 8
1.4.6 有符號二進(jìn)制數(shù) 8
1.5 邏輯門 11
1.5.1 非門 11
1.5.2 緩沖器 11
1.5.3 與門 11
1.5.4 或門 12
1.5.5 其他二輸入邏輯門 12
1.5.6 多輸入邏輯門 12
1.6 數(shù)字抽象的相關(guān)概念 13
1.6.1 電源電壓 13
1.6.2 邏輯電平 13
1.6.3 噪聲容限 14
1.6.4 直流傳輸特性 14
1.6.5 靜態(tài)準(zhǔn)則 15
1.7 CMOS晶體管* 16
1.7.1 半導(dǎo)體 16
1.7.2 二極管 17
1.7.3 電容 17
1.7.4 nMOS和pMOS晶體管 17
1.7.5 CMOS非門 19
1.7.6 其他CMOS邏輯門 19
1.7.7 傳輸門 21
1.7.8 偽nMOS邏輯 21
1.8 功耗* 21
1.9 本章總結(jié)和后續(xù)章節(jié)概覽 23
習(xí)題 23
面試題 29
第2章 組合邏輯設(shè)計 30
2.1 引言 30
2.2 布爾表達(dá)式 32
2.2.1 術(shù)語 32
2.2.2 與或式 32
2.2.3 或與式 33
2.3 布爾代數(shù) 34
2.3.1 公理 34
2.3.2 單變量定律 34
2.3.3 多變量定律 35
2.3.4 定律的統(tǒng)一證明方法 36
2.3.5 表達(dá)式化簡 37
2.4 從邏輯到門 37
2.5 多級組合邏輯 39
2.5.1 邏輯門量的精簡 39
2.5.2 推氣泡法 40
2.6 非法值和浮空值 42
2.6.1 非法值X 42
2.6.2 浮空值Z 42
2.7 卡諾圖 43
2.7.1 畫圈的原理 44
2.7.2 用卡諾圖最小化邏輯 44
2.7.3 無關(guān)項 46
2.7.4 小結(jié) 47
2.8 組合邏輯模塊 47
2.8.1 多路選擇器 47
2.8.2 譯碼器 50
2.9 時序 50
2.9.1 傳輸延遲和最小延遲 50
2.9.2 毛刺 53
2.10 本章總結(jié) 54
習(xí)題 55
面試題 59
第3章 時序邏輯設(shè)計 60
3.1 引言 60
3.2 鎖存器和觸發(fā)器 60
3.2.1 SR鎖存器 61
3.2.2 D鎖存器 62
3.2.3 D觸發(fā)器 63
3.2.4 寄存器 63
3.2.5 帶使能端的觸發(fā)器 63
3.2.6 帶復(fù)位功能的觸發(fā)器 64
3.2.7 晶體管級的鎖存器和觸發(fā)器
設(shè)計* 64
3.2.8 小結(jié) 65
3.3 同步邏輯設(shè)計 66
3.3.1 問題電路 66
3.3.2 同步時序電路 67
3.3.3 同步和異步電路 68
3.4 有限狀態(tài)機(jī) 68
3.4.1 有限狀態(tài)機(jī)設(shè)計實例 69
3.4.2 狀態(tài)編碼 72
3.4.3 Moore型和Mealy型狀態(tài)機(jī) 73
3.4.4 狀態(tài)機(jī)的分解 76
3.4.5 由電路圖導(dǎo)出有限狀態(tài)機(jī) 77
3.4.6 小結(jié) 79
3.5 時序邏輯電路的時序 79
3.5.1 動態(tài)準(zhǔn)則 80
3.5.2 系統(tǒng)時序 80
3.5.3 時鐘偏移* 83
3.5.4 亞穩(wěn)態(tài) 85
3.5.5 同步器 86
3.5.6 分辨時間的推導(dǎo)* 87
3.6 并行 89
3.7 本章總結(jié) 91
習(xí)題 92
面試題 96
第4章 硬件描述語言 97
4.1 引言 97
4.1.1 模塊 97
4.1.2 語言起源 98
4.1.3 仿真與綜合 99
4.2 組合邏輯 100
4.2.1 位運(yùn)算符 100
4.2.2 注釋和空白字符 102
4.2.3 歸約運(yùn)算符 102
4.2.4 條件賦值 103
4.2.5 內(nèi)部變量 105
4.2.6 優(yōu)先級 106
4.2.7 數(shù)字 107
4.2.8 Z和X 108
4.2.9 位混合 109
4.2.10 延遲 109
4.3 結(jié)構(gòu)建!110
4.4 時序邏輯 113
4.4.1 寄存器 113
4.4.2 可復(fù)位寄存器 115
4.4.3 使能寄存器 116
4.4.4 多寄存器 117
4.4.5 鎖存器 117
4.5 更多組合邏輯 118
4.5.1 case 語句 120
4.5.2 if語句 122
4.5.3 含無關(guān)項的真值表 123
4.5.4 阻塞和非阻塞賦值 124
4.6 有限狀態(tài)機(jī) 127
4.7 數(shù)據(jù)類型* 130
4.7.1 System Verilog 130
4.7.2 VHDL 131
4.8 參數(shù)化模塊* 133
4.9 測試平臺 136
4.10 本章總結(jié) 139
習(xí)題 139
System Verilog 習(xí)題 142
VHDL 習(xí)題 145
面試題 146
第5章 常見數(shù)字模塊 147
5.1 引言 147
5.2 算術(shù)電路 147
5.2.1 加法 147
5.2.2 減法 153
5.2.3 比較器 153
5.2.4 算術(shù)邏輯單元 155
5.2.5 移位器和循環(huán)移位器 158
5.2.6 乘法* 159
5.2.7 除法* 159
5.2.8 擴(kuò)展材料 160
5.3 數(shù)制系統(tǒng) 16