黑基网 首页 资讯 电脑界 查看内容

为什么不能用CPU挖矿?

2018-2-2 10:51| 投稿: lofor |来自: 互联网

摘要: 没说CPU不能挖,最开始都是用CPU挖,但是随着对挖矿算法的深入研究,大家发现原来挖矿都是在重复一样的工作,而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不能挖矿,其实只是效率、效益太低了而已。


小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:http://www.cnbeta.com/articles/tech/695303.htm

免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手
1

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

相关阅读

发表评论

最新评论

最新

返回顶部