我所说的带宽是处理单元到内存的数据带宽,如果把内存集成到芯片内部的话,那么这个带宽就是芯片内部带宽。
串口通信带宽属于外部带宽,这两个带宽是两个东西,而且与内部带宽相比,外部带宽几乎可以完全忽略。
所以与其设计一个带宽25600G的核,还不如设计2560个10G的核。这话没错,但要考虑若是设计不出10G的核呢?若是设计的核仅有10M,用2560k个核去实现相同算力,是否还合算呢?问题其实又回到单片芯片的性能是否合算的问题上了。
设计矿机是一个成本收益问题,而随着算法复杂度的提高,成本问题主要集中在内存上。LZ和我在这一点上是一致的。
LZ认为内存容量是成本的瓶颈,而我所指出的是在内存容量成为问题之前,会先遇到内存带宽问题。
我们以最新出的Gridchip为例分析吧。Gridchip Datasheet里有具体参数,一个芯片里有160BTC单元,4个LTC单元,我们姑且认为两者成本各占一半,也就是说160BTC单元的成本和4LTC单元的成本相同。另外,做ASIC基本上是看面积收费的,我们可以认为两者面积相同。
如果不考虑带宽的话,那么LTC的算力应该是BTC的1/40(2.25G/40=~56M)。极端一点设想一个1G内存算法,那么1个1G算法单元所占面积相当于320kBTC单元(4LTC=512k相当于160BTC,1G相当于160*2*1kBTC),那么1G算法的算力应该是BTC的1/320k(2.25G*2*1k/320k=~14M)
但考虑带宽的话,LTC算力只有60k,相当于单核内存带宽上限60k*128K=7.68GB/s(纠正之前一个错误,这里应该是GB/s而非Gbit/s)。对应到1G算法下,其算力仅有7.68Hash/s(7.68*1G=7.68GB/s)
也就是说,LTC算法遇到56M容量瓶颈之前,会先遇到60K的带宽瓶颈,这也就是Gridchip LTC算力只有60K的原因;而1G算法在遇到14M容量瓶颈之前,会先遇到7.68的带宽瓶颈。这里的瓶颈都是指性能成本比的瓶颈。
所以,总的来说:LZ和我在内存问题这个大方向上是一致的,LZ仅考虑的内存容量所带来的成本问题,进而使得性能成本比下降。我所指出的是在内存容量成为成本问题之前,会先遇到带宽上限所导致的性能极限问题,同样会使得性能成本比下降。