發表於2024-11-20
書[0名0]: | 深入理解計算機係統(原書[0第0]3版)|5007882 |
圖書定價: | 139元 |
圖書作者: | (美)蘭德爾·E.布萊恩特(Randal E.Bryant) |
齣版社: | 機械工業齣版社 |
齣版日期: | 2016/11/1 0:00:00 |
ISBN號: | 9787111544937 |
開本: | 16開 |
頁數: | 0 |
版次: | 1-1 |
作者簡介 |
關於作者 Randal E.Bryant 1973年於密歇根[0大0][0學0]獲得[0學0]士[0學0]位,隨即就讀於麻省理工[0學0]院研究生院,並在1981年獲計算機科[0學0]博士[0學0]位。他在加州理工[0學0]院做瞭三年助教,從1984年至今一直是卡內基梅隆[0大0][0學0]的教師。這其中有五年的時間,他是計算機科[0學0]係主任,有十年的時間是計算機科[0學0][0學0]院院長。他現在是計算機科[0學0][0學0]院的院長、教授。他同時還受邀任職於電子與計算機工程係。 他教授本科生和研究生計算機係統方麵的課程近40年。在講授計算機體係結構課程多年後,他開始把關注點從如何設計計算機轉移到程序員如何在更好地瞭解係統的情況下編寫齣更有效和更可靠的程序。他和O�揌[0all0]aron教授一起在卡內基梅隆[0大0][0學0]開設瞭15-213課程“計算機係統導論”,那便是此書的基礎。他還教授一些有關算[0法0]、編程、計算機網絡、分布式係統和VLSI([0超0][0大0]規模集成電路)設計方麵的課程。 Bryant教授的主要研究內容是設計軟件工具來幫助軟件和硬件設計者驗證其係統正確性。其中,包括幾種類型的模擬器,以及用數[0學0]方[0法0]來證明設計正確性的形式化驗證工具。他發錶瞭150多篇技術論文。包括Intel、IBM、Fujitsu和Microsoft在內的主要計算機製造[0商0]都使用著他的研究成果。他還因他的研究獲得過數項[0大0]奬。其中包括Semiconductor Research Corporation頒發的兩個發明榮譽奬和一個技術成就奬,ACM頒發的Kanellakis理論與實踐奬,還有IEEE頒發的W.R.G.Baker奬、Emmanuel Piore奬和Phil Kaufman奬。他還是ACM院士、IEEE院士、美[0國0][0國0]傢工程院院士和美[0國0]人文與科[0學0]研究院院士。 David R.O�揌[0all0]aron 卡內基梅隆[0大0][0學0]計算機科[0學0]和電子與計算機工程係教授。在弗吉尼亞[0大0][0學0]獲得計算機科[0學0]博士[0學0]位,2007~2010年為Intel匹茲堡實驗室主任。 20年來,他教授本科生和研究生計算機係統方麵的課程,例如計算機體係結構、計算機係統導論、並行處理器設計和Internet服務。他和Bryant教授一起在卡內基梅隆[0大0][0學0]開設瞭作為本書基礎的“計算機係統導論”課程。2004年他獲得瞭卡內基梅隆[0大0][0學0]計算機科[0學0][0學0]院頒發的Herbert Simon傑齣教[0學0]奬,這個奬項的獲得者是基於[0學0]生的投票産生的。 O’H[0all0]aron教授從事計算機係統[0領0]域的研究,主要興趣在於科[0學0]計算、數據密集型計算和虛擬化方麵的軟件係統。其中著[0名0]的是Quake項目,該項目是一群計算機科[0學0]傢、土木工程師和地震[0學0]傢為提高對強烈地震中[0大0]地運動的預測能力而開發的。2003年,他同Quake項目中其他成員一起獲得瞭高性能計算[0領0]域中的高[0國0]際奬項——Gordon Bell奬。他目前的工作重點是自動分級(autograding)概念,即[0評0]價其他程序質量的程序。 |
內容簡介 |
本書從程序員的視角詳細闡述計算機係統的本質概念,並展示這些概念如何實實在在地影響應用程序的正確性、性能和實用性。全書共12章,主要包括信息的錶示和處理、程序的機器級錶示、處理器體係結構、[0優0]化程序性能、存儲器層次結構、鏈接、異常控製流、虛擬存儲器、係統級I/O、網絡編程、並發編程等內容。書中提供瞭[0大0]量的例子和練習題,並給齣部分答案,有助於讀者加深對正文所述概念和[0知0]識的理解。 本書適閤作為高等院校計算機及相關專業本科生、研究生的教材,也可供想要寫齣更快、更可靠程序的程序員及專業技術人員參考。 |
目錄 |
齣版者的話 中文版序一 中文版序二 譯者序 前言 關於作者 [0第0]1章 計算機係統漫遊1 1.1 信息就是位+上下文1 1.2 程序被其他程序翻譯成不同的格式3 1.3 瞭解編譯係統如何工作是[0大0]有益處的4 1.4 處理器讀並解釋儲存在內存中的指令5 1.4.1 係統的硬件組成5 1.4.2 運行hello程序7 1.5 高速緩存至關重要9 1.6 存儲設備形成層次結構9 1.7 操作係統管理硬件10 1.7.1 進程11 1.7.2 綫程12 1.7.3 虛擬內存12 1.7.4 文件14 1.8 係統之間利用網絡通信14 1.9 重要主題16 1.9.1 Amdahl定律16 1.9.2 並發和並行17 1.9.3 計算機係統中抽象的重要性19 1.10 小結20 參考文獻說明20 練習題答案20 [0第0]一部分 程序結構和執行 [0第0]2章 信息的錶示和處理22 2.1 信息存儲24 2.1.1 十六進製錶示[0法0]25 2.1.2 字數據[0大0]小27 2.1.3 尋址和字節順序29 2.1.4 錶示字符串34 2.1.5 錶示代碼34 2.1.6 布爾代數簡介35 2.1.7 C語言中的位級運算37 2.1.8 C語言中的邏輯運算39 2.1.9 C語言中的移位運算40 2.2 整數錶示41 2.2.1 整型數據類型42 2.2.2 無符號數的編碼43 2.2.3 補碼編碼44 2.2.4 有符號數和無符號數之間的轉換49 2.2.5 C語言中的有符號數與無符號數52 2.2.6 擴展一個數字的位錶示54 2.2.7 截斷數字56 2.2.8 關於有符號數與無符號數的建議58 2.3 整數運算60 2.3.1 無符號加[0法0]60 2.3.2 補碼加[0法0]62 2.3.3 補碼的非66 2.3.4 無符號乘[0法0]67 2.3.5 補碼乘[0法0]67 2.3.6 乘以常數70 2.3.7 除以2的冪71 2.3.8 關於整數運算的後思考74 2.4 浮點數75 2.4.1 二進製小數76 2.4.2 IEEE浮點錶示78 2.4.3 數字示例79 2.4.4 捨入83 2.4.5 浮點運算85 2.4.6 C語言中的浮點數86 2.5 小結87 參考文獻說明88 傢庭作業88 練習題答案97 [0第0]3章 程序的機器級錶示109 3.1 曆[0史0]觀點110 3.2 程序編碼113 3.2.1 機器級代碼113 3.2.2 代碼示例114 3.2.3 關於格式的注解117 3.3 數據格式119 3.4 訪問信息119 3.4.1 操作數指示符121 3.4.2 數據傳送指令122 3.4.3 數據傳送示例125 3.4.4 壓入和彈齣棧數據127 3.5 算術和邏輯操作128 3.5.1 加載有效地址129 3.5.2 一元和二元操作130 3.5.3 移位操作131 3.5.4 討論131 3.5.5 特殊的算術操作133 3.6 控製135 3.6.1 條件碼135 3.6.2 訪問條件碼136 3.6.3 跳轉指令138 3.6.4 跳轉指令的編碼139 3.6.5 用條件控製來實現條件分支…141 3.6.6 用條件傳送來實現條件分支…145 3.6.7 循環149 3.6.8 switch語句159 3.7 過程164 3.7.1 運行時棧164 3.7.2 轉移控製165 3.7.3 數據傳送168 3.7.4 棧上的局部存儲170 3.7.5 寄存器中的局部存儲空間172 3.7.6 遞歸過程174 3.8 數組分配和訪問176 3.8.1 基本原則176 3.8.2 指針運算177 3.8.3 嵌套的數組178 3.8.4 定長數組179 3.8.5 變長數組181 3.9 異質的數據結構183 3.9.1 結構183 3.9.2 聯閤186 3.9.3 數據對齊189 3.10 在機器級程序中將控製與數據結閤起來192 3.10.1 理解指針192 3.10.2 應用:使用GDB調試器193 3.10.3 內存越界引用和緩衝區溢齣194 3.10.4 對抗緩衝區溢齣攻擊198 3.10.5 支持變長棧幀201 3.11 浮點代碼204 3.11.1 浮點傳送和轉換操作205 3.11.2 過程中的浮點代碼209 3.11.3 浮點運算操作210 3.11.4 定義和使用浮點常數212 3.11.5 在浮點代碼中使用位級操作212 3.11.6 浮點比較操作213 3.11.7 對浮點代碼的觀察結論215 3.12 小結216 參考文獻說明216 傢庭作業216 練習題答案226 [0第0]4章 處理器體係結構243 4.1 Y86-64指令集體係結構245 4.1.1 程序員可見的狀態245 4.1.2 Y86-64指令245 4.1.3 指令編碼246 4.1.4 Y86-64異常250 4.1.5 Y86-64程序251 4.1.6 一些Y86-64指令的詳情255 4.2 邏輯設計和硬件控製語言HCL256 4.2.1 邏輯門257 4.2.2 組閤電路和HCL布爾錶達式257 4.2.3 字級的組閤電路和HCL整數錶達式258 4.2.4 集閤關係261 4.2.5 存儲器和時鍾262 4.3 Y86-64的順序實現264 4.3.1 將處理組織成階段264 4.3.2 SEQ硬件結構272 4.3.3 SEQ的時序274 4.3.4 SEQ階段的實現277 4.4 流水綫的通用原理282 4.4.1 計算流水綫282 4.4.2 流水綫操作的詳細說明284 4.4.3 流水綫的局限性284 4.4.4 帶反饋的流水綫係統287 4.5 Y86-64的流水綫實現288 4.5.1 SEQ+:重新安排計算階段288 4.5.2 插入流水綫寄存器289 4.5.3 對信號進行重新排列和標號292 4.5.4 預測下一個PC293 4.5.5 流水綫冒險295 4.5.6 異常處理306 4.5.7 PIPE各階段的實現308 4.5.8 流水綫控製邏輯314 4.5.9 性能分析322 4.5.10 未完成的工作323 4.6 小結325 參考文獻說明326 傢庭作業327 練習題答案331 [0第0]5章 [0優0]化程序性能341 5.1 [0優0]化編譯器的能力和局限性342 5.2 錶示程序性能345 5.3 程序示例347 5.4 消除循環的低效率350 5.5 減少過程調用353 5.6 消除不必要的內存引用354 5.7 理解現代處理器357 5.7.1 整體操作357 5.7.2 功能單元的性能361 5.7.3 處理器操作的抽象模型362 5.8 循環展開366 5.9 提高並行性369 5.9.1 多個纍積變量370 5.9.2 重新結閤變換373 5.10 [0優0]化閤並代碼的結果小結377 5.11 一些限製因素378 5.11.1 寄存器溢齣378 5.11.2 分支預測和預測錯誤處罰379 5.12 理解內存性能382 5.12.1 加載的性能382 5.12.2 存儲的性能383 5.13 應用:性能提高技術387 5.14 確認和消除性能瓶頸388 5.14.1 程序剖析388 5.14.2 使用剖析程序來指導[0優0]化390 5.15 小結392 參考文獻說明393 傢庭作業393 練習題答案395 [0第0]6章 存儲器層次結構399 6.1 存儲技術399 6.1.1 隨機訪問存儲器400 6.1.2 磁盤存儲406 6.1.3 固態硬盤414 6.1.4 存儲技術趨勢415 6.2 局部性418 6.2.1 對程序數據引用的局部性418 6.2.2 取指令的局部性419 6.2.3 局部性小結420 6.3 存儲器層次結構421 深入理解計算機係統(原書第3版) 計算機與互聯網 書籍|5007882 下載 mobi epub pdf txt 電子書 格式 深入理解計算機係統(原書第3版) 計算機與互聯網 書籍|5007882 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024深入理解計算機係統(原書第3版) 計算機與互聯網 書籍|5007882 下載 mobi pdf epub txt 電子書 格式 2024 深入理解計算機係統(原書第3版) 計算機與互聯網 書籍|5007882 下載 mobi epub pdf 電子書用戶評價
評分
評分
評分
評分
評分
評分
評分
評分
評分
類似圖書 點擊查看全場最低價
深入理解計算機係統(原書第3版) 計算機與互聯網 書籍|5007882 mobi epub pdf txt 電子書 格式下載 2024 分享鏈接相關圖書
|