双调排序加速器的制作方法

文档序号:24641998发布日期:2021-04-13 12:57阅读:151来源:国知局
双调排序加速器的制作方法
双调排序加速器


技术实现要素:

1.根据本公开的至少一个示例,一种用于双调排序的硬件加速器包括多个比较交换电路和与比较交换电路中的每一个相关联的先进先出(fifo)缓冲器。每个fifo缓冲器的输出是fifo数据值。比较交换电路被配置为:在第一操作模式下,将来自先前比较交换电路或存储器的先前数据值存储到其相关联的fifo缓冲器,并将来自其相关联的fifo缓冲器的fifo数据值传递到后续的比较交换电路或存储器;在第二操作模式下,将先前数据值与fifo数据值进行比较,将数据值中的较大者存储到其相关联的fifo缓冲器,并将数据值中的较小者传递到后续的比较交换电路或存储器;以及在第三操作模式下,将先前数据值与fifo数据值进行比较,将数据值中的较小者存储到其相关联的fifo缓冲器,并将数据值中的较大者传递到后续的比较交换电路或存储器。
2.根据本公开的另一示例,一种用于双调排序的硬件加速器包括四个多路复用器(mux),每个多路复用器包括输出和被配置为耦合到存储器的第一输入。该硬件加速器还包括具有四个输入和四个输出的四输入比较交换电路,其中每个多路复用器的输出耦合到四输入比较交换电路的输入中的一个。该硬件加速器还包括四个双调排序加速器,其包括第一双调排序加速器、第二双调排序加速器、第三双调排序加速器和第四双调排序加速器。四个双调排序加速器中的每一个具有输入和输出,并且四输入比较交换电路的每个输出耦合到双调排序加速器输入中的一个。每个双调排序加速器的输出耦合到多路复用器中的一个的第二输入。
3.根据本公开的另一示例,一种用于双调排序的方法包括:对于多个比较交换电路中的每一个,接收控制信号并且响应于该控制信号在第一操作模式、第二操作模式和第三操作模式中的一种操作模式下进行操作。在第一操作模式下,该方法还包括由比较交换电路将来自先前比较交换电路或存储器的先前数据值存储到相关联的fifo缓冲器,其中相关联的fifo缓冲器的输出是fifo数据值;以及将fifo数据值从相关联的fifo缓冲器传递到后续的比较交换电路或存储器。在第二操作模式下,该方法还包括:由比较交换电路将先前数据值与fifo数据值进行比较;将数据值中的较大者存储到相关联的fifo缓冲器;以及将数据值中的较小者传递到后续的比较交换电路或存储器。在第三操作模式下,该方法还包括:由比较交换电路将先前数据值与fifo数据值进行比较;将数据值中的较小者存储到相关联的fifo缓冲器;以及将数据值中的较大者传递到后续的比较交换电路或存储器。
附图说明
4.对于各种示例的详细描述,现在将参考附图,其中:
5.图1示出根据各种示例的双调排序网络的信号流程图;
6.图2示出根据各种示例的双调排序加速器的框图;
7.图3示出根据各种示例的比较交换电路的电路示意图;
8.图4示出根据各种示例的包括流过(flow

through)操作的双调排序网络的信号流图;
9.图5示出根据各种示例的用于双调排序加速器的数据流和时序图;
10.图6示出根据各种示例的具有改善的数据并行度的双调排序加速器的框图;
11.图7a和图7b示出根据各种示例的具有改善的数据并行度的双调排序网络的信号流图;以及
12.图8示出根据各种示例的用于双调排序的方法的流程图。
具体实施方式
13.诸如用于信号处理、雷达跟踪、图像处理等的各种算法经常使用排序操作。排序操作通常使用由中央处理单元(cpu)或图形处理单元(gpu)执行的软件来实现,这需要大量的计算并因此降低了cpu或gpu执行其他任务的能力。与在诸如cpu或gpu的通用主机处理器上执行的软件相比,硬件加速器被用于更有效地执行某些数学运算(诸如排序)。然而,期望对分类速度和电路面积的改善。
14.根据所公开的示例,一种用于双调排序的硬件加速器(双调排序加速器)和一种用于双调排序的方法提供了用于以改善的排序速度和减小的电路面积对数据值的数组进行排序的硬件解决方案。与例如由主机处理器执行的软件相比,本公开的双调排序加速器更有效地执行双调排序。特别地,本公开的双调排序加速器利用类似于基

2(radix

2)单延迟反馈(r2sdf)架构的结构以流水线方式执行数据值的数组的双调排序。双调排序加速器在总共(n*log2n)个时钟周期中对串行地馈送到加速器中的n个二进制数进行排序,这等于可以用任何基于比较的排序算法实现的排序速度的理论上限。在一些示例中,通过提高硬件加速器的并行度,双调排序加速器的吞吐量进一步提高了三倍。
15.双调序列是满足两个条件中的任一个的元素序列(a0,a1,...,a
n
‑1)。第一条件是存在指数i,0≤i≤n

1,使得(a0,...,a
i
)单调增大并且(a
i+1
,...,a
n
‑1)单调减小。第二条件是存在指数的循环移位,使得满足第一条件。例如,{1,4,6,8,3,2}(其单调增大且然后单调减小)、{6,9,4,2,3,5}(循环移位对其产生单调增大且然后单调减小(从{2}开始)或单调减小且然后单调增大(从{9}开始)的序列),以及{9,8,3,2,4,6}(其单调减小且然后单调增大)是双调序列。
16.在本公开的示例中,硬件加速器通过将比较交换(ce)操作递归地应用于双调序列的元素来对大小为n的双调序列进行排序。硬件加速器使大小为n的输入数据能够在总共(n*log2n)个时钟周期(这等于任何基于比较的排序算法的理论上限)中被排序,同时重用r2sdf架构的一些部分。ce操作比较两个元素,然后根据哪个元素具有更大的值来选择性地交换或调换两个元素的位置。例如,如果ce操作试图将最大元素放置在第二位置,则ce操作比较第一值和第二值,并且如果第一值大于第二值,则交换两个元素。然而,如果第二值大于第一值,则不发生交换。
17.图1示出了用于用随机输入对大小为n=8的数据序列进行排序的双调排序网络100的示例信号流图。通常,输入数据是数据值的n元素向量。在信号流图100中,箭头指示被比较的两个元素(位于每个箭头“头部”和“尾部”的元素)以及元素交换或调换的方向。在图1的示例中,被比较的两个元素中的较小者在比较之后被定位于箭头的尾部。双调排序网络100首先将未排序的数据序列(序列a)重新布置成双调序列(序列c),该序列出现在第一log2n

1阶段中,在此情况下为阶段s1和s2。随后,在最后阶段s3中,双调排序网络100将双
调序列(序列c)重新布置成已排序的序列(序列d)。
18.输入数据或未排序的数据序列(序列a)被视为长度为2的双调序列的组合。在阶段s1中,并行ce操作在相反方向上应用于相邻的双调序列(对),如由面向相反方向的相邻箭头标记。阶段s1的结果是将输入数据(序列a)转换成长度为4的双调序列的组合(序列b)。在阶段s2中,如图所示,类似的并行ce操作在相反方向上应用于相邻的双调序列,并且在输入数据大小大于8的情况下,后续阶段将以类似的方式继续进行,直到生成长度为n的双调序列为止。在此示例中,阶段s2的结果是生成了长度为n=8的双调序列(序列c)。如图所示,在最后阶段中,即本示例中的阶段s3,双调序列(序列c)被转换成已排序的序列(序列d)。
19.图2示出了根据本公开的示例的双调排序加速器200。双调排序加速器200从存储器208接收输入数据(di,其是数据值的n元素向量),作为双输入多路复用器(mux)202的输入。如上所述,由双调排序加速器200的多路复用器202串行地接收输入数据元素。双调排序加速器200还包括一个或多个流水线比较交换(ce)电路204。在图2的示例中,ce电路204包括第一ce电路204a和最后ce电路204c。对于ce电路204b,ce电路204a被称为先前ce电路204a,而ce电路204c被称为后续ce电路204c。通常,第一ce电路204a和最后ce电路204c之间的每个ce电路204具有一个先前ce电路204和一个后续ce电路204。
20.对于被配置为对大小为n(一般假定为2的幂)的输入数据进行排序的双调排序加速器200,该双调排序加速器200至少包括log2n个ce电路204。在n不是2的幂的示例中,采用零填充(zeropadding)将输入数据大小增加到2的下一个幂。在图2的示例中并且为了与图1一致,例如,假定输入数据的大小为n=8。因此,在图2的示例中,双调排序加速器200包括三个ce电路204a、204b、204c。多路复用器202包括两个输入,一个输入如上所述耦合到存储器208,并且另一个输入耦合到由最后ce电路204c生成的输出数据(do)。输出数据(do)也被提供给存储器210,其在一些示例中与存储器208相同,而在其他示例中与存储器208分离。
21.每个ce电路204a、204b、204c分别与先进先出(fifo)缓冲器206a、206b、206c相关联。fifo缓冲器206a、206b、206c用作延迟元件,并且在一些示例中以存储器或移位寄存器来实现。对于具有m个ce电路204a、204b、204c的双调排序加速器200,其中m个ce电路可以使用m’进行索引,其中m’的范围从0至log2n

1,fifo缓冲器206a、206b、206c的大小为或在此情况下的大小分别为4、2、1。与特定ce电路204相关联的fifo缓冲器206的大小指定了由该特定ce电路204执行的比较的“距离”。回到图1,例如,在阶段s1中,所有的比较都具有距离为1的相邻值;类似地,在阶段s2中,比较具有距离为2和距离为1的值;最后,在阶段s3中,比较具有距离为4、然后为2、然后为1的值。每个ce电路204a、204b、204c还分别接收控制信号c2、c1、c0,这将在下面进一步详细说明。
22.图3更详细地示出了ce电路204。ce电路204包括耦合到其相关联的fifo缓冲器206的输出的第一输入302。为了便于参考,每个fifo缓冲器206的输出数据可以被称为fifo数据值。ce电路204还包括耦合到其相关联的fifo缓冲器206的输入的第一输出306。ce电路204还包括第二输入304和第二输出308。第二输入304耦合到先前ce电路204(例如,如图2所示)的第二输出304或存储器(例如,通过多路复用器202耦合到存储器208,如图2所示)。第二输出308耦合到后续ce电路204(例如,如图2所示)的第二输入或存储器(例如,如图2所示的存储器210)。
23.ce电路204还包括比较器310,该比较器310接收第一输入302和第二输入304作为
输入,并基于第一输入302和第二输入304的比较产生输出。在图3的示例中,比较器310的输出在第一输入302大于第二输入304时被置为有效(asserted)(例如,为“1”),并且在第一输入302小于第二输入304时被置为无效(de

asserted)(例如,为“0”)。
24.ce电路204接收具有其分别标记为c
n
[0]和c
n
[1]的最低有效位和最高有效位的2位控制信号。比较器310的输出和最低有效位c
n
[0]作为输入被提供给异或(xor)门312。异或门312的输出和最高有效位c
n
[1]作为输入被提供给与(and)门314。与门314的输出是对第一输出多路复用器316和第二输出多路复用器318的控制,第一输出多路复用器316和第二输出多路复用器318的输出分别包括第一输出306和第二输出308。响应于与门314的输出被置为有效,第一输出多路复用器316传递第一输入302从其中通过作为第一输出306,并且第二输出多路复用器318传递第二输入304从其中通过作为第二输出308。响应于与门314的输出被置为无效,第一输出多路复用器316传递第二输入304从其中通过作为第一输出306,并且第二输出多路复用器318传递第一输入302从其中通过作为第二输出308。
[0025]
由于ce电路204的上述逻辑,比较交换操作由控制信号c
n
指定如下:
[0026]
0(或1):在第一操作模式下,比较交换操作将绕过ce电路204,其对应于以下关于图4更详细描述的流过操作;将来自先前ce电路的数据(第二输入304)存储到fifo缓冲器206中(作为第一输出306),并且将来自fifo缓冲器206的最早数据(第一输入302)传递到下一ce电路(作为第二输出308)。
[0027]
2:在第二操作模式下,比较交换操作是:在第一ce电路204a的情况下,将来自先前ce电路或存储器208的数据(第二输入304)与fifo数据值(其为来自fifo缓冲器206的数据(第一输入302))进行比较;在最后ce电路204c的情况下,将较大数据值存储到fifo缓冲器206中(作为第一输出306),并且将较小数据值传递到下一个ce电路或存储器210(作为第二输出308)。
[0028]
3:在第三操作模式下,比较交换操作是:在第一ce电路204a的情况下,将来自先前ce电路或存储器208的数据(第二输入304)与fifo数据值(其为来自fifo缓冲器206的最早数据(第一输入302))进行比较;在最后ce电路204c的情况下,将较小数据值存储到fifo缓冲器206中(作为第一输出306),并且将较大数据值传递到下一个ce电路或存储器210(作为第二输出308)。
[0029]
如将在下面进一步所述,控制信号“2”与控制信号“3”之间的方向差异允许实现图1中箭头的方向性。
[0030]
图4示出了包括流过操作(例如,对应于如上所述的控制信号0)的用于双调排序400的另一示例信号流图。特别地,图1的示例性信号流图100被示出为包括流过操作402,其被示出为在虚线(不是箭头)连接的端部处的数据元素。实现流过操作以例如保持跨双调排序引擎200的流水线阶段的稳定数据流。例如,在阶段s1中,距离为4和2的元素之间的比较被表示为流过操作。类似地,在阶段s2中,距离为4的元素之间的比较被表示为流过操作。在阶段s3中,由于需要距离为4的比较(用于执行最终的双调排序操作,如以上关于图1所述),因此对于n=8的特别示例不存在流过操作。
[0031]
图5示出了对于n=8的双调排序加速器200的输入数据(di)和输出数据(do)的示例数据流和时序图500,其中输入样式对应于图1和图4的序列a。通常,双调排序加速器200的操作需要n*log2n个时钟周期(在此情况下为24个时钟周期),以从最后输入数据值(在该
示例中为“1”)被馈送到双调排序加速器200的时间完成。
[0032]
返回参考图2,从输出数据do到多路复用器202的输入的反馈连接允许迭代地(例如,log2n次)利用双调排序加速器200来实现上面关于图1和图4描述的阶段s1、s2、s3。在对应于阶段s1的第一迭代中,ce电路204a(对应于距离为4)和ce电路204b(对应于距离为2)在流过模式下操作,因为阶段s1仅对距离为1的相邻值执行比较交换操作。
[0033]
用于ce电路204c的比较交换操作(对应于距离为1)在第七时钟周期中以0开始,以使第一值(在该示例中为“8”)流到相关联的fifo缓冲器206c。在这个时间点,从最早到最新定序,fifo缓冲器206a包含值5、4、3、2;fifo缓冲器206b包含值7、6;并且fifo缓冲器206c包含值8。
[0034]
在第八时钟周期中,ce电路204c的比较交换操作为2,这使得ce电路204c将来自先前ce电路204b的数据(值7,作为fifo缓冲器206b中的最早数据并且经受流过操作)与来自fifo缓冲器206c的最早数据(值8)进行比较。较大数据值8被存储回fifo缓冲器206c,而较小数据值7作为输出数据do被传递,其在时序图500中被反映为do(序列b)的第一元素。此外,在该时间点处改变到多路复用器202的控制信号,使得输出数据do用作到ce电路204a的输入数据,以开始第二迭代以实现下一个阶段,在这种情况下为阶段s2。
[0035]
在第九时钟周期中,ce电路204c的比较交换操作再次为0(流过),这导致ce电路204c将来自其相关联的fifo缓冲器206c的数据值8作为输出数据do进行传递,其在时序图500中被反映为do(序列b)的第二元素。在第十时钟周期中,ce电路204c的比较交换操作为3,这导致ce电路204c将来自先前ce电路204b的比较数据(值5,作为fifo缓冲器206b中的最早数据并且经受流过操作)与来自fifo缓冲器206c的最早数据(值6)进行比较。较小数据值5被存储到fifo缓冲器206c,而较大数据值6作为输出数据do被传递,其在时序图500中被反映为do(序列b)的第三元素。重复上述过程以比较数据值4和3(使用比较交换操作2)以及数据值2和1(使用比较交换操作3),以对距离为1的相邻值完成阶段s1比较交换操作。
[0036]
除了修改控制信号c
n
以考虑所需的比较交换操作的方向性变化之外,以与以上关于阶段s1描述的方式类似的方式来实现阶段s2。时序图500的其余部分反映与阶段s1的结果(序列b)、阶段s2的结果(序列c)和阶段s3的结果(序列d)对应的控制信号c
n
和输出数据do。
[0037]
此外,控制信号c
n
遵循一种样式(pattern),该样式例如使用来自与每个ce电路204a、204b、204c相关联的模n二进制计数器(从0到n

1计数)和模log2n二进制计数器(从0到log2n

1计数)的计数器位来生成。模log2n二进制计数器在每次迭代时递增,并且模n二进制计数器在每个时钟周期递增。当模log2n二进制计数器达到特别值时,ce电路204a、204b、204c中的每一个都是有效的(例如,控制信号c
n
=2或c
n
=3)。例如,对于n=8,当模log2n计数器等于2时,c2有效;当模log2n计数器大于或等于1时,c1有效;并且当模log2n计数器大于或等于0时,c0有效。使用来自模n计数器的各个位,基于组合逻辑为每个ce电路204a、204b、204c确定c
n
的值。在其他示例中,从存储器中的控制信号缓冲器访问控制信号c
n

[0038]
图2中示出并且在上面描述的双调排序加速器200本质上是串行的,因为双调排序加速器200在固定的潜伏期之后接收串行输入数据(di)并且串行地生成输出数据(do)。然而,在一些示例中,将在其上实现双调排序加速器的计算机系统包括处理器、总线构造和具有更宽带宽的存储器访问(例如,直接存储器访问(dma)),因此能够处置更高的吞吐量。在
此种计算机系统中,硬件加速器降低了总体系统性能,该硬件加速器相对缓慢地消耗数据并生成数据,诸如,双调排序加速器200的串行输入和串行输出。
[0039]
图6示出了具有高水平数据并行度的双调排序加速器600,其减少了对数据值的n元素向量执行排序所需的时钟周期数。双调排序加速器600从存储器208接收来自四个并行流(表示为x1

x4)的输入数据,其中每个流(stream)是到双输入多路复用器(mux)602的一个输入。如上关于图2所述,输入数据元素由双调排序加速器600的多路复用器602串行接收,但是具有4倍并行度。双调排序加速器600还包括四输入ce电路604,该四输入ce电路604包括四个ce电路204a

204d,其与图2和图3中所示且在上面描述的那些ce电路相同。
[0040]
第一ce电路204a包括耦合到第一多路复用器602a的输出的第一输入和耦合到第二多路复用器602b的输出的第二输入。第二ce电路204b包括耦合到第三多路复用器602c的输出的第一输入和耦合到第四多路复用器602d的输出的第二输入。第三ce电路204c包括耦合到第一ce电路204a的第一输出的第一输入和耦合到第二ce电路204b的第一输出的第二输入。第四ce电路204d包括耦合到第一ce电路204a的第二输出的第一输入和耦合到第二ce电路204b的第二输出的第二输入。如上所述,ce电路204a

204d被配置为:在流过模式下进行操作,其中第一输出和第二输出分别对应于第二输入和第一输入;在比较模式下进行操作,其中输入的较大数据值是第一输出并且输入的较小数据值是第二输出;以及在比较模式下进行操作,其中输入的较小数据值是第一输出并且输入的较大数据值是第二输出。
[0041]
第三ce电路204c和第四ce电路204d的第一输出和第二输出分别耦合到上面在图2中描述的双调排序加速器200a

200d的输入。第一双调排序加速器200a的输出(y1)耦合到多路复用器602d的输入。第二双调排序加速器200b的输出(y2)耦合到多路复用器602b的输入。第三双调排序加速器200c的输出(y3)耦合到多路复用器602c的输入。第四双调排序加速器200d的输出(y4)耦合到多路复用器602a。
[0042]
图7a和图7b示出了双调排序700的示例信号流图,为简单起见,其不包括流过操作。上面关于图2的双调排序加速器200的示例针对的是8点双调排序加速器,但是如上所述可以通过添加附加的ce电路和相关联的fifo缓冲器将本公开扩展到其他数量的点。因此,继续图2的示例,如上所述,将双调排序加速器600的功能描述为利用四个8点双调排序加速器200的32点双调排序加速器。在信号流图700中,行701、703、705、707分别对应于8点双调排序加速器200a、200b、200c、200d的功能。
[0043]
在第一阶段702中,四输入ce电路604的ce电路204a

204d在流过模式下进行操作,使得x1输入数据被提供给8点双调排序加速器200d,x2输入数据被提供给8点双调排序加速器200b,x3输入数据被提供给8点双调排序加速器200c,并且x4输入数据被提供给8点双调排序加速器200a。在第一阶段702中,8点双调排序加速器200a

200d实现流过操作,以用于距离为4和2的元素之间的比较,同时如上所述比较距离为1的元素。在这种情况下,仅8点双调排序加速器200a

200d的最终ce电路不在流过模式下进行操作。
[0044]
在第二阶段704和第三阶段706中,四输入ce电路604的ce电路204a

204d同样在流过模式下进行操作,但是从存储器208读取了8个元素(在该示例中)之后,多路复用器602a

602d被配置为将8点双调排序加速器200a

200d的输出作为输入提供给四输入ce电路604。在第二阶段704中,8点双调排序加速器200a

200d实现流过操作以用于距离为4的元素之间的比较,同时如上所述比较距离为2和1的元素。在这种情况下,仅8点双调排序加速器200a

200d的最后两个ce电路不在流过模式下进行操作。在第三阶段706中,8点双调排序加速器200a

200d不执行流过操作,并且如上所述比较距离为4、2和1的元素。
[0045]
在第四阶段708中,ce电路204c和204d在比较模式下进行操作(对应于708a),以执行距离为8的元素之间的比较。8点双调排序加速器200a

200d不实现流过操作,并且如上所述比较对距离为4、2和1的元素(对应于708b)。ce电路204a和204b在流过模式下进行操作。
[0046]
最后,在第五阶段710中,ce电路204a

204d都在比较模式下进行操作(对应于710a)以执行距离为16和8的元素之间的比较。8点双调排序加速器200a

200d不实现流过操作,并且如上所述比较距离为4、2和1的元素(对应于710b)。ce电路204a

204d或8点双调排序加速器200a

200d中的ce电路均不实现流过操作。在该示例中,第四周期和第五周期是示例性的。通常,四输入ce电路604实现流过操作,直到最后两次迭代或最后两个阶段。
[0047]
相对于图2中描述的双调排序加速器200,双调排序加速器600改善了吞吐量和潜伏期。例如,对于长度为n的数据数组,迭代次数保持为log2n。然而,由于四输入ce电路604和n/4点双调排序加速器(例如,图6的示例中的8点双调排序加速器200a

200d)引入的并行度,每次迭代所需的时钟周期减少至四分之一。因此,双调排序加速器600的潜伏期是((n*log2n)/4)个时钟周期,并具有每个样本((log2n)/4)个时钟周期的有效吞吐量。
[0048]
图8示出了根据本公开的示例的方法800的流程图。方法800在框802中开始于接收控制信号,例如以上关于图3所述的c
n
。在框804中,方法800包括确定由控制信号指示的比较交换电路的操作模式,在一个示例中,如果控制信号的值为0或1,则为第一操作模式;如果控制信号的值为2,则为第二操作模式;并且如果控制信号的值为0,则为第三操作模式。
[0049]
如果控制信号使比较交换电路在第一操作模式下进行操作,则方法800进行到框806,其中将来自先前比较交换电路或存储器的先前数据值存储到相关联的fifo缓冲器。相关联的fifo缓冲器的输出被称为fifo数据值。方法800然后继续到框808,其中将fifo数据值从相关联的fifo缓冲器传递到后续的比较交换电路或存储器。
[0050]
如果控制信号使比较交换电路在第二操作模式下进行操作,则方法800进行到框810,其中将先前数据值与fifo数据值进行比较。方法800然后在框812中继续,其中将数据值中的较大者存储到相关联的fifo缓冲器,并且在框814中将数据值中的较小者传递到后续比较交换电路或存储器。
[0051]
如果控制信号使比较交换电路在第三操作模式下进行操作,则方法800进行到框816,其中将先前数据值与fifo数据值进行比较。方法800然后在框818中继续,其中将数据值中的较小者存储到相关联的fifo缓冲器,并且在框820中将数据值中的较大者传递到后续比较交换电路或存储器。
[0052]
如上所述,例如关于图5,提供了控制信号,使得在第一迭代或第一组迭代期间,由多个比较交换电路将输入数据的n元素向量布置成双调序列。此外,在最终迭代中,由多个比较交换电路将双调序列布置成完全排序的数组。控制信号可以由存储器中的控制信号缓冲器提供,或者如上所述使用计数器位来提供。
[0053]
在前述讨论和权利要求中,参考了包括各种元件、区段和阶段的双调排序加速器。应当理解,视情况而定,这些元件、区段和阶段对应于例如在集成电路(ic)上实现的硬件电路系统。实际上,在至少一个示例中,整个双调排序加速器是在ic上实现的。
[0054]
在前述讨论和权利要求中,术语“包括”和“包含”以开放式方式使用,并因此应解
释为表示“包括但不限于
……”
。同样,术语“耦合”或“耦接”旨在表示间接或直接连接。因此,如果第一装置耦合到第二装置,则该连接可以是通过直接连接或通过经由其他装置和连接的间接连接。类似地,耦合在第一部件或位置与第二部件或位置之间的装置可以通过直接连接或通过经由其他装置和连接的间接连接。被“配置为”执行任务或功能的元件或特征可以由制造商在制造时进行配置(例如,编程或结构设计)以执行功能,和/或可以在制造后由用户配置(或可重新配置)以执行功能和/或其他附加或可替代功能。可以通过装置的固件和/或软件编程、通过硬件部件的构造和/或布局以及装置的互连或其组合来进行配置。另外,在前面的讨论中,短语“接地”或类似词语的使用旨在包括机架接地、大地接地、浮动接地,虚拟接地、数字接地、公共接地和/或可应用于或适合于本公开的教导的任何其他形式的接地连接。除非以其他方式说明,否则在数值之前的“约”、“大约”或“基本上”是指所述数值的+/

10%。
[0055]
以上讨论旨在说明本公开的原理和各种实施例。一旦完全理解上述公开,许多变化和修改对于本领域技术人员将变得显而易见。意图将所附权利要求解释为涵盖所有此类变化和修改。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1