针对LDPC编译码的数据处理方法及相关设备
未命名
08-27
阅读:97
评论:0

针对ldpc编译码的数据处理方法及相关设备
技术领域
1.本发明涉及处理器设计技术领域,更具体地,涉及一种针对ldpc编译码的数据处理方法、一种针对ldpc编译码的数据处理装置、一种电子设备以及一种存储介质。
背景技术:
2.目前,处理器的指令集架构可以分为cisc和risc两种主流指令集架构,其中微处理器多以risc指令集实现。目前世界上使用最多最广泛的risc指令集是arm公司设计的指令集架构,但是其昂贵的授权费用和使用条件往往让普通开发者望而却步。risc-v作为新兴的开源指令集允许任何人、任何组织自由使用和开发,risc-v以其强大的性能、简化的架构和免费的特性逐渐被越来越多的人选择和使用。
3.ldpc编译码涉及大多数通信系统,以其优秀的性能逐渐成为包括但不限于卫星通信、手机通信等领域的首选。但是其编译码所需要的数据量大,计算繁琐,仅仅使用通用处理器进行软件处理耗时长,代码量也非常大。
4.因此,亟需一种新的技术方案以解决上述技术问题。
技术实现要素:
5.在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
6.第一方面,本发明提出一种针对ldpc编译码的数据处理方法,包括:
7.获取待处理的ldpc编译码数据;
8.利用执行单元针对待处理的ldpc编译码数据进行数据处理,其中,执行单元设置有扩展指令集,扩展指令集能够支持ldpc编译码算法。
9.可选地,执行单元包括伽罗华域单元,
10.在利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还包括:
11.向伽罗华域单元中添加字乘法操作指令、半字乘法操作指令、字节乘法操作指令、字累加操作指令、半字累加操作指令以及字节累加操作指令中的至少一个。
12.可选地,执行单元包括排序单元,
13.在利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还包括:
14.向排序单元中添加向上排序操作指令和/或向下排序操作指令。
15.可选地,执行单元包括量化单元,
16.在利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还包括:
17.向量化单元中添加多比特数据量化操作指令。
18.可选地,执行单元包括置换单元,
19.在利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还包括:
20.向置换单元中添加反概率置换运算操作指令。
21.可选地,执行单元包括节点单元,
22.在利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还包括:
23.向节点单元中添加节点更新操作指令。
24.可选地,扩展指令集包括多个操作指令,多个操作指令中的至少部分指令的长度为32比特。
25.第二方面,还提出了一种针对ldpc编译码的数据处理装置,包括:
26.获取模块,用于获取待处理的ldpc编译码数据;
27.处理模块,用于利用执行单元针对待处理的ldpc编译码数据进行数据处理,其中,执行单元设置有扩展指令集,扩展指令集能够支持ldpc编译码算法。
28.第三方面,还提出了一种电子设备,包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行如上所述针对ldpc编译码的数据处理方法。
29.第四方面,还提出了一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行如上所述针对ldpc编译码的数据处理方法。
30.根据上述技术方案,利用设置有扩展指令集的执行单元对ldpc编译码进行数据处理,该扩展指令集支持ldpc编译码算法。由此可以以更低的代码量和更少的运行时间对ldpc编译码进行处理,从而大大降低了数据处理的时间成本以及存储器所占用的空间成本,极大地提升了对ldpc编译码的数据处理效率。
31.本发明的针对ldpc编译码的数据处理方法,本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
32.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
33.图1示出了根据本发明一个实施例的针对ldpc编译码的数据处理方法的示意性流程图;
34.图2示出了根据本发明一个实施例的针对ldpc编译码的数据处理装置的示意性框图;
35.图3示出了根据本发明另一个实施例的针对ldpc编译码的数据处理装置的示意性框图;以及
36.图4示出了根据本发明一个实施例的电子设备的示意性框图。
具体实施方式
37.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于
覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
38.如前所述,在现有技术方案中,利用通用处理器对ldpc编译码进行数据处理存在运行效率低、代码量大、软件设计复杂等问题。针对这些问题,本技术通过在例如具有risc-v这种开源指令集的处理器中添加期望扩展的指令,使得处理器能够在指令级别实现快速、高效的ldpc编译码算法,有效降低了开发难度。
39.根据本发明的第一方面,提出了一种针对ldpc编译码的数据处理方法。图1示出了根据本发明一个实施例的数据处理方法100的示意性流程图。如图1所示,方法100可以包括以下步骤。
40.步骤s110,获取待处理的ldpc编译码数据。
41.可以理解,可以通过任何现有的或未来的获取ldpc编译码数据的方法获取待处理的ldpc编译码数据。在本技术中不对获取方法进行限制。
42.步骤s120,利用执行单元针对待处理的ldpc编译码数据进行数据处理,其中,执行单元设置有扩展指令集,扩展指令集能够支持ldpc编译码算法。
43.示例性地,扩展指令集可以根据开发者需求进行合理定义和新增指令。例如,开发者具有计算a=b*c+d的需求,对于现有技术,这种计算在原始指令集中需要两个周期才能运算完成,即分别执行乘法计算和加法计算。而针对这种计算需求,可以在执行单元中设置扩展指令集,在扩展指令集中新增一条指令,使得上述计算过程在一个周期里完成乘法与加法两种运算,进而可以获得一个周期的加速。可以理解,针对不同的扩展指令集,执行单元具有与之对应的电路结构,在此不对电路结构进行具体限定,任何具有与扩展指令集具有对应功能的电路结构的执行单元均在本技术的保护范围之内。
44.优选地,方法还可以包括获取历史指令信息,其中包括指令执行频次、指令组合长度等信息。根据历史指令信息可以将符合条件的指令添加到同一个指令集中作为扩展指令集。具体地,可以根据指令执行频次筛选满足预设频次的指令,指令例如可以是用于依次执行乘法运算、加法运算以及减法运算,将其称为第一指令。指令还可以是用于依次执行乘法运算、加法运算,将其称为第二指令。指令还可以是用于依次执行乘法运算、减法运算,将其称为第三指令。其中,第一指令的执行频次为10次,第二指令的执行频次为15次,第三指令的执行频次为1次,在该实施例中,预设频次为10次,因此,经过筛选可以确定满足预设频次条件的指令为第一指令和第二指令。之后,再根据指令组合长度信息筛选满足条件的指令。例如,可以将满足预设频次条件中的长度最长的指令组合中所涉及的指令确定为满足长度信息筛选的指令。在该实施例中,第一指令中包含三个指令,第二指令中包含两个指令,第一指令的长度大于第二指令的长度,因此,可以将第一指令中所包含的三个指令添加到同一个指令集中,将其作为扩展指令集。由此,可以根据历史数据更加科学、客观地确定扩展指令集,为后续利用扩展指令集提升对ldpc编译码的数据处理效率提供了可靠的数据支持与保障。
45.可以理解,上述方案仅仅是示例性的,并不意味着对扩展指令以及扩展指令集的
限定,开发者可以根据实际需求在扩展指令集中增加任何能够支持ldpc编译码算法的指令,在此不做具体限制。
46.根据上述技术方案,利用设置有扩展指令集的执行单元对ldpc编译码进行数据处理,该扩展指令集支持ldpc编译码算法。由此可以以更低的代码量和更少的运行时间对ldpc编译码进行处理,从而大大降低了数据处理的时间成本以及存储器所占用的空间成本,极大地提升了对ldpc编译码的数据处理效率。
47.可选地,执行单元包括伽罗华域单元,在步骤s120利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还可以包括:向伽罗华域单元中添加字乘法操作指令、半字乘法操作指令、字节乘法操作指令、字累加操作指令、半字累加操作指令以及字节累加操作指令中的至少一个。
48.例如,字(word)乘法操作指令(gfm)用于实现伽罗华域字乘法操作,半字(half-word)乘法操作指令(gfmh)用于实现伽罗华域半字乘法操作,字节(byte)乘法操作指令(gfmb)用于实现伽罗华域字节乘法操作,字累加操作指令(gfmac)用于实现伽罗华域字乘累加操作,半字累加操作指令(gfmach)用于实现伽罗华域半字乘累加操作,字节累加操作指令(gfmacb)用于实现伽罗华域字节乘累加操作。
49.可选地,扩展指令集包括多个操作指令,多个操作指令中的至少部分指令的长度为32比特。示例性地,gfm、gfmh以及gfmb指令长度均为32比特。具体地,将最高有效位(msb)定义为第31位,将最低有效位(lsb)定义为第0位。针对gfm、gfmh以及gfmb指令可以采用如下格式进行编码:第0位到第6位为opcode字段,表示指令的操作码;第7位到第11位为rd字段,表示指令的目的寄存器索引;第12位到第14位为funct3字段;第15位到第19位为rs1字段,表示第一个源操作数的寄存器索引;第20位到第24位为rs2字段,表示第二个源操作数的寄存器索引;第25位到第31位为funct7字段。
50.对于gfmac指令、gfmach指令、gfmacb指令而言,可以在上述指令格式的基础上,将funct7字段中的最高5比特即第27位到第31位作为rs3字段,表示第三个源操作数的寄存器索引。
51.由此,通过上述技术方案可以实现对伽罗华域的乘法或乘累加等操作的加速,进而在指令级别实现快速、高效、简单的ldpc编译码算法,有效降低了开发难度,同时具有执行效率高、开发周期短、代码量小等优点。
52.可选地,执行单元包括排序单元,在步骤s120利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还可以包括:向排序单元中添加向上排序操作指令和/或向下排序操作指令。
53.示例性地,向上排序操作指令(rkh)和向下排序操作指令(rkl)可以用于实现排序,具体地,rkh可以以字节为颗粒将伽罗华域中的数据从小到大进行排序,对应地,rkl以字节为颗粒将伽罗华域中的数据从大到小进行排序。优选地,上述排序操作指令可以在一个周期内完成例如8组数据的排序。
54.类似地,rkh与rkl指令的长度也均为32比特。具体地,将最高有效位(msb)定义为第31位,将最低有效位(lsb)定义为第0位。针对gfm、gfmh以及gfmb指令可以采用如下格式进行编码:第0位到第6位为opcode字段,表示指令的操作码;第7位到第11位为rd字段,表示指令的目的寄存器索引;第12位到第14位为funct3字段;第15位到第19位为rs1字段,表示
第一个源操作数的寄存器索引;第20位到第24位为rs2字段,表示第二个源操作数的寄存器索引;第25位到第31位为funct7字段。
55.由此,上述指令可以有效实现对伽罗华域中的数据的快速排序,进而有效提升执行ldpc编译码算法的效率,同时降低开发难度。
56.可选地,执行单元包括量化单元,在步骤s120利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还可以包括:向量化单元中添加多比特数据量化操作指令。
57.示例性地,多比特数据量化操作指令(qua)用于实现将实数域的数据根据进制需要量化到伽罗华域中,例如将6比特量化到64进制伽罗华域中。可以理解,数字的大小可以决定量化的精度,若用6比特进行数据记录,对应地,只能记录数据的六种状态,此时量化精度较差。若采用上述量化操作指令将6比特量化到64进制,即增加多位进制数对数据进行记录,可以有效改善数据准确性,提高量化精度,避免数据失真。
58.可选地,执行单元包括置换单元,在步骤s120利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还可以包括:向置换单元中添加反概率置换运算操作指令。
59.其中,反概率置换运算操作指令(ips)可以用于在实现ldpc译码过程中,在所定义的伽罗华域的长度范围内进行反概率置换运算。由此,可以在指令级别实现快速、高效、简单的ldpc编译码算法,有效降低了开发难度,同时具有执行效率高、开发周期短、代码量小等优点。
60.可选地,执行单元包括节点单元,在步骤s120利用执行单元针对待处理的ldpc编译码数据进行数据处理之前,方法还可以包括:向节点单元中添加节点更新操作指令。
61.其中,节点更新操作指令(slaor)可以用于在ldpc译码过程中,执行节点置换操作时,对“移位-或”运算进行加速。由此可以在指令级别实现快速、高效、简单的ldpc编译码算法,有效降低了开发难度,同时具有执行效率高、开发周期短、代码量小等优点。
62.与gfmac指令、gfmach指令、gfmacb指令类似地,qua指令、ips指令、slaor指令也可以在上述指令格式的基础上,将funct7字段中的最高5比特即第27位到第31位作为rs3字段,表示第三个源操作数的寄存器索引。
63.根据本发明的第二方面,还提出了一种针对ldpc编译码的数据处理装置。
64.图2示出了根据本发明一个实施例的针对ldpc编译码的数据处理装置200的示意性框图。如图2所示,装置200可以包括:获取模块210以及处理模块220。
65.获取模块210,用于获取待处理的ldpc编译码数据。
66.处理模块220,用于利用执行单元针对待处理的ldpc编译码数据进行数据处理,其中,执行单元设置有扩展指令集,扩展指令集能够支持ldpc编译码算法。
67.图3示出了根据本发明另一个实施例的针对ldpc编译码的数据处理装置300的示意性框图。如图3所示,装置300可以包括如上所述的伽罗华域单元、量化单元、排序单元、置换单元与节点单元,其中,置换单元与节点单元在图3中体现为节点置换单元。装置300还可以包括预取指令单元、取指单元、分支预测单元、流水线寄存器、译码单元以及通用功能单元等。在该实施例中,指令可以在risc-v处理器中依次经过预取指令单元、取指单元、分支预测单元、流水线寄存器、译码单元,之后,控制单元可以根据译码单元的输出结果将指令
所对应的操作数派发到对应的执行单元中以选通该执行单元。例如,若指令为gfm指令、gfmh指令、gfmb指令、gfmac指令、gfmach指令、gfmacb指令中的一个,则选通伽罗华域单元。若该指令为qua指令,则选通量化单元。若该指令为rkh指令或rkl指令,则选通排序单元。若该指令为ips指令或slaor指令,则选通置换节点单元。若指令为其他指令,则选通通用功能单元。之后选通的执行单元执行对应的功能以加快对ldpc编译码算法处理。
68.根据本发明的第三方面,还提出了一种电子设备。图4示出了根据本发明一个实施例的电子设备400的示意性框图。如图4所示,电子设备400可以包括处理器410和存储器420,其中,存储器420中存储有计算机程序指令,计算机程序指令被处理器410运行时用于执行如上所述针对ldpc编译码的数据处理方法400。处理器410可以采用微处理器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)中的至少一种硬件形式来实现。处理器410也可以是中央处理单元(cpu)、图形处理器(gpu)、专用的集成电路(asic)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制电子设备400中的其它组件以执行期望的功能。存储器420可以包括一个或多个计算机程序产品。计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器410可以运行该程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
69.根据本发明的第四方面,还提出了一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行如上所述针对ldpc编译码的数据处理方法。存储介质例如可以包括平板电脑的存储部件、计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
70.本领域普通技术人员通过阅读上述有关针对ldpc编译码的数据处理方法的相关描述,可以理解针对ldpc编译码的数据处理装置、电子设备以及存储介质的具体细节以及有益效果,为了简洁在此不再赘述。
71.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和/或设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
72.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
73.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
74.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
75.以上,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种针对ldpc编译码的数据处理方法,其特征在于,包括:获取待处理的ldpc编译码数据;利用执行单元针对所述待处理的ldpc编译码数据进行数据处理,其中,所述执行单元设置有扩展指令集,所述扩展指令集能够支持ldpc编译码算法。2.如权利要求1所述的针对ldpc编译码的数据处理方法,其特征在于,所述执行单元包括伽罗华域单元,在利用执行单元针对所述待处理的ldpc编译码数据进行数据处理之前,所述方法还包括:向所述伽罗华域单元中添加字乘法操作指令、半字乘法操作指令、字节乘法操作指令、字累加操作指令、半字累加操作指令以及字节累加操作指令中的至少一个。3.如权利要求1所述的针对ldpc编译码的数据处理方法,其特征在于,所述执行单元包括排序单元,在利用执行单元针对所述待处理的ldpc编译码数据进行数据处理之前,所述方法还包括:向所述排序单元中添加向上排序操作指令和/或向下排序操作指令。4.如权利要求1所述的针对ldpc编译码的数据处理方法,其特征在于,所述执行单元包括量化单元,在利用执行单元针对所述待处理的ldpc编译码数据进行数据处理之前,所述方法还包括:向所述量化单元中添加多比特数据量化操作指令。5.如权利要求1所述的针对ldpc编译码的数据处理方法,其特征在于,所述执行单元包括置换单元,在利用执行单元针对所述待处理的ldpc编译码数据进行数据处理之前,所述方法还包括:向所述置换单元中添加反概率置换运算操作指令。6.如权利要求1所述的针对ldpc编译码的数据处理方法,其特征在于,所述执行单元包括节点单元,在利用执行单元针对所述待处理的ldpc编译码数据进行数据处理之前,所述方法还包括:向所述节点单元中添加节点更新操作指令。7.如权利要求1至6任一项所述的针对ldpc编译码的数据处理方法,其特征在于,所述扩展指令集包括多个操作指令,所述多个操作指令中的至少部分指令的长度为32比特。8.一种针对ldpc编译码的数据处理装置,其特征在于,包括:获取模块,用于获取待处理的ldpc编译码数据;处理模块,用于利用执行单元针对所述待处理的ldpc编译码数据进行数据处理,其中,所述执行单元设置有扩展指令集,所述扩展指令集能够支持ldpc编译码算法。9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至7任一项所述的针对ldpc编译码的数据处理方法。
10.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至7任一项所述的针对ldpc编译码的数据处理方法。
技术总结
本发明提供一种针对LDPC编译码的数据处理方法及相关设备。方法包括:获取待处理的LDPC编译码数据;利用执行单元针对待处理的LDPC编译码数据进行数据处理,其中,执行单元设置有扩展指令集,扩展指令集能够支持LDPC编译码算法。根据上述技术方案,利用设置有扩展指令集的执行单元对LDPC编译码进行数据处理,该扩展指令集支持LDPC编译码算法。由此可以以更低的代码量和更少的运行时间对LDPC编译码进行处理,从而大大降低了数据处理的时间成本以及存储器所占用的空间成本,极大地提升了对LDPC编译码的数据处理效率。LDPC编译码的数据处理效率。LDPC编译码的数据处理效率。
技术研发人员:宋秋阳 余志杰 刘学勇 王海永 陈杰
受保护的技术使用者:中国科学院微电子研究所
技术研发日:2023.03.09
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/