本發(fā)明涉及集成電路累加器,具體涉及一種累加器及用于累加器的方法、集成電路芯片及計算設備。
背景技術:
1、累加器是一種常用的數(shù)字邏輯電路,用于對輸入數(shù)據進行累加運算。累加器的核心是一個加法器,將輸出返回到加法器的次輸入即可實現(xiàn)對主輸入的累加。
2、現(xiàn)有技術中,因為加法耗時延長,導致相同時間內能夠完成的計算只有理想設計(1個時鐘周期就能得到加法結果的設計)的一半。類似的,對于同樣的輸入數(shù)據量,如果加法耗時的時鐘周期數(shù)增加,那么運算的總耗時將相應地成倍增加,大大降低了運算效率。對于現(xiàn)今飛速發(fā)展的芯片設計而言,這一運算效率問題顯得越來越突出。
3、為此,需要一種技術方案,能夠使得累加器在適應芯片工作頻率的基礎上,減少累加運算耗時,顯著提升累加運算效率。
技術實現(xiàn)思路
1、本發(fā)明旨在提供用于一種累加器及用于累加器的方法及計算設備,能夠使得累加器在適應芯片工作頻率的基礎上,減少累加運算耗時,顯著提升累加運算效率。
2、根據本發(fā)明的一方面,提供一種累加器,包括:主輸入數(shù)據選擇單元、次輸入數(shù)據選擇單元、數(shù)據累加反饋單元,其中,
3、所述主輸入數(shù)據選擇單元用于接收外部輸入數(shù)據以及來自所述數(shù)據累加反饋單元緩存的第二累加中間結果數(shù)據,在按照每個時鐘周期接收外部數(shù)據的狀態(tài)下,輸出所述外部數(shù)據至所述數(shù)據累加反饋單元,外部數(shù)據輸入完成后,輸出所述第二累加中間結果數(shù)據至所述數(shù)據累加反饋單元;
4、所述次輸入數(shù)據選擇單元按照時鐘周期接收來自所述數(shù)據累加反饋單元輸出的第一累加中間結果數(shù)據并輸出至所述數(shù)據累加反饋單元;
5、所述數(shù)據累加反饋單元執(zhí)行累加運算操作,經過至少兩個時鐘周期得到所述第一累加中間結果數(shù)據并將所述第一累加中間結果數(shù)據輸出至所述次輸入數(shù)據選擇單元,在外部數(shù)據輸入完成后,緩存選定的第一累加中間結果數(shù)據,并將緩存的所述第一累加中間結果數(shù)據作為所述第二累加中間結果數(shù)據輸出至所述主輸入數(shù)據選擇單元從而所述數(shù)據累加反饋單元在后續(xù)時鐘周期對所述第一累加中間結果數(shù)據和所述第二累加中間結果數(shù)據進行累加。
6、根據一些實施例,在所述主輸入數(shù)據選擇單元開始接收外部輸入數(shù)據的同時,所述次輸入數(shù)據選擇單元在n個連續(xù)時鐘周期輸入n個0至所述數(shù)據累加反饋單元,其中,n的值與所述累加器單次完成累加運算所需的時鐘周期數(shù)相同。
7、根據一些實施例,所述數(shù)據累加反饋單元包括數(shù)據累加單元以及反饋寄存單元,其中,
8、所述數(shù)據累加單元執(zhí)行累加操作,并在外部數(shù)據輸入完成后,輸出選定的所述第一累加中間結果數(shù)據至所述反饋寄存單元;
9、所述反饋寄存單元將接收的所述第一累加中間結果數(shù)據緩存,將緩存的所述第一累加中間結果數(shù)據作為所述第二累加中間結果數(shù)據,并按照預定時鐘周期輸出所述第二累加中間結果數(shù)據至所述主輸入數(shù)據選擇單元。
10、根據一些實施例,所述數(shù)據累加單元配置為:
11、在第一時鐘周期接收輸入數(shù)據,在第n+1時鐘周期輸出所述第一累加中間結果數(shù)據,并輸出至所述次輸入數(shù)據選擇單元,n為大于1的整數(shù);
12、在外部數(shù)據輸入完成后的下一時鐘周期輸出所述第一累加中間結果數(shù)據至所述反饋寄存單元。
13、根據一些實施例,所述反饋寄存單元配置為在緩存所述第一累加中間結果數(shù)據后,在后續(xù)時鐘周期或按照預定時鐘周期將緩存的所述第一累加中間結果數(shù)據作為所述第二累加中間結果數(shù)據輸出至所述主輸入數(shù)據選擇單元從而所述第一累加中間結果數(shù)據和所述第二累加中間結果數(shù)據對齊并通過所述數(shù)據累加單元累加。
14、根據一些實施例,所述主輸入數(shù)據選擇單元還接收數(shù)據0的輸入,若外部數(shù)據輸入期間輸入的所述外部輸入數(shù)據為無效數(shù)據,所述主輸入數(shù)據選擇單元輸出0至所述數(shù)據累加反饋單元。
15、根據一些實施例,所述主輸入數(shù)據選擇單元還接收數(shù)據0的輸入,若外部數(shù)據輸入期間所述外部輸入數(shù)據為非連續(xù)數(shù)據,則對應所述非連續(xù)數(shù)據位置所述主輸入數(shù)據選擇單元輸出0至所述數(shù)據累加反饋單元。
16、根據本發(fā)明的另一方面,提供一種用于累加器的方法,所述累加器包括第一數(shù)據通道和第二數(shù)據通道,所述方法包括:
17、獲取累加器執(zhí)行單次累加運算所需的時鐘周期數(shù);
18、獲取待累加輸入數(shù)據,并將所述待累加輸入數(shù)據送入所述累加器的第一數(shù)據通道,同步地,向所述累加器的第二數(shù)據通道輸入與所述累加器執(zhí)行單次累加運算所需的時鐘周期數(shù)相同個數(shù)的0;
19、執(zhí)行累加運算,得到第一累加中間結果數(shù)據,將所述第一累加中間結果數(shù)據反饋至所述累加器的第二數(shù)據通道;
20、所述待累加輸入數(shù)據輸入完成后,將選定的所述第一累加中間結果數(shù)據緩存,并作為第二累加中間結果數(shù)據反饋至所述累加器的第一數(shù)據通道以用于后續(xù)累加。
21、根據本發(fā)明的另一方面,提供一種集成電路芯片,包括根據如上任一項所述的累加器。
22、根據本發(fā)明的另一方面,提供一種計算設備,包括:
23、處理器;以及
24、存儲器,存儲有計算機程序,當所述計算機程序被所述處理器執(zhí)行時,使得所述處理器執(zhí)行如上任一項所述的方法。
25、根據本發(fā)明的另一方面,提供一種非瞬時性計算機可讀存儲介質,其上存儲有計算機可讀指令,當所述指令被處理器執(zhí)行時,使得所述處理器執(zhí)行如上任一項所述的方法。
26、根據本發(fā)明的實施例,通過數(shù)據選擇,并適應所述累加器的單次累加運算完成的時鐘周期,實現(xiàn)對所述外部輸入數(shù)據的分組累加,得到累加中間結果,通過緩存所述累加中間結果并反饋至所述數(shù)據累加反饋單元,在所述數(shù)據累加反饋單元中進行累加中間結果的累加,最終得到累加結果數(shù)據,使得所述累加器在適應芯片電路的工作頻率基礎上,減少累加運算耗時,顯著提升累加運算效率。尤其,在大批量數(shù)據累加運算的處理中,提速效果更加明顯,數(shù)據處理效率成倍提升。
27、應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本發(fā)明。
1.一種累加器,其特征在于,包括:主輸入數(shù)據選擇單元、次輸入數(shù)據選擇單元、數(shù)據累加反饋單元,其中,
2.根據權利要求1所述的累加器,其特征在于,在所述主輸入數(shù)據選擇單元開始接收外部輸入數(shù)據的同時,所述次輸入數(shù)據選擇單元在n個連續(xù)時鐘周期輸入n個0至所述數(shù)據累加反饋單元,其中,n的值與所述累加器單次完成累加運算所需的時鐘周期數(shù)相同。
3.根據權利要求1所述的累加器,其特征在于,所述數(shù)據累加反饋單元包括數(shù)據累加單元以及反饋寄存單元,其中,
4.根據權利要求3所述的累加器,其特征在于,所述數(shù)據累加單元配置為:
5.根據權利要求4所述的累加器,其特征在于,所述反饋寄存單元配置為在緩存所述第一累加中間結果數(shù)據后,在后續(xù)時鐘周期或按照預定時鐘周期將緩存的所述第一累加中間結果數(shù)據作為所述第二累加中間結果數(shù)據輸出至所述主輸入數(shù)據選擇單元從而所述第一累加中間結果數(shù)據和所述第二累加中間結果數(shù)據對齊并通過所述數(shù)據累加單元累加。
6.根據權利要求1所述的累加器,其特征在于,所述主輸入數(shù)據選擇單元還接收數(shù)據0的輸入,若外部數(shù)據輸入期間輸入的所述外部輸入數(shù)據為無效數(shù)據,所述主輸入數(shù)據選擇單元輸出0至所述數(shù)據累加反饋單元。
7.根據權利要求1所述的累加器,其特征在于,所述主輸入數(shù)據選擇單元還接收數(shù)據0的輸入,若外部數(shù)據輸入期間所述外部輸入數(shù)據為非連續(xù)數(shù)據,則對應所述非連續(xù)數(shù)據位置所述主輸入數(shù)據選擇單元輸出0至所述數(shù)據累加反饋單元。
8.一種用于累加器的方法,其特征在于,所述累加器包括第一數(shù)據通道和第二數(shù)據通道,所述方法包括:
9.一種集成電路芯片,其特征在于,包括根據權利要求1-7中任一項所述的累加器。
10.一種計算設備,其特征在于,包括: