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

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

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

 
       其實這個問題本身是有點毛病的,挖礦并不是說不能用cpu,最開始大家都是用CPU在挖礦。但是隨著對挖礦算法的深入研究,曠工們發(fā)現(xiàn)原來挖礦都是在重復(fù)一樣的工作,而CPU作為通用性計算單元,里面設(shè)計了很多諸如分支預(yù)測單元、寄存單元等等模塊,這些對于提升算力是根本沒有任何幫助的,而且CPU根本不擅長于進行并行運算,一次最多就執(zhí)行十幾個任務(wù),這個和顯卡擁有數(shù)以千計的流處理器差太遠(yuǎn)了,顯卡高太多了,因此大家慢慢針對顯卡開發(fā)出對應(yīng)的挖礦算法進行挖礦。
 
       就拿BTC為例,它最基本的算法原理就是,把已有的10分鐘內(nèi)的所有交易作為一個輸入,加上一個隨機數(shù),當(dāng)10分鐘內(nèi)所有交易記錄加上你的這個隨機數(shù)計算出一個SHA256的hash。里面幾乎都是整數(shù)運算,這個根本就像是為顯卡特別打造一樣,顯卡非常適合這種無腦性算法,流處理器數(shù)目越多約占優(yōu)勢。就Hash計算而言,它幾乎都是獨立并發(fā)的整數(shù)計算,GPU簡直就是為了這個而設(shè)計生產(chǎn)出來的。相比較CPU可憐的2-8線程和長度驚人的控制判斷和調(diào)度分支,GPU可以輕易的進行數(shù)百個線程的整數(shù)計算并發(fā)(無需任何判斷的無腦暴力破解乃是A卡的強項)。OpenCL可以利用GPU在片的大量unified shader都可以用來作為整數(shù)計算的資源。而A卡的shader(流處理器)資源又是N的數(shù)倍(同等級別的卡)
 

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

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

 
       然而后來大家發(fā)現(xiàn)顯卡還是太弱了,直接上ASIC大規(guī)模堆ALU單元就能極大程度提升算力,巴掌大的算力板的算力已經(jīng)是顯卡的好幾十倍,所以現(xiàn)在比特幣不用專門的ASIC礦機根本挖不動。盡管后期的幣種LTC所使用的 Scrypt 算法還引入了大量相互依賴的、隨機的訪存指令,當(dāng) Footprint 足夠大時,還會在 GPU 的 L2 級別、甚至 TLB 級別出現(xiàn)大量的緩存失效,從而產(chǎn)生更多的 DRAM 訪問,以弱化礦機(ASIC/FPGA)相較于 GPU 在整數(shù)運算性能上的優(yōu)勢,但是依然被人針對性研發(fā)出礦機,目前也只有專門礦機才能挖。
 
       不過像第二代虛擬貨幣(比如說是ETH、ZEC這種)由于吸取了前輩們被爆算法的經(jīng)驗,在挖掘算法上做了更加特別優(yōu)化,防止出現(xiàn)無腦的運算,對于顯存要求特別高,因此可以有效抵抗礦機的入侵。也因為ETH這種只能靠顯卡挖礦,造成了2017年下半年開始的顯卡漲價潮、缺貨潮,很多礦主都賣了成千張顯卡回去組建礦機挖掘這些虛擬貨幣,久而久之,大家都認(rèn)為CPU不能挖礦,其實只是效率、效益太低了而已。
 

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

專業(yè)礦機

 
       總結(jié):挖礦為什么用顯卡不用cpu
 
       其實cpu也是可以用來挖礦的,只不過cpu挖礦的效率沒有顯卡高而已。曠工們?yōu)榱速嶅X都是要計算投入產(chǎn)出比的,用顯卡來挖礦的投入產(chǎn)出比更高,所以大家就慢慢的都開始用顯卡來挖礦了,現(xiàn)在你該明白挖礦為什么用顯卡不用cpu了吧

裝機