程式設計師高階必讀《深入理解計算機系統》

2021-09-22 10:00:05 字數 750 閱讀 2368

今天本號推薦乙個程式開發領域的經典之作,《深入理解計算機系統》。本書於2023年由機械工業出版社翻譯出版。英文原版的名稱為《計算機系統-程式設計師的視角》。圖1是影印版的截圖。這本是是程式設計師必讀之經典

圖2是機械工業出版社的截圖。從截圖風格也能猜出來這本書是機械工業出版社的作品。

廢話少說,我們先看一下這本書的目錄:

1. 計算機系統漫遊

2. 資訊的表示和處理

3. 程式的機器級表示

4. 處理器體系結構

5. 優化程式效能

6. 儲存器層次結構

7. 鏈結

8. 異常控制流

9. 虛擬儲存器

10. 系統級i/o

11. 網路程式設計

12. 併發程式設計

從目錄上可以看出,該書從計算機的底層揭示了程式開發和執行的本質。同時本書囊括了從程式的編譯到執行的方方面面,而且包含程式開發的常見領域,例如io、網路和併發等。

本書最大的特點在於庖丁解牛式的解析,不僅僅告訴你程式是如何編譯的,而且告訴你程式編譯過程中編譯器是如何對程式進行優化的,並且告訴你從cpu指令方面存在的問題及優化的侷限等。

深入理解計算機系統第四版 深入理解計算機系統

記憶體從概念上來說就是乙個很大的位元組陣列,儲存著程式和資料。程式用虛擬位址來引用記憶體位置。硬體和作業系統軟體聯合起來將虛擬位址翻譯成實際或實體地址,指明資料實際存在記憶體中哪個地方。指令集的乙個重要性質就是位元組編碼必須有唯一的解釋。任意乙個位元組序列要麼是乙個唯一的指令序列的編碼,要麼就不是乙...

深入理解計算機系統

關鍵路徑是在迴圈的反覆執行中形成的資料相關鏈。迴圈展開是一種程式變換,通過增加每次迭代計算的元素的數量,減少迴圈的迭代次數。重新結合變換能夠減少計算中關鍵路徑上操作的數量,通過更好地利用功能單元的流水線能力得到更好的效能。浮點運算不保證是可結合的,通常迴圈展開和並行地累積在多個值中,是提高程式效能的...

《深入理解計算機系統》

知乎 深入理解計算機系統 這本書需要什麼水平能看懂?15 213 18 218 15 513 introduction to computer systems schedule fall 2016 鏈結失效則 cmu15 213的課程主頁,有ppt,還有錄影,主講人就是這本書的作者。備註 備註 詳細...