CN114286368A - 循环移位的实现方法与装置 - Google Patents
循环移位的实现方法与装置 Download PDFInfo
- Publication number
- CN114286368A CN114286368A CN202111603662.4A CN202111603662A CN114286368A CN 114286368 A CN114286368 A CN 114286368A CN 202111603662 A CN202111603662 A CN 202111603662A CN 114286368 A CN114286368 A CN 114286368A
- Authority
- CN
- China
- Prior art keywords
- network
- cyclic shift
- banyan
- input
- qsn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种循环移位的实现方法与装置。该方法包括:获取输入信号的信号长度和初始循环移位网络;根据信号长度确定并行输入端口数;在并行输入端口数小于最大并行度的情况下,在Banyan网络中增加第四数量的第二Banyan网络单元;将第三数量的QSN网络单元与第二数量的第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络;将第五数量的输入信号一一对应地输入更新循环移位网络,得到第五数量的第一输出信号。该方法相比于现有技术的初始循环移位网络不论输入信号的信号长度大小,一次只能输入一个输入信号,数据处理的吞吐量提升为原来的第五数量倍数,解决了现有技术中循环移位网络的吞吐量低的问题。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种循环移位的实现方法、装置、计算机可读存储介质与处理器。
背景技术
随着通信行业不断发展,人们对大容量、低延时、高可靠、高速度、高连接数、高能效通信的需求将显著增加,应用场景也不止有广域覆盖,还有密集热点、机器间通信、车联网、大型露天集会、地铁等。在5G NR无线通信系统中,实现高吞吐的LDPC译码器具有重要意义。5G NR中的LDPC奇偶校验矩阵与传统标准比如DVB-S2/WIMAX/WIFI等的奇偶校验矩阵不同,2种基矩阵的提升因子Zc各有51种情况。通常LDPC译码器是以满足最大Zc编译码的资源来设计的,在Zc较小时,只能利用很少一部分资源利用,吞吐量较小,达不到Zc较大时的高吞吐量。在这种情况下,对Zc较小情况下的循环移位网络进行改进,就能满足编译码器在各种Zc条件下都能实现高吞吐量,从而实现资源充分利用。LDPC编译码器中的循环移位网络主要完成Zc并行输入的循环移位,Zc的值可简单表示为Zc=a*2j。
目前用纯QSN网络来实现任意输入输出个数的循环移位,单层或两层级联方式。纯QSN网络虽然能支持任意输入输出个数的循环移位,但是资源消耗很大,尤其是当端口数很大的时候,另外也影响ASIC或FGPA实现的布局布线,对提高整体时钟频率影响较大,需要采用QSN+Banyan级联的方式,级联的网络需要在满足最大的输入输出个数端口的条件下实现复杂度越低越好。
若用QSN网络和Banyan网络构成两层循环移位网络,QSN网络支持的输入个数为任意个数,可以完成Zc=a*2(j-k)个输入输出的循环移位。Banyan网络支持的输入个数应为2的幂次,可以用来完成2k(k≤j)个输入输出的循环移位。由于a、j分别有8种取值情况,现有的结构有多种方案实现5G NR LDPC编译码器中的循环移位网络,首先在对吞吐量和资源利用率要求不高的前提下需要找出其中资源占用最少的方案。接下来可以基于该方案进行适当的改进,增加一定的实现复杂度,提高整体资源利用率和系统吞吐量。
现有的结构首先没有具体到该5G LDPC编译码中进行QSN+Banyan网络的实现复杂度最少化设计,其次,当Zc比较小时,进入到Banyan网络的Zc路输入都要分为2k组,当Zc不能被2k整除时,就要把Zc路输入适当重复2的幂次倍使得其能被2k整除来完成循环移位。系统此时只完成了单组Zc路输入的循环移位,资源复用率低,严重影响整个系统的吞吐量。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种循环移位的实现方法、装置、计算机可读存储介质与处理器,以解决现有技术中循环移位网络的吞吐量低的问题。
根据本发明实施例的一个方面,提供了一种循环移位的实现方法,包括:获取输入信号的信号长度和初始循环移位网络,所述输入信号为待循环移位的信号序列,所述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,所述QSN网络包括第一数量的QSN网络单元,所述Banyan网络包括第二数量的第一Banyan网络单元,所述QSN网络单元具有所述第二数量的输入节点和所述第二数量的输出节点,所述第一Banyan网络单元具有所述第一数量的所述输入节点和所述第一数量的所述输出节点,所述第一数量和所述第二数量的乘积等于最大并行度,所述最大并行度为并行处理的所述输入信号的总信号长度的最大值;根据所述信号长度确定并行输入端口数,所述信号长度小于或者等于所述并行输入端口数,所述并行输入端口数为所述第二数量的整数倍且小于或者等于所述最大并行度;在所述并行输入端口数小于所述最大并行度的情况下,在所述Banyan网络中增加第四数量的第二Banyan网络单元,所述第二Banyan网络单元具有第三数量的所述输入节点和第三数量的所述输出节点,所述第三数量为所述并行输入端口数与所述第二数量的比值,所述第四数量为所述最大并行度与所述第三数量的比值;将所述第三数量的所述QSN网络单元与所述第二数量的所述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,所述第五数量等于所述第一数量与所述第三数量的比值且等于所述第四数量与所述第二数量的比值;将所述第五数量的所述输入信号一一对应地输入所述更新循环移位网络,得到所述第五数量的第一输出信号,所述第一输出信号为所述更新循环移位网络输出的信号序列。
可选地,根据所述信号长度确定并行输入端口数,包括:在所述信号长度小于或者等于所述最大并行度的1/2的情况下,所述并行输入端口数为所述第二数量的2正整数幂次方倍且所述信号长度的差值小于所述第二数量;在所述信号长度大于所述最大并行度的1/2的情况下,所述并行输入端口数等于所述最大并行度。
可选地,所述初始循环移位网络的构建过程包括:确定所述Banyan网络的Banyan网络单元的所述输入节点或者所述输出节点的数量,得到所述第一数量,所述第一数量为2的预定数幂次方,所述预定数为正整数且小于或者等于7;计算所述最大并行度与所述第一数量的比值,得到所述第二数量;将所述第一数量的QSN网络单元与所述第二数量的所述第一Banyan网络单元进行级联,得到所述初始循环移位网络。
可选地,确定所述Banyan网络的Banyan网络单元的所述输入节点或者所述输出节点的数量,得到所述第一数量,包括:根据所述预定数确定多个预定第一数量,所述预定数与所预定第一数量一一对应,所述预定第一数量为2的预定数幂次方;计算所述最大并行度与所述预定第一数量的比值,得到预定第二数量;根据所述预定第一数量、所述预定第二数量和第一计算公式计算得到第一占用资源数量,所述第一计算公式用于计算构建所述QSN网络的二选一数据选择器的数量,根据所述预定第一数量、所述预定第二数量和第二计算公式计算得到第二占用资源数量,所述第二计算公式用于计算构建所述Banyan网络的二选一数据选择器的数量;计算第一占用资源数量和第二占用资源数量的和,得到总占用资源数量,所述总占用资源数量与所述预定第一数量一一对应;将最小所述总占用资源数量对应的所述预定第一数量确定为所述第一数量。
可选地,在根据所述信号长度确定并行输入端口数之后,所述方法还包括:在所述并行输入端口数等于所述最大并行度的情况下,将一个所述输入信号输入所述初始循环移位网络,得到一个第二输出信号,所述第二输出信号为所述初始循环移位网络输出的信号序列。
可选地,将所述第五数量的所述输入信号一一对应地输入所述更新循环移位网络,得到所述第五数量的第一输出信号,包括:将所述第五数量的所述输入信号一一对应地输入所述更新循环移位网络;控制所述更新循环移位网络对所述输入信号进行循环移位,得到多个输出信号序列,所述输出信号序列为所述第二Banyan网络单元输出的信号序列;去除多个所述输出信号序列中的无效信号,得到多个预备信号序列;将多个所述预备信号序列进行合并得到所述第一输出信号。
可选地,控制所述更新循环移位网络对所述输入信号进行循环移位,得到多个输出信号序列,包括:根据所述第一数量和预定循环移位次数计算第一循环移位次数和第二循环移位次数,所述第一循环移位次数为所述QSN网络单元执行循环移位的次数,所述第二循环移位次数为所述第二Banyan网络单元执行循环移位的次数,所述预定循环移位次数所述输入信号需要循环移位的次数;控制所述QSN网络单元对所述输入信号执行所述第一循环移位次数的循环移位,得到循环移位信号序列;将所述循环移位信号序列输入所述第二Banyan网络单元并控制所述第二Banyan网络单元执行所述第二循环移位次数的循环移位,得到多个所述输出信号序列。
根据本发明实施例的另一方面,还提供了一种循环移位的实现装置,包括:获取单元,用于获取输入信号的信号长度和初始循环移位网络,所述输入信号为待循环移位的信号序列,所述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,所述QSN网络包括第一数量的QSN网络单元,所述Banyan网络包括第二数量的第一Banyan网络单元,所述QSN网络单元具有所述第二数量的输入节点和所述第二数量的输出节点,所述第一Banyan网络单元具有所述第一数量的所述输入节点和所述第一数量的所述输出节点,所述第一数量和所述第二数量的乘积等于最大并行度,所述最大并行度为并行处理的所述输入信号的总信号长度的最大值;确定单元,用于根据所述信号长度确定并行输入端口数,所述信号长度小于或者等于所述并行输入端口数,所述并行输入端口数为所述第二数量的整数倍且小于或者等于所述最大并行度;第一处理单元,用于在所述并行输入端口数小于所述最大并行度的情况下,在所述Banyan网络中增加第四数量的第二Banyan网络单元,所述第二Banyan网络单元具有第三数量的所述输入节点和第三数量的所述输出节点,所述第三数量为所述并行输入端口数与所述第二数量的比值,所述第四数量为所述最大并行度与所述第三数量的比值;第二处理单元,用于将所述第三数量的所述QSN网络单元与所述第二数量的所述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,所述第五数量等于所述第一数量与所述第三数量的比值且等于所述第四数量与所述第二数量的比值;第三处理单元,用于将所述第五数量的所述输入信号一一对应地输入所述更新循环移位网络,得到所述第五数量的第一输出信号,所述第一输出信号为所述更新循环移位网络输出的信号序列。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
在本发明实施例中,上述循环移位的实现方法中,首先,获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;然后,根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;之后,在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;之后,将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;最后,将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。该方法在输入信号的信号长度较小时,即在上述并行输入端口数小于上述最大并行度的情况下,增加第四数量的第二Banyan网络单元,并将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,即可一次输入第五数量的输入信号得到第五数量的第一输出信号,相比于现有技术的初始循环移位网络不论输入信号的信号长度大小,一次只能输入一个输入信号,数据处理的吞吐量提升为原来的第五数量倍数,解决了现有技术中循环移位网络的吞吐量低的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的实施例的一种循环移位的实现方法的流程示意图;
图2示出了根据本申请的实施例的一种循环移位的实现装置的结构示意图;
图3示出了根据本申请的实施例的初始循环移位网络的构建框图;
图4示出了根据本申请的实施例的初始循环移位网络的连接图;
图5示出了根据本申请的实施例的8路输入8路输出Banyan网络的示意图;
图6示出了根据本申请的实施例的典型的PM路输入PM路QSN移位网络的示意图;
图7示出了根据本申请的实施例的对比例中的循环移位的实现方法的流程示意图;
图8示出了根据本申请的实施例的对比例中的循环移位网络的接线图;
图9示出了根据本申请的实施例的循环移位的实现网络的构建框图;
图10示出了根据本申请的实施例的实施例中的循环移位的实现方法的流程示意图;
图11示出了根据本申请的实施例的实施例中的循环移位网络的接线图;
图12示出了根据本申请的实施例的实施例中的循环移位网络的接线图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
正如背景技术中所说的,现有技术中的循环移位网络的吞吐量低,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种循环移位的实现方法、装置、计算机可读存储介质与处理器。
根据本申请的实施例,提供了一种循环移位的实现方法。
图1是根据本申请实施例的循环移位的实现方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;
步骤S102,根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;
步骤S103,在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;
步骤S104,将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;
步骤S105,将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。
上述循环移位的实现方法中,首先,获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;然后,根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;之后,在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;之后,将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;最后,将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。该方法在输入信号的信号长度较小时,即在上述并行输入端口数小于上述最大并行度的情况下,增加第四数量的第二Banyan网络单元,并将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,即可一次输入第五数量的输入信号得到第五数量的第一输出信号,相比于现有技术的初始循环移位网络不论输入信号的信号长度大小,一次只能输入一个输入信号,数据处理的吞吐量提升为原来的第五数量倍数,解决了现有技术中循环移位网络的吞吐量低的问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种具体的实施例中,循环移位因子扩展尺寸Zc如表1所示,从2到384包括51种,可以发现其规律就是Zc=a*2j形式,因此,上述最大并行度为384,即输入信号的信号长度Zc小于或者等于384。
表1
a | j=1 | j=2 | j=3 | j=4 | j=5 | j=6 | j=7 |
2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
3 | 6 | 12 | 24 | 48 | 96 | 192 | 384 |
5 | 10 | 20 | 40 | 80 | 160 | 320 | |
7 | 14 | 28 | 56 | 112 | 224 | ||
9 | 18 | 36 | 72 | 144 | 288 | ||
11 | 22 | 44 | 88 | 176 | 352 | ||
13 | 26 | 52 | 104 | 208 | |||
15 | 30 | 60 | 120 | 240 |
例如,上述初始循环移位网络由输入信号分组网络、16组24路输入24路输出的QSN网络、24组16路输入16路输出的Banyan网络以及输出信号合并网络组成;上述初始循环移位网络支持协议要求的Zc最大384,最小2,一共51种提升因子。
1)当Zc≤24时,即Zc为5G协议规定的{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24}时,初始循环移位网络可拆分为16组独立的QSN循环移位网络,完成16组Zc路并行输入的循环移位,传统的循环移位网络只能完成单组Zc路并行输入的循环移位,吞吐量提升为原来的16倍,例如,初始循环移位网络为16组24路输入24路输出的QSN网络单元与24组16路输入16路输出的Banyan网络单元级联形成的,QSN网络拆分为16组24路输入24路的QSN网络单元,形式16个QSN网络,即16个更新循环移位网络,即可实现16组Zc路并行输入16个更新循环移位网络进行循环移位;
2)当24<Zc≤48时,即Zc为5G协议规定的{26,28,30,32,36,40,44,48}时,初始循环移位网络可拆分为8组独立的循环移位网络,完成8组Zc路并行输入的循环移位,传统的循环移位网络只能完成单组Zc路并行输入的循环移位,吞吐量提升为原来的了8倍,例如,初始循环移位网络为16组24路输入24路输出的QSN网络单元与24组16路输入16路输出的Banyan网络单元级联形成的,QSN网络拆分为8组QSN网络单元,一组包括2个24路输入24路的QSN网络单元,增加8组Banyan网络单元,一组包括24个2路输入2路输出的Banyan网络单元,一组QSN网络单元与一组Banyan网络单元级联,形式8个更新循环移位网络,即可实现8组Zc路并行输入8个更新循环移位网络进行循环移位;
3)当48<Zc≤96时,即Zc为5G协议规定的{52,56,60,64,72,80,88,96}时,初始循环移位网络可拆分为4组独立的循环移位网络,完成4组Zc路并行输入的循环移位,传统的循环移位网络只能完成单组Zc路并行输入的循环移位,吞吐量提升为原来的4倍,例如,初始循环移位网络为16组24路输入24路输出的QSN网络单元与24组16路输入16路输出的Banyan网络单元级联形成的,QSN网络拆分为4组QSN网络单元,一组包括4个24路输入24路的QSN网络单元,增加4组Banyan网络单元,一组包括24个4路输入4路输出的Banyan网络单元,一组QSN网络单元与一组Banyan网络单元级联,形式4个更新循环移位网络,即可实现4组Zc路并行输入4个更新循环移位网络进行循环移位;
4)当96<Zc≤192时,即Zc为5G协议规定的{104,112,120,128,144,160,176,192}时,初始循环移位网络可拆分为2组独立的循环移位网络,完成2组Zc路并行输入的循环移位,传统的循环移位网络只能完成单组Zc路并行输入的循环移位,吞吐量提升为原来的2倍,例如,初始循环移位网络为16组24路输入24路输出的QSN网络单元与24组16路输入16路输出的Banyan网络单元级联形成的,QSN网络拆分为2组QSN网络单元,一组包括8个24路输入24路的QSN网络单元,增加2组Banyan网络单元,一组包括24个8路输入8路输出的Banyan网络单元,一组QSN网络单元与一组Banyan网络单元级联,形式2个更新循环移位网络,即可实现2组Zc路并行输入2个更新循环移位网络进行循环移位。
5)当192<Zc≤384时,使用的循环移位网络即与上述初始循环移位网络相同。
本申请的一种实施例中,根据上述信号长度确定并行输入端口数,包括:在上述信号长度小于或者等于上述最大并行度的1/2的情况下,上述并行输入端口数为上述第二数量的2正整数幂次方倍且上述信号长度的差值小于上述第二数量;在上述信号长度大于上述最大并行度的1/2的情况下,上述并行输入端口数等于上述最大并行度。本实施例中,根据信号长度与最大并行度之间的关系确定并行输入端口,使得并行输入端口可以得到更充分的利用,从而使得吞吐量进一步提升。
具体地,当Zc≤24时,上述并行输入端口数为24,当24<Zc≤48时,上述并行输入端口数为48,当96<Zc≤192时,上述并行输入端口数为192,当192<Zc≤384时,上述并行输入端口数为384。
本申请的再一种实施例中,上述初始循环移位网络的构建过程包括:确定上述Banyan网络的Banyan网络单元的上述输入节点或者上述输出节点的数量,得到上述第一数量,上述第一数量为2的预定数幂次方,上述预定数为正整数且小于或者等于7;计算上述最大并行度与上述第一数量的比值,得到上述第二数量;将上述第一数量的QSN网络单元与上述第二数量的上述第一Banyan网络单元进行级联,得到上述初始循环移位网络。由上述内容可知,Banyan网络的输入节点或输出节点的数量为2j个,j小于等于7,可以确定QSN网络的网络单元以及各网络单元的输入节点和输出节点,然后根据上述最大并行度确定Banyan网络的网络单元以及各网络单元的输入节点和输出节点,将QSN网络单元和Banyan网络单元级联以得到初始循环位移网络,上述初始循环网络因为采用QSN网络和Banyan网络级联,相比于现有技术中只采用QSN网络,使得网络资源消耗进一步减小。
本申请的一种具体的实施例中,如图3所示,控制逻辑信号产生模块根据参数配置,包括Zc值,循环移位值s等,产生控制信号来控制输入信号分组网络、QSN网络、Banyan网络以及输出信号合并网络。上述循环移位网络由输入信号分组网络、16组24路输入24路输出的QSN网络、24组16路输入16路输出的Banyan网络以及输出信号合并网络组成;该循环移位网络支持协议要求的Zc最大384,最小2,一共51种提升因子,上述循环移位网络资源消耗比纯QSN网络少20%以上。
如图4所示,输入信号in1,in2,in3,…,in383,in384经过分组网络的输出为16组24路的信号:{in1,in17,…,in369},{in2,in18,…,in370},…,{in16,in32,…,in384}送入16组24路输入24路输出的QSN网络中,经过第一级循环移位后,由16组24路输入24路输出的QSN网络输出到24组16路输入16路输出的Banyan网络进行第二级循环移位;第1组QSN网络的24路输出依次为16组Banyan网络的第1路输入,第2组QSN网络的24路输出依次为16组Banyan网络的第2路输入,…,依次类推,第16组QSN网络的24路输出依次为16组Banyan网络的第24路输入;经过24组16输入16输出的Banyan网络的第二级移位后,输出到合并网络,合并网络根据信号的有效性,选择有效信号按次序依次输出到下一个模块。
本申请的又一种实施例中,确定上述Banyan网络的Banyan网络单元的上述输入节点或者上述输出节点的数量,得到上述第一数量,包括:根据上述预定数确定多个预定第一数量,上述预定数与所预定第一数量一一对应,上述预定第一数量为2的预定数幂次方;计算上述最大并行度与上述预定第一数量的比值,得到预定第二数量;根据上述预定第一数量、上述预定第二数量和第一计算公式计算得到第一占用资源数量,上述第一计算公式用于计算构建上述QSN网络的二选一数据选择器的数量,根据上述预定第一数量、上述预定第二数量和第二计算公式计算得到第二占用资源数量,上述第二计算公式用于计算构建上述Banyan网络的二选一数据选择器的数量;计算第一占用资源数量和第二占用资源数量的和,得到总占用资源数量,上述总占用资源数量与上述预定第一数量一一对应;将最小上述总占用资源数量对应的上述预定第一数量确定为上述第一数量。
移位网络一般有三种比较常见的网络,如Banyan网络,Benes网络,QSN网络,8路输入8路输出Banyan网络示意图如图5所示,典型的PM路输入PM路QSN移位网络示意图如图6所示,Banyan网络可以实现单个提升值(最大为PM)任意移位值的移位,Benes和QSN网络比Banyan网络更灵活和复杂,可以支持任意提升值和任意移位值的移位,具体资源消耗如下表2所示。
表2
移位网络 | 级数 | 二选一MUX |
Banyan | log2(PM) | PM*log2(PM) |
Benes | 2*log2(PM)-1 | PM*(2*log2(PM)-1) |
QSN | log2(PM)+1 | PM*(2*log2(PM)-1)+1 |
QSN网络可以支持任意大小输入节点的,而Banyan网络支持2^k大小输入的根据表中循环移位尺寸大小,为了支持最大并行度384的循环移位,所以输入输出的总端口数应大于等于384。而一组纯384输入384输出的QSN网络的“二选一”MUX数为
{384*(2*[log2(384)]-1)+1}=6529
若是采用级联方式384=24*16
占用资源数:
16组24输入24输出的QSN网络的“二选一”MUX数为
16*{24*(2*[log2(24)]-1)+1}=3472
24组16输入16输出的Banyan网络的“二选一”MUX数为
24*{16*log2(16)}=1536
16组24输入24输出的QSN网络和24组16输入16输出的Banyan网络级联后总的“二选一”MUX数为3472+1536=5008
若是采用级联方式512=16(QSN)*32(Banyan),
32组16输入16输出的QSN网络的“二选一”MUX数为
32*{16*(2*[log2(16)]-1)+1}=3616
16组32输入32输出的Banyan网络的“二选一”MUX数为
16*{32*log2(32)}=2560
32组16输入16输出的QSN网络和16组32输入32输出的Banyan网络级联后总的“二选一”MUX数为3616+2560=6176。
通过上述分析可以得知,如要支持提升值Zc最大384的循环移位需最少5008个“二选一”MUX,这种级联方式比纯QSN减少6529-5008=1521个“二选一”MUX,降低了1521/6529约23%的实现复杂度。
本申请的另一种实施例中,在根据上述信号长度确定并行输入端口数之后,上述方法还包括:在上述并行输入端口数等于上述最大并行度的情况下,将一个上述输入信号输入上述初始循环移位网络,得到一个第二输出信号,上述第二输出信号为上述初始循环移位网络输出的信号序列。本实施例中,因为并行输入端口的数量与最大并行度相同,初始循环移位网络无法被拆分,将一个上述输入信号输入上述初始循环移位网络,就可以得到一个第二输出信号。
为了得到准确的第一输出信号,本申请的再一种实施例中,将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,包括:将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络;控制上述更新循环移位网络对上述输入信号进行循环移位,得到多个输出信号序列,上述输出信号序列为上述第二Banyan网络单元输出的信号序列;去除多个上述输出信号序列中的无效信号,得到多个预备信号序列;将多个上述预备信号序列进行合并得到上述第一输出信号。本实施例中,得到的多个输出信号序列中可能包含有无效信号,因此,需要将无效信号从输出信号序列中去除,因为多个输出信号序列为根据信号长度将输入信号进行分组的多个信号序列,为了得到输出信号,需要将上述多个预备信号序列合并,以得到需要的第一输出信号。
本申请的又一种实施例中,控制上述更新循环移位网络对上述输入信号进行循环移位,得到多个输出信号序列,包括:根据上述第一数量和预定循环移位次数计算第一循环移位次数和第二循环移位次数,上述第一循环移位次数为上述QSN网络单元执行循环移位的次数,上述第二循环移位次数为上述第二Banyan网络单元执行循环移位的次数,上述预定循环移位次数上述输入信号需要循环移位的次数;控制上述QSN网络单元对上述输入信号执行上述第一循环移位次数的循环移位,得到循环移位信号序列;将上述循环移位信号序列输入上述第二Banyan网络单元并控制上述第二Banyan网络单元执行上述第二循环移位次数的循环移位,得到多个上述输出信号序列。
循环位移次数的计算方式如下所示:
情况一,若此时为循环左移,且移位次数为s:
m组QSN网络,第i组需要完成的循环移位次数为
d组Banyan网络,第j组需要完成的循环移位次数为
bsj=s%m,j=1,2,…,d;
情况二,若此时为循环右移,且移位次数为s:
m组QSN网络,第i组需要完成的循环移位次数为
d组Banyan网络,第j组需要完成的循环移位次数为
bsj=s%m,j=1,2,…,d。
本申请实施例还提供了一种循环移位的实现装置,需要说明的是,本申请实施例的循环移位的实现装置可以用于执行本申请实施例所提供的用于循环移位的实现方法。以下对本申请实施例提供的循环移位的实现装置进行介绍。
图2是根据本申请实施例的循环移位的实现装置的示意图。如图2所示,该装置包括:
获取单元10,用于获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;
确定单元20,用于根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;
第一处理单元30,用于在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;
第二处理单元40,用于将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;
第三处理单元50,用于将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。
上述循环移位的实现装置,包括获取单元、确定单元、第一处理单元、第二处理单元和第三处理单元,其中,上述获取单元用于获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;上述确定单元用于根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;上述第一处理单元用于在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;上述第二处理单元用于将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;上述第三处理单元用于将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。该装置在输入信号的信号长度较小时,即在上述并行输入端口数小于上述最大并行度的情况下,增加第四数量的第二Banyan网络单元,并将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,即可一次输入第五数量的输入信号得到第五数量的第一输出信号,相比于现有技术的初始循环移位网络不论输入信号的信号长度大小,一次只能输入一个输入信号,数据处理的吞吐量提升为原来的第五数量倍数,解决了现有技术中循环移位网络的吞吐量低的问题。
本申请的一种具体的实施例中,循环移位因子扩展尺寸Zc如表1所示,从2到384包括51种,可以发现其规律就是Zc=a*2j形式,因此,上述最大并行度为384,即输入信号的信号长度Zc小于或者等于384。
表1
例如,上述初始循环移位网络由输入信号分组网络、16组24路输入24路输出的QSN网络、24组16路输入16路输出的Banyan网络以及输出信号合并网络组成;上述初始循环移位网络支持协议要求的Zc最大384,最小2,一共51种提升因子。
1)当Zc≤24时,即Zc为5G协议规定的{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24}时,初始循环移位网络可拆分为16组独立的QSN循环移位网络,完成16组Zc路并行输入的循环移位,传统的循环移位网络只能完成单组Zc路并行输入的循环移位,吞吐量提升为原来的16倍,例如,初始循环移位网络为16组24路输入24路输出的QSN网络单元与24组16路输入16路输出的Banyan网络单元级联形成的,QSN网络拆分为16组24路输入24路的QSN网络单元,形式16个QSN网络,即16个更新循环移位网络,即可实现16组Zc路并行输入16个更新循环移位网络进行循环移位;
2)当24<Zc≤48时,即Zc为5G协议规定的{26,28,30,32,36,40,44,48}时,初始循环移位网络可拆分为8组独立的循环移位网络,完成8组Zc路并行输入的循环移位,传统的循环移位网络只能完成单组Zc路并行输入的循环移位,吞吐量提升为原来的了8倍,例如,初始循环移位网络为16组24路输入24路输出的QSN网络单元与24组16路输入16路输出的Banyan网络单元级联形成的,QSN网络拆分为8组QSN网络单元,一组包括2个24路输入24路的QSN网络单元,增加8组Banyan网络单元,一组包括24个2路输入2路输出的Banyan网络单元,一组QSN网络单元与一组Banyan网络单元级联,形式8个更新循环移位网络,即可实现8组Zc路并行输入8个更新循环移位网络进行循环移位;
3)当48<Zc≤96时,即Zc为5G协议规定的{52,56,60,64,72,80,88,96}时,初始循环移位网络可拆分为4组独立的循环移位网络,完成4组Zc路并行输入的循环移位,传统的循环移位网络只能完成单组Zc路并行输入的循环移位,吞吐量提升为原来的4倍,例如,初始循环移位网络为16组24路输入24路输出的QSN网络单元与24组16路输入16路输出的Banyan网络单元级联形成的,QSN网络拆分为4组QSN网络单元,一组包括4个24路输入24路的QSN网络单元,增加4组Banyan网络单元,一组包括24个4路输入4路输出的Banyan网络单元,一组QSN网络单元与一组Banyan网络单元级联,形式4个更新循环移位网络,即可实现4组Zc路并行输入4个更新循环移位网络进行循环移位;
4)当96<Zc≤192时,即Zc为5G协议规定的{104,112,120,128,144,160,176,192}时,初始循环移位网络可拆分为2组独立的循环移位网络,完成2组Zc路并行输入的循环移位,传统的循环移位网络只能完成单组Zc路并行输入的循环移位,吞吐量提升为原来的2倍,例如,初始循环移位网络为16组24路输入24路输出的QSN网络单元与24组16路输入16路输出的Banyan网络单元级联形成的,QSN网络拆分为2组QSN网络单元,一组包括8个24路输入24路的QSN网络单元,增加2组Banyan网络单元,一组包括24个8路输入8路输出的Banyan网络单元,一组QSN网络单元与一组Banyan网络单元级联,形式2个更新循环移位网络,即可实现2组Zc路并行输入2个更新循环移位网络进行循环移位。
5)当192<Zc≤384时,使用的循环移位网络即与上述初始循环移位网络相同。
本申请的一种实施例中,上述确定单元包括第一确定模块和第二确定模块,其中,上述第一确定模块用于在上述信号长度小于或者等于上述最大并行度的1/2的情况下,上述并行输入端口数为上述第二数量的2正整数幂次方倍且上述信号长度的差值小于上述第二数量;上述第二确定模块用于在上述信号长度大于上述最大并行度的1/2的情况下,上述并行输入端口数等于上述最大并行度。本实施例中,根据信号长度与最大并行度之间的关系确定并行输入端口,使得并行输入端口可以得到更充分的利用,从而使得吞吐量进一步提升。
具体地,当Zc≤24时,上述并行输入端口数为24,当24<Zc≤48时,上述并行输入端口数为48,当96<Zc≤192时,上述并行输入端口数为192,当192<Zc≤384时,上述并行输入端口数为384。
本申请的再一种实施例中,上述获取单元包括第一获取模块、计算模块和第二获取模块,其中,上述第一获取模块用于确定上述Banyan网络的Banyan网络单元的上述输入节点或者上述输出节点的数量,得到上述第一数量,上述第一数量为2的预定数幂次方,上述预定数为正整数且小于或者等于7;上述计算模块用于计算上述最大并行度与上述第一数量的比值,得到上述第二数量;上述第二获取模块用于将上述第一数量的QSN网络单元与上述第二数量的上述第一Banyan网络单元进行级联,得到上述初始循环移位网络。由上述内容可知,Banyan网络的输入节点或输出节点的数量为2j个,j小于等于7,可以确定QSN网络的网络单元以及各网络单元的输入节点和输出节点,然后根据上述最大并行度确定Banyan网络的网络单元以及各网络单元的输入节点和输出节点,将QSN网络单元和Banyan网络单元级联以得到初始循环位移网络,上述初始循环网络因为采用QSN网络和Banyan网络级联,相比于现有技术中只采用QSN网络,使得网络资源消耗进一步减小。
本申请的一种具体的实施例中,如图3所示,控制逻辑信号产生模块根据参数配置,包括Zc值,循环移位值s等,产生控制信号来控制输入信号分组网络、QSN网络、Banyan网络以及输出信号合并网络。上述循环移位网络由输入信号分组网络、16组24路输入24路输出的QSN网络、24组16路输入16路输出的Banyan网络以及输出信号合并网络组成;该循环移位网络支持协议要求的Zc最大384,最小2,一共51种提升因子,上述循环移位网络资源消耗比纯QSN网络少20%以上。
如图4所示,输入信号in1,in2,in3,…,in383,in384经过分组网络的输出为16组24路的信号:{in1,in17,…,in369},{in2,in18,…,in370},…,{in16,in32,…,in384}送入16组24路输入24路输出的QSN网络中,经过第一级循环移位后,由16组24路输入24路输出的QSN网络输出到24组16路输入16路输出的Banyan网络进行第二级循环移位;第1组QSN网络的24路输出依次为16组Banyan网络的第1路输入,第2组QSN网络的24路输出依次为16组Banyan网络的第2路输入,…,依次类推,第16组QSN网络的24路输出依次为16组Banyan网络的第24路输入;经过24组16输入16输出的Banyan网络的第二级移位后,输出到合并网络,合并网络根据信号的有效性,选择有效信号按次序依次输出到下一个模块。
本申请的又一种实施例中,上述第一获取模块包括第一确定子模块、第一计算子模块、第二计算子模块、第三计算子模块和第二确定子模块,其中,上述第一确定子模块用于根据上述预定数确定多个预定第一数量,上述预定数与所预定第一数量一一对应,上述预定第一数量为2的预定数幂次方;上述第一计算子模块用于计算上述最大并行度与上述预定第一数量的比值,得到预定第二数量;上述第二计算子模块用于根据上述预定第一数量、上述预定第二数量和第一计算公式计算得到第一占用资源数量,上述第一计算公式用于计算构建上述QSN网络的二选一数据选择器的数量,根据上述预定第一数量、上述预定第二数量和第二计算公式计算得到第二占用资源数量,上述第二计算公式用于计算构建上述Banyan网络的二选一数据选择器的数量;上述第三计算子模块用于计算第一占用资源数量和第二占用资源数量的和,得到总占用资源数量,上述总占用资源数量与上述预定第一数量一一对应;上述第二确定子模块用于将最小上述总占用资源数量对应的上述预定第一数量确定为上述第一数量。
移位网络一般有三种比较常见的网络,如Banyan网络,Benes网络,QSN网络,8路输入8路输出Banyan网络示意图如图5所示,典型的PM路输入PM路QSN移位网络示意图如图6所示,Banyan网络可以实现单个提升值(最大为PM)任意移位值的移位,Benes和QSN网络比Banyan网络更灵活和复杂,可以支持任意提升值和任意移位值的移位,具体资源消耗如下表2所示。
表2
移位网络 | 级数 | 二选一MUX |
Banyan | log2(PM) | PM*log2(PM) |
Benes | 2*log2(PM)-1 | PM*(2*log2(PM)-1) |
QSN | log2(PM)+1 | PM*(2*log2(PM)-1)+1 |
QSN网络可以支持任意大小输入节点的,而Banyan网络支持2^k大小输入的根据表中循环移位尺寸大小,为了支持最大并行度384的循环移位,所以输入输出的总端口数应大于等于384。而一组纯384输入384输出的QSN网络的“二选一”MUX数为
{384*(2*[log2(384)]-1)+1}=6529
若是采用级联方式384=24*16
占用资源数:
16组24输入24输出的QSN网络的“二选一”MUX数为
16*{24*(2*[log2(24)]-1)+1}=3472
24组16输入16输出的Banyan网络的“二选一”MUX数为
24*{16*log2(16)}=1536
16组24输入24输出的QSN网络和24组16输入16输出的Banyan网络级联后总的“二选一”MUX数为3472+1536=5008
若是采用级联方式512=16(QSN)*32(Banyan),
32组16输入16输出的QSN网络的“二选一”MUX数为
16组32输入32输出的Banyan网络的“二选一”MUX数为
16*{32*log2(32)}=2560
32组16输入16输出的QSN网络和16组32输入32输出的Banyan网络级联后总的“二选一”MUX数为3616+2560=6176。
通过上述分析可以得知,如要支持提升值Zc最大384的循环移位需最少5008个“二选一”MUX,这种级联方式比纯QSN减少6529-5008=1521个“二选一”MUX,降低了1521/6529约23%的实现复杂度。
本申请的另一种实施例中,上述装置还包括输入单元,其中,上述输入单元用于在根据上述信号长度确定并行输入端口数之后,在上述并行输入端口数等于上述最大并行度的情况下,将一个上述输入信号输入上述初始循环移位网络,得到一个第二输出信号,上述第二输出信号为上述初始循环移位网络输出的信号序列。本实施例中,因为并行输入端口的数量与最大并行度相同,初始循环移位网络无法被拆分,因此将一个上述输入信号输入上述初始循环移位网络,就可以得到一个第二输出信号。
为了得到准确的第一输出信号,本申请的再一种实施例中,上述第三处理单元包括:输入模块、控制模块、去除模块和合并模块,其中,上述输入模块用于将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络;上述控制模块用于控制上述更新循环移位网络对上述输入信号进行循环移位,得到多个输出信号序列,上述输出信号序列为上述第二Banyan网络单元输出的信号序列;上述去除模块用于去除多个上述输出信号序列中的无效信号,得到多个预备信号序列;上述合并模块用于将多个上述预备信号序列进行合并得到上述第一输出信号。本实施例中,得到的多个输出信号序列中可能包含有无效信号,因此,需要将无效信号从输出信号序列中去除,因为多个输出信号序列为根据信号长度将输入信号进行分组的多个信号序列,为了得到输出信号,需要将上述多个预备信号序列合并,以得到需要的第一输出信号。
本申请的又一种实施例中,上述控制模块包括第四计算子模块、第一控制子模块和第二控制子模块,其中,上述第四计算子模块用于根据上述第一数量和预定循环移位次数计算第一循环移位次数和第二循环移位次数,上述第一循环移位次数为上述QSN网络单元执行循环移位的次数,上述第二循环移位次数为上述第二Banyan网络单元执行循环移位的次数,上述预定循环移位次数上述输入信号需要循环移位的次数;上述第一控制子模块用于控制上述QSN网络单元对上述输入信号执行上述第一循环移位次数的循环移位,得到循环移位信号序列;上述第二控制子模块用于将上述循环移位信号序列输入上述第二Banyan网络单元并控制上述第二Banyan网络单元执行上述第二循环移位次数的循环移位,得到多个上述输出信号序列。
循环位移次数的计算方式如下所示:
情况一,若此时为循环左移,且移位次数为s:
m组QSN网络,第i组需要完成的循环移位次数为
d组Banyan网络,第j组需要完成的循环移位次数为
bsj=s%m,j=1,2,…,d;
情况二,若此时为循环右移,且移位次数为s:
m组QSN网络,第i组需要完成的循环移位次数为
d组Banyan网络,第j组需要完成的循环移位次数为
bsj=s%m,j=1,2,…,d。
上述循环移位的实现装置包括处理器和存储器,上述获取单元、确定单元、第一处理单元、第二处理单元和第三处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中循环移位网络的吞吐量低的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述循环移位的实现方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述循环移位的实现方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;
步骤S102,根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;
步骤S103,在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;
步骤S104,将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;
步骤S105,将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;
步骤S102,根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;
步骤S103,在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;
步骤S104,将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;
步骤S105,将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。
为了本领域技术人员能够更加清楚地了解本申请的技术方案,以下将结合具体的实施例来说明本申请的技术方案和技术效果。
实施例
对比例
该对比例的循环移位的实现方法的流程示意图如图7所示,该方法包括以下步骤:
步骤1,控制逻辑信号产生模块根据参数配置,包括Zc值,循环移位值s等,产生控制信号来控制输入信号分组网络、QSN网络、Banyan网络以及输出信号合并网络。
步骤2,对于输入信号分组网络,其分组方式如下:假设Zc路输入信号in,表示为IN,IN={in1,in2,…,inZc}。将该Zc路信号进行分组,分为m组,每组长度为d,m*d=n,其中总的有效信号个数为Zc,总的无效信号个数为f=(n-Zc),具体到本发明的方案1,n为Zc的最大值,即384,输入信号分为m=16组,每组长度d=24。
分组后的信号用U(1)~U(k)表示。分组后每组共有d路信号,有效信号个数为p。其中d=n/m,p=Zc/m;于是,任意一组信号可以表示为:U(k)={ink,ink+m,…,ink+(d-1)*m},k=1,2,…m。
步骤3和4,对于QSN和Banyan网络级联的移位网络,由m组d路输入d路输出的QSN网络和d组m路输入m路输出的Banyan网络组成,第一组QSN网络的d路输出依次为d组Banyan网络的第一路输入,第二组QSN网络的d路输出依次为d组Banyan网络的第二路输入,…,依次类推,第m组QSN网络的d路输出依次为d组Banyan网络的第m路输入,具体到该方案1,m=16,d=24;
情况一,若此时为循环左移,且移位次数为s。
m组QSN网络,第i组需要完成的循环移位次数为
d组Banyan网络,第j组需要完成的循环移位次数为
bsj=s%m,j=1,2,…,d;
情况二,若此时为循环右移,且移位次数为s
m组QSN网络,第i组需要完成的循环移位次数为
d组Banyan网络,第j组需要完成的循环移位次数为
bsj=s%m,j=1,2,…,d;
步骤5,对于合并网络,主要是要区分无效信号和有效信号,将移位后的有效信号按顺序合并输出即可。
例如,当输入的信号长度为12时,如图8所示,输入为{in1,in2,…,in12}的输入信号,序列循环左移3位,变成{in4,in5,…in11,in12,in1,in2,in3},若in11,in12为无效信号,即有效输入数Zc=10,则移位后的序列为{in4,in5,…,in10,in1,in2,in3};根据分组规则,可以将输入信号分为4组,每组长度为3,即{in1,in5,in9},{in2,in6,in10},{in3,in7,in11},{in4,in8,in12},in11,in12为无效信号标记为zx,根据移位规则,每组QSN网络中,前(3%4)=3组,每组循环左移1位,后1组不需要移位,则变为{in5,in9,in1},{in6,in10,in2},{in7,zx,in3},{in4,in8,zx},输入到Banyan网络中,每组输入为{in5,in6,in7,in4},{in9,in10,zx,in8},{in1,in2,in3,zx}根据其移位规则,每组需要循环左移s%m=3%4=3位,于是序列变成{in4,in5,in6,in7},{in8,in9,in10,zx},{zx,in1,in2,in3};将该序列输出到合并网络,按顺序选择有效信号输出序列为{in4,in5,in6,in7,in8,in9,in10,in1,in2,in3};到此完成整个循环移位。
实施例
该实施例的循环移位的实现方法的整体框图如图9所示,流程示意图如图10所示,该方法包括以下步骤:
步骤1,控制逻辑信号产生模块根据参数配置,包括Zc值,循环移位值s等,产生控制信号来控制输入信号分组网络、QSN网络、Banyan网络以及输出信号合并网络。
步骤2,对于输入信号分组网1,根据控制分组网络1的信号来进行分组,将分组后的信号送入QSN网络。
步骤4,对于输入信号分组网2,根据控制分组网络2的信号来进行分组,将分组后的信号送入Banyan网络。
步骤3和5,对于QSN和Banyan网络级联的移位网络,与上述对比例中的移位方式相同。
步骤6,对于合并网络,主要是要区分无效信号和有效信号,将移位后的有效信号按顺序合并输出即可。
例如,当输入的信号长度为12时,若Zc<=3,则可以将该移位网络拆分为4组独立的移位网络,即每组3路输入3路输出的QSN独立工作,4组并行完成各自的循环移位后直接输出。分组网络对拆分的4组独立的信号{in1,in2,in3},{in4,in5,in6},{in7,in8,in9},{in10,in11,in12}分别按照你之前描述的分组规则进行分组:即d=3,m=1,不需要分组可以直接输出,如图11所示。
若3<Zc<=6,则可以将该移位网络拆分为2组独立的移位网络,即每组6路输入6路输出的移位网络可独立工作,相当于2组3路输入3路输出的QSN单元级联3组2路输入2路输出的Banyan单元完成该6路输入6路输出的循环移位;第一级2组3路输入3路输出的QSN单元移位完成后输入到3组2路输入2路输出的Banyan网络完成第二级移位,送入合并网络后输出。对两组独立的输入信号{in1,in2,in3,in4,in5,in6},{in7,in8,in9,in10,in11,in12}按之前描述的分组规则进行分组再送入QSN网络,d=3,m=2;于是,第一组独立的移位网络输入信号分组为{{in1,in3,in5},{in2,in4,in6}};第二组独立的移位网络输入信号分组为{{in7,in9,in11},{in8,in10,in12}};如图12所示。
若6<Zc<=12,4组3路输入3路输出QSN和3组4路输入4路输出的Banyan网络级联,如图8所示。
与该对比例相比,该实施例增加一些实现复杂度即可使得Zc较小时进行多组独立的循环移位网络独立工作,成倍提高系统吞吐量。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的首先,获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;然后,根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;之后,在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;之后,将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;最后,将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。该方法在输入信号的信号长度较小时,即在上述并行输入端口数小于上述最大并行度的情况下,增加第四数量的第二Banyan网络单元,并将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,即可一次输入第五数量的输入信号得到第五数量的第一输出信号,相比于现有技术的初始循环移位网络不论输入信号的信号长度大小,一次只能输入一个输入信号,数据处理的吞吐量提升为原来的第五数量倍数,解决了现有技术中循环移位网络的吞吐量低的问题。
2)、本申请的循环移位的实现装置,包括获取单元、确定单元、第一处理单元、第二处理单元和第三处理单元,其中,上述获取单元用于获取输入信号的信号长度和初始循环移位网络,上述输入信号为待循环移位的信号序列,上述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,上述QSN网络包括第一数量的QSN网络单元,上述Banyan网络包括第二数量的第一Banyan网络单元,上述QSN网络单元具有上述第二数量的输入节点和上述第二数量的输出节点,上述第一Banyan网络单元具有上述第一数量的上述输入节点和上述第一数量的上述输出节点,上述第一数量和上述第二数量的乘积等于最大并行度,上述最大并行度为并行处理的上述输入信号的总信号长度的最大值;上述确定单元用于根据上述信号长度确定并行输入端口数,上述信号长度小于或者等于上述并行输入端口数,上述并行输入端口数为上述第二数量的整数倍且小于或者等于上述最大并行度;上述第一处理单元用于在上述并行输入端口数小于上述最大并行度的情况下,在上述Banyan网络中增加第四数量的第二Banyan网络单元,上述第二Banyan网络单元具有第三数量的上述输入节点和第三数量的上述输出节点,上述第三数量为上述并行输入端口数与上述第二数量的比值,上述第四数量为上述最大并行度与上述第三数量的比值;上述第二处理单元用于将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,上述第五数量等于上述第一数量与上述第三数量的比值且等于上述第四数量与上述第二数量的比值;上述第三处理单元用于将上述第五数量的上述输入信号一一对应地输入上述更新循环移位网络,得到上述第五数量的第一输出信号,上述第一输出信号为上述更新循环移位网络输出的信号序列。该装置在输入信号的信号长度较小时,即在上述并行输入端口数小于上述最大并行度的情况下,增加第四数量的第二Banyan网络单元,并将上述第三数量的上述QSN网络单元与上述第二数量的上述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,即可一次输入第五数量的输入信号得到第五数量的第一输出信号,相比于现有技术的初始循环移位网络不论输入信号的信号长度大小,一次只能输入一个输入信号,数据处理的吞吐量提升为原来的第五数量倍数,解决了现有技术中循环移位网络的吞吐量低的问题。
以上上述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种循环移位的实现方法,其特征在于,包括:
获取输入信号的信号长度和初始循环移位网络,所述输入信号为待循环移位的信号序列,所述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,所述QSN网络包括第一数量的QSN网络单元,所述Banyan网络包括第二数量的第一Banyan网络单元,所述QSN网络单元具有所述第二数量的输入节点和所述第二数量的输出节点,所述第一Banyan网络单元具有所述第一数量的所述输入节点和所述第一数量的所述输出节点,所述第一数量和所述第二数量的乘积等于最大并行度,所述最大并行度为并行处理的所述输入信号的总信号长度的最大值;
根据所述信号长度确定并行输入端口数,所述信号长度小于或者等于所述并行输入端口数,所述并行输入端口数为所述第二数量的整数倍且小于或者等于所述最大并行度;
在所述并行输入端口数小于所述最大并行度的情况下,在所述Banyan网络中增加第四数量的第二Banyan网络单元,所述第二Banyan网络单元具有第三数量的所述输入节点和第三数量的所述输出节点,所述第三数量为所述并行输入端口数与所述第二数量的比值,所述第四数量为所述最大并行度与所述第三数量的比值;
将所述第三数量的所述QSN网络单元与所述第二数量的所述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,所述第五数量等于所述第一数量与所述第三数量的比值且等于所述第四数量与所述第二数量的比值;
将所述第五数量的所述输入信号一一对应地输入所述更新循环移位网络,得到所述第五数量的第一输出信号,所述第一输出信号为所述更新循环移位网络输出的信号序列。
2.根据权利要求1所述的方法,其特征在于,根据所述信号长度确定并行输入端口数,包括:
在所述信号长度小于或者等于所述最大并行度的1/2的情况下,所述并行输入端口数为所述第二数量的2正整数幂次方倍且所述信号长度的差值小于所述第二数量;
在所述信号长度大于所述最大并行度的1/2的情况下,所述并行输入端口数等于所述最大并行度。
3.根据权利要求1所述的方法,其特征在于,所述初始循环移位网络的构建过程包括:
确定所述Banyan网络的Banyan网络单元的所述输入节点或者所述输出节点的数量,得到所述第一数量,所述第一数量为2的预定数幂次方,所述预定数为正整数且小于或者等于7;
计算所述最大并行度与所述第一数量的比值,得到所述第二数量;
将所述第一数量的QSN网络单元与所述第二数量的所述第一Banyan网络单元进行级联,得到所述初始循环移位网络。
4.根据权利要求3所述的方法,其特征在于,确定所述Banyan网络的Banyan网络单元的所述输入节点或者所述输出节点的数量,得到所述第一数量,包括:
根据所述预定数确定多个预定第一数量,所述预定数与所预定第一数量一一对应,所述预定第一数量为2的预定数幂次方;
计算所述最大并行度与所述预定第一数量的比值,得到预定第二数量;
根据所述预定第一数量、所述预定第二数量和第一计算公式计算得到第一占用资源数量,所述第一计算公式用于计算构建所述QSN网络的二选一数据选择器的数量,
根据所述预定第一数量、所述预定第二数量和第二计算公式计算得到第二占用资源数量,所述第二计算公式用于计算构建所述Banyan网络的二选一数据选择器的数量;
计算第一占用资源数量和第二占用资源数量的和,得到总占用资源数量,所述总占用资源数量与所述预定第一数量一一对应;
将最小所述总占用资源数量对应的所述预定第一数量确定为所述第一数量。
5.根据权利要求1所述的方法,其特征在于,在根据所述信号长度确定并行输入端口数之后,所述方法还包括:
在所述并行输入端口数等于所述最大并行度的情况下,将一个所述输入信号输入所述初始循环移位网络,得到一个第二输出信号,所述第二输出信号为所述初始循环移位网络输出的信号序列。
6.根据权利要求1所述的方法,其特征在于,将所述第五数量的所述输入信号一一对应地输入所述更新循环移位网络,得到所述第五数量的第一输出信号,包括:
将所述第五数量的所述输入信号一一对应地输入所述更新循环移位网络;
控制所述更新循环移位网络对所述输入信号进行循环移位,得到多个输出信号序列,所述输出信号序列为所述第二Banyan网络单元输出的信号序列;
去除多个所述输出信号序列中的无效信号,得到多个预备信号序列;
将多个所述预备信号序列进行合并得到所述第一输出信号。
7.根据权利要求6所述的方法,其特征在于,控制所述更新循环移位网络对所述输入信号进行循环移位,得到多个输出信号序列,包括:
根据所述第一数量和预定循环移位次数计算第一循环移位次数和第二循环移位次数,所述第一循环移位次数为所述QSN网络单元执行循环移位的次数,所述第二循环移位次数为所述第二Banyan网络单元执行循环移位的次数,所述预定循环移位次数所述输入信号需要循环移位的次数;
控制所述QSN网络单元对所述输入信号执行所述第一循环移位次数的循环移位,得到循环移位信号序列;
将所述循环移位信号序列输入所述第二Banyan网络单元并控制所述第二Banyan网络单元执行所述第二循环移位次数的循环移位,得到多个所述输出信号序列。
8.一种循环移位的实现装置,其特征在于,包括:
获取单元,用于获取输入信号的信号长度和初始循环移位网络,所述输入信号为待循环移位的信号序列,所述初始循环移位网络为QSN网络和Banyan网络级联的移位网络,所述QSN网络包括第一数量的QSN网络单元,所述Banyan网络包括第二数量的第一Banyan网络单元,所述QSN网络单元具有所述第二数量的输入节点和所述第二数量的输出节点,所述第一Banyan网络单元具有所述第一数量的所述输入节点和所述第一数量的所述输出节点,所述第一数量和所述第二数量的乘积等于最大并行度,所述最大并行度为并行处理的所述输入信号的总信号长度的最大值;
确定单元,用于根据所述信号长度确定并行输入端口数,所述信号长度小于或者等于所述并行输入端口数,所述并行输入端口数为所述第二数量的整数倍且小于或者等于所述最大并行度;
第一处理单元,用于在所述并行输入端口数小于所述最大并行度的情况下,在所述Banyan网络中增加第四数量的第二Banyan网络单元,所述第二Banyan网络单元具有第三数量的所述输入节点和第三数量的所述输出节点,所述第三数量为所述并行输入端口数与所述第二数量的比值,所述第四数量为所述最大并行度与所述第三数量的比值;
第二处理单元,用于将所述第三数量的所述QSN网络单元与所述第二数量的所述第二Banyan网络单元进行级联,得到第五数量的更新循环移位网络,所述第五数量等于所述第一数量与所述第三数量的比值且等于所述第四数量与所述第二数量的比值;
第三处理单元,用于将所述第五数量的所述输入信号一一对应地输入所述更新循环移位网络,得到所述第五数量的第一输出信号,所述第一输出信号为所述更新循环移位网络输出的信号序列。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至6中任意一项所述的方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111603662.4A CN114286368B (zh) | 2021-12-24 | 2021-12-24 | 循环移位的实现方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111603662.4A CN114286368B (zh) | 2021-12-24 | 2021-12-24 | 循环移位的实现方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114286368A true CN114286368A (zh) | 2022-04-05 |
CN114286368B CN114286368B (zh) | 2023-05-30 |
Family
ID=80875436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111603662.4A Active CN114286368B (zh) | 2021-12-24 | 2021-12-24 | 循环移位的实现方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114286368B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075198A (zh) * | 2011-01-11 | 2011-05-25 | 上海交通大学 | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 |
US20140223254A1 (en) * | 2013-02-01 | 2014-08-07 | Samsung Electronics Co., Ltd. | Qc-ldpc convolutional codes enabling low power trellis-based decoders |
CN109347486A (zh) * | 2018-10-11 | 2019-02-15 | 西安电子科技大学 | 低复杂度高吞吐率的5g ldpc编码器和编码方法 |
EP3648379A1 (en) * | 2017-06-26 | 2020-05-06 | ZTE Corporation | Design method and apparatus for quasi-cyclic low-density parity-check |
CN111262592A (zh) * | 2018-11-30 | 2020-06-09 | 展讯半导体(南京)有限公司 | 序列的循环移位装置及方法、存储介质 |
CN111404555A (zh) * | 2020-02-16 | 2020-07-10 | 西安电子科技大学 | 一种循环移位网络控制方法、系统、存储介质、译码器 |
CN112332857A (zh) * | 2020-10-23 | 2021-02-05 | 中国科学院计算技术研究所 | 一种用于ldpc码的循环移位网络系统及循环移位方法 |
-
2021
- 2021-12-24 CN CN202111603662.4A patent/CN114286368B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075198A (zh) * | 2011-01-11 | 2011-05-25 | 上海交通大学 | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 |
US20140223254A1 (en) * | 2013-02-01 | 2014-08-07 | Samsung Electronics Co., Ltd. | Qc-ldpc convolutional codes enabling low power trellis-based decoders |
EP3648379A1 (en) * | 2017-06-26 | 2020-05-06 | ZTE Corporation | Design method and apparatus for quasi-cyclic low-density parity-check |
CN109347486A (zh) * | 2018-10-11 | 2019-02-15 | 西安电子科技大学 | 低复杂度高吞吐率的5g ldpc编码器和编码方法 |
CN111262592A (zh) * | 2018-11-30 | 2020-06-09 | 展讯半导体(南京)有限公司 | 序列的循环移位装置及方法、存储介质 |
CN111404555A (zh) * | 2020-02-16 | 2020-07-10 | 西安电子科技大学 | 一种循环移位网络控制方法、系统、存储介质、译码器 |
CN112332857A (zh) * | 2020-10-23 | 2021-02-05 | 中国科学院计算技术研究所 | 一种用于ldpc码的循环移位网络系统及循环移位方法 |
Non-Patent Citations (2)
Title |
---|
YONGMIN JUNG;: "Low-complexity multi-way and reconfigurable cyclic shift network of QC-LDPC decoder for Wi-Fi/WIMAX applications", IEEE * |
张明瑞: "可配置LDPC译码器中低复杂度移位网络的设计", 微电子学 * |
Also Published As
Publication number | Publication date |
---|---|
CN114286368B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3657684B1 (en) | Path sorting for list decoding for example for polar code decoding | |
JP4546413B2 (ja) | 並列計算機のリダクション処理方法及び並列計算機 | |
CN1700700A (zh) | 实现可变宽度链路的方法及装置 | |
CN111404555B (zh) | 一种循环移位网络控制方法、系统、存储介质、译码器 | |
JP2012503927A (ja) | 復号化回路及び符号化回路 | |
Ercan et al. | Operation merging for hardware implementations of fast polar decoders | |
CN108449090B (zh) | 一种可配置多码长、多码率的ldpc译码器 | |
CN109687877B (zh) | 一种降低多级循环移位网络级联级数的方法及装置 | |
CN112332857B (zh) | 一种用于ldpc码的循环移位网络系统及循环移位方法 | |
CN114286368A (zh) | 循环移位的实现方法与装置 | |
CN104954439A (zh) | 一种云服务器及其节点互联方法、云服务器系统 | |
CN108243113B (zh) | 随机负载均衡的方法及装置 | |
WO2020108306A1 (zh) | 译码方法、译码装置及译码器 | |
CN106253910A (zh) | 一种压缩编码方法 | |
JP4904497B2 (ja) | 多段スイッチの制御回路 | |
CN113381769B (zh) | 一种基于fpga的译码器 | |
WO2022007777A1 (en) | Polar code decoder and a method for polar code decoding | |
Konstantinidou | The selective extra stage butterfly | |
CN114430280A (zh) | 一种译码方法及装置 | |
Lin et al. | A reconfigurable decoder for standard-compatible LDPC codes and polar codes | |
WO2021227552A1 (zh) | 一种多功能的数据重组网络 | |
KR20170089973A (ko) | 회선 속도 상호 연결 구조를 구현하는 방법 | |
CN113708892B (zh) | 基于稀疏二分图的多模通用译码系统及方法 | |
WO2021109683A1 (zh) | 译码方法、装置、设备及存储介质 | |
CN113014270B (zh) | 码长可配置的部分折叠极化码译码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |