iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
Software Development

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

In Order CPU 長怎樣? 能吃嗎?

  • 分享至 

  • xImage
  •  

當我們祈求奇蹟時
通常會以我們無法理解的方式實現

AI,或者說 LLM 讓我們可以跳過很多背景知識直接獲得結果
但跨入一個新領域真的是這麼簡單的嗎?
想像的東西跟實際得到的東西只有一點點不一樣的時候
又要詠唱什麼咒語才能實現願望呢?

實際上 RTL debug 跟程式設計要 debug 一樣
套用 clean code 的用詞,就是要從接縫(Seam)著手
舉例來說,程式設計的時候都是從大範圍的 function call argument 著手
再搭配對應的 debug log 慢慢深入每個 if/else statement 的行為
確認到底哪個部分出問題

RTL 也是一樣,當遇到問題的時候

  1. 從 spec 確認指令行為
  2. 確認 bus data 符合預期
  3. 限縮範圍確認問題出在哪個 pipeline stage 或者 cache 等等 component
  4. 丟給 designer (X

這部分要解析 waveform
具體來說怎麼做就等下次再說吧!

劇透一下
預計會以下面這 5 道指令做為小型的範例
可以先想想看,詳情靜待下回分曉

addi x1,x0,6;
addi x2,x0,7;
add x3,x1,x2;
mul x4,x1,x2;
add x5,x3,x4

上一篇
In Order CPU implementation
下一篇
In Order CPU 的接縫(seam)
系列文
猴子都寫得出來的 RISC-V OoO CPU 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言