返回課程
AI031
專業人士
電腦系統:程式設計師觀點(全球版)
深入探討電腦系統如何執行程式與儲存資訊。本課程彌補高階程式設計與底層硬體之間的差距,涵蓋機器級表示、處理器架構、記憶體層次結構以及並行程式設計。
5.0
36.0h
955 學習者
12 堂課
0 讚好
人工智能
課程總覽
內容摘要
深入探討電腦系統如何執行程式與儲存資訊。本課程彌補高階程式設計與底層硬體之間的差距,涵蓋機器級表示、處理器架構、記憶體層次結構以及平行程式設計。
透過理解硬體與軟體介面,掌握系統程式設計的藝術。
作者: Randal E. Bryant, David R. O'Hallaron
致謝: 由卡內基梅隆大學 15-213 課程的學生與教師提供支援。致謝內容包括 Manasa S. 與 Mohit Tahiliani 的貢獻。
學習目標
- 識別資訊如何以位元及系統中的上下文來表示。
- 追蹤編譯系統從原始碼到可執行檔的四個階段。
- 描述硬體的組織結構以及儲存裝置的層次性。
- 在十進制、二進制與十六進制之間進行轉換,並解釋機器級位址(大小端)。
- 在 C 語言中執行位元級與邏輯運算,並預測算術右移的結果。
- 分析整數編碼,以辨識潛在的溢位漏洞與型別轉換錯誤。
- 分析 C 程式語言結構(迴圈、分支、函式)與 x86-64 匯流排指令之間的對應關係。
- 解構 執行時堆疊,說明參數傳遞、區域變數儲存與遞迴呼叫的管理方式。
- 評估 異質資料結構的記憶體配置,並應用對齊規則計算總儲存需求。
- 定義 Y86-64 程式員可見狀態,並將指令編碼/解碼為字節序列。