記錄我在學習 RISC-V 及各種電腦架構的內容。
希望有系統性地學習,並進行實作。
參考資料來源:https://wiki.csie.ncku.edu.tw/arch/schedule
記憶體階層架構 (Memory Hierarchy) 是電腦系統設計中用來平衡存取速度、容量與成本的設計方法,從速度最快、容量小的記憶體層級到速度較慢、容量大的...
圖片來源:https://courses.cs.duke.edu/cps104/fall98/lectures/week10-l2/sld021.htm...
Virtual Memory Overview: Virtual Memory 允許程序使用比實體記憶體更大的記憶體空間,通過備援存儲(例如硬碟)來暫時保...
Datapath 和執行階段: 已經設計出一個完整的 RISC-V datapath,能在一個 cycle 內執行所有指令。 五個執行階段為: IF(I...
程式編譯過程: 將高階語言(例如 C 程式)轉換為機器語言的過程分為幾個步驟: 高階語言(C 程式):經由編譯器轉換成組合語言。 組合語言:經由組譯...
組合語言轉換為機器語言的過程: 輸入:組合語言程式碼(例如 foo.s for RISC-V),這些程式碼可能包含偽指令(pseudoinstructi...
1. Linker 的作用: 輸入:Linker 的輸入是多個 object file(例如 foo.o, lib.o for RISC-V)。每個 obj...
1. Loader 的作用: 輸入:Loader 的輸入是已編譯並連結好的可執行檔案(例如,a.out for RISC-V)。 輸出:Loader 的輸...
1. 從 C 程式到組合語言(hello.c → hello.s): C 程式 (hello.c):主要包含一個 main() 函數,呼叫 printf 來...
1. Abstraction: 程式的表示層級: 高階語言程式 (例如 C):人類可讀的語言,易於撰寫但難以高效執行。 組合語言程式 (例如 RISC-...