一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

芯片、随机选取多个数据的方法及装置与流程

2021-12-04 02:09:00 来源:中国专利 TAG:


1.本发明涉及网络通信技术领域,尤其涉及一种芯片、随机选取多个数据的方法及装置。


背景技术:

2.随着5g、人工智能、虚拟现实以及网络交换等高新技术的发展,其中的核心处理芯片规模越来越大,需要处理的数据量也越来越庞大。这些芯片中,往往会遇到需要从多个数据中随机选出一部分数据进行处理的调度问题。假设有m个数据参与调度,每个时钟周期需要从中选择n个数据进行处理,m≥n。这m个数据中不一定都有效,无效的数据不能参与调度。如何保证m个数据能够被公平地选择,同时满足芯片实现中组合逻辑的时序,是芯片设计中必须解决的问题。为了方便说明,如图1所示,以m等于16,n等于8为例进行说明。
3.现有技术中所采用的方式通常如图2所示,先选择一个随机值作为起始指针,以1为例。第一步,从起始指针1开始搜索有效数据,选择数据3作为输出数据0。第2步,以3为起始指针搜索有效数据,选择数据5作为输出数据1。如此重复,直到选择最后一个有效数据15作为输出数据6。这种方法,除第一步以外,每一步的起始指针都由上一步决定,由于芯片中选择有效数据的逻辑一般比较复杂,也即,随着m的增大逻辑级数会很长,所以通常只能采用流水线的方式实现。当m较大时,每一步选择就是一级流水线,则选择n个数据就需要n级流水线。这样不仅造成了寄存器的浪费,同时也增大了数据处理的延迟。
4.因此,有必要对现有随机选取多个数据的方法及装置加以改进。


技术实现要素:

5.鉴于现有技术中存在的上述技术问题,本技术提供了一种随机选取多个数据的方法,应用于自m个依次编号的数据中选取n个有效数据,其特征在于,包括步骤:
6.s1、选择一个随机值作为起始指针,基于所述起始指针分别沿数据编号顺序的正向和反向搜索获取有效数据;
7.s2、将获取的所述有效数据输出并标记为无效数据;
8.s3、以沿正向搜索获取的所述有效数据作为起始点沿正向搜索,以沿反向搜索获取的所述有效数据作为起始点沿反向搜索,以获取新的有效数据并输出;
9.s4、重复s2

s3直至获取至多所述n个有效数据;
10.其中,m、n为正整数,且m≥n。
11.可选地,所述随机值采用由本源多项式构成的线性反馈移位寄存器生成。
12.可选地,若所述m个依次编号的数据中仅有一个有效数据,于步骤s1中:将所述起始指针指向的所述有效数据输出。
13.可选地,若n≥2,且所述m个依次编号的数据中仅有两个有效数据,于步骤s2中,将所述起始指针指向的所述有效数据及获取的所述有效数据一并输出。
14.可选地,若n为奇数,且所述m个依次编号的数据中有效数据的数量大于等于n 1,
于步骤s3中,响应于n

1个有效数据输出后,将步骤s3中获取的两个有效数据择一输出。
15.可选地,若n为奇数,且所述m个依次编号的数据中有效数据的数量大于等于n 1,于步骤s3中,响应于n

1个有效数据输出后,基于沿正向搜索获取的所述有效数据沿正向/反向搜索,或者基于沿反向搜索获取的所述有效数据沿正向/反向搜索,并将获取的一个有效数据输出。
16.为了实现上述发明目的,本技术提供了一种随机选取多个数据的装置,应用上文所述的随机选取多个数据的方法。
17.为了实现上述发明目的,本技术提供了一种芯片,应用上文所述的随机选取多个数据的方法或随机选取多个数据的装置。
18.本实施例所提供的随机选取多个数据的方法,其选取的数据越多,则优势愈发明显,和现有技术中的数据选取方案相比较,当n≥3,且有效数据大于等于三个时,除了最后一次数据选择,每一次都可以选择两个有效数据,这使得在选取同样数量的数据时,本实施例所提供的方法所需要的步骤更少,流水线级数也只有现有技术的一半,进而大大节约了数据处理的延迟,并且减少了所需寄存器的数量,进而降低了成本。
附图说明
19.图1为本发明所要实现的数据选择示意图;
20.图2为应用现有技术随机选取多个数据的流程示意图;
21.图3为本技术的实施例中提供的随机选取多个数据的方法的流程示意图;
22.图4为图3中示出的随机选取多个数据的方法选取数据的流程示意图。
具体实施方式
23.在下文,将参照附图详细描述示范性实施方式。然而,本技术不限于下面的实施方式,而是包括在本公开的技术范围内的各种改变、替代和变形。术语“第一”、“第二”等可以用于解释各种元件,元件的个数并不受这样的术语的限制。这些术语只是用于将一个元件与另一元件区分开。因此,在一个实施方式中被称为第一元件的元件可以在另一实施方式中被称为第二元件。除非上下文有另外的要求,否则单数形式不排除复数形式。以下由特定的具体实施例说明本技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本技术的其他优点及功效。
24.本实施例提供了一种随机选取多个数据的方法,应用于自m个依次编号的数据中选取n个有效数据,如图3所示,包括步骤:
25.s1、选择一个随机值作为起始指针,基于起始指针分别沿数据编号顺序的正向和反向搜索获取有效数据;
26.s2、将获取的有效数据输出并标记为无效数据;
27.s3、以沿正向搜索获取的有效数据作为起始点沿正向搜索,以沿反向搜索获取的有效数据作为起始点沿反向搜索,以获取新的有效数据并输出;
28.s4、重复s2

s3直至获取至多n个有效数据;
29.其中,m、n为正整数,且m≥n。
30.需要说明的是,s4中获取至多n个有效数据是因为有可能m个数据中的有效数据少
于n个。
31.其中,步骤s3中,基于沿正向搜索获取的有效数据沿正向搜索及基于沿反向搜索获取的有效数据沿反向搜索可以先后进行或同时进行。
32.可选地,本实施例还提供了一种随机选取多个数据的方法,其与上文中所述的方法的区别在于,s3中,基于沿正向搜索获取的有效数据沿反向搜索,同时基于沿反向搜索获取的有效数据沿正向搜索,以获取新的有效数据并输出。也即s3中,对数据的搜索方向并不限定,只要满足基于两个有效数据沿不同方向搜索即可,以上实施方式均未脱离本技术的精神。
33.可选地,随机值采用由本源多项式构成的线性反馈移位寄存器(未图示)生成,如此设置,能够保证每一次选择的随机值均不相同。
34.下面,以m=16,16个数据分别编号为0至15,n=8,有效数据共七个,其编号分别为3;5;7;9;13;15;0为例进行说明,结合图4:
35.先选择一个随机值作为起始指针,为方便描述,假设以随机值为7为例,即以编号为7的数据作为起始点。从起始指针7进行正向搜索下一个有效数据,选择数据9作为输出数据0。同时,从起始指针7开始进行反向搜索下一个有效数据,选择数据5作为输出数据1,完成第一次数据选择。
36.将第一次数据选择得到的输出数据0和输出数据1标记为无效数据,以数据9作为起始指针0,进行正向搜索,选择数据13作为输出数据0。同时,以数据5作为起始指针1,进行反向搜索,选择数据3作为输出数据1,完成第二次数据选择。
37.同样地,进行第三次数据选择,选择数据15作为输出数据0,选择数据0作为输出数据1。
38.因为选择输出的有效数据个数最大为8(即n=8),而有效的数据只有7个,因此,在第四次数据选择时,此时正向和反向搜索选择的数据都是7。判断两个搜索的结果相等,只输出一个数据7。至此完成所有数据的选择。
39.可选地,若16个数据中,仅有一个有效数据,例如数据7,则于步骤s1中:将起始指针指向的数据7输出,即完成了有效数据的选择。
40.具体地,输出数据7的步骤可以为,从起始指针7进行正向搜索下一个有效数据,同时,从起始指针7开始进行反向搜索下一个有效数据,响应于正向、反向均未搜索到有效数据,则将起始指针指向的数据7输出。
41.可选地,若16个数据中,仅有两个有效数据,例如数据7和数据9,于步骤s2中,将起始指针指向的数据7及通过双向搜索获取的数据9一并输出。
42.可选地,若n为奇数,例如n=5,且有效数据仍为7个时,于步骤s3中,响应于4个有效数据输出后,将步骤s3中获取的两个有效数据择一输出,例如,上文中示出的数据选择方案中,经过第二次数据选择后,已经选出数据9、数据5、数据13、数据3,那么还需要选择一个有效数据,则可以通过将第三次数据选择获得的数据15和数据0择一输出。在一些实施方式中,响应于4个有效数据输出后,基于4个有效数据中的任一数据沿正向/反向搜索获取的一个有效数据输出。
43.本实施例所提供的随机选取多个数据的方法,其选取的数据越多,则优势愈发明显,和现有技术中的数据选取方案相比较,当n≥3,且有效数据大于等于三个时,除了最后
一次数据选择,每一次都可以选择两个有效数据,这使得本实施例所提供的方法的流水线级数只有现有技术的一半,进而大大节约了数据处理的延迟。
44.可选地,本实施例提供了一种随机选取多个数据的装置(未图示),应用上文所述的随机选取多个数据的方法。
45.可选地,本实施例提供了一种芯片(未图示),应用上文所述的随机选取多个数据的方法或随机选取多个数据的装置。
46.上述实施例仅例示性说明本技术的原理及其功效,而非用于限制本技术。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献