關(guān)于我們
書單推薦
新書推薦
|
計算機(jī)系統(tǒng):核心概念及軟硬件實(shí)現(xiàn)(原書第5版) 本書以計算機(jī)系統(tǒng)的七層結(jié)構(gòu)為主線,涵蓋邏輯門、微代碼、指令集架構(gòu)、操作系統(tǒng)、匯編、高級語言和應(yīng)用,全面介紹計算機(jī)組成、匯編語言和計算機(jī)體系結(jié)構(gòu)的核心思想及軟硬件實(shí)現(xiàn)方法。新版采用Pep/9虛擬機(jī),清晰地闡釋了經(jīng)典馮·諾依曼機(jī)器的基本概念,同時包含完整的程序示例和豐富的習(xí)題,在理論與實(shí)踐相結(jié)合的基礎(chǔ)上,注重內(nèi)容的廣度和深度。 本書適合作為高等院校計算機(jī)專業(yè)的課程教材,也可供相關(guān)技術(shù)人員閱讀參考。 美國三大計算機(jī)系統(tǒng)基礎(chǔ)教材之一 覆蓋CS2013 ICS(系統(tǒng)基礎(chǔ))全部知識點(diǎn) 講解計算機(jī)系統(tǒng)的核心概念及實(shí)現(xiàn)方法 Computer Systems, Fifth Edition 本書清晰詳盡、循序漸進(jìn)地揭示了計算機(jī)組成、匯編語言和計算機(jī)體系結(jié)構(gòu)的核心思想。本書大部分以虛擬機(jī)Pep/9為基礎(chǔ),該虛擬機(jī)用于講解經(jīng)典馮·諾依曼機(jī)器的基本概念。這種方式的優(yōu)點(diǎn)是,既教授了計算機(jī)科學(xué)的核心概念,又不會與相關(guān)課程的許多無關(guān)細(xì)節(jié)糾纏不清。該方式還為學(xué)生奠定了基礎(chǔ),鼓勵他們思考計算機(jī)科學(xué)的基本主題。本書的范圍也比較廣泛,重點(diǎn)強(qiáng)調(diào)了與硬件及其相關(guān)軟件的處理有關(guān)但卻少有提及的計算機(jī)科學(xué)主題。 內(nèi)容一覽 計算機(jī)運(yùn)行于多個抽象層,高抽象層上的編程只是其中的一部分。本書以圖P-1所示的分層結(jié)構(gòu)為基礎(chǔ),提出了計算機(jī)系統(tǒng)的統(tǒng)一概念。 按照圖P-1的層次結(jié)構(gòu),本書分為七個部分: App7層 應(yīng)用 HOL6層 高級語言 ISA3層 指令集架構(gòu) Asmb5層 匯編 OS4層 操作系統(tǒng) LG1層 邏輯門 Mc2層 微代碼 用文字描述時通常是按照從上到下的順序,從最高層到最低層。把ISA3層放在Asmb5層之前,以及把LG1層放在Mc2層之前討論是為了教學(xué)目的。對這兩個特例來說,暫時將順序變?yōu)閺南峦蠒幼匀灰恍,因(yàn)檫@樣一來在構(gòu)建高層時可以使用低層模塊。 App7層。App7層是關(guān)于應(yīng)用程序的獨(dú)立一章,敘述了抽象層次的思想與二進(jìn)制信息,并為本書其他章節(jié)搭建了框架。這一章還以典型計算機(jī)應(yīng)用程序示例的方式描述了一些關(guān)系數(shù)據(jù)庫的概念。 HOL6層。HOL6層也是一章,回顧了C編程語言。這一章假設(shè)學(xué)生已經(jīng)學(xué)習(xí)過一些命令式語言,比如Java或Python,不一定是C。如果必要的話,指導(dǎo)老師可以輕易地把C語言示例翻譯為其他常見的HOL6層語言。 這一章的重點(diǎn)在于C內(nèi)存模型,包括全局和局部變量、帶參數(shù)的函數(shù),以及動態(tài)分配的變量。此外,還講解了遞歸,因?yàn)樗蕾囘\(yùn)行時堆棧的內(nèi)存分配機(jī)制。函數(shù)調(diào)用中的內(nèi)存分配過程闡釋得相當(dāng)詳細(xì),而且后續(xù)章節(jié)還會在較低抽象層上回顧這個機(jī)制。 ISA3層。ISA3是指令集架構(gòu)層。這一層用兩章來描述Pep/9一種用于說明計算機(jī)概念的虛擬機(jī)。Pep/9是一個小型的復(fù)雜指令集計算機(jī)(CISC),也是馮·諾依曼計算機(jī)。它的中央處理器(CPU)包含一個加法器、一個變址寄存器、一個程序計數(shù)器、一個棧指針寄存器和一個指令寄存器。它有八種尋址方式:立即數(shù)尋址、直接尋址、間接尋址、棧相對尋址、棧相對間接尋址、變址尋址、棧變址尋址和棧間接變址尋址。在模擬只讀存儲器(ROM)中,Pep/9的操作系統(tǒng)可以從學(xué)生的文本文件中加載并執(zhí)行十六進(jìn)制格式的程序。學(xué)生可以在Pep/9模擬器上運(yùn)行小程序,學(xué)習(xí)執(zhí)行不會改變內(nèi)存值的ROM存儲指令。 學(xué)生將學(xué)習(xí)信息表示和位級計算機(jī)組成的基本原理。由于本書的中心主題是計算機(jī)各層間的相互關(guān)系,因此,Pep/9相關(guān)章節(jié)展示了ASCII表示(ISA3層)和C的char類型變量(HOL6層)之間的關(guān)系。此外,這些章節(jié)還展示了補(bǔ)碼表示(ISA3層)和C的int類型變量(HOL6層)之間的關(guān)系。 Asmb5層。Asmb5是匯編層,它把匯編器的概念表示為兩個層次匯編層和機(jī)器層之間的翻譯器。它引入了Asmb5符號和符號表。 這里是統(tǒng)一方法派上用場的地方。第5章和第6章將編譯器表示為從高級語言到匯編語言的翻譯器。前面學(xué)生已經(jīng)學(xué)習(xí)了一種特定的HOL6層語言C和一種特定的馮·諾依曼型機(jī)器Pep/9。這兩章通過展示層次之間的對應(yīng)關(guān)系來繼續(xù)揭示它們之間的關(guān)系,其中包括:HOL6層的賦值語句與Asmb5層的裝入/存儲指令;HOL6層的循環(huán)和if語句與Asmb5層的分支指令;HOL6層的數(shù)組與Asmb5層的變址尋址;HOL6層的過程調(diào)用與Asmb5層的運(yùn)行時棧;HOL6層的函數(shù)和過程參數(shù)與Asmb5層的棧相對尋址;HOL6層的switch語句與Asmb5層的跳轉(zhuǎn)表;HOL6層的指針與Asmb5層的地址。 統(tǒng)一方法之美就在于可以在較低層次上實(shí)現(xiàn)C章節(jié)中的例子。比如,第2章遞歸示例說明的運(yùn)行時棧就直接對應(yīng)于Pep/9主存的硬件棧。學(xué)生可以通過兩個層次之間的手動翻譯來理解編譯過程。 這種方法為討論計算機(jī)科學(xué)中的核心問題提供了一種很自然的環(huán)境。例如,本書介紹了HOL6層的結(jié)構(gòu)化編程,可以和Asmb5層的非結(jié)構(gòu)化編程的可能性進(jìn)行對比。書中討論了goto爭議、結(jié)構(gòu)化編程/效率之間的折中,給出了兩個層次上語言的實(shí)際例子。 第7章向?qū)W生介紹了計算機(jī)科學(xué)理論,F(xiàn)在學(xué)生已經(jīng)對如何將高級語言翻譯為匯編語言有了直觀的了解,那么,我們就要提出所有計算中最基本的問題:什么可以被自動化?理論在這里自然又合適,因?yàn)閷W(xué)生現(xiàn)在已經(jīng)知道了什么是編譯器(自動化翻譯器)必須做的。他們通過識別C和Pep/9匯編語言的語言符號來學(xué)習(xí)語法分析和有限狀態(tài)機(jī)確定性的和非確定性的。這一章包含了兩種小語言之間的自動翻譯器,說明了詞法分析、語法分析和代碼生成。詞法分析器是有限狀態(tài)機(jī)的實(shí)現(xiàn)。還有比這更自然的介紹理論的方法嗎? OS4層。OS4層用兩章來講述操作系統(tǒng)。第8章是關(guān)于進(jìn)程管理的,其中有兩節(jié)講解了Pep/9操作系統(tǒng)的概念,一節(jié)是裝載器,另一節(jié)是陷阱處理程序。七條指令具有產(chǎn)生軟件陷阱的未實(shí)現(xiàn)的操作碼。操作系統(tǒng)將用戶正在運(yùn)行進(jìn)程的進(jìn)程控制塊保存到系統(tǒng)棧,中斷服務(wù)例程解釋該指令。通過具體實(shí)現(xiàn)一個掛起進(jìn)程來強(qiáng)化操作系統(tǒng)中運(yùn)行和等待進(jìn)程的經(jīng)典狀態(tài)轉(zhuǎn)換圖。第8章還描述了并發(fā)進(jìn)程和死鎖。第9章闡述了關(guān)于主存和磁盤存儲器的存儲管理。 LG1層。LG1層用兩章來講述組合電路與時序電路。從布爾代數(shù)的定理開始,第10章強(qiáng)調(diào)了計算機(jī)科學(xué)的數(shù)學(xué)基礎(chǔ)的重要性。它展示了布爾代數(shù)和邏輯門之間的關(guān)系,然后描述了一些常用的邏輯設(shè)備,包括一個完整的Pep/9算術(shù)邏輯單元(ALU)的邏輯設(shè)計。第11章用時序電路的狀態(tài)轉(zhuǎn)換圖講解了有限狀態(tài)機(jī)的基本概念,還描述了常見的計算機(jī)子系統(tǒng),包括雙向總線、內(nèi)存芯片以及雙端口存儲器組。 Mc2層。第12章描述了Pep/9 CPU的微程序設(shè)計控制部分,給出了一些示例指令和尋址方式的控制序列,還提供了有關(guān)其他指令和尋址方式的大量練習(xí)。這一章還介紹了裝入/存儲架構(gòu)的概念,對比了MIPS精簡指令集計算機(jī)(RISC)和Pep/9復(fù)雜指令集計算機(jī)(CISC)。此外,還通過對高速緩存、流水線、動態(tài)分支預(yù)測以及超標(biāo)量機(jī)器的描述,介紹了一些性能問題。 作者簡介: J. 斯坦利·沃法德(J. Stanley
Warford) 現(xiàn)為美國佩珀代因大學(xué)計算機(jī)科學(xué)系教授,曾任計算機(jī)科學(xué)系主任,由于杰出的教學(xué)成果而獲得了Luckman獎。他從倫斯勒理工學(xué)院獲得碩士學(xué)位,從加州大學(xué)洛杉磯分校獲得博士學(xué)位。在進(jìn)入學(xué)術(shù)界之前,Warford教授曾是一名航空工程師。 Computer Systems, Fifth Edition 出版者的話 譯者序 前言 第一部分 應(yīng)用層(第7層) 第1章 計算機(jī)系統(tǒng) 2 1.1 抽象層次 2 1.1.1 藝術(shù)中的抽象 3 1.1.2 文檔中的抽象 4 1.1.3 機(jī)構(gòu)中的抽象 5 1.1.4 機(jī)器中的抽象 6 1.1.5 計算機(jī)系統(tǒng)中的抽象 6 1.2 硬件 7 1.2.1 中央處理單元 8 1.2.2 主存儲器 9 1.2.3 磁盤 10 1.3 軟件 11 1.3.1 操作系統(tǒng) 12 1.3.2 軟件分析與設(shè)計 13 1.4 數(shù)字信息 14 1.4.1 空間量化 14 1.4.2 時間量化 16 1.4.3 快速響應(yīng)碼 18 1.4.4 圖像 21 1.5 數(shù)據(jù)庫系統(tǒng) 27 1.5.1 關(guān)系 27 1.5.2 查詢 28 1.5.3 語言結(jié)構(gòu) 30 本章小結(jié) 31 練習(xí) 32 第二部分 高級語言層(第6層) 第2章 C 36 2.1 變量 36 2.1.1 C編譯器 36 2.1.2 機(jī)器無關(guān)性 37 2.1.3 C的內(nèi)存模型 37 2.1.4 全局變量和賦值語句 38 2.1.5 局部變量 40 2.2 控制流 42 2.2.1 if/else語句 42 2.2.2 switch語句 43 2.2.3 while循環(huán) 44 2.2.4 do循環(huán) 44 2.2.5 數(shù)組和for循環(huán) 45 2.3 函數(shù) 46 2.3.1 空函數(shù)和傳值調(diào)用的參數(shù) 46 2.3.2 函數(shù)的例子 48 2.3.3 傳引用調(diào)用的參數(shù) 48 2.4 遞歸 51 2.4.1 階乘函數(shù) 52 2.4.2 遞歸的思考方式 55 2.4.3 遞歸加法 55 2.4.4 二項式系數(shù)函數(shù) 57 2.4.5 逆轉(zhuǎn)數(shù)組元素順序 61 2.4.6 漢諾塔 61 2.4.7 相互遞歸 63 2.4.8 遞歸的成本 64 2.5 動態(tài)內(nèi)存分配 65 2.5.1 指針 65 2.5.2 結(jié)構(gòu) 67 2.5.3 鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu) 68 本章小結(jié) 69 練習(xí) 70 編程題 71 第三部分 指令集架構(gòu)層(第3層) 第3章 信息的表示 76 3.1 無符號二進(jìn)制表示 76 3.1.1 二進(jìn)制存儲 76 3.1.2 整數(shù) 77 3.1.3 基數(shù)轉(zhuǎn)換 78 3.1.4 無符號整數(shù)的范圍 80 3.1.5 無符號加法 80 3.1.6 進(jìn)位位 81 3.2 二進(jìn)制補(bǔ)碼表示 81 3.2.1 補(bǔ)碼的表數(shù)范圍 83 3.2.2 基數(shù)轉(zhuǎn)換 84 3.2.3 數(shù)軸 85 3.2.4 溢出位 86 3.2.5 負(fù)數(shù)和零位 87 3.3 二進(jìn)制運(yùn)算 88 3.3.1 邏輯運(yùn)算符 88 3.3.2 寄存器傳送語言 89 3.3.3 算術(shù)運(yùn)算符 90 3.3.4 循環(huán)移位運(yùn)算符 91 3.4 十六進(jìn)制與字符表示 92 3.4.1 十六進(jìn)制 92 3.4.2 基數(shù)轉(zhuǎn)換 92 3.4.3 ASCII字符 94 3.4.4 Unicode字符 97 3.5 浮點(diǎn)數(shù)表示 100 3.5.1 二進(jìn)制小數(shù) 100 3.5.2 余碼表示 102 3.5.3 隱藏位 103 3.5.4 特殊值 104 3.5.5 IEEE 754浮點(diǎn)數(shù)標(biāo)準(zhǔn) 108 3.6 模型 109 本章小結(jié) 111 練習(xí) 111 編程題 117 第4章 計算機(jī)體系結(jié)構(gòu) 120 4.1 硬件 120 4.1.1 中央處理單元 120 4.1.2 主存儲器 121 4.1.3 輸入/輸出設(shè)備 122 4.1.4 數(shù)據(jù)和控制 123 4.1.5 指令格式 123 4.2 直接尋址 126 4.2.1 停止指令 126 4.2.2 字裝入指令 126 4.2.3 字存儲指令 127 4.2.4 加法指令 128 4.2.5 減法指令 128 4.2.6 與和或指令 129 4.2.7 按位取反和取負(fù)指令 130 4.2.8 字節(jié)裝入和字節(jié)存儲指令 131 4.2.9 輸入和輸出設(shè)備 132 4.2.10 大端順序和小端順序 133 4.3 馮·諾依曼機(jī)器 134 4.3.1 馮·諾依曼執(zhí)行周期 134 4.3.2 一個字符輸出程序 135 4.3.3 馮·諾依曼漏洞 138 4.3.4 一個字符輸入程序 139 4.3.5 十進(jìn)制轉(zhuǎn)換為ASCII 139 4.3.6 一個自我修改程序 140 4.4 ISA3層的編程 142 4.4.1 只讀存儲器 143 4.4.2 Pep/9操作系統(tǒng) 144 4.4.3 使用Pep/9系統(tǒng) 145 本章小結(jié) 146 練習(xí) 146 編程題 148 第四部分 匯編層(第5層) 第5章 匯編語言 150 5.1 匯編程序 150 5.1.1 指令助記符 150 5.1.2 偽操作 152 5.1.3 .ASCII和.END偽操作 153 5.1.4 匯編器 154 5.1.5 .BLOCK偽操作 155 5.1.6 .WORD和.BYTE偽操作 155 5.1.7 使用Pep/9匯編器 156 5.1.8 交叉匯編器 157 5.2 立即數(shù)尋址和陷阱指令 158 5.2.1 立即數(shù)尋址 158 5.2.2 DECI、DECO和BR指令 159 5.2.3 STRO指令 161 5.2.4 解釋位模式:HEXO指令 162 5.2.5 反匯編器 163 5.3 符號 165 5.3.1 帶符號的程序 165 5.3.2 一個馮·諾依曼示例 166 5.4 從HOL6層翻譯 168 5.4.1 Printf()函數(shù) 169 5.4.2 變量和類型 170 5.4.3 全局變量和賦值語句 171 5.4.4 類型兼容 174 5.4.5 Pep/9符號跟蹤器 175 5.4.6 算術(shù)移位和循環(huán)移位指令 175 5.4.7 常量和.EQUATE 176 5.4.8 指令與數(shù)據(jù)的放置 178 本章小結(jié) 179 練習(xí) 180 編程題 182 第6章 編譯到匯編層 185 6.1 棧尋址和局部變量 185 6.1.1 棧相對尋址 185 6.1.2 訪問運(yùn)行時棧 186 6.1.3 局部變量 188 6.2 分支指令和控制流 190 6.2.1 翻譯if語句 191 6.2.2 優(yōu)化編譯器 192 6.2.3 翻譯if/else語句 192 6.2.4 翻譯while循環(huán) 194 6.2.5 翻譯do循環(huán) 195 6.2.6 翻譯for循環(huán) 197 6.2.7 面條代碼 198 6.2.8 早期語言的控制流 199 6.2.9 結(jié)構(gòu)化編程定律 200 6.2.10 goto爭論 200 6.3 函數(shù)調(diào)用和參數(shù) 201 6.3.1 翻譯函數(shù)調(diào)用 201 6.3.2 用全局變量翻譯傳值調(diào)用參數(shù) 204 6.3.3 用局部變量翻譯傳值調(diào)用參數(shù) 207 6.3.4 翻譯非空函數(shù)調(diào)用 209 6.3.5 用全局變量翻譯傳引用調(diào)用參數(shù) 211 6.3.6 用局部變量翻譯傳引用調(diào)用參數(shù) 215 6.3.7 翻譯布爾類型 218 6.4 變址尋址和數(shù)組 220 6.4.1 翻譯全局?jǐn)?shù)組 221 6.4.2 翻譯局部數(shù)組 224 6.4.3 翻譯作為參數(shù)傳遞的數(shù)組 226 6.4.4 翻譯switch語句 230 6.5 動態(tài)內(nèi)存分配 235 6.5.1 翻譯全局指針 235 6.5.2 翻譯局部指針 240 6.5.3 翻譯結(jié)構(gòu) 243 6.5.4 翻譯鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu) 246 本章小結(jié) 250 練習(xí) 251 編程題 251 第7章 語言翻譯原理 259 7.1 語言、語法和語法分析 259 7.1.1 連接 260 7.1.2 語言 260 7.1.3 語法 261 7.1.4 C標(biāo)識符的語法 262 7.1.5 有符號整數(shù)的語法 263 7.1.6 上下文相關(guān)的語法 264 7.1.7 語法分析問題 264 7.1.8 表達(dá)式的語法 265 7.1.9 C語法的一部分 266 7.1.10 C的上下文相關(guān)性 269 7.2 有限狀態(tài)機(jī) 270 7.2.1 用有限狀態(tài)機(jī)分析標(biāo)識符 270 7.2.2 簡化的有限狀態(tài)機(jī) 271 7.2.3 非確定性有限狀態(tài)機(jī) 271 7.2.4 具有空轉(zhuǎn)換的狀態(tài)機(jī) 272 7.2.5 多語言符號識別器 274 7.2.6 語法與有限狀態(tài)機(jī) 276 7.3 實(shí)現(xiàn)有限狀態(tài)機(jī) 277 7.3.1 編譯過程 278 7.3.2 查找表分析器 278 7.3.3 直接編碼分析器 280 7.3.4 輸入緩沖區(qū)類 282 7.3.5 多語言符號分析器 283 7.4 代碼生成 288 7.4.1 語言翻譯器 288 7.4.2 語法分析器特性 302 本章小結(jié) 303 練習(xí) 303 編程題 306 第五部分 操作系統(tǒng)(第4層) 第8章 進(jìn)程管理 312 8.1 裝載器 312 8.1.1 Pep/9操作系統(tǒng) 312 8.1.2 Pep/9裝載器 314 8.1.3 程序的終止 315 8.2 陷阱 315 8.2.1 陷阱機(jī)制 316 8.2.2 RETTR指令 317 8.2.3 陷阱處理程序 317 8.2.4 陷阱尋址方式斷言 319 8.2.5 陷阱操作數(shù)地址計算 320 8.2.6 空操作陷阱處理程序 323 8.2.7 DECI陷阱處理程序 324 8.2.8 DECO陷阱處理程序 329 8.2.9 HEXO和STRO陷阱處理程序和操作系統(tǒng)向量 332 8.3 并發(fā)進(jìn)程 334 8.3.1 異步中斷 334 8.3.2 操作系統(tǒng)中的進(jìn)程 335 8.3.3 多處理 336 8.3.4 并發(fā)處理程序 337 8.3.5 臨界區(qū) 338 8.3.6 第一次嘗試實(shí)現(xiàn)互斥 339 8.3.7 第二次嘗試實(shí)現(xiàn)互斥 339 8.3.8 Peterson互斥算法 340 8.3.9 信號量 342 8.3.10 帶信號量的臨界區(qū) 343 8.4 死鎖 343 8.4.1 資源分配圖 344 8.4.2 死鎖策略 345 本章小結(jié) 346 練習(xí) 346 編程題 351 第9章 存儲管理 353 9.1 內(nèi)存分配 353 9.1.1 單道程序設(shè)計 353 9.1.2 固定分區(qū)多道程序設(shè)計 354 9.1.3 邏輯地址 355 9.1.4 可變分區(qū)多道程序設(shè)計 356 9.1.5 分頁 359 9.2 虛擬內(nèi)存 361 9.2.1 大程序的行為 361 9.2.2 虛擬內(nèi)存 361 9.2.3 按需分頁 362 9.2.4 替換頁 363 9.2.5 頁替換算法 363 9.3 文件管理 365 9.3.1 磁盤驅(qū)動器 365 9.3.2 文件抽象 366 9.3.3 分配技術(shù) 367 9.4 錯誤檢測與糾錯碼 369 9.4.1 錯誤檢測碼 369 9.4.2 編碼要求 370 9.4.3 糾正一位錯誤編碼 372 9.5 RAID存儲系統(tǒng) 373 9.5.1 RAID 0級:無冗余條帶化 374 9.5.2 RAID 1級:鏡像 374 9.5.3 RAID 01和10級:條帶化和鏡像 375 9.5.4 RAID 2級:內(nèi)存風(fēng)格的ECC 376 9.5.5 RAID 3級:位交叉奇偶校驗(yàn) 377 9.5.6 RAID 4級:塊交叉奇偶校驗(yàn) 377 9.5.7 RAID 5級:塊交叉分布奇偶校驗(yàn) 378 本章小結(jié) 379 練習(xí) 379 第六部分 邏輯門(第1層) 第10章 組合電路 384 10.1 布爾代數(shù)和邏輯門 384 10.1.1 組合電路 385 10.1.2 真值表 385 10.1.3 布爾代數(shù) 386 10.1.4 布爾代數(shù)定理 387 10.1.5 互補(bǔ)證明 388 10.1.6 邏輯圖 389 10.1.7 其他表示方式 391 10.2 組合分析 392 10.2.1 布爾表達(dá)式和邏輯圖 392 10.2.2 真值表和布爾表達(dá)式 393 10.2.3 兩級電路 395 10.2.4 無處不在的NAND 397 10.3 組合設(shè)計 398 10.3.1 范式 398 10.3.2 三變量卡諾圖 399 10.3.3 四變量卡諾圖 403 10.3.4 對偶卡諾圖 406 10.3.5 無關(guān)條件 406 10.4 組合設(shè)備 407 10.4.1 視角 407 10.4.2 復(fù)用器 408 10.4.3 二進(jìn)制譯碼器 409 10.4.4 多路分配器 410 10.4.5 加法器 410 10.4.6 加法器/減法器 412 10.4.7 算術(shù)邏輯單元 413 10.4.8 LG1層的抽象 419 本章小結(jié) 420 練習(xí) 420 第11章 時序電路 426 11.1 鎖存器與時鐘觸發(fā)器 426 11.1.1 SR鎖存器 426 11.1.2 鐘控SR觸發(fā)器 428 11.1.3 主從SR觸發(fā)器 429 11.1.4 基本觸發(fā)器 433 11.1.5 JK觸發(fā)器 434 11.1.6 D觸發(fā)器 435 11.1.7 T觸發(fā)器 436 11.1.8 激勵表 437 11.2 時序分析與設(shè)計 437 11.2.1 時序分析問題 438 11.2.2 預(yù)設(shè)置與清除 441 11.2.3 時序設(shè)計 441 11.2.4 一個時序設(shè)計問題 441 11.3 計算機(jī)子系統(tǒng) 444 11.3.1 寄存器 444 11.3.2 總線 445 11.3.3 內(nèi)存子系統(tǒng) 446 11.3.4 地址譯碼 449 11.3.5 雙端口寄存器組 453 本章小結(jié) 455 練習(xí) 455 第七部分 微代碼(第2層) 第12章 計算機(jī)組成 460 12.1 構(gòu)建一個ISA3層機(jī)器 460 12.1.1 CPU數(shù)據(jù)區(qū) 460 12.1.2 馮·諾依曼周期 463 12.1.3 存儲字節(jié)直接尋址指令 467 12.1.4 總線協(xié)議 468 12.1.5 存儲字直接尋址指令 468 12.1.6 加法立即數(shù)尋址指令 469 12.1.7 裝入字間接尋址指令 470 12.1.8 算術(shù)右移指令 473 12.1.9 CPU控制區(qū) 474 12.2 性能 476 12.2.1 數(shù)據(jù)總線寬度和內(nèi)存對齊 476 12.2.2 內(nèi)存對齊 480 12.2.3 n位計算機(jī)的定義 483 12.2.4 高速緩存 484 12.2.5 系統(tǒng)性能公式 490 12.2.6 RISC與CISC 491 12.3 MIPS機(jī)器 494 12.3.1 寄存器組 494 12.3.2 尋址方式 495 12.3.3 指令集 498 12.3.4 MIPS的計算機(jī)組成 501 12.3.5 流水線 505 12.4 結(jié)論 512 12.4.1 模型簡化 512 12.4.2 全局架構(gòu) 513 本章小結(jié) 514 練習(xí) 514 編程題 517 附錄 Pep/9體系結(jié)構(gòu) 519 部分練習(xí)參考答案 529 索引 543
你還可能感興趣
我要評論
|