编译器、编译方法、电子设备及计算机可读存储介质技术

技术编号:38083297 阅读:9 留言:0更新日期:2023-07-06 08:50
本申请公开了一种编译器、编译方法、电子设备及计算机可读存储介质。本申请实施例提供的编译器,包括:语法解析模块,用于对编程协议无关的分组处理器语言进行语法解析,得到解析结果;中间表达文件模块,用于根据所述解析结果生成硬件无关的中间表达文件;转换模块,用于将所述中间表达文件转换为编译结果文件;解析模块,用于解析所述编译结果文件,得到解析结果;硬件配置信息生成模块,用于根据所述解析结果生成目标机器能识别的硬件配置信息,该编译器在P4语言编译过程中,降低了对表的处理方面所需要的算力资源,降低了所需计算资源成本。本。本。

【技术实现步骤摘要】
编译器、编译方法、电子设备及计算机可读存储介质


[0001]本申请涉及编译
,具体涉及一种编译器、编译方法、电子设备及计算机可读存储介质。

技术介绍

[0002]P4(Programming Protocol

independent Packet Processors,编程协议无关的分组处理器)语言在例如软件定义网络SDN、数据处理单元DPU、网卡、交换机等设备上的应用越来越广泛。相关技术中的P4编译器在P4语言编译过程中,在对表(Table)的处理方面需要消耗大量的算力资源,所需计算资源成本较高,这些状况亟待改善。

技术实现思路

[0003]本申请的目的是提供一种编译器、编译方法、电子设备及计算机可读存储介质,以改善相关技术中存在的以下状况:P4编译器在P4语言编译过程中,在对表的处理方面需要消耗大量的算力资源,所需计算资源成本较高。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
[0004]根据本申请实施例的一个方面,提供一种编译器,包括:
[0005]语法解析模块,用于对编程协议无关的分组处理器语言进行语法解析,得到解析结果;
[0006]中间表达文件模块,用于根据所述解析结果生成硬件无关的中间表达文件;
[0007]转换模块,用于将所述中间表达文件转换为编译结果文件;
[0008]解析模块,用于解析所述编译结果文件,得到解析结果;
[0009]硬件配置信息生成模块,用于根据所述解析结果生成目标机器能识别的硬件配置信息。
[0010]在本申请的一些实施例中,所述解析模块包括:
[0011]Ingress服务查找模块,包括第一数目个匹配动作单元,所述Ingress服务查找模块用于控制所述第一数目个匹配动作单元依次执行匹配操作,输出操作结果;
[0012]Ingress主查找模块,包括第二数目个匹配动作单元,所述Ingress主查找模块用于根据所述操作结果控制所述第二数目个匹配动作单元查找表项,输出查找结果;
[0013]Egress模块,包括第三数目个匹配动作单元,所述Egress模块用于根据所述查找结果控制所述第三数目个匹配动作单元查找目标表项,得到解析结果。
[0014]在本申请的一些实施例中,所述匹配操作包括表项键值查找和表项结果匹配。
[0015]在本申请的一些实施例中,所述Ingress主查找模块还包括固定表,所述固定表中设置有固定逻辑硬件表项,所述固定逻辑硬件表项用于配置硬件逻辑。
[0016]在本申请的一些实施例中,所述Ingress主查找模块还包括MPL表,所述MPL表中的
表的尺寸是能够调整的、键值和动作属性是固定的。
[0017]在本申请的一些实施例中,每一所述匹配动作单元中设置有查找表和/或只读表。
[0018]根据本申请实施例的另一个方面,提供一种编译方法,包括:
[0019]对编程协议无关的分组处理器语言进行语法解析,得到解析结果;
[0020]根据所述解析结果生成硬件无关的中间表达文件;
[0021]将所述中间表达文件转换为编译结果文件;
[0022]解析所述编译结果文件,得到解析结果;
[0023]根据所述解析结果生成目标机器能识别的硬件配置信息。
[0024]在本申请的一些实施例中,所述解析所述编译结果文件,得到解析结果,包括:
[0025]控制依次执行多次匹配操作,输出操作结果;
[0026]根据所述操作结果控制查找表项,输出查找结果;
[0027]根据所述查找结果控制查找目标表项,得到解析结果。
[0028]根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现上述任一项所述的编译方法。
[0029]根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,以实现上述任一项所述的编译方法。
[0030]本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
[0031]本申请实施例提供的编译器,包括:语法解析模块,用于对编程协议无关的分组处理器语言进行语法解析,得到解析结果;中间表达文件模块,用于根据所述解析结果生成硬件无关的中间表达文件;转换模块,用于将所述中间表达文件转换为编译结果文件;解析模块,用于解析所述编译结果文件,得到解析结果;硬件配置信息生成模块,用于根据所述解析结果生成目标机器能识别的硬件配置信息,该编译器在P4语言编译过程中,降低了对表的处理方面所需要的算力资源,降低了所需计算资源成本,改善了相关技术中存在的以下状况:P4编译器在P4语言编译过程中,在对表的处理方面需要消耗大量的算力资源,所需计算资源成本较高。
[0032]本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。
附图说明
[0033]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1示出了本申请一个实施例的编译器的结构框图。
[0035]图2示出了本申请一实施例中解析模块的结构框图。
[0036]图3示出了本申请实施例中Ingress服务查找模块的结构框图。
[0037]图4示出了本申请实施例中Ingress主查找模块的结构框图。
[0038]图5示出了本申请另一实施例中解析模块的结构框图。
[0039]图6示出了本申请一个实施例的编译方法流程图。
[0040]图7示出了本申请一个实施例的电子设备结构框图。
[0041]图8示出了本申请一个实施例的计算机可读存储介质示意图。
[0042]本申请的目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0043]为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0044]本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种编译器,其特征在于,包括:语法解析模块,用于对编程协议无关的分组处理器语言进行语法解析,得到解析结果;中间表达文件模块,用于根据所述解析结果生成硬件无关的中间表达文件;转换模块,用于将所述中间表达文件转换为编译结果文件;解析模块,用于解析所述编译结果文件,得到解析结果;硬件配置信息生成模块,用于根据所述解析结果生成目标机器能识别的硬件配置信息。2.根据权利要求1所述的编译器,其特征在于,所述解析模块包括:Ingress服务查找模块,包括第一数目个匹配动作单元,所述Ingress服务查找模块用于控制所述第一数目个匹配动作单元依次执行匹配操作,输出操作结果;Ingress主查找模块,包括第二数目个匹配动作单元,所述Ingress主查找模块用于根据所述操作结果控制所述第二数目个匹配动作单元查找表项,输出查找结果;Egress模块,包括第三数目个匹配动作单元,所述Egress模块用于根据所述查找结果控制所述第三数目个匹配动作单元查找目标表项,得到解析结果。3.根据权利要求2所述的编译器,其特征在于,所述匹配操作包括表项键值查找和表项结果匹配。4.根据权利要求2所述的编译器,其特征在于,所述Ingress主查找模块还包括固定表,所述固定表中设置有固定逻辑硬件表项,所述固定逻辑硬件表项用于配置硬件逻辑...

【专利技术属性】
技术研发人员:严德春曾翰林
申请(专利权)人:篆芯半导体南京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1