微處理機系統原理與實作
Microprocessor Systems: Principles andImplementation
學期
113-1
學分
3
學分
當期課號
515615
永久課號
CSCS20019
開課單位
資訊工程學系
授課教師
蔡淳仁
校區
光復
類別
選修
上課時間表
| 節 | 週二 | 週五 |
|---|---|---|
3 10:10–11:00 | 微處理機系統原理與實作 ED102 2 節連堂 | |
4 11:10–12:00 | ||
7 15:30–16:20 | 微處理機系統原理與實作 ED102 |
* 根據陽明交大上課時間表所列
概述
這門課會涵蓋微處理器系統的電路及系統軟體的設計實作細節。本課程會以一個開源碼的 RISC-V 處理器電路為基礎,在FPGA開發板上合成出完整的系統單晶片應用處理器,並進行各種實作實驗。我們使用的開源碼處理器是由授課教授的研究團隊所自行開發的 Aquila 處理器。 完整的 Aquila 處理器完全符合 RISC-V RV32-IMA 指令集規範,也支援執行權限及虛擬記憶體管理,可以執行 Linux 作業系統。在這門課我們會使用一個專為課程簡化過的 Aquila 版本,透過百分之百開源的軟硬體程式碼進行一系列的的實作訓練,讓學生學習一個完整的、可執行即時作業系統 FreeRTOS 的微處理器系統的所有軟硬體設計細節,並在最後一個實驗整合所學的技術來實作一個內建 AI 神經網路加速電路的應用處理器。
先修科目
數位電路設計(或邏輯設計)。 計算機組織。 C 和 Verilog 語言設計能力。
教學方式
所有授課資源會放在E3課程網頁。
評分方式
整門課程會有六個實作作業。每個作業會要求你修改課程提供的開源碼 RISC-V 處理器 Aquila 的軟硬體程式碼(用 C 和 Verilog 撰寫),來提升應用處理器系統的計算效能、或增加新的電路功能。所有的實作作業都會使用 Xilinx Artix-7 XC7A100T FPGA 開發板來驗證系統軟硬體功能的正確性。而且每個作業都需撰寫一份報告作為成績評估的依據。最後的期末作業則是會整合所有學到的技術來實作一個可為AI神經網路計算加速的特殊應用處理器。 另外,會有兩次的上機考,以測試同學實作能力。
課程大綱
- Introduction to the Course
- Lab 0 Lecture
- Lab 1 Lecture
- Microprocessor Design: History and Review
- Lab 2 Lecture
- Application Processors and the Aquila SoC
- Lab 3 Lecture
- Memory Subsystems of the Microprocessors
- Lab 4 Lecture
- Microprocessor Support for the Operating Systems
- Lab 5 Lecture
- I/O Subsystems of the Microprocessors
- Multi-core Processor Organizations
週次計畫
| 週次 | 主題 |
|---|---|
| 第 1 週 | |
| 第 2 週 | |
| 第 3 週 | |
| 第 4 週 | |
| 第 5 週 | |
| 第 6 週 | |
| 第 7 週 | |
| 第 8 週 | |
| 第 9 週 | |
| 第 10 週 | |
| 第 11 週 | |
| 第 12 週 | |
| 第 13 週 | |
| 第 14 週 | |
| 第 15 週 | |
| 第 16 週 |
教科書
None.
Office Hours
- 地點
- EC718
- 時間
- Tue. EF. and Fri. B.
- 聯絡方式
- 電話分機: 31628 email: cjtsai@cs.nycu.edu.tw