[心得] 用JSON寫CPU

作者: erspicu (.)   2026-05-05 00:54:49
其實只是想驗證概念可不可行 很久前就有這嘗試的想法
就用AI驗證一下 大概高強度花了連假3天時間
說白了就是規格描述驅動CPU模擬
寫一份JSON檔就完成一顆CPU模擬功能 換一份JSON檔就換一顆CPU
結果還真的搞出來了... 但這專案太偏向於編譯器工程那塊
原理大概就是 JSON檔 加上 JSON Parser 寫出 .ll
然後再透過llvm做動態jit 一整套框架
json可以通吃z80.6502.arm 也可以搞定timing 全都靠json描述定義
但目前優化還不是很好 加上gameboy那顆的cpu搞llvm沒啥益處
BLOCK JIT是一門可以寫論文的東西
BLOCK JIT Timing的處理也是一門學問
但好像莫名其妙被我的天馬行空.GEMINI話唬爛還有Claude code給打通了
不過這東西太偏編譯器這塊 我有別的東西想碰
想說如果有人想研究編譯器.llvm.jit之類的 有興趣可以接手我的專案玩玩
https://github.com/erspicu/AprGba
很多設計文件可以看看 都ai寫的
https://github.com/erspicu/AprGba/tree/main/MD/design
挑幾個文件出來 可以看看有沒有接手興趣
https://tinyurl.com/bcm795sw
https://tinyurl.com/4vxbmn96
https://tinyurl.com/yptd8y7v
其實說真的 反正就有趣 好像也沒啥商業價值或是真的重大用處
可能某些領域的人來說算方便吧 像是快速雛型功能驗證之類的
其實從中讓人發想的是 ISA規格驅動的極限到底可以到哪裡.....
有沒有哪一天可能把硬體規格書JSON化 直接整體模擬器完成
實際上有可能 但應該會有很多工程困難需要克服
LLVM我就那種略懂略懂的感覺 說白了就知道皮毛 很多還要下去做功課
不太喜歡主導一個專案 但專案所需的專業知識還不太夠 被牽著走的感覺
所以驗證概念後 就分享出來 暫時停止維護
BLOCK JIT的優化策略 搞不好就是有些人的畢業論文 這塊我懶得深入
BLOCK JIT的cpu timing議題 我倒是比較有興趣 AI說規說 雖然也小範圍驗證過
但光怪陸離的特殊CASE下 框架和json能不能包覆 我是比較懷疑
作者: devilkool (對貓毛過敏的貓控)   2026-05-05 01:47:00
好猛喔
作者: kd992102   2026-05-05 11:21:00
我也從頭自幹過gba模擬器 真的困難的就是timing的部分
作者: superpandal   2026-05-05 16:13:00
不jit
作者: gold9450412 (一塊錢)   2026-05-05 19:03:00
應該就是類似device tree嗎
作者: final01 (牛頓運動定律)   2026-05-05 22:18:00
整個都是ai寫的吧??那還交給ai維護吧
作者: USD5566 (美金五千五百六十六)   2026-05-06 20:36:00
其實有花時間搓東西出來值得鼓勵了 但等等一些喜x vibe仔或鐵x伯的會出來回廢話 記得做好準備
作者: kanding255 (阿錩)   2026-05-07 10:22:00
感覺很有趣欸

Links booklink

Contact Us: admin [ a t ] ucptt.com