今天本號推薦乙個程式開發領域的經典之作,《深入理解計算機系統》。本書於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,還有錄影,主講人就是這本書的作者。備註 備註 詳細...