编译器系统及将应用源程序编译为可执行程序的方法技术方案

技术编号:19008952 阅读:40 留言:0更新日期:2018-09-22 08:51
本发明专利技术涉及一种编译器系统及将应用源程序编译为可执行程序的方法。该编译器系统将应用源程序转换为与预定ISA相对应的能够由通用处理器所执行的可执行程序。该处理器包括能够被编程以执行UDI的PEU。该编译器系统包括PEU编程工具,该PEU编程工具将处理器的PEU所要执行的处理操作的功能描述转换为用于对PEU进行编程以响应于指定UDI来执行处理操作的编程信息。该编译器系统还包括编译器,该编译器将应用源程序转换为可执行程序,所述编译器包括优化例程,该优化例程用于:利用指定的UDI表示应用源程序中的一部分,将该UDI插入到可执行程序中,以及还将用于指定所述UDI和编程信息在可执行程序中的位置的UDI加载指令插入到可执行程序中。

Compiler system and method of compiling application source program into executable program

The invention relates to a compiler system and a method of compiling application source programs into executable programs. The compiler system converts the application source program into an executable program that can be executed by a general purpose processor corresponding to a predetermined ISA. The processor includes PEU capable of being programmed to execute UDI. The compiler system includes a PEU programming tool that converts the functional description of the processing operations to be performed by the processor's PEU into programming information for programming the PEU to perform processing operations in response to a specified UDI. The compiler system also includes a compiler that converts an application source program into an executable program. The compiler includes an optimization routine that represents a part of the application source program with a specified UDI, inserts the UDI into the executable program, and will also be used to specify the UDI and the programming letter. The UDI loading instruction that is placed in the executable program is inserted into the executable program.

【技术实现步骤摘要】
编译器系统及将应用源程序编译为可执行程序的方法(本申请是申请日为2016年11月29日、申请号为201680053747.0、专利技术名称为“用于动态配置执行资源的具有可扩展指令集架构的处理器”的申请的分案申请。)
本专利技术通常涉及处理器,更特别地,涉及使得能够动态配置执行资源的具有可扩展指令集架构的处理器。
技术介绍
处理器持续变得更强大。如这里所使用的术语“处理器”是指包括微处理器、中央处理单元(CPU)、处理核、微控制器等的任意类型的处理单元。如这里所使用的术语“处理器”还包括诸如集成在芯片或集成电路(IC)上的处理单元等的处理器配置,其中这些芯片或集成电路包括芯片系统(SOC)内所包含的芯片或集成电路等。半导体制造技术正持续改善,从而使速度增加、功耗降低并且使得处理芯片上所集成的电路的尺寸减小。集成尺寸的减小允许在处理单元内并入附加功能。然而,一旦制造了处理器,其执行处理功能及其指令集架构(ISA)基本上是固定的。编程器或编译器不能偏离针对给定处理器配置而定义的标准指令的明确定义的界限、而不冒不适当操作甚至故障的风险。许多应用被编写以包括被设计为进行特定功能或处理操作的一系列指令,其中该特定功能或处理操作并不由处理单元内的任何硬件块来特别进行。通常,这种代码包括可以在应用程序执行期间执行相当多次的软件循环。尽管处理器可以被制造成包括硬件块来进行特定功能以加速执行和完成从而提高该特定应用的性能,但是这种解决方案是不实际的,这是因为该硬件块可能对于任何其它程序均无用处。因此,通用处理器通常被制造成包括相对常见和基本的功能,这些功能对于各种不同的软件应用而言通常是有用且实用的。编程器必须使用所提供的标准指令集来构建算法、功能和操作以满足特定应用的需求。
技术实现思路
根据一个实施例的编译器系统,用于将应用源程序转换为与预定指令集架构即预定ISA相对应的能够由根据所述预定ISA实现的通用处理器所执行的可执行程序,其中所述处理器包括可编程执行单元即PEU,所述PEU能够被编程以执行由该处理器接收以供执行的指定的用户定义指令即UDI。所述编译器系统包括PEU编程工具和编译器。所述PEU编程工具用于将所述处理器的所述PEU所要执行的处理操作的功能描述转换为用于对所述PEU进行编程以响应于指定的UDI来执行所述处理操作的编程信息。所述编译器用于将所述应用源程序转换为所述可执行程序,其中,所述编译器包括至少一个优化例程,所述至少一个优化例程用于:利用指定的UDI表示所述应用源程序中的一部分,将该UDI插入到所述可执行程序中,以及还将用于指定所述UDI和所述编程信息在所述可执行程序中的位置的UDI加载指令插入到所述可执行程序中。所述编译器可以询问所述PEU编程工具以将所述UDI和相应编程信息并入到所述可执行程序中。所述编译器可以使用所述至少一个优化例程来生成处理操作的所述功能描述。所述可执行程序可以包括标准程序,以及所述可执行程序还可以包括定制程序,其中所述标准程序仅包括来自所述预定ISA的指令且不包括指定的UDI,所述定制程序包括指定的UDI和所述编程信息。所述编译器可以将所述编程信息作为UDI信息并入到所述应用源程序中以提供修改后的应用源程序,然后将所述修改后的应用源程序编译为所述可执行程序。所述PEU编程工具可以生成包括UDI定义和相应编程信息的输出。所述编译器可以将所述PEU编程工具的所述输出作为UDI信息并入到所述应用源程序中以提供修改后的应用源程序,然后可以将所述修改后的应用源程序编译为所述可执行程序。所述PEU编程工具的所述输出可以是头部文件。所述编译器在将所述应用源程序编译为所述可执行程序期间可以链接到所述编程信息。所述PEU编程工具可以生成包括UDI定义和相应编程信息的输出,以及所述编译器在将所述应用源程序编译为所述可执行程序期间可以链接到所述PEU编程工具的所述输出。所述PEU编程工具的所述输出可以是头部文件。根据一个实施例的方法,用于将应用源程序编译为与预定指令集架构即预定ISA相对应的能够由根据所述预定ISA实现的通用处理器所执行的可执行程序,其中所述处理器包括可编程执行单元即PEU,所述PEU能够被编程以执行由该处理器接收以供执行的指定的用户定义指令即UDI,所述方法包括:将所述处理器的所述PEU所要执行的处理操作的功能描述转换为用于对所述PEU进行编程以响应于指定的UDI来执行所述处理操作的编程信息;以及将所述应用源程序编译为所述可执行程序,包括:利用指定的UDI表示所述应用源程序中的一部分,将该UDI插入到所述可执行程序中,以及还将用于指定所述UDI和所述编程信息在所述可执行程序中的位置的UDI加载指令插入到所述可执行程序中。附图说明参考以下描述和附图,将更好地理解本专利技术的益处、特征和优点,其中:图1是根据本专利技术的一个实施例实现的包括第一可编程执行单元的处理器的简化框图;图2是根据本专利技术的一个实施例实现的图1的处理核的简化框图;图3是根据本专利技术的一个实施例实现的图2的解码器的简化框图;图4是根据本专利技术的一个实施例的图1的可编程执行单元(PEU)的简化框图;图5是示出根据本专利技术的一个实施例的图1的处理核的用于处理应用内所包括的用户定义指令(UDI)的操作的流程图;图6是示出根据本专利技术的一个实施例的图3的UDI加载器的用于与可编程执行单元进行协商以对处理核进行编程从而响应于UDI加载命令进行与UDI相关联的处理操作的操作的流程图;图7是示出根据本专利技术的一个实施例的图3的UDI加载器的用以卸载针对已被操作系统终止的特定进程而编程的各UDI的操作的流程图;图8是根据本专利技术的一个实施例的PEU内的图4的可编程逻辑的更详细的框图;图9是根据本专利技术的一个实施例实现的图8的可编程逻辑元件的示意框图;图10是根据本专利技术的一个实施例实现的图9的查找表(LUT)的示意图;图11是根据本专利技术的一个实施例的用于对PEU进行编程的编程信息的格式的简化框图。图12是示出根据本专利技术的一个实施例的用于生成包含一个或多个UDI和对PEU编程用的相应编程信息的应用的第一方法的简化框图;图13是示出根据本专利技术的一个实施例的用于生成包含一个或多个UDI和对PEU进行编程的相应编程信息的应用的第二方法的简化框图;图14是示出根据本专利技术的一个实施例的用于生成包含一个或多个UDI和对PEU进行编程的相应编程信息的应用的另一方法的简化框图;图15是大致示出根据本专利技术的一个实施例的图1的处理器的操作码空间的简化框图;图16是用根据本发的一个实施例的UDI替代应用程序的例程中的标准代码以提供使用这些UDI的替代应用程序的简化示例;以及图17是用根据本专利技术另一实施例的UDI替代应用程序的例程中的标准代码以提供使用这些UDI的替代应用程序的简化示例。具体实施方式专利技术人已经认识到与具有固定执行资源和相应限制指令集的处理器相关联的低效率。因此,专利技术人开发了一种动态配置与可扩展ISA配合的执行资源以提高处理器工作效率的系统和方法。代替必须使用标准限制指令集来编写代码,软件程序员可以选择编写硬件功能描述来进行特定的处理操作。通过编程工具等将硬件功能描述转换为编程信息,其中将编程信息并入可执行代码中。在执行期间,使用编程信息来对处理器内的可编程执本文档来自技高网
...
编译器系统及将应用源程序编译为可执行程序的方法

【技术保护点】
1.一种编译器系统,用于将应用源程序转换为与预定指令集架构即预定ISA相对应的能够由根据所述预定ISA实现的通用处理器所执行的可执行程序,其中所述处理器包括可编程执行单元即PEU,所述PEU能够被编程以执行由该处理器接收以供执行的指定的用户定义指令即UDI,所述编译器系统包括:PEU编程工具,用于将所述处理器的所述PEU所要执行的处理操作的功能描述转换为用于对所述PEU进行编程以响应于指定的UDI来执行所述处理操作的编程信息;以及编译器,用于将所述应用源程序转换为所述可执行程序,其中,所述编译器包括至少一个优化例程,所述至少一个优化例程用于:利用指定的UDI表示所述应用源程序中的一部分,将该UDI插入到所述可执行程序中,以及还将用于指定所述UDI和所述编程信息在所述可执行程序中的位置的UDI加载指令插入到所述可执行程序中。

【技术特征摘要】
2015.12.08 US 62/264,816;2016.10.28 US 15/337,1401.一种编译器系统,用于将应用源程序转换为与预定指令集架构即预定ISA相对应的能够由根据所述预定ISA实现的通用处理器所执行的可执行程序,其中所述处理器包括可编程执行单元即PEU,所述PEU能够被编程以执行由该处理器接收以供执行的指定的用户定义指令即UDI,所述编译器系统包括:PEU编程工具,用于将所述处理器的所述PEU所要执行的处理操作的功能描述转换为用于对所述PEU进行编程以响应于指定的UDI来执行所述处理操作的编程信息;以及编译器,用于将所述应用源程序转换为所述可执行程序,其中,所述编译器包括至少一个优化例程,所述至少一个优化例程用于:利用指定的UDI表示所述应用源程序中的一部分,将该UDI插入到所述可执行程序中,以及还将用于指定所述UDI和所述编程信息在所述可执行程序中的位置的UDI加载指令插入到所述可执行程序中。2.根据权利要求1所述的编译器系统,其中,所述编译器询问所述PEU编程工具以将所述UDI和相应编程信息并入到所述可执行程序中。3.根据权利要求1所述的编译器系统,其中,所述编译器使用所述至少一个优化例程来生成处理操作的所述功能描述。4.根据权利要求1所述的编译器系统,其中,所述可执行程序包括标准程序,以及所述可执行程序还包括定制程序,其中所述标准程序仅包括来自所述预定ISA的指令且不包括指定的UDI,所述定制程序包括指定的UDI和所述编程信息。5.根据权利要求1所述的编译器系统,其中,所述编译器将所述编程信息作为UDI信息并入到所述应用源程序中以提供修改后的应用源程序,然后将所述修改后的应用源程序编译为所述可执行程序。6.根据权利要求1所述的编译器系统,其中,所述PEU编程工具生成包括UDI定义和相应编程信息的输出,以及所述编译器将所述PEU编程工具的所述输出作为UDI信息并入到所述应用源程序中以提供修改后的应用源程序,然后将所述修改后的应用源程序编译为所述可执行程序。7.根据权利要求6所述的编译器系统,其中,所述PEU编程工具的所述输出包括头部文件。8.根据权利要求1所述的编译器系统,其中,所述编译器在将所述应用源程序编译为所述可执行程序期间链接到所述编程信息。9.根据权利要求1所述的编译器系统,其中,所述PEU编程工具生成包括UDI定义和相应编程信息的输出,以及所述编译器在将所述应用源程序编译为所述...

【专利技术属性】
技术研发人员:G·葛兰·亨利罗德尼·E·虎克泰瑞·派克斯道格拉斯·R·瑞德
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海,31

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

1