本發(fā)明涉及數(shù)據(jù)處理,特別是指一種asic芯片中多種hash算法并行運算控制優(yōu)化方法。
背景技術(shù):
1、傳統(tǒng)方案通?;趩蝹€處理單元執(zhí)行sha-256算法,這在處理大規(guī)模數(shù)據(jù)時可能顯得力不從心。盡管單個處理單元的性能可能已經(jīng)很高,但在需要處理海量數(shù)據(jù)或要求實時響應(yīng)的場景中,單個處理單元的計算能力往往成為瓶頸。
2、此外,傳統(tǒng)方案在處理sha-256算法的流水線特性時,可能缺乏足夠的靈活性。由于sha-256算法包含多個處理階段,每個階段的計算負載可能有所不同。傳統(tǒng)方案可能難以根據(jù)各階段的實際負載進行動態(tài)調(diào)整,導(dǎo)致處理單元在某些階段資源利用不足,而在其他階段則過載運行,從而影響整體性能。
技術(shù)實現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題是提供一種asic芯片中多種hash算法并行運算控制優(yōu)化方法,可以提高數(shù)據(jù)處理的效率和性能。
2、為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下:
3、第一方面,一種asic芯片中多種hash算法并行運算控制優(yōu)化方法,所述方法包括:
4、創(chuàng)建整合模塊,整合模塊用于容納多個sha-256處理單元;
5、分析sha-256處理單元的流水線,以確定流水線級數(shù);
6、根據(jù)流水線級數(shù),確定模式選擇矩陣;
7、根據(jù)模式選擇矩陣,調(diào)度不同的sha-256處理單元和流水線階段,以得到調(diào)整后的sha-256處理單元;
8、為每個調(diào)整后的sha-256處理單元添加一個控制信號,控制信號用于控制sha-256處理單元運算的啟動和停止;
9、優(yōu)化調(diào)整后的sha-256處理單元之間的任務(wù)分配方案,用每個粒子表示一個特定的任務(wù)分配方案;
10、定義一個用于評估每種任務(wù)分配方案性能的適應(yīng)度函數(shù);
11、根據(jù)適應(yīng)度函數(shù),計算每個粒子的適應(yīng)度,更新粒子的速度和位置,迭代操作,直到達到預(yù)設(shè)的迭代次數(shù),以得到最終的任務(wù)分配方案。
12、進一步的,分析sha-256處理單元的流水線,以確定流水線級數(shù),包括:
13、獲取sha-256處理單元的電路圖;
14、根據(jù)電路圖,識別sha-256處理單元中的不同流水線階段;
15、根據(jù)sha-256處理單元中的不同流水線階段,確定流水線級數(shù),其中,流水線級數(shù)與硬件實現(xiàn)中識別的不同階段相對應(yīng),每個階段視為流水線的一級,通過分析每個階段的輸入數(shù)據(jù)和輸出數(shù)據(jù),以及輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的依賴關(guān)系,以確定流水線級數(shù)。
16、進一步的,根據(jù)電路圖,識別sha-256處理單元中的不同流水線階段,包括:
17、根據(jù)電路圖,識別邏輯單元和模塊,包括寄存器、算術(shù)邏輯單元和控制單元;
18、根據(jù)電路圖和數(shù)據(jù)通路,將sha-256處理單元劃分為不同的功能模塊,包括消息填充模塊、擴展模塊和壓縮函數(shù)模塊;
19、對每個功能模塊進行細化,識別出構(gòu)成流水線的各個階段;
20、在電路圖上標記出每個流水線階段的邊界。
21、進一步的,對每個功能模塊進行細化,識別出構(gòu)成流水線的各個階段,包括:
22、根據(jù)消息填充模塊中的原始消息的長度,按照sha-256的填充規(guī)則,對消息進行填充,使其長度滿足特定的條件,在填充后的消息末尾附加一個64位的整數(shù),表示原始消息的長度,以得到處理后的消息;
23、將處理后的消息分割成固定大小的塊,每個塊的大小為512位;
24、將每個512位的消息塊擴展為64個32位的字;
25、初始化一個循環(huán)計數(shù)器,用于控制壓縮函數(shù)的迭代次數(shù);
26、根據(jù)循環(huán)計數(shù)器的值,選擇相應(yīng)的w字進行處理,使用選定的w字和當前的工作變量,計算一系列臨時變量,根據(jù)臨時變量和特定的邏輯函數(shù),更新工作變量的值,遞增循環(huán)計數(shù)器,準備下一次迭代;在完成所有消息塊的處理后,將工作變量的值作為最終的哈希值。
27、進一步的,將處理后的消息分割成固定大小的塊,每個塊的大小為512位,包括:
28、生成初始種群,初始種群中每個個體代表一種消息分割方式,包括一系列分割點的位置,分割點每個塊的大小≤512位;
29、定義評估每種分割方式在sha-256處理過程中性能的評估函數(shù);
30、對于每個個體,按照其代表的分割方式對消息進行分割,對分割后的消息塊進行sha-256處理,并使用評估函數(shù)評估處理性能;
31、根據(jù)處理性能,確定對應(yīng)的個體,隨機選擇兩個個體,以一定的交叉率交換個體的部分分割點位置,生成新的個體;以一定的變異率隨機改變個體的分割點位置,以生成新一代種群,迭代進化,直到達到預(yù)設(shè)的進化代數(shù),以生成最終的分割方式;
32、根據(jù)最終的分割方式,將處理后的消息分割成固定大小的塊。
33、進一步的,根據(jù)處理性能,確定對應(yīng)的個體,隨機選擇兩個個體,以一定的交叉率交換個體的部分分割點位置,生成新的個體,包括:
34、確定多點交叉中分割點的數(shù)量,分割點用于交換父代個體的部分基因;
35、生成與所選分割點數(shù)量相對應(yīng)的隨機數(shù),對所選的兩個父代個體,根據(jù)生成的隨機數(shù)確定要交換的分割點位置;
36、在每個選定的分割點位置上,交換兩個父代個體的對應(yīng)分割點信息,經(jīng)過多點交叉后,以獲得兩個新的個體。
37、進一步的,根據(jù)流水線級數(shù),確定模式選擇矩陣,包括:
38、根據(jù)流水線級數(shù),創(chuàng)建一個矩陣,矩陣的行表示流水線階段,列表示sha-256處理單元,初始時,矩陣中的每個元素設(shè)置為一個表示未分配或空閑的狀態(tài)值;
39、根據(jù)流水線級數(shù)和處理單元的數(shù)量,確定每個處理單元對應(yīng)的處理的流水線階段;
40、對于每個處理單元,在其對應(yīng)的列中,將分配的流水線階段對應(yīng)的行設(shè)置為一個表示已分配或忙碌的狀態(tài)值,以得到模式選擇矩陣。
41、第二方面,一種asic芯片中多種hash算法并行運算控制優(yōu)化系統(tǒng),應(yīng)用于所述的方法中,包括:
42、創(chuàng)建模塊,用于創(chuàng)建整合模塊,整合模塊用于容納多個sha-256處理單元;
43、分析模塊,用于分析sha-256處理單元的流水線,以確定流水線級數(shù);
44、確定模塊,用于根據(jù)流水線級數(shù),確定模式選擇矩陣;
45、調(diào)度模塊,用于根據(jù)模式選擇矩陣,調(diào)度不同的sha-256處理單元和流水線階段,以得到調(diào)整后的sha-256處理單元;
46、添加模塊,用于為每個調(diào)整后的sha-256處理單元添加一個控制信號,控制信號用于控制sha-256處理單元運算的啟動和停止;
47、優(yōu)化模塊,用于優(yōu)化調(diào)整后的sha-256處理單元之間的任務(wù)分配方案,用每個粒子表示一個特定的任務(wù)分配方案;
48、定義模塊,用于定義一個用于評估每種任務(wù)分配方案性能的適應(yīng)度函數(shù);
49、計算模塊,用于根據(jù)適應(yīng)度函數(shù),計算每個粒子的適應(yīng)度,更新粒子的速度和位置,迭代操作,直到達到預(yù)設(shè)的迭代次數(shù),以得到最終的任務(wù)分配方案。
50、第三方面,一種計算設(shè)備,包括:
51、一個或多個處理器;
52、存儲裝置,用于存儲一個或多個程序,當所述一個或多個程序被所述一個或多個處理器執(zhí)行,使得所述一個或多個處理器實現(xiàn)所述的方法。
53、第四方面,一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有程序,該程序被處理器執(zhí)行時實現(xiàn)所述的方法。
54、本發(fā)明的上述方案至少包括以下有益效果。
55、通過創(chuàng)建整合模塊,能夠在一個統(tǒng)一的框架內(nèi)管理和協(xié)調(diào)多個sha-256處理單元的工作,提高了硬件資源的利用率。通過分析sha-256處理單元的流水線,可以準確確定流水線的級數(shù),從而更精細地理解算法的執(zhí)行流程和性能瓶頸。模式選擇矩陣的確定使得不同的sha-256處理單元和流水線階段能夠被靈活調(diào)度,有助于根據(jù)實時的工作負載動態(tài)調(diào)整處理策略,從而提高整體的處理效率。
56、通過調(diào)度不同的處理單元和流水線階段,可以實現(xiàn)資源的合理分配和負載均衡,避免了某些處理單元或階段的過載,確保了整個系統(tǒng)的穩(wěn)定運行和高效率。通過添加控制信號,可以精確控制每個sha-256處理單元的啟動和停止,這不僅有助于節(jié)省不必要的能源消耗,還能在需要時快速響應(yīng)外部請求,提高系統(tǒng)的實時性。
57、通過優(yōu)化任務(wù)分配方案,可以確保每個處理單元都能得到合理且均衡的任務(wù)量,避免了任務(wù)堆積或處理單元空閑的情況,從而最大化了整個系統(tǒng)的吞吐量和效率。適應(yīng)度函數(shù)的定義提供了一個客觀且量化的標準來評估每種任務(wù)分配方案的性能,這使得優(yōu)化過程更加有針對性,有助于快速找到最佳的任務(wù)分配策略。通過計算每個粒子的適應(yīng)度并更新其速度和位置,可以逐步逼近最優(yōu)解。這種迭代優(yōu)化的方法不僅提高了搜索效率,還增加了找到全局最優(yōu)解的可能性。