比特币为什么不用a卡 比特币能买什么
一、挖矿疑问解答:挖矿为什么用显卡不用cpu
没说CPU不能挖啊,最开始都是用CPU挖,但是随着对挖矿算法的深入研究,大家发现原来挖矿都是在重复一样的工作,而CPU作为通用性计算单元,里面设计了很多诸如分支预测单元、寄存单元等等模块,这些对于提升算力是根本没有任何帮助的。
另外,CPU根本不擅长于进行并行运算,一次最多就执行十几个任务,这个和显卡拥有数以千计的流处理器差太远了,显卡高太多了,因此大家慢慢针对显卡开发出对应的挖矿算法进行挖矿。
以BTC为例,它最基本的算法原理就是,把已有的10分钟内的所有交易作为一个输入,加上一个随机数,当10分钟内所有交易记录加上你的这个随机数计算出一个SHA256的hash。里面几乎都是整数运算,这个根本就像是为显卡特别打造一样,显卡非常适合这种无脑性算法,流处理器数目越多约占优势。
就Hash计算而言,它几乎都是独立并发的整数计算,GPU简直就是为了这个而设计生产出来的。相比较CPU可怜的2-8线程和长度惊人的控制判断和调度分支,GPU可以轻易的进行数百个线程的整数计算并发(无需任何判断的无脑暴力破解乃是A卡的强项)。
OpenCL可以利用GPU在片的大量unified shader都可以用来作为整数计算的资源。而A卡的shader(流处理器)资源又是N的数倍(同等级别的卡)
不过到了后来大家发现,显卡还是太弱了,直接上ASIC大规模堆ALU单元就能极大程度提升算力,巴掌大的算力板的算力已经是显卡的好几十倍,所以现在比特币不用专门的ASIC矿机根本挖不动。
尽管后期的币种LTC所使用的Scrypt算法还引入了大量相互依赖的、随机的访存指令,当Footprint足够大时,还会在GPU的L2级别、甚至TLB级别出现大量的缓存失效,从而产生更多的DRAM访问,以弱化矿机(ASIC/FPGA)相较于GPU在整数运算性能上的优势,但是依然被人针对性研发出矿机,目前也只有专门矿机才能挖。
不过像第二代虚拟货币(比如说是ETH、ZEC这种)由于吸取了前辈们被爆算法的经验,在挖掘算法上做了更加特别优化,防止出现无脑的运算,对于显存要求特别高,因此可以有效抵抗矿机的入侵。
也因为ETH这种只能靠显卡挖矿,造成了2017年下半年开始的显卡涨价潮、缺货潮,很多矿主都卖了成千张显卡回去组建矿机挖掘这些虚拟货币。
久而久之,大家都认为CPU不能挖矿,其实只是效率、效益太低了而已。
二、现在什么显卡挖矿性价比最高
而要解答这一点,首先得从挖矿的原理开始说起。
所谓的矿,其实是指虚拟货币(也被称为数字货币),在几年前大多是Q币、点券等游戏货币的总称,但现在一般是指比特币、夸克币、以太坊这些。
但其本质,都是一个个加密的数据包。而挖矿呢,就是将这些加密的数据包解密的过程。
在正常情况下这个解密过程,一般都是由CPU来计算的,毕竟这非常符合其工作原理。但随着对挖矿算法的深入研究,越来越多的矿工,发现事实并非如此。
其一是因为,挖矿的解密过程虽然并不复杂,但极其重复。而CPU作为中央处理器,当中设计的寄存单元、时钟单元等模块,对提升算力来说完全用不上。
其二则是因为,CPU一次最多只能执行十几个任务,而任务越多,处理的速度也就越慢。当然,小伙伴们也许会说,换用更多核心的CPU不就行了?
话虽如此,但多核CPU的成本过于昂贵,就以线程撕裂者3990X(64核128线程)来说,其高达3万的售价,绝对能让矿工望而却步。
但GPU就大不相同了,其拥有数以千计的流处理器,对这种多而简单的解密过程来说,再适合不过了。最重要的是,GPU的成本是远低于CPU的。
所以这就是为什么矿工更愿意用显卡挖矿,而不用CPU挖矿的原因(简单说就是,CPU能挖,但效率和收益都低)。
除此之外,矿工也更愿意用N卡挖矿而不是A卡,要论原因呢其实也仅有一点,就是A卡的整体功耗略高一些,更能节省电费。
简单来说,CPU就是大学的数学系教授,GPU就是初中生,挖矿就是算普通加减乘除。让大学教授给你算普通加减乘除可以,但是大材小用,而且人力成本更高。让初中生去算,够用,而且找几百号初中生去算很容易找,但是要找几百号教授就不太好找了吧