iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

猴子都寫得出來的 RISC-V OoO CPU 系列

身為一隻好動的程式猴子
玩壞幾個 OoO CPU 也是合情合理
玩著玩著就想自己做一個
大不了吱吱嘎嘎叫 agent 寫
反正我是猴子
吱吱

參賽天數 26 天 | 共 26 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

天地初開

前言 現在是一個全新的世界站在這個時間點,不禁會想像很久很久以前 當年那些手寫 asm 的前輩,是不是也經歷過同樣的過程我們覺得神奇的 agent,是不是就是當...

2026-09-15 ‧ 由 hsufit 分享
DAY 2

化生萬物

剛開始的時候總是要來點環境設定鑒於之前有人問XXX要怎麼設定,但是看到的時候早就有人幫忙回答了這次採用在 Docker 開發的方式減少對系統環境的依賴 目前的環...

2026-09-16 ‧ 由 hsufit 分享
DAY 3

SystemC Hello

不免俗地來個專屬 systemC 的 hello只要依照以下步驟跑 ./run_docker.sh 再到 systemc_hello 下跑 ./run.sh 就...

2026-09-17 ‧ 由 hsufit 分享
DAY 4

Simple Emulator based on systemC

這次目標是理解最基本的 OOO CPU 怎麼設計指令集就用最簡單的 I+M,讓我們可以觀察不同長度的指令在 pipeline 裡面是怎麼運作的 先從算術指令集開...

2026-09-18 ‧ 由 hsufit 分享
DAY 5

Memory Interface

上次的因為重點是 emulator,實作上把 memory access 簡化了但未來我們會跟 RTL 共用一組 memory 實作,需要拆分出來做一個共同的介...

2026-09-19 ‧ 由 hsufit 分享
DAY 6

In Order CPU implementation

這顆 CPU 實作主要是為了承接接下來的 dual issue 和 OOO而且在 arithmetic 指令也有不同長短stage 設計跟只有 ALU 的會不太...

2026-09-20 ‧ 由 hsufit 分享
DAY 7

In Order CPU 長怎樣? 能吃嗎?

當我們祈求奇蹟時通常會以我們無法理解的方式實現 AI,或者說 LLM 讓我們可以跳過很多背景知識直接獲得結果但跨入一個新領域真的是這麼簡單的嗎?想像的東西跟實際...

2026-09-21 ‧ 由 hsufit 分享
DAY 8

In Order CPU 的接縫(seam)

從昨天的描述我們可以知道接縫有很多層面今天專注在拆解 pipeline 的部分 在開始之前,我們可以先欣賞 Jserv 前輩的作品 ca2025-mycpu雖然...

2026-09-22 ‧ 由 hsufit 分享
DAY 9

In Order CPU Pipeline Flow

透過 waveform 觀察每個 cyele 的行為我們可以把實際走過的 pipeline 重建回來:IF, FIFO, ID, DISP, ISSU, ALU...

2026-09-23 ‧ 由 hsufit 分享
DAY 10

In Order CPU Model Implementation in SystemC

既然每級 pipeline 都拆完了回過頭來實作 SystemC CPU Model 吧新增了一組 test case,同樣使用這 5 道指令來確認重新算過 c...

2026-09-24 ‧ 由 hsufit 分享