本发明涉及一种校验方法,具体涉及一种用于数据传输的高带宽累加和计算方法。
背景技术:
1、在数据传输和存储等领域中,验证信息传输是否正确,校验和的计算通常基于简单的算术运算,将加法或异或操作用到高带宽累加和的计算中。发送方根据要传输的数据计算校验和,并将其附加到数据中一起发送。接收方接收到数据后,再次计算校验和,并与接收到的校验和进行比较。如果两个校验和匹配,则认为数据传输没有错误;否则,认为数据存在错误,上述过程中均存在的高带宽累加和计算吞吐率过低的问题。
技术实现思路
1、本发明的目的是解决高带宽累加和计算吞吐率过低的技术问题,而提供一种用于数据传输的高带宽累加和计算方法,实现高吞吐率的高带宽累加和计算。
2、为解决上述技术问题,本发明所采用的技术方案为:
3、一种用于数据传输的高带宽累加和计算方法,其特殊之处在于,包括以下步骤:
4、1)将输入数据按所求带宽累加和位宽的一半进行切分,获得奇数数据组和偶数数据组;
5、2)在奇数数据组或偶数数据组中标识切分后的第一组有效数据;
6、3)将奇数数据组中数据进行两两相加,再对相加的结果进行两两相加,直至得到一个加和结果,记为奇数组数据加和结果odd;将偶数数据组中数据进行两两相加,再对相加的结果进行两两相加,直至得到一个加和结果,记为偶数组数据加和结果even;
7、4)对奇数组数据加和结果odd和偶数组数据加和结果even分别进行溢出处理,获得odd′和even′;再对odd′和even′分别进行溢出预测,获得odd″和even″;
8、5)若odd′的最高位为比特1,则将odd″中小于等于n/2比特的数据赋值给sum_odd,否则将odd′中小于等于n/2比特的数据赋值给sum_odd;
9、若even′的最高位为比特1,则将even″中小于等于n/2比特的数据赋值给sum_even,否则将even′中小于等于n/2比特的数据赋值给sum_even;
10、6)根据步骤2)中所得的第一组有效数据所在组别、步骤5)中确定的sum_odd和sum_even,获得最终的高带宽累加和。
11、进一步地,步骤1)具体为:
12、1.1、所求累加和位宽为n比特,将输入数据m按照n/2比特长度进行切分,得到数据组{p1,…,pi,…,pj…,pk-1,pk};m、n均为正偶数,k为大于等于1的整数,i∈k,j∈k;
13、1.2、将数据组{p1,…,pi,…,pj…,pk-1,pk}中的无效数据置0,得到新数据组{p′1,p′2,…,p′i,…,p′,…,p′k-1,p′k};
14、1.3、将新数据组{p′1,p′,…,p′i,…,p′j,…,p′k-1,p′k}分为奇数数据组{p′1,p′3,……}和偶数数据组{p′2,p′4,……}。
15、进一步地,步骤4)具体为:
16、4.1、将奇数组数据加和结果odd中大于n/2比特的数据与偶数组数据加和结果even中小于等于n/2比特的数据进行加和,得到even′;
17、4.2、将奇数组数据加和结果odd中小于等于n/2比特的数据与偶数组数据加和结果even中大于n/2比特的数据进行加和,得到odd′;
18、4.3、将奇数组数据加和结果odd中大于n/2比特的数据与偶数组数据加和结果even中小于等于n/2比特的数据,以及比特1三者进行加和,得到even″;
19、4.4、将奇数组数据加和结果odd中小于等于n/2比特的数据与偶数组数据加和结果even中大于n/2比特的数据,以及比特1进行加和,得到odd″。
20、进一步地,步骤6)具体为:
21、根据步骤2)中第一组有效数据p′i+1所在数据组,若第一组有效数据p′i+1所在数据组为奇数数据组,则将步骤5)中所得的sum_odd按照{sum_odd,sum_even}格式拼接后赋值给sum;若第一组有效数据p′i+1所在数据组为偶数数据组,则将步骤5)中所得的sum_even按照{sum_even,sum_odd}格式拼接后赋值给sum,获得最终的高带宽累加和。
22、进一步地,步骤3)还包括:
23、在加和过程中添加流水线寄存器,保存中间计算结果,构成流水线。
24、进一步地,步骤3)中所述流水线寄存器的个数最多为(log2(w/n))-1个,w为输入数据m的宽度。
25、进一步地,步骤3)中,所述奇数组数据加和结果odd和偶数组数据加和结果even的位宽均为(n/2)+log2(l/n)比特,所述l为输入数据m的长度。
26、进一步地,步骤4)中,所述odd′和odd″的位宽均为(n/2)+1比特;even′和even″的位宽均为(n/2)+1比特。
27、进一步地,步骤5)中,所述sum_odd和sum_even的位宽均为n/2比特。
28、进一步地,步骤6)中,所述sum的长度为n比特。
29、与现有技术相比,本发明技术方案的有益效果是:
30、1.本发明用于数据传输的高带宽累加和计算方法,能够使输入数据的位宽减少一半,减少了运算量,提高了运算速度。
31、2.本发明用于数据传输的高带宽累加和计算方法,能够实现多段数据连续输入,使得操作更简便。
32、3.本发明用于数据传输的高带宽累加和计算方法,通过增加流水线寄存器,提高计算电路吞吐率。
1.一种用于数据传输的高带宽累加和计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种用于数据传输的高带宽累加和计算方法,其特征在于,步骤1)具体为:
3.根据权利要求2所述的一种用于数据传输的高带宽累加和计算方法,其特征在于,步骤4)具体为:
4.根据权利要求3所述的一种用于数据传输的高带宽累加和计算方法,其特征在于,步骤6)具体为:
5.根据权利要求4所述的一种用于数据传输的高带宽累加和计算方法,其特征在于,步骤3)还包括:
6.根据权利要求5所述的一种用于数据传输的高带宽累加和计算方法,其特征在于:
7.根据权利要求6所述的一种用于数据传输的高带宽累加和计算方法,其特征在于:
8.根据权利要求7所述的一种用于数据传输的高带宽累加和计算方法,其特征在于:
9.根据权利要求8所述的一种用于数据传输的高带宽累加和计算方法,其特征在于:
10.根据权利要求9所述的一种用于数据传输的高带宽累加和计算方法,其特征在于: