Hashpower

我們可以從即將推出的 Skylake 處理器架構的英特爾 SHA 擴展中粗略地期待什麼探勘性能?

  • June 12, 2017

英特爾計劃在 2015 年第三季度發布他們新的 x86 SkyLake 微架構。在其他有趣的功能中,它將引入SHA 擴展,允許安全雜湊算法系列的硬體加速,包括比特幣使用的 SHA256。

就 SHA 處理速度而言,常見的傳說是:

CPU < GPU < FPGA < ASIC

但是這些新的擴展在哪裡適合這一行呢?與上述硬體選項相比,我們可以期望它們有多少數量級的速度差異?

與純軟體 AES 相比,比較英特爾現有 AES 擴展加速 AES 功能的程度是否有用?

編輯:在閱讀了更多關於這些特殊用途的 CPU 指令之後,我意識到它們很可能會加快速度,只比軟體基線快*幾倍;不像ASIC 甚至 FPGA 那樣快幾個數量級。*不過,這個問題可能是一個有趣的參考,所以我會留下它。

讓我們試著做一個粗略的估計。

Intel 的文章Intel SHA Extensions提供了有關這些指令的一些詳細資訊以及範常式式碼。主要特點是sha256rnds2執行兩輪 SHA256 的指令,在散列一個 64 字節塊所需的 64 輪中。一個比特幣頭是 80 字節長,所以是 2 個塊,因為探勘算法是 SHA256D,我們需要做兩次。所以我們需要執行sha256rnds2128 次才能執行一次比特幣雜湊。

我不是現代 CPU 架構方面的專家,但我懷疑像這樣的複雜指令需要超過一個時鐘週期;儘管如此,讓我們慷慨地假設它沒有。由於每一輪都依賴於前一輪的輸出,因此這些輪可能必須串列執行(在每個核心上),因此無法進行太多並行化。但是讓我們非常慷慨地假設有可以共享的資源,以便 CPUsha256rnds2每個時鐘週期可以執行兩條指令。讓我們也慷慨地假設所有需要設置的輔助程式碼sha256rnds2都可以流水線化,並且不需要任何額外的時鐘週期。所以執行一個比特幣雜湊需要 64 個時鐘週期。

現在,我們能以多快的速度執行時鐘,更重要的是,將使用多少功率?由於功耗是最重要的,讓我們假設我們想要使用移動 CPU。Skylake 上的維基百科文章建議 SKL-Y-1 模型將有 2 個核心和 4 W 的熱設計功率 (TDP)。假設 TDP 代表我們採礦應用程序的實際功耗,此外讓我們忽略功率我們機器的所有其他組件(記憶體、電源等)的消耗。沒有關於時鐘速度的任何資訊,但英特爾目前的Core M處理器的基本時鐘速度高達 1.2 GHz,“turbo”高達 2.9 GHz。讓我們假設這個新的 Skylake 設備可以在 3 GHz 下持續執行。

所以我們的整體雜湊率是

3x10^9 clocks/sec / 64 clocks/hash * 2 cores =  93.75 MHash/sec

功耗為 4 W,效率為23.4 MHash/J

相比之下,根據 bitcoin.it 的Mining 硬體比較,目前的 ASIC 礦工能夠產生 1000-2000 MHash/J。

結論:

即使在對 Skylake 處理器的探勘性能極為樂觀的假設下,現代 ASIC 設備的效率仍然高出 40-80 倍。

引用自:https://bitcoin.stackexchange.com/questions/36253