A processor with dynamically extensible instruction set architecture for executing execution resources. The processor includes a programmable execution unit (PEU), which can be programmed for a programmable execution unit to perform user defined functions in response to a user defined instruction (UDI). Programmable execution units include programmable logic elements and programmable interconnects, and programmable logic elements and programmable interconnects are configured to be programmed to perform at least one processing operation. The UDI loader responds to the UDI loading instruction for specifying the location of the UDI and the programming information used in PEU programming. A programmable execution unit can be programmed for one or more UDI for one or more processing. The instruction list stores UDI and corresponding information for identifying the UDI and reprogramming the programmable execution unit as required. The UDI handler asks the instruction table to identify the received UDI and sends the corresponding information to the programmable execution unit to perform the corresponding user defined function.
【技术实现步骤摘要】
【国外来华专利技术】用于动态配置执行资源的具有可扩展指令集架构的处理器相关申请的交叉引用本申请要求全部内容针对所有意图和目的而通过引用包含于此的以下美国临时专利申请的优先权。本申请涉及同时提交的全部内容针对所有意图和目的而通过引用包含于此的以下美国专利申请。
本专利技术通常涉及处理器,更特别地,涉及使得能够动态配置执行资源的具有可扩展指令集架构的处理器。
技术介绍
处理器持续变得更强大。如这里所使用的术语“处理器”是指包括微处理器、中央处理单元(CPU)、处理核、微控制器等的任意类型的处理单元。如这里所使用的术语“处理器”还包括诸如集成在芯片或集成电路(IC)上的处理单元等的处理器配置,其中这些芯片或集成电路包括芯片系统(SOC)内所包含的芯片或集成电路等。半导体制造技术正持续改善,从而使速度增加、功耗降低并且使得处理芯片上所集成的电路的尺寸减小。集成尺寸的减小允许在处理单元内并入附加功能。然而,一旦制造了处理器,其执行处理功能及其指令集架构(ISA)基本上是固定的。编程器或编译器不能偏离针对给定处理器配置而定义的标准指令的明确定义的界限、而不冒不适当操作甚至故障的风险。许多应用被编写以包括被设计为进行特定功能或处理操作的一系列指令,其中该特定功能或处理操作并不由处理单元内的任何硬件块来特别进行。通常,这种代码包括可以在应用程序执行期间执行相当多次的软件循环。尽管处理器可以被制造成包括硬件块来进行特定功能以加速执行和完成从而提高该特定应用的性能,但是这种解决方案是不实际的,这是因为该硬件块可能对于任何其它程序均无用处。因此,通用处理器通常被制造成包括相对常见和基本的功能,这些 ...
【技术保护点】
一种处理器,包括:解码器,用于将预定指令集架构的多个标准指令转译为所述处理器的预定本地指令集的本地指令,并将所述本地指令转发到具有预定执行功能的执行系统,其中所述解码器将接收到的用户定义指令加载指令即UDI加载指令转发到UDI加载器,所述UDI加载指令用于指定UDI以及编程信息的外部位置;可编程执行单元即PEU,其包括多个可编程逻辑元件和多个可编程互连器,所述多个可编程逻辑元件和所述多个可编程互连器被共同配置为被编程以执行至少一个处理操作;以及指令表,其能够被编程为包括至少一个UDI和与所述至少一个UDI各自相对应的至少一个内部指令,其中,所述UDI加载器响应于所述UDI加载指令以利用指定的UDI对所述指令表进行编程,以及所述UDI加载器响应于指定的UDI来检索所述编程信息并对所述PEU进行编程以执行相应处理操作。
【技术特征摘要】
【国外来华专利技术】2015.12.08 US 62/264,816;2016.10.28 US 15/337,1401.一种处理器,包括:解码器,用于将预定指令集架构的多个标准指令转译为所述处理器的预定本地指令集的本地指令,并将所述本地指令转发到具有预定执行功能的执行系统,其中所述解码器将接收到的用户定义指令加载指令即UDI加载指令转发到UDI加载器,所述UDI加载指令用于指定UDI以及编程信息的外部位置;可编程执行单元即PEU,其包括多个可编程逻辑元件和多个可编程互连器,所述多个可编程逻辑元件和所述多个可编程互连器被共同配置为被编程以执行至少一个处理操作;以及指令表,其能够被编程为包括至少一个UDI和与所述至少一个UDI各自相对应的至少一个内部指令,其中,所述UDI加载器响应于所述UDI加载指令以利用指定的UDI对所述指令表进行编程,以及所述UDI加载器响应于指定的UDI来检索所述编程信息并对所述PEU进行编程以执行相应处理操作。2.根据权利要求1所述的处理器,其中,还包括UDI处理程序,其中,所述解码器将接收到的UDI转发到所述UDI处理程序,所述UDI处理程序判断接收到的UDI是否在所述指令表中被编程为指定的UDI,以及如果接收到的UDI在所述指令表中被编程为指定的UDI,则所述UDI处理程序将相应的所述至少一个内部指令转发到所述PEU以执行所述相应处理操作。3.根据权利要求1所述的处理器,其中,所述PEU的所述多个可编程逻辑元件和所述多个可编程互连器被细分为大致相同的多个可编程区段。4.根据权利要求3所述的处理器,其中,所述PEU还包括分配和编程逻辑,所述分配和编程逻辑用于分配适于执行所述相应处理操作的多个所述可编程区段,并利用所述编程信息对所分配的多个所述可编程区段进行编程。5.根据权利要求4所述的处理器,其中,所述编程信息包括资源声明,以及所述分配和编程逻辑使用所述资源声明来确定所述可编程区段的数量。6.根据权利要求1所述的处理器,其中,所述多个可编程逻辑元件包括多个可编程查找表。7.根据权利要求1所述的处理器,其中,所述多个可编程逻辑元件包括多个加法器、多个复用器和多个寄存器。8.根据权利要求1所述的处理器,其中,所述PEU还包括通过所述编程信息编程以对所述多个可编程逻辑元件至少之一和所述多个可编程互连器至少之一进行编程的可编程存储器。9.根据权利要求8所述的处理器,其中,所述编程信息包括位流,所述位流包括被扫描到所述PEU的所述可编程存储器中的多个位。10.根据权利要求1所述的处理器,其中,指定的UDI包括宏指令,以及相应的所述至少一个内部指令包括至少一个微指令。11.根据权利要求10所述的处理器,其中,所述至少一个微指令包括用于指示所述相应处理操作的等待时间的UDI微指令,所述处理器还包括:PEU调度器,用于使用所指示的所述等待时间来对所述UDI微指令向所述PEU的分派进行调度。12.根据权利要求1所述的处理器,其中,对所述PEU进行编程以执行多个处理操作,其中所述多个处理操作各自用于被编程到所述指令表中的多个UDI中的相应UDI。13.根据权利要求12所述的处理器,其中,不同的多个进程各自是由多个进程标识符中的相应进程标识符所标识的,以及所述指令表中的针对所述多个UDI各自的各条目是利用所述多个进程标识符中的相应进程标识符进行编程的。14.根据权利要求13所述的处理器,其中,所述指令表针对所述多个UDI中的各UDI存储唯一执行标识符,所述唯一执行标识符用于标识被编程到所述PEU中的所述多个处理操作中的相应处理操作。15.根据权利要求14所述的处理器,其中,所述PEU将接收到的内部指令应用于所述PEU中的利用所述多个处理操作中的相应处理操作进行编程并且由所述唯一执行标识符所标识的部分。16.一种处理器,包括:至少一个执行单元,用于执行所述处理器的预定本地指令集的本地指令;可编程执行单元即PEU,其包括多个可编程逻辑元件和多个可编程互连器,所述多个可编程逻辑元件和所述多个可编程互连器被共同配置为被编程以响应于内部指令来执行至少一个处理操作;以及解码器,用于将预定指令集架构的多个标准指令转换为所述处理器的所述预定本地指令集的所述本地指令,并将接收到的用户定义指令加载指令即UDI加载指令转发到UDI系统,所述UDI加载指令用于指定UDI以及相应编程信息的外部位置,其中,所述UDI系统包括:指令表,其能够被编程为包括至少一个UDI和相应的至少一个内部指令;以及UDI加载器,用于响应于所述UDI加载指令以利用指定的UDI对所述指令表进行编程,检索所述相应编程信息,并利用所述相应编程信息对所述PEU进行编程。17.根据权利要求16所述的处理器,其中,还包括UDI处理程序,其中,所述解码器将接收到的UDI转发到所述UDI处理程序,所述UDI处理程序判断接收到的UDI是否在所述指令表中被编程,以及如果接收到的UDI在所述指令表中被编程,则所述UDI处理程序将所述内部指令转发到所述PEU以执行所述至少一个处理操作中的相应处理操作。18.根据权利要求16所述的处理...
【专利技术属性】
技术研发人员:G·葛兰·亨利,罗德尼·E·虎克,泰瑞·派克斯,道格拉斯·R·瑞德,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。