-
Notifications
You must be signed in to change notification settings - Fork 50
Home
陳鍾誠 edited this page Sep 13, 2017
·
4 revisions
陳鍾誠的《計算機結構》與《系統程式》課程,都採用 Nand2tetris 這門網路課程。
- Nand2tetris = 計算機結構 + 系統程式
本《計算機結構》課程以 Nand2tetris (Part I, 1-5 章) 為核心,透過硬體描述語言實作從基本邏輯閘到 CPU 的完整程序,動手設計一整台電腦的硬體結構,然後銜接《系統程式》的部分 (Nand2tetris Part II, 6-12 章)。
- 開放課程: 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 - 計算機結構 -- 處理器與整台電腦
- 您可以選擇以 nand2tetris 為主,或者自行設計一顆自己的處理器,或者自行提出其他方案。
- 以 nand2tetris 為主者,請看 coursera 上的影片並做習題。
- 自行設計處理器者,可用 VHDL/Verilog 等硬體描述語言。
- 提出其他方案者,請在《第三週前》將方案提交給老師。