Skip to content
陳鍾誠 edited this page Oct 8, 2018 · 5 revisions

系統程式

陳鍾誠的《計算機結構》與《系統程式》課程,都採用 Nand2tetris 這門網路課程。

  • Nand2tetris = 計算機結構 + 系統程式

本《系統程式》課程以 Nand2tetris (Part II, 6-12 章) 為核心,主要學習重點是《系統軟體的建構》,包含《組譯器、虛擬機、編譯器、作業系統》等主題。

當您已經從 Nand2tetris (Part I, 1-5 章) 學會電腦硬體的設計原理之後,就可以開始學習《系統軟體》的部分了!

學習資源

補充資源

nand2tetris 相關

關於 nand2tetris

Nand2tetris 是一門《專案導向》的網路線上課程。

這門課要求學習者從硬體到軟體完整的實作一台電腦。

學習者必須從《最基礎的 nand 閘開始,經過 ALU、CPU、組譯器、虛擬機、編譯器到作業系統》,完整的完成總共 12 個章節的習題。

我用這門課作為金門大學資訊工程系《計算機結構》與《系統程式》的主要教材。

二年級上學期先學習《計算機結構》,內容是 Nand2tetris 1-5 章。

二年級下學期接著學《系統程式》,內容是 Nand2tetris 6-12 章。

這兩門課的內容安排如下:

計算機結構

1 - 布林邏輯 -- 簡易基本電路

2 - 算術電路 -- 加法器 與 ALU

3 - 記憶電路 -- 正反器、暫存器與記憶體

4 - 組合語言 -- 組合語言與機器指令

5 - 計算機結構 -- 處理器與整台電腦

系統程式

6 - 組譯器 -- 將組合語言轉為機器語言

7 - 虛擬機 (1) -- 將中介語言轉為組合語言

8 - 虛擬機 (2) -- 將中介語言轉為組合語言

9 - 高階語言 -- Hack 語言及語法

10 - 編譯器 (1) -- 高階語言剖析

11 - 編譯器 (2) -- 程式碼產生

12 - 作業系統 -- 簡易作業系統