本申请涉及半导体,特别涉及一种芯片、设备以及数据处理方法。
背景技术:
::1、数据排序是将多个数据整理为从大至小,或从小至大的数据序列。2、在数据库中维护索引场景下存在对多个数据执行稳定排序(stable sorting)的需求。稳定排序是指在两个数据的数值相同时,稳定排序的数据序列中,这两个数据在排序前和排序后的相对顺序保持不变。相关技术中通常通过设计软件算法实现稳定排序。3、如何通过设计芯片结构以实现稳定排序,是亟待解决的问题。技术实现思路1、本申请提供了一种芯片、设备以及数据处理方法,所述技术方案如下:2、根据本申请的一方面,提供了一种芯片,所述芯片包括:依次级联的拓展单元、排序单元和截断单元;3、所述拓展单元,用于在m个输入数据中每个输入数据的末位,添加预定比特长度的序号拓展位,得到m个加长后的数据;所述m个输入数据中在前输入数据的序号拓展位不大于在后输入数据的序号拓展位,m是大于1的整数;4、所述排序单元,用于对所述m个加长后的数据按照数值大小升序或降序排列,得到m个输出数据;5、所述截断单元,用于在所述m个输出数据中的每个输出数据的末位删除所述预定比特长度的序号拓展位,得到修正后的m个输出数据。6、根据本申请的另一方面,提供了一种数据处理方法,所述方法应用于一种芯片中,所述芯片包括:依次级联的拓展单元、排序单元和截断单元;7、所述拓展单元在m个输入数据中每个输入数据的末位,添加预定比特长度的序号拓展位,得到m个加长后的数据;所述m个输入数据中在前输入数据的序号拓展位不大于在后输入数据的序号拓展位,m是大于1的整数;8、所述排序单元对所述m个加长后的数据按照数值大小升序或降序排列,得到m个输出数据;9、所述截断单元在所述m个输出数据中的每个输出数据的末位删除所述预定比特长度的序号拓展位,得到修正后的m个输出数据。10、在本申请的一个可选设计中,所述芯片中的所述排序单元为四输入排序单元;m的取值为4;11、所述排序单元对所述m个加长后的数据按照数值大小升序或降序排列,得到m个输出数据,包括:12、所述四输入排序单元对四个所述加长后的数据按照数值大小升序或降序排列,得到四个输出数据。13、在本申请的一个可选设计中,所述芯片还包括两个双输入比较单元;14、所述拓展单元的输入端分别与所述两个双输入比较单元的输出端相连,所述两个双输入比较单元是并联排列的;15、所述方法还包括:16、所述两个双输入比较单元中的第a个比较单元对四个输入数据中的第b个数据、第b+1个数据按照数值大小排列,得到第b个顺位数据和第b+1个顺位数据;b的取值为2*(a-1)+1,a的取值为1或2;17、所述拓展单元在m个输入数据中每个输入数据的末位,添加预定比特长度的序号拓展位,得到m个加长后的数据,包括:18、所述拓展单元在四个顺位数据的末位,添加所述预定比特长度的序号拓展位,得到四个加长后的数据。19、在本申请的一个可选设计中,所述芯片中的所述四输入排序单元包括三个双输入比较器;20、所述三个双输入比较器中的第一个比较器和第二个比较器是并联排列的,所述三个双输入比较器中的第三个比较器的两个输入端分别与所述第一个比较器的第二输出端、所述第二个比较器的第一输出端相连;21、所述四输入排序单元对四个所述加长后的数据按照数值大小升序或降序排列,得到四个输出数据,包括:22、所述三个双输入比较器中的第c个比较器对所述四个加长后的数据中第c个位置、第c+2个位置的两个数据按照数值大小排列,得到所述第c个比较器的第一输出数据和第二输出数据;c的取值为1或2;23、所述三个双输入比较器中的所述第三个比较器对所述第一个比较器的第二输出数据、所述第二个比较器的第一输出数据按照数值大小排列,得到所述第三个比较器的第一输出数据和第二输出数据;24、其中,所述四个输出数据包括:所述第一个比较器的第一输出数据、所述第三个比较器的第一输出数据和第二输出数据、所述第二个比较器的第二输出数据。25、在本申请的一个可选设计中,所述排序单元包括五个双输入比较器;所述五个双输入比较器中的第一个比较器和第二个比较器是并联排列的,所述五个双输入比较器中的第三个比较器和第四个比较器是并联排列的;所述五个双输入比较器中的第五个比较器的两个输入端分别与第三个比较器的第二输出端、第四个比较器的第一输出端相连;26、所述四输入排序单元对四个所述加长后的数据按照数值大小升序或降序排列,得到四个输出数据,包括:27、所述五个双输入比较器中的第x个比较器对四个加长后的数据中第y个位置、第y+1个位置的两个数据按照数值大小排列,得到第y个顺位数据和第y+1个顺位数据;y的取值为2*(x-1)+1,x的取值为1或2;28、所述五个双输入比较器中的第z个比较器对第w个顺位数据、第w+2个顺位数据按照数值大小排列,得到所述第z个比较器的第一输出数据和第二输出数据;z的取值为3或4,w的取值为2*(z-3)+1;29、所述第五个比较器对所述第三个比较器的第二输出数据、所述第四个比较器的第一输出数据按照数值大小排列,得到所述第五个比较器的第一输出数据和第二输出数据;30、其中,四个输出数据包括:所述第三个比较器的第一输出数据、所述第五个比较器的第一输出数据和第二输出数据、所述第四个比较器的第二输出数据。31、根据本申请的另一方面,提供了一种计算机设备,所述计算机设备中包括如上方面所述的芯片。32、本申请提供的技术方案带来的有益效果至少包括:33、通过拓展单元,在需要进行排序的m个输入数据上添加序号拓展位,在基于数值大小的排序的过程中考虑了输入数据的原始顺序;在输入数据的末位添加预定比特长度的序号拓展位,保证了在排序过程中输入数据的原始顺序不会影响数据的真实大小的比较;在通过排序单元得到m个输出数据之后,截断单元在输出数据的末位删除预定比特长度的序号拓展位,保证了按照数值大小排序的修正后的m个输出数据与m个输入数据原始数据数值的一致,能够通过芯片中的结构设计实现对数据的稳定排序。技术特征:1.一种芯片,其特征在于,所述芯片包括:依次级联的拓展单元、排序单元和截断单元;2.根据权利要求1所述的芯片,其特征在于,所述排序单元为m个输入的排序单元;m是2的n次方,n为大于1的正整数;3.根据权利要求2所述的芯片,其特征在于,所述排序单元为四输入排序单元;4.根据权利要求3所述的芯片,其特征在于,所述两个预处理单元为两个双输入比较单元;5.根据权利要求4所述的芯片,其特征在于,所述四输入排序单元包括三个双输入比较器;6.根据权利要求2所述的芯片,其特征在于,所述排序单元为八输入排序单元;7.根据权利要求6所述的芯片,其特征在于,所述两个预处理单元为两个四输入预处理单元;8.根据权利要求7所述的芯片,其特征在于,所述八输入排序单元包括两个四输入比较器、三个双输入比较器;9.根据权利要求2所述的芯片,其特征在于,所述排序单元为十六输入排序单元;10.根据权利要求9所述的芯片,其特征在于,所述两个预处理单元为两个八输入预处理单元;11.根据权利要求10所述的芯片,其特征在于,所述十六输入排序单元包括两个八输入比较器、七个双输入比较器;12.根据权利要求1所述的芯片,其特征在于,所述排序单元用于对四个加长后的数据按照数值大小升序或降序排列,得到四个输出数据;13.根据权利要求5或8或11或12所述的芯片,其特征在于,至少一个所述比较器包括:比较电路、第一多路选择器、第二多路选择器;所述比较器用于按照数值大小升序排列;14.根据权利要求1至12任一所述的芯片,其特征在于,所述拓展单元包括并联排列的m个拓展子单元;15.根据权利要求14所述的芯片,其特征在于,所述第k个拓展子单元,用于将第k个商值填充在所述第k个输入数据的所述序号拓展位上;16.根据权利要求1至12任一所述的芯片,其特征在于,所述截断单元包括并联排列的m个截断子单元;17.根据权利要求1至16任一所述的芯片,其特征在于,所述芯片是神经网络处理器npu。18.一种计算机设备,其特征在于,所述计算机设备中包括如权利要求1至14任一所述的芯片。19.一种数据处理方法,其特征在于,所述方法应用于一种芯片中,所述芯片包括:依次级联的拓展单元、排序单元和截断单元;20.根据权利要求19所述的方法,其特征在于,所述排序单元为m个输入的排序单元;m是2的n次方,n为大于1的正整数;技术总结本申请公开了一种芯片、设备以及数据处理方法,属于半导体
技术领域:
:。该芯片包括:依次级联的拓展单元、排序单元和截断单元;所述拓展单元,用于在m个输入数据中每个输入数据的末位,添加预定比特长度的序号拓展位,得到m个加长后的数据;所述m个输入数据中在前输入数据的序号拓展位不大于在后输入数据的序号拓展位,m是大于1的整数;所述排序单元,用于对所述m个加长后的数据按照数值大小升序或降序排列,得到m个输出数据;所述截断单元,用于在所述m个输出数据中的每个输出数据的末位删除所述预定比特长度的序号拓展位,得到修正后的m个输出数据。技术研发人员:任子木受保护的技术使用者:腾讯科技(深圳)有限公司技术研发日:技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-29806.html