Skip to content
陳鍾誠 edited this page Sep 13, 2017 · 4 revisions

計算機結構

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

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

本《計算機結構》課程以 Nand2tetris (Part I, 1-5 章) 為核心,透過硬體描述語言實作從基本邏輯閘到 CPU 的完整程序,動手設計一整台電腦的硬體結構,然後銜接《系統程式》的部分 (Nand2tetris Part II, 6-12 章)。

教材

關於 nand2tetris

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

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

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

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

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

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

計算機結構

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

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

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

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

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

修課方法

  1. 您可以選擇以 nand2tetris 為主,或者自行設計一顆自己的處理器,或者自行提出其他方案。
  2. 以 nand2tetris 為主者,請看 coursera 上的影片並做習題。
  3. 自行設計處理器者,可用 VHDL/Verilog 等硬體描述語言。
  4. 提出其他方案者,請在《第三週前》將方案提交給老師。