[討論] GPU加速Transistor層的模擬器
不想走冤枉路.... 雖然有找過資料
但找到的資料似乎是一些大學教授和硬體大廠的研界成果發表 論文也有
感覺有很高的技術門檻 門檻高就算了 主要是怕結果實際上也沒如同想像中好
想問看看有沒有已經走過這條路了 不知道通不通或是值不值得
模擬器最傳統的做法是cpu指令層的模擬 這種模擬方式好實作
但正確度要拉高到一個水準 就需要很高代價
尤其是cycle accurate的模擬問題
要100%正確 就要層邏輯閘層去模擬運算結果
但邏輯閘層運算量遠大於指令模擬 主要是因為邏輯閘層運算都是同時間平行的
這種特性很適合GPU 如果像是紅白機MOS 6502的話邏輯閘數大概有4千5百多
目前看到用一般cpu去計算邏輯閘模擬計算 非常多秒才能算出一張frame
用指令集模擬的方式 每一秒可以算出好幾百張frame 差異非常巨大
不知道用gpu來模擬FPGA那種陣列 先不提有沒有商用價值
效率能不能提升到實用價值 不知道有沒有人公司剛好有做過這研究
之前移植專案做到一半 想研究一下改用GPU平行處理來處理邏輯閘模擬
寫一寫 還沒到改寫的部分 還在JS PORTING到C#的階段就丟著
如過是死路 就算了
PS.我的理想是靠GPU模擬一張FPGA 拆晶片用放大鏡把內部邏輯描繪出來
然後燒到FPGA上 有一些骨灰迷是有在做這事情
像這網站 http://www.visual6502.org
但目前還沒看到靠GPU模擬FPGA 把電路燒進去的
現在還在移植 http://www.visual6502.org/JSSim/index.html 到C#版本
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.202.16 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1609346243.A.FFF.html
※ 編輯: erspicu (39.9.202.16 臺灣), 12/31/2020 00:44:38
→
12/31 02:45,
5年前
, 1F
12/31 02:45, 1F
推
12/31 04:12,
5年前
, 2F
12/31 04:12, 2F
推
12/31 06:44,
5年前
, 3F
12/31 06:44, 3F
→
12/31 07:56,
5年前
, 4F
12/31 07:56, 4F
→
12/31 07:57,
5年前
, 5F
12/31 07:57, 5F
→
12/31 07:57,
5年前
, 6F
12/31 07:57, 6F
→
12/31 07:57,
5年前
, 7F
12/31 07:57, 7F
目前一些骨灰迷 把晶片磨開 用放大鏡把裡頭線路邏輯閘等復刻描繪出來
用這層去跑是真的可以跑 就慢到炸... 如果效率能改善到基本實用程度
對模擬器發展是一大里程碑 保證硬體原汁原味 以後要模擬啥晶片
反正拆晶片 放大鏡復刻描繪就好
→
12/31 08:06,
5年前
, 8F
12/31 08:06, 8F
C家是哪一家?
推
12/31 09:13,
5年前
, 9F
12/31 09:13, 9F
→
12/31 09:14,
5年前
, 10F
12/31 09:14, 10F
→
12/31 09:14,
5年前
, 11F
12/31 09:14, 11F
→
12/31 09:15,
5年前
, 12F
12/31 09:15, 12F
→
12/31 09:15,
5年前
, 13F
12/31 09:15, 13F
是有查 不少國外論文有 也有成果發表
https://tinyurl.com/ycfl4lp2
但看不太懂是否達實用程度 還是目前仍屬於理論驗證.實驗室發展階段
雖然覺得這議題離我的程度有段差距 但如果行得通 仍然會想去嘗試看看
看到人家移植 https://www.youtube.com/watch?v=tVRMG6Ikrxw
※ 編輯: erspicu (36.239.97.253 臺灣), 12/31/2020 11:21:51
→
12/31 11:41,
5年前
, 14F
12/31 11:41, 14F
FPGA有的人不多阿...一般玩家花錢買高階顯卡正常 但買FPGA除非是相關行業的
以及最終是希望可以在電腦上使用
→
12/31 11:41,
5年前
, 15F
12/31 11:41, 15F
→
12/31 11:41,
5年前
, 16F
12/31 11:41, 16F
※ 編輯: erspicu (36.239.97.253 臺灣), 12/31/2020 11:57:38
推
12/31 16:17,
5年前
, 17F
12/31 16:17, 17F
邏輯電路的運作就是平行的
※ 編輯: erspicu (36.239.97.253 臺灣), 12/31/2020 16:21:51
推
12/31 17:30,
5年前
, 18F
12/31 17:30, 18F
→
12/31 17:32,
5年前
, 19F
12/31 17:32, 19F
推
01/01 00:31,
6年前
, 20F
01/01 00:31, 20F
→
01/01 00:33,
6年前
, 21F
01/01 00:33, 21F
→
01/01 00:37,
6年前
, 22F
01/01 00:37, 22F
→
01/01 00:40,
6年前
, 23F
01/01 00:40, 23F
→
01/01 00:40,
6年前
, 24F
01/01 00:40, 24F
你的意思是 https://tinyurl.com/ycfl4lp2
這篇教授和裡頭相關清單的人物都在講幹話?
Acknowledgement
Contributions from David Wang (Stanford
University), Yuhao Zhu (University of Texas at
Austin), Hao Qian (AMD), and Lingfeng Wang
(Tsinghua University)
Insightful discussions with Dr. Gilbert Chen
(Sandvine), Prof. Radu Marculescu (Carnegie
Mellon University), Dr. Li Shang (Intel), Xin Zhou
(Intel), and Jen-Hsun Huang (NVIDIA)
然後IEEE期刊的論文在話唬爛?? 然後他們做的事情毫無意義?
我相信他們不會沒思考就做 更不會覺得沒意義
只是好奇發展程度是理論驗證和發展階段
還是真的效能已達實務上能應用階段
→
01/01 00:40,
6年前
, 25F
01/01 00:40, 25F
→
01/01 00:41,
6年前
, 26F
01/01 00:41, 26F
※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 03:38:43
推
01/01 03:49,
6年前
, 27F
01/01 03:49, 27F
→
01/01 03:49,
6年前
, 28F
01/01 03:49, 28F
→
01/01 03:49,
6年前
, 29F
01/01 03:49, 29F
→
01/01 03:50,
6年前
, 30F
01/01 03:50, 30F
→
01/01 03:50,
6年前
, 31F
01/01 03:50, 31F
→
01/01 03:51,
6年前
, 32F
01/01 03:51, 32F
→
01/01 03:54,
6年前
, 33F
01/01 03:54, 33F
→
01/01 03:54,
6年前
, 34F
01/01 03:54, 34F
推
01/01 03:59,
6年前
, 35F
01/01 03:59, 35F
→
01/01 04:01,
6年前
, 36F
01/01 04:01, 36F
→
01/01 04:02,
6年前
, 37F
01/01 04:02, 37F
→
01/01 04:04,
6年前
, 38F
01/01 04:04, 38F
→
01/01 04:04,
6年前
, 39F
01/01 04:04, 39F
推
01/01 04:06,
6年前
, 40F
01/01 04:06, 40F
→
01/01 04:06,
6年前
, 41F
01/01 04:06, 41F
→
01/01 04:08,
6年前
, 42F
01/01 04:08, 42F
推
01/01 13:12,
6年前
, 43F
01/01 13:12, 43F
推
01/01 13:18,
6年前
, 44F
01/01 13:18, 44F
→
01/01 13:18,
6年前
, 45F
01/01 13:18, 45F
→
01/01 14:26,
6年前
, 46F
01/01 14:26, 46F
你聽不懂就算了阿 目前有人就實作出來了阿 只是效率還沒達到堪用層次
很多論文和教授也有發表相關探討議題 效率是否達堪用或是商用層次是另一回事
不過這些都不是啥屎 有時候作法和理論是先研究起來放 硬體或許有一天會達到條件
→
01/01 17:11,
6年前
, 47F
01/01 17:11, 47F
是的 我不是做硬體的 所以之前以CPU指令集完成幾款模擬器 中間也是很辛苦
本來就需要去STUDY
※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 17:22:21
推
01/01 17:30,
6年前
, 48F
01/01 17:30, 48F
其實是寫得很清楚了 如果看不懂 代表即使看懂了問題 也很難提供啥幫助
所以如果看不懂那就也沒關係 忽略就好
→
01/01 17:32,
6年前
, 49F
01/01 17:32, 49F
→
01/01 17:32,
6年前
, 50F
01/01 17:32, 50F
※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 17:38:56
推
01/01 17:40,
6年前
, 51F
01/01 17:40, 51F
→
01/01 17:40,
6年前
, 52F
01/01 17:40, 52F
沒有人說要燒到硬體FPGA 只是希望能夠由電腦環境模擬更低階層的GATE LEVEL
去達到更高程度的正確 至於有人會希望這樣做的理由 有一篇文章解釋得不錯
https://www.mobile01.com/topicdetail.php?f=514&t=1799027
老實說,模擬紅白機的模擬器就會模擬6502的CPU指令集和行為。6502的模擬技術,
其實一點都不稀罕。不過,這群人採取不同的手段,而且是最麻煩的方法。
傳統採用的功能導向模擬手段,設計者必須先搞清楚目標物的功能,
包含指令集、整合性週邊的功能、暫存器集‧‧‧等等。如果資訊不完全,
是沒辦法完整而正確模擬其功能。
簡單說來,要用這個手法寫個模擬器,設計者先要閱讀大量技術文獻,
做許許多多相容性測試,才能確保正確地模擬。
這群人改採不同的方法:電晶體層級的電路模擬,類似FPGA的電路模擬。也就是說,
他們不管這東西的所有功能,直接把電路抄出來,模擬整個電晶體網路的功能。
只要電路抄得對,保證是100%重現晶片功能。甚至連官方文獻沒有記載的隱藏版功能,
都能被完整重現出來。
這篇文章底下一些連結你可以參考
http://ersbroemu.blogspot.com/2016/01/blog-post.html
我寫過6502的紅白機模擬器.z80的GameBoy模擬器
你好奇可以自己去查前面的文章 #1RlvMgIy
我當然很清楚這樣做跟以前作法的差異和期待的意義
當你實作完 就會發現要達到正確 指令集層面的實作方式還是滿不夠的
至於為啥不夠 timing正確性就是一個其中問題
http://ersbroemu.blogspot.com/2015/11/blog-post.html
opcode cycle table的作法其實還不是很ok
※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 18:12:21
→
01/01 19:59,
6年前
, 53F
01/01 19:59, 53F
精確度更高的紅白機模擬器
※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 22:52:35
推
01/01 23:33,
6年前
, 54F
01/01 23:33, 54F
→
01/01 23:34,
6年前
, 55F
01/01 23:34, 55F
→
01/01 23:36,
6年前
, 56F
01/01 23:36, 56F
→
01/01 23:36,
6年前
, 57F
01/01 23:36, 57F
→
01/01 23:37,
6年前
, 58F
01/01 23:37, 58F
→
01/01 23:42,
6年前
, 59F
01/01 23:42, 59F
→
01/01 23:43,
6年前
, 60F
01/01 23:43, 60F
推
01/02 03:27,
6年前
, 61F
01/02 03:27, 61F
推
01/03 01:39,
6年前
, 62F
01/03 01:39, 62F
→
01/03 01:40,
6年前
, 63F
01/03 01:40, 63F
→
01/03 01:41,
6年前
, 64F
01/03 01:41, 64F
→
01/03 01:41,
6年前
, 65F
01/03 01:41, 65F
→
01/03 01:42,
6年前
, 66F
01/03 01:42, 66F
→
01/03 01:44,
6年前
, 67F
01/03 01:44, 67F
推
01/03 03:20,
6年前
, 68F
01/03 03:20, 68F
推
01/03 04:24,
6年前
, 69F
01/03 04:24, 69F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 5 篇):
Soft_Job 近期熱門文章
28
62
PTT職涯區 即時熱門文章
111
285