作者erspicu (.)
看板Soft_Job
標題[心得] 用JSON寫CPU
時間Tue May 5 00:54:49 2026
其實只是想驗證概念可不可行 很久前就有這嘗試的想法
就用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能不能包覆 我是比較懷疑
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.233.248.16 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1777913695.A.084.html
1F:推 devilkool: 好猛喔 05/05 01:47
2F:→ kd992102: 我也從頭自幹過gba模擬器 真的困難的就是timing的部分 05/05 11:21
3F:→ superpandal: 不jit 05/05 16:13
4F:推 gold9450412: 應該就是類似device tree嗎 05/05 19:03
有點類似的味道
5F:→ final01: 整個都是ai寫的吧??那還交給ai維護吧 05/05 22:18
有部分是拿我以前專案的東西過去用 重點不是AI寫 而是帶AI寫整個專案
最好也要有相對相關領域的經驗或是專業背景或是投入比較進階的研究
才好帶著AI去推專案 尤其在深度優化這塊 所以才會想說看看有沒有更適合背景的人
去接手或是參考概念 之後弄自己版本實作之類的
像是延伸下去的部分 我也稍微有規劃了
https://tinyurl.com/y3xw4uwe
但就比較沒興趣 也覺得現在有點不適合
如果沒有足夠的背景 整個專案被帶偏都不知道
※ 編輯: erspicu (182.233.248.16 臺灣), 05/05/2026 23:11:24