課程介紹
6.004 介紹了計算結(jié)構关摇,包含MOS transistors, logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. 并介紹了一系列硬件軟件設計例子。
課程框架
-
§ Module 1-- 匯編與指令集
- 二進制表示與操作 Binary representation and operations
- RISC-V ISA
- Assembly language programming in RISC-V
- Expressing high-level programming in assembly language
- Procedure calling convention
-
§ Module 2 -- 數(shù)字表示與邏輯電路
- Digital abstraction
- Boolean algebra and combinational logic
- Sequential Logic
- Expressing logic designs in Bluespec, a modern hardware design language
- Logic synthesis
- Pipelined and folded circuits
-
§ Module 3
- Implement non-pipelined RISC-V computer
- Caches
- Implement Pipelined RISC-V computers
- control and data hazards, bypasses
- Branch prediction (time permitting)
-
§ Module 4 -- 操作系統(tǒng)
- Operating systems
- I/O interrupts and exceptions
- Virtual memory
-
§ Module 5 -- 并行運算
- parallel programming and multicore issues – synchronization, cache coherence, ...
學習記錄
- 第一節(jié) introduction - 完成
- RISC-V Assembly - 完成
- Compiling code, Procedure, and Stack - 完成
- Procedures and MMIO
第一節(jié)總結(jié)
介紹了本門課程涵蓋的內(nèi)容以及重要性。MicroProcessor的組成,高級編程語言(c++, python, java)到機器語言(機器指令)的轉(zhuǎn)換方式及匯編的作用。
Components of a MicroProcessor
第二節(jié)總結(jié)
RISC-V指令集的四類指令:
- Arithmetic
- Comparison
- Logical
- Shift operations
第三節(jié)總結(jié)
介紹了從代碼到匯編的轉(zhuǎn)換,比較復雜的地方是進行procedure call帘瞭,以及為了解決procedure call中主函數(shù)和被調(diào)函數(shù)之間使用寄存器可能會相互覆蓋的問題增加了棧的使用。
本節(jié)結(jié)束后開始學習lab1
擴展學習:深入理解計算機系統(tǒng)-第三章-程序的機器級表示
RISC-V資料
參考資料
6.004 計算結(jié)構 - MIT挑戰(zhàn)總結(jié)
電子工程和計算機科學的交叉課程蒿讥。設計項目包含了門級CPU的規(guī)范蝶念,這是用來搭建計算機的電子元件抛腕。這門課的缺點是缺少相關的課程材料,但是作業(yè)和實驗很給力媒殉。分數(shù):4/5担敌。
1. 免費課程資料
2. 實驗和工程(注:運行這些文件需要BSim和JSim,都可以在課程頁面免費下載)
3. 我的考試結(jié)果
4. MIT官方答案
參考資料