-
Notifications
You must be signed in to change notification settings - Fork 78
Home
陳鍾誠 edited this page Oct 8, 2018
·
5 revisions
陳鍾誠的《計算機結構》與《系統程式》課程,都採用 Nand2tetris 這門網路課程。
- Nand2tetris = 計算機結構 + 系統程式
本《系統程式》課程以 Nand2tetris (Part II, 6-12 章) 為核心,主要學習重點是《系統軟體的建構》,包含《組譯器、虛擬機、編譯器、作業系統》等主題。
當您已經從 Nand2tetris (Part I, 1-5 章) 學會電腦硬體的設計原理之後,就可以開始學習《系統軟體》的部分了!
- nane2tetris 官網 -- http://www.nand2tetris.org/
- Coursera -- Nand to Tetris Part I
- Coursera -- Nand to Tetris Part II
- Nand2tetris -- 動手設計電腦的軟硬體
- 陳鍾誠的系統程式書 -- http://sp1.wikidot.com/
- CS:APP 課程
- 菜鳥教程 C 語言入門
- 菜鳥教程 C++ 入門
- 菜鳥教程 Linux 入門
- Go 語言之旅 -- https://go-tour-zh-tw.appspot.com/
-
陳鍾誠的語言處理技術電子書 (SlideShare)
- 第二章 -- 生成語法
- 第五章 -- 語法剖析
- 本課程的 wiki 筆記
- 開放課程: coursera:nand2tetris 。
- 官方網站: http://nand2tetris.org/
- 課本: 英文版 | 中文版
- Coursera 課程: Part I | PartII
- 講義: http://nand2tetris.org/course.php
- 軟體: http://nand2tetris.org/software.php
- 補充課程: 计算机组成 Computer Organization , by 陆俊林(Lu Junlin)
- 補充教材:
- 少年科技人雜誌/2015年6月/NandToTetris 慕課記 -- 從邏輯閘到方塊遊戲
- 程式人雜誌/2015年7月/向 Nand2Tetris 學習電腦硬體設計
- 少年科技人雜誌/2015年6月/NandToTetris Part II 自學記 -- 虛擬機、編譯器與作業系統
- 程式人雜誌/2015年9月/向 Nand2Tetris 學習系統軟體設計
- HackALU 的設計原理
- 計算機組成與嵌入式系統
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 - 作業系統 -- 簡易作業系統