關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
計(jì)算機(jī)系統(tǒng):核心概念及軟硬件實(shí)現(xiàn)(原書(shū)第5版) 本書(shū)以計(jì)算機(jī)系統(tǒng)的七層結(jié)構(gòu)為主線,涵蓋邏輯門、微代碼、指令集架構(gòu)、操作系統(tǒng)、匯編、高級(jí)語(yǔ)言和應(yīng)用,全面介紹計(jì)算機(jī)組成、匯編語(yǔ)言和計(jì)算機(jī)體系結(jié)構(gòu)的核心思想及軟硬件實(shí)現(xiàn)方法。新版采用Pep/9虛擬機(jī),清晰地闡釋了經(jīng)典馮·諾依曼機(jī)器的基本概念,同時(shí)包含完整的程序示例和豐富的習(xí)題,在理論與實(shí)踐相結(jié)合的基礎(chǔ)上,注重內(nèi)容的廣度和深度。 本書(shū)適合作為高等院校計(jì)算機(jī)專業(yè)的課程教材,也可供相關(guān)技術(shù)人員閱讀參考。 美國(guó)三大計(jì)算機(jī)系統(tǒng)基礎(chǔ)教材之一 覆蓋CS2013 ICS(系統(tǒng)基礎(chǔ))全部知識(shí)點(diǎn) 講解計(jì)算機(jī)系統(tǒng)的核心概念及實(shí)現(xiàn)方法 Computer Systems, Fifth Edition 本書(shū)清晰詳盡、循序漸進(jìn)地揭示了計(jì)算機(jī)組成、匯編語(yǔ)言和計(jì)算機(jī)體系結(jié)構(gòu)的核心思想。本書(shū)大部分以虛擬機(jī)Pep/9為基礎(chǔ),該虛擬機(jī)用于講解經(jīng)典馮·諾依曼機(jī)器的基本概念。這種方式的優(yōu)點(diǎn)是,既教授了計(jì)算機(jī)科學(xué)的核心概念,又不會(huì)與相關(guān)課程的許多無(wú)關(guān)細(xì)節(jié)糾纏不清。該方式還為學(xué)生奠定了基礎(chǔ),鼓勵(lì)他們思考計(jì)算機(jī)科學(xué)的基本主題。本書(shū)的范圍也比較廣泛,重點(diǎn)強(qiáng)調(diào)了與硬件及其相關(guān)軟件的處理有關(guān)但卻少有提及的計(jì)算機(jī)科學(xué)主題。 內(nèi)容一覽 計(jì)算機(jī)運(yùn)行于多個(gè)抽象層,高抽象層上的編程只是其中的一部分。本書(shū)以圖P-1所示的分層結(jié)構(gòu)為基礎(chǔ),提出了計(jì)算機(jī)系統(tǒng)的統(tǒng)一概念。 按照?qǐng)DP-1的層次結(jié)構(gòu),本書(shū)分為七個(gè)部分: App7層 應(yīng)用 HOL6層 高級(jí)語(yǔ)言 ISA3層 指令集架構(gòu) Asmb5層 匯編 OS4層 操作系統(tǒng) LG1層 邏輯門 Mc2層 微代碼 用文字描述時(shí)通常是按照從上到下的順序,從最高層到最低層。把ISA3層放在Asmb5層之前,以及把LG1層放在Mc2層之前討論是為了教學(xué)目的。對(duì)這兩個(gè)特例來(lái)說(shuō),暫時(shí)將順序變?yōu)閺南峦蠒?huì)更加自然一些,因?yàn)檫@樣一來(lái)在構(gòu)建高層時(shí)可以使用低層模塊。 App7層。App7層是關(guān)于應(yīng)用程序的獨(dú)立一章,敘述了抽象層次的思想與二進(jìn)制信息,并為本書(shū)其他章節(jié)搭建了框架。這一章還以典型計(jì)算機(jī)應(yīng)用程序示例的方式描述了一些關(guān)系數(shù)據(jù)庫(kù)的概念。 HOL6層。HOL6層也是一章,回顧了C編程語(yǔ)言。這一章假設(shè)學(xué)生已經(jīng)學(xué)習(xí)過(guò)一些命令式語(yǔ)言,比如Java或Python,不一定是C。如果必要的話,指導(dǎo)老師可以輕易地把C語(yǔ)言示例翻譯為其他常見(jiàn)的HOL6層語(yǔ)言。 這一章的重點(diǎn)在于C內(nèi)存模型,包括全局和局部變量、帶參數(shù)的函數(shù),以及動(dòng)態(tài)分配的變量。此外,還講解了遞歸,因?yàn)樗蕾囘\(yùn)行時(shí)堆棧的內(nèi)存分配機(jī)制。函數(shù)調(diào)用中的內(nèi)存分配過(guò)程闡釋得相當(dāng)詳細(xì),而且后續(xù)章節(jié)還會(huì)在較低抽象層上回顧這個(gè)機(jī)制。 ISA3層。ISA3是指令集架構(gòu)層。這一層用兩章來(lái)描述Pep/9一種用于說(shuō)明計(jì)算機(jī)概念的虛擬機(jī)。Pep/9是一個(gè)小型的復(fù)雜指令集計(jì)算機(jī)(CISC),也是馮·諾依曼計(jì)算機(jī)。它的中央處理器(CPU)包含一個(gè)加法器、一個(gè)變址寄存器、一個(gè)程序計(jì)數(shù)器、一個(gè)棧指針寄存器和一個(gè)指令寄存器。它有八種尋址方式:立即數(shù)尋址、直接尋址、間接尋址、棧相對(duì)尋址、棧相對(duì)間接尋址、變址尋址、棧變址尋址和棧間接變址尋址。在模擬只讀存儲(chǔ)器(ROM)中,Pep/9的操作系統(tǒng)可以從學(xué)生的文本文件中加載并執(zhí)行十六進(jìn)制格式的程序。學(xué)生可以在Pep/9模擬器上運(yùn)行小程序,學(xué)習(xí)執(zhí)行不會(huì)改變內(nèi)存值的ROM存儲(chǔ)指令。 學(xué)生將學(xué)習(xí)信息表示和位級(jí)計(jì)算機(jī)組成的基本原理。由于本書(shū)的中心主題是計(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是匯編層,它把匯編器的概念表示為兩個(gè)層次匯編層和機(jī)器層之間的翻譯器。它引入了Asmb5符號(hào)和符號(hào)表。 這里是統(tǒng)一方法派上用場(chǎng)的地方。第5章和第6章將編譯器表示為從高級(jí)語(yǔ)言到匯編語(yǔ)言的翻譯器。前面學(xué)生已經(jīng)學(xué)習(xí)了一種特定的HOL6層語(yǔ)言C和一種特定的馮·諾依曼型機(jī)器Pep/9。這兩章通過(guò)展示層次之間的對(duì)應(yīng)關(guān)系來(lái)繼續(xù)揭示它們之間的關(guān)系,其中包括:HOL6層的賦值語(yǔ)句與Asmb5層的裝入/存儲(chǔ)指令;HOL6層的循環(huán)和if語(yǔ)句與Asmb5層的分支指令;HOL6層的數(shù)組與Asmb5層的變址尋址;HOL6層的過(guò)程調(diào)用與Asmb5層的運(yùn)行時(shí)棧;HOL6層的函數(shù)和過(guò)程參數(shù)與Asmb5層的棧相對(duì)尋址;HOL6層的switch語(yǔ)句與Asmb5層的跳轉(zhuǎn)表;HOL6層的指針與Asmb5層的地址。 統(tǒng)一方法之美就在于可以在較低層次上實(shí)現(xiàn)C章節(jié)中的例子。比如,第2章遞歸示例說(shuō)明的運(yùn)行時(shí)棧就直接對(duì)應(yīng)于Pep/9主存的硬件棧。學(xué)生可以通過(guò)兩個(gè)層次之間的手動(dòng)翻譯來(lái)理解編譯過(guò)程。 這種方法為討論計(jì)算機(jī)科學(xué)中的核心問(wèn)題提供了一種很自然的環(huán)境。例如,本書(shū)介紹了HOL6層的結(jié)構(gòu)化編程,可以和Asmb5層的非結(jié)構(gòu)化編程的可能性進(jìn)行對(duì)比。書(shū)中討論了goto爭(zhēng)議、結(jié)構(gòu)化編程/效率之間的折中,給出了兩個(gè)層次上語(yǔ)言的實(shí)際例子。 第7章向?qū)W生介紹了計(jì)算機(jī)科學(xué)理論,F(xiàn)在學(xué)生已經(jīng)對(duì)如何將高級(jí)語(yǔ)言翻譯為匯編語(yǔ)言有了直觀的了解,那么,我們就要提出所有計(jì)算中最基本的問(wèn)題:什么可以被自動(dòng)化?理論在這里自然又合適,因?yàn)閷W(xué)生現(xiàn)在已經(jīng)知道了什么是編譯器(自動(dòng)化翻譯器)必須做的。他們通過(guò)識(shí)別C和Pep/9匯編語(yǔ)言的語(yǔ)言符號(hào)來(lái)學(xué)習(xí)語(yǔ)法分析和有限狀態(tài)機(jī)確定性的和非確定性的。這一章包含了兩種小語(yǔ)言之間的自動(dòng)翻譯器,說(shuō)明了詞法分析、語(yǔ)法分析和代碼生成。詞法分析器是有限狀態(tài)機(jī)的實(shí)現(xiàn)。還有比這更自然的介紹理論的方法嗎? OS4層。OS4層用兩章來(lái)講述操作系統(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ù)例程解釋該指令。通過(guò)具體實(shí)現(xiàn)一個(gè)掛起進(jìn)程來(lái)強(qiáng)化操作系統(tǒng)中運(yùn)行和等待進(jìn)程的經(jīng)典狀態(tài)轉(zhuǎn)換圖。第8章還描述了并發(fā)進(jìn)程和死鎖。第9章闡述了關(guān)于主存和磁盤存儲(chǔ)器的存儲(chǔ)管理。 LG1層。LG1層用兩章來(lái)講述組合電路與時(shí)序電路。從布爾代數(shù)的定理開(kāi)始,第10章強(qiáng)調(diào)了計(jì)算機(jī)科學(xué)的數(shù)學(xué)基礎(chǔ)的重要性。它展示了布爾代數(shù)和邏輯門之間的關(guān)系,然后描述了一些常用的邏輯設(shè)備,包括一個(gè)完整的Pep/9算術(shù)邏輯單元(ALU)的邏輯設(shè)計(jì)。第11章用時(shí)序電路的狀態(tài)轉(zhuǎn)換圖講解了有限狀態(tài)機(jī)的基本概念,還描述了常見(jiàn)的計(jì)算機(jī)子系統(tǒng),包括雙向總線、內(nèi)存芯片以及雙端口存儲(chǔ)器組。 Mc2層。第12章描述了Pep/9 CPU的微程序設(shè)計(jì)控制部分,給出了一些示例指令和尋址方式的控制序列,還提供了有關(guān)其他指令和尋址方式的大量練習(xí)。這一章還介紹了裝入/存儲(chǔ)架構(gòu)的概念,對(duì)比了MIPS精簡(jiǎn)指令集計(jì)算機(jī)(RISC)和Pep/9復(fù)雜指令集計(jì)算機(jī)(CISC)。此外,還通過(guò)對(duì)高速緩存、流水線、動(dòng)態(tài)分支預(yù)測(cè)以及超標(biāo)量機(jī)器的描述,介紹了一些性能問(wèn)題。 作者簡(jiǎn)介: J. 斯坦利·沃法德(J. Stanley
Warford) 現(xiàn)為美國(guó)佩珀代因大學(xué)計(jì)算機(jī)科學(xué)系教授,曾任計(jì)算機(jī)科學(xué)系主任,由于杰出的教學(xué)成果而獲得了Luckman獎(jiǎng)。他從倫斯勒理工學(xué)院獲得碩士學(xué)位,從加州大學(xué)洛杉磯分校獲得博士學(xué)位。在進(jìn)入學(xué)術(shù)界之前,Warford教授曾是一名航空工程師。 Computer Systems, Fifth Edition 出版者的話 譯者序 前言 第一部分 應(yīng)用層(第7層) 第1章 計(jì)算機(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ì)算機(jī)系統(tǒng)中的抽象 6 1.2 硬件 7 1.2.1 中央處理單元 8 1.2.2 主存儲(chǔ)器 9 1.2.3 磁盤 10 1.3 軟件 11 1.3.1 操作系統(tǒng) 12 1.3.2 軟件分析與設(shè)計(jì) 13 1.4 數(shù)字信息 14 1.4.1 空間量化 14 1.4.2 時(shí)間量化 16 1.4.3 快速響應(yīng)碼 18 1.4.4 圖像 21 1.5 數(shù)據(jù)庫(kù)系統(tǒng) 27 1.5.1 關(guān)系 27 1.5.2 查詢 28 1.5.3 語(yǔ)言結(jié)構(gòu) 30 本章小結(jié) 31 練習(xí) 32 第二部分 高級(jí)語(yǔ)言層(第6層) 第2章 C 36 2.1 變量 36 2.1.1 C編譯器 36 2.1.2 機(jī)器無(wú)關(guān)性 37 2.1.3 C的內(nèi)存模型 37 2.1.4 全局變量和賦值語(yǔ)句 38 2.1.5 局部變量 40 2.2 控制流 42 2.2.1 if/else語(yǔ)句 42 2.2.2 switch語(yǔ)句 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 二項(xiàng)式系數(shù)函數(shù) 57 2.4.5 逆轉(zhuǎn)數(shù)組元素順序 61 2.4.6 漢諾塔 61 2.4.7 相互遞歸 63 2.4.8 遞歸的成本 64 2.5 動(dòng)態(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 無(wú)符號(hào)二進(jìn)制表示 76 3.1.1 二進(jìn)制存儲(chǔ) 76 3.1.2 整數(shù) 77 3.1.3 基數(shù)轉(zhuǎn)換 78 3.1.4 無(wú)符號(hào)整數(shù)的范圍 80 3.1.5 無(wú)符號(hào)加法 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 寄存器傳送語(yǔ)言 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ì)算機(jī)體系結(jié)構(gòu) 120 4.1 硬件 120 4.1.1 中央處理單元 120 4.1.2 主存儲(chǔ)器 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 字存儲(chǔ)指令 127 4.2.4 加法指令 128 4.2.5 減法指令 128 4.2.6 與和或指令 129 4.2.7 按位取反和取負(fù)指令 130 4.2.8 字節(jié)裝入和字節(jié)存儲(chǔ)指令 131 4.2.9 輸入和輸出設(shè)備 132 4.2.10 大端順序和小端順序 133 4.3 馮·諾依曼機(jī)器 134 4.3.1 馮·諾依曼執(zhí)行周期 134 4.3.2 一個(gè)字符輸出程序 135 4.3.3 馮·諾依曼漏洞 138 4.3.4 一個(gè)字符輸入程序 139 4.3.5 十進(jìn)制轉(zhuǎn)換為ASCII 139 4.3.6 一個(gè)自我修改程序 140 4.4 ISA3層的編程 142 4.4.1 只讀存儲(chǔ)器 143 4.4.2 Pep/9操作系統(tǒng) 144 4.4.3 使用Pep/9系統(tǒng) 145 本章小結(jié) 146 練習(xí) 146 編程題 148 第四部分 匯編層(第5層) 第5章 匯編語(yǔ)言 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 符號(hào) 165 5.3.1 帶符號(hào)的程序 165 5.3.2 一個(gè)馮·諾依曼示例 166 5.4 從HOL6層翻譯 168 5.4.1 Printf()函數(shù) 169 5.4.2 變量和類型 170 5.4.3 全局變量和賦值語(yǔ)句 171 5.4.4 類型兼容 174 5.4.5 Pep/9符號(hào)跟蹤器 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 棧相對(duì)尋址 185 6.1.2 訪問(wèn)運(yùn)行時(shí)棧 186 6.1.3 局部變量 188 6.2 分支指令和控制流 190 6.2.1 翻譯if語(yǔ)句 191 6.2.2 優(yōu)化編譯器 192 6.2.3 翻譯if/else語(yǔ)句 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 早期語(yǔ)言的控制流 199 6.2.9 結(jié)構(gòu)化編程定律 200 6.2.10 goto爭(zhēng)論 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語(yǔ)句 230 6.5 動(dòng)態(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章 語(yǔ)言翻譯原理 259 7.1 語(yǔ)言、語(yǔ)法和語(yǔ)法分析 259 7.1.1 連接 260 7.1.2 語(yǔ)言 260 7.1.3 語(yǔ)法 261 7.1.4 C標(biāo)識(shí)符的語(yǔ)法 262 7.1.5 有符號(hào)整數(shù)的語(yǔ)法 263 7.1.6 上下文相關(guān)的語(yǔ)法 264 7.1.7 語(yǔ)法分析問(wèn)題 264 7.1.8 表達(dá)式的語(yǔ)法 265 7.1.9 C語(yǔ)法的一部分 266 7.1.10 C的上下文相關(guān)性 269 7.2 有限狀態(tài)機(jī) 270 7.2.1 用有限狀態(tài)機(jī)分析標(biāo)識(shí)符 270 7.2.2 簡(jiǎn)化的有限狀態(tài)機(jī) 271 7.2.3 非確定性有限狀態(tài)機(jī) 271 7.2.4 具有空轉(zhuǎn)換的狀態(tài)機(jī) 272 7.2.5 多語(yǔ)言符號(hào)識(shí)別器 274 7.2.6 語(yǔ)法與有限狀態(tài)機(jī) 276 7.3 實(shí)現(xiàn)有限狀態(tài)機(jī) 277 7.3.1 編譯過(guò)程 278 7.3.2 查找表分析器 278 7.3.3 直接編碼分析器 280 7.3.4 輸入緩沖區(qū)類 282 7.3.5 多語(yǔ)言符號(hào)分析器 283 7.4 代碼生成 288 7.4.1 語(yǔ)言翻譯器 288 7.4.2 語(yǔ)法分析器特性 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ù)地址計(jì)算 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 信號(hào)量 342 8.3.10 帶信號(hào)量的臨界區(qū) 343 8.4 死鎖 343 8.4.1 資源分配圖 344 8.4.2 死鎖策略 345 本章小結(jié) 346 練習(xí) 346 編程題 351 第9章 存儲(chǔ)管理 353 9.1 內(nèi)存分配 353 9.1.1 單道程序設(shè)計(jì) 353 9.1.2 固定分區(qū)多道程序設(shè)計(jì) 354 9.1.3 邏輯地址 355 9.1.4 可變分區(qū)多道程序設(shè)計(jì) 356 9.1.5 分頁(yè) 359 9.2 虛擬內(nèi)存 361 9.2.1 大程序的行為 361 9.2.2 虛擬內(nèi)存 361 9.2.3 按需分頁(yè) 362 9.2.4 替換頁(yè) 363 9.2.5 頁(yè)替換算法 363 9.3 文件管理 365 9.3.1 磁盤驅(qū)動(dòng)器 365 9.3.2 文件抽象 366 9.3.3 分配技術(shù) 367 9.4 錯(cuò)誤檢測(cè)與糾錯(cuò)碼 369 9.4.1 錯(cuò)誤檢測(cè)碼 369 9.4.2 編碼要求 370 9.4.3 糾正一位錯(cuò)誤編碼 372 9.5 RAID存儲(chǔ)系統(tǒng) 373 9.5.1 RAID 0級(jí):無(wú)冗余條帶化 374 9.5.2 RAID 1級(jí):鏡像 374 9.5.3 RAID 01和10級(jí):條帶化和鏡像 375 9.5.4 RAID 2級(jí):內(nèi)存風(fēng)格的ECC 376 9.5.5 RAID 3級(jí):位交叉奇偶校驗(yàn) 377 9.5.6 RAID 4級(jí):塊交叉奇偶校驗(yàn) 377 9.5.7 RAID 5級(jí):塊交叉分布奇偶校驗(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 兩級(jí)電路 395 10.2.4 無(wú)處不在的NAND 397 10.3 組合設(shè)計(jì) 398 10.3.1 范式 398 10.3.2 三變量卡諾圖 399 10.3.3 四變量卡諾圖 403 10.3.4 對(duì)偶卡諾圖 406 10.3.5 無(wú)關(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章 時(shí)序電路 426 11.1 鎖存器與時(shí)鐘觸發(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 激勵(lì)表 437 11.2 時(shí)序分析與設(shè)計(jì) 437 11.2.1 時(shí)序分析問(wèn)題 438 11.2.2 預(yù)設(shè)置與清除 441 11.2.3 時(shí)序設(shè)計(jì) 441 11.2.4 一個(gè)時(shí)序設(shè)計(jì)問(wèn)題 441 11.3 計(jì)算機(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ì)算機(jī)組成 460 12.1 構(gòu)建一個(gè)ISA3層機(jī)器 460 12.1.1 CPU數(shù)據(jù)區(qū) 460 12.1.2 馮·諾依曼周期 463 12.1.3 存儲(chǔ)字節(jié)直接尋址指令 467 12.1.4 總線協(xié)議 468 12.1.5 存儲(chǔ)字直接尋址指令 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)存對(duì)齊 476 12.2.2 內(nèi)存對(duì)齊 480 12.2.3 n位計(jì)算機(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ì)算機(jī)組成 501 12.3.5 流水線 505 12.4 結(jié)論 512 12.4.1 模型簡(jiǎn)化 512 12.4.2 全局架構(gòu) 513 本章小結(jié) 514 練習(xí) 514 編程題 517 附錄 Pep/9體系結(jié)構(gòu) 519 部分練習(xí)參考答案 529 索引 543
你還可能感興趣
我要評(píng)論
|