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)基本上是固定的。编程器或编译器不能偏离针对给定处理器配置而定义的标准指令的明确定义的界限、而不冒不适当操作甚至故障的风险。许多应用被编写以包括被设计为进行特定功能或处理操作的一系列指令,其中该特定功能或处理操作并不由处理单元内的任何硬件块来特别进行。通常,这种代码包括可以在应用程序执行期间执行相当多次的软件循环。尽管处理器可以被制造成包括硬件块来进行特定功能以加速执行和完成从而提高该特定应用的性能,但是这种解决方案是不实际的,这是因为该硬件块可能对于任何其它程序均无用处。因此,通用处理器通常被制造成包括相对常见和基本的功能,这些功能对于各种不同的软件应 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。