返回課程
AI031 專業人士

電腦系統:程式設計師觀點(全球版)

深入探討電腦系統如何執行程式與儲存資訊。本課程彌補高階程式設計與底層硬體之間的差距,涵蓋機器級表示、處理器架構、記憶體層次結構以及並行程式設計。

5.0
36.0h
955 學習者
12 堂課
0 讚好
人工智能
開始學習

課程總覽

內容摘要

深入探討電腦系統如何執行程式與儲存資訊。本課程彌補高階程式設計與底層硬體之間的差距,涵蓋機器級表示、處理器架構、記憶體層次結構以及平行程式設計。

透過理解硬體與軟體介面,掌握系統程式設計的藝術。

作者: Randal E. Bryant, David R. O'Hallaron

致謝: 由卡內基梅隆大學 15-213 課程的學生與教師提供支援。致謝內容包括 Manasa S. 與 Mohit Tahiliani 的貢獻。

學習目標

  1. 識別資訊如何以位元及系統中的上下文來表示。
  2. 追蹤編譯系統從原始碼到可執行檔的四個階段。
  3. 描述硬體的組織結構以及儲存裝置的層次性。
  4. 在十進制、二進制與十六進制之間進行轉換,並解釋機器級位址(大小端)。
  5. 在 C 語言中執行位元級與邏輯運算,並預測算術右移的結果。
  6. 分析整數編碼,以辨識潛在的溢位漏洞與型別轉換錯誤。
  7. 分析 C 程式語言結構(迴圈、分支、函式)與 x86-64 匯流排指令之間的對應關係。
  8. 解構 執行時堆疊,說明參數傳遞、區域變數儲存與遞迴呼叫的管理方式。
  9. 評估 異質資料結構的記憶體配置,並應用對齊規則計算總儲存需求。
  10. 定義 Y86-64 程式員可見狀態,並將指令編碼/解碼為字節序列。

課程

Lesson