第十三屆 佳作

software-dev
微自幹的作業系統輕旅行
EN

系列文章

DAY 1

參賽前言 & 系列文規劃

大家好,我是 Ian,因為一些原因,我在年初的時候接觸到嵌入式系統開發與系統軟體實作。在這一年來也寫了許多文章記錄學習歷程,希望這篇系列文可以激起讀者對 CS...

DAY 2

一次搞懂 ISA、CISC 與 RISC

1945 年 6 月 30 日,Von Neumann 與他的工作夥伴因為曼哈頓工程中使用到了大量的運算,所以採用了當時最先進的電腦 Mark I 和 ENIA...

DAY 3

數值系統與補數

本文目標 了解計算機如何儲存資料 了解計算機如何處理負數以及減法 練習進制間的轉換 進制系統 進位制是一種記數方式,利用這種記數方式,人類可以使用有限種數...

DAY 4

關於計算機,你必須知道的事: CPU 快取

本文目標 記憶體層接 介紹快取的組成 常見的快取機制 使用快取需要面對的同步問題 進入正題 CPU 的快取被設計來解決記憶體存取過慢的問題。 透過上圖的記...

DAY 5

透過數位邏輯電路學習 Bitwise 操作

本文目標 學習基礎的數位邏輯概念 認識撰寫系統軟體常用的 Bitwise 技巧 位移操作 認識多工器 關於 CPU 的設計要點,我們可以透過維基百科略知一二...

DAY 6

透過 RISC-V 模擬器搞懂指令管線化

本文目標 理解處理器在各個 stage 會有何種行為 Pinpline 的概念 現代處理器面臨的挑戰 追蹤原始碼 進入正題 本篇文章藉由閱讀 rv32emu...

DAY 7

淺談分支預測與 Hazards 議題

本篇章介紹經常發生在 Pinpline 上的潛在傷害 (Hazards) 以及針對各種 Case 所設立的解決機制。 Hazards Structural...

DAY 8

IEEE-754 與浮點數運算

本文目標 IEEE-754 規範對於工程發展的重要性 認識浮點數 使用演算法改善浮點數運算時帶來的誤差問題 進入正題 在大學的多個課程中都會提到浮點數運算,...

DAY 9

組譯器與連結器 (上)

本文目標 理解 RISC-V 基礎指令集 假指令 (pseudo instruction)、擴展指令集 組譯器與組合語言 組譯器 組譯器 (Assemble...

DAY 10

組譯器與連結器 (下)

本文目標 了解連結器與常見的連結方式 Lazy-binding 建立對 elf file format 的基本認知 連結器的用途 連結器讓我們能夠對各個獨立...