系統知識網 電腦教程 挖礦疑問解答:挖礦為什麼用顯卡不用cpu

挖礦疑問解答:挖礦為什麼用顯卡不用cpu

最近顯卡漲價的風波讓不少挖礦的門外漢也知道瞭這樣一件事:挖礦需要一塊好顯卡,因此礦工們瘋搶顯卡,導致瞭顯卡供不應求,價格高漲。很多人也奇怪這樣一個問題--挖礦為什麼用顯卡不用cpu。挖礦為什麼用顯卡不用cpu圖解1其實這個問題本身是有點毛病。

最近顯卡漲價的風波讓不少挖礦的門外漢也知道瞭這樣一件事:挖礦需要一塊好顯卡,因此礦工們瘋搶顯卡,導致瞭顯卡供不應求,價格高漲。很多人也奇怪這樣一個問題--挖礦為什麼用顯卡不用cpu

挖礦為什麼用顯卡不用cpu圖解1


其實這個問題本身是有點毛病的,挖礦並不是說不能用cpu,最開始大傢都是用CPU在挖礦。但是隨著對挖礦算法的深入研究,曠工們發現原來挖礦都是在重復一樣的工作,而CPU作為通用性計算單元,裡面設計瞭很多諸如分支預測單元、寄存單元等等模塊,這些對於提升算力是根本沒有任何幫助的,而且CPU根本不擅長於進行並行運算,一次最多就執行十幾個任務,這個和顯卡擁有數以千計的流處理器差太遠瞭,顯卡高太多瞭,因此大傢慢慢針對顯卡開發出對應的挖礦算法進行挖礦。

就拿BTC為例,它最基本的算法原理就是,把已有的10分鐘內的所有交易作為一個輸入,加上一個隨機數,當10分鐘內所有交易記錄加上你的這個隨機數計算出一個SHA256的hash。裡面幾乎都是整數運算,這個根本就像是為顯卡特別打造一樣,顯卡非常適合這種無腦性算法,流處理器數目越多約占優勢。就Hash計算而言,它幾乎都是獨立並發的整數計算,GPU簡直就是為瞭這個而設計生產出來的。相比較CPU可憐的2-8線程和長度驚人的控制判斷和調度分支,GPU可以輕易的進行數百個線程的整數計算並發(無需任何判斷的無腦暴力破解乃是A卡的強項)。OpenCL可以利用GPU在片的大量unified shader都可以用來作為整數計算的資源。而A卡的shader(流處理器)資源又是N的數倍(同等級別的卡)

挖礦為什麼用顯卡不用cpu圖解2


然而後來大傢發現顯卡還是太弱瞭,直接上ASIC大規模堆ALU單元就能極大程度提升算力,巴掌大的算力板的算力已經是顯卡的好幾十倍,所以現在比特幣不用專門的ASIC礦機根本挖不動。盡管後期的幣種LTC所使用的 Scrypt 算法還引入瞭大量相互依賴的、隨機的訪存指令,當 Footprint 足夠大時,還會在 GPU 的 L2 級別、甚至 TLB 級別出現大量的緩存失效,從而產生更多的 DRAM 訪問,以弱化礦機(ASIC/FPGA)相較於 GPU 在整數運算性能上的優勢,但是依然被人針對性研發出礦機,目前也隻有專門礦機才能挖。

不過像第二代虛擬貨幣(比如說是ETH、ZEC這種)由於吸取瞭前輩們被爆算法的經驗,在挖掘算法上做瞭更加特別優化,防止出現無腦的運算,對於顯存要求特別高,因此可以有效抵抗礦機的入侵。也因為ETH這種隻能靠顯卡挖礦,造成瞭2017年下半年開始的顯卡漲價潮、缺貨潮,很多礦主都賣瞭成千張顯卡回去組建礦機挖掘這些虛擬貨幣,久而久之,大傢都認為CPU不能挖礦,其實隻是效率、效益太低瞭而已。

專業礦機


總結:挖礦為什麼用顯卡不用cpu

其實cpu也是可以用來挖礦的,隻不過cpu挖礦的效率沒有顯卡高而已。曠工們為瞭賺錢都是要計算投入產出比的,用顯卡來挖礦的投入產出比更高,所以大傢就慢慢的都開始用顯卡來挖礦瞭,現在你該明白挖礦為什麼用顯卡不用cpu瞭吧

返回顶部