首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

软件可重新配置的移动设备和方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:英特尔公司

摘要:提供了使编码用于由虚拟机执行的软件组件适于目标平台的特定架构的系统和方法。这些系统和方法将虚拟机架构的可移植性优势与通常与本机实现方式相关联的节能和计算效率优势结合起来。更具体地,在一些实施例中,被配置为对编码用于由虚拟机执行的软件组件进行编译的编译器被增强,以识别在目标平台上可用的硬件处理元件并且使软件组件适于利用所识别的硬件处理元件。在至少一个实施例中,由增强型编译器执行的适配采取压缩或扩展的形式。

主权项:1.一种计算设备,包括:存储器;以及至少一个处理器,其耦合到所述存储器并且被配置为:接收软件组件,所述软件组件包括被配置为执行函数的一个或多个无线电虚拟机函数调用;识别执行所述软件组件的目标平台,所述目标平台包括被配置为执行所述函数的一个或多个硬件处理元件;确定所述一个或多个无线电虚拟机函数调用被配置为对不同于所述一个或多个硬件处理元件的硬件处理元件进行调用;以及用被配置为对执行所述函数的所述一个或多个硬件处理元件进行调用的一个或多个目标平台函数调用来替换所述一个或多个无线电虚拟机函数调用,其中:所述一个或多个无线电虚拟机函数调用包括单个无线电虚拟机函数调用,所述一个或多个目标平台函数调用包括多个目标平台函数调用,并且所述至少一个处理器还被配置为将所述单个无线电虚拟机函数调用扩展到所述多个目标平台函数调用中;或者所述一个或多个无线电虚拟机函数调用包括多个无线电虚拟机函数调用,所述一个或多个目标平台函数调用包括单个目标平台函数调用,并且所述至少一个处理器还被配置为将所述多个无线电虚拟机函数调用压缩到所述单个目标平台函数调用中。

全文数据:软件可重新配置的移动设备和方法背景技术硬件的虚拟化通常涉及可移植性与性能之间的折衷。例如,使用中间件在多个硬件平台上解释和执行通用代码说明了这个原理。虽然使用这样的中间件提供了某些优势,但中间件本身消耗硬件平台提供的计算资源,从而降低整体系统性能。例如,为符合针对软件定义无线电的软件通信架构SCA而开发的软件遭受这种缺点。更具体地,在SCA的上下文内,中间件引入计算复杂性并消耗大量的功率。附图说明图1是示出根据本公开的实施例配置的包括增强型编译器的计算设备的框图。图2是示出包括增强型编译器并且根据本公开的实施例配置的图1的计算设备的另一框图。图3是示出包括图1的增强型编译器并且根据本公开的实施例配置的另一计算设备的框图。图4是示出根据本公开的实施例的函数映射过程的流程图。图5是示出根据本公开的实施例配置的包括增强型后端编译器的无线电计算机的框图。图6是根据本公开的一些实施例的可以实现各种函数映射和编译过程的无线电虚拟机的框图。图7是描绘根据本公开的实施例的无线电应用组件的分层表示的框图。图8是示出根据本公开的实施例的函数块扩展过程的流程图。图9是示出根据本公开的实施例的另一函数块压缩过程的流程图。图10是根据本公开的实施例的可以实现各种功能和函数块映射过程的计算设备的框图。具体实施方式本文公开的系统和方法接收编码以用于由虚拟机执行的软件组件,并且使这些软件组件适于目标平台的特定架构。这样做时,本文公开的系统和方法将虚拟机架构的可移植性优势与通常与本机实现方式相关联的节能和计算效率优势结合起来。更特别地,一些实施例包括增强型编译器。该增强型编译器被配置为对编码用于由虚拟机执行的软件组件进行编译。增强型编译器还被配置为识别目标平台上可用的硬件处理元件并且使软件组件适于利用所识别的硬件处理元件。在至少一个实施例中,由增强型编译器执行的适配采取软件组件压缩和或软件组件扩展的形式。例如,在一些实施例中,增强型编译器被配置为压缩软件组件,其中软件组件调用虚拟机VM函数,该虚拟机函数无法利用目标平台中可用的高效硬件来进行给定任务。例如,在目标平台包括计算特定值的硬件加速器,但软件组件调用利用通用硬件或次优专用硬件而不是硬件加速器的VM函数的情况下,增强型编译器可以用利用硬件加速器的目标平台函数来替换VM函数。在其他实施例中,增强型编译器被配置为扩展软件组件,其中为了执行任务,软件组件调用目标平台不直接支持的VM函数。例如,在目标平台包括可以共同执行任务的硬件加速器的情况下,增强型编译器可以用利用安装在目标平台中的硬件加速器的一个或多个目标平台函数来替换不支持的VM函数调用。本文公开的一些实施例结合控制无线电硬件组件的虚拟机来使用压缩和扩展。包括无线电硬件组件的计算设备在本文中可以称为“无线电计算机”,并且用于控制无线电计算机的虚拟机在本文中可以称为“无线电虚拟机RVM”。在涉及无线电计算机的一些实施例中,增强型编译器利用RVM的分层本质来扩展和或压缩编码用于在RVM上执行的无线电应用组件。更具体地,在这些实施例中,增强型编译器被配置为存取和遍历按函数和级别对目标平台函数块FB和或RVM的抽象处理元件APE进行组织的RVM层级数据结构例如,如下面参考图7进一步描述的函数块图。在该层级中,可以执行相同函数的目标平台FBAPE彼此关联,其中与较低级目标平台FBAPE相比,较高级别目标平台FBAPE与计算更高效的硬件处理元件相关联。在这些实施例中,增强型编译器导航到函数块图内的较高级别以压缩无线电应用组件并且导航到函数块图内的较低级别以扩展无线电应用组件。在压缩或扩展的情况下,增强型编译器搜索目标硬件平台支持的目标平台FBAPE。更具体地,在一些实施例中,增强型编译器扩展无线电应用组件,该无线电应用组件被配置为利用在RVM层级内在相对较高的级别处访问的硬件加速器。在这些实施例中,增强型编译器通过使无线电应用组件适于利用在RVM层级内在较低级别处访问的硬件加速器来扩展无线电应用组件。这些较低级别硬件加速器被配置为共同完成高级别硬件加速器所针对的任务。无线电应用组件的扩展对于例如使得无线电应用组件能够在没有安装高级别硬件加速器但确实安装了较低级别硬件加速器的目标平台上执行是有用的。另外,在一些实施例中,增强型编译器压缩被配置为利用在RVM层级内在相对较低级别处访问的硬件加速器的无线电应用组件。在这些实施例中,增强型编译器通过使无线电应用组件适于利用在RVM层级内在较高级别处访问的硬件加速器来压缩无线电应用组件。较高级别硬件加速器被配置为完成低级别硬件加速器所针对的任务。无线电应用组件的压缩对于例如使得无线电应用组件能够在除了低级别硬件加速器之外或者作为对低级别硬件加速器的替代而包括较高级别硬件加速器的目标平台上执行是有用的。下面详细讨论这些示例方面和实施例的其他方面、实施例和优点。此外,应该理解,前述信息和以下具体实施方式仅仅是各种方面和实施例的说明性示例,并且旨在提供用于理解要求保护的方面和实施例的本质和特征的概述或框架。对“实施例”、“其他实施例”、“示例”、“一些实施例”、“一些示例”、“替代实施例”、“各种实施例”、“一个实施例”、“至少一个实施例”、“另一实施例”、“该实施例和其他实施例”等的引用不一定是相互排斥的,并且旨在指示结合实施例或示例描述的特定特征、结构或特性可以包括在至少一个实施例或示例中。本文中这些术语的出现并不一定都指相同的实施例或示例。本文公开的任何实施例或示例可以与任何其他实施例或示例组合。另外,本文使用的措辞和术语是出于描述的目的,而不应被认为是限制性的。本文对以单数形式提及的对系统和方法的示例、实施例、组件、元件或动作的任何引用还可以涵盖包括复数的实施例,并且以复数对本文的任何实施例、组件、元件或动作的任何引用也可以涵盖仅包括单数的实施例。单数或复数形式的引用不旨在限制当前公开的系统或方法、其组件、动作或元件。本文中的用法“包括”、“包含”、“具有”、“含有”、“涉及”及其变化形式意味着涵盖其后列出的项目及其等同物以及附加的项目。对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个以及所有描述的术语中的任何一个。此外,如果本文档与通过引用并入本文的文档之间的术语用法不一致,则所并入的参考文献中的术语用法是对本文档的术语的补充;对于不可调和的不一致性,以本文档中的术语用法为准。总体概述如上面解释的,涉及利用中间件的硬件虚拟化的常规技术导致整体系统计算低效且耗电。因此,并且根据本文公开的至少一些实施例,计算设备实现增强型编译器,该增强型编译器使编码用于由虚拟机执行的软件组件适于利用目标平台特定的功能。这些目标平台特定的功能执行目标平台中可用的专用且高效的硬件处理元件,从而提高整体系统性能和或降低功耗。计算设备上的系统架构图1示出了包括一个或多个硬件元件104的计算设备100。如图1所示,一个或多个硬件元件104包括处理元件110A至110N。在一些实施例中,处理元件110A至110N中的每个处理元件包括接收输入数据并操纵输入数据以生成输出数据的一个或多个处理器、控制器、微控制器、现场可编程门阵列、专用集成电路、硬件加速器、数字信号处理器和或其他硬件处理元件。在其他实施例中,处理元件110A至110N中的每个处理元件包括物理存储器。该物理存储器可以包含易失性和或非易失性数据存储装置例如,只读存储器、随机存取存储器、闪速存储器、磁光盘和或一些其他计算机可读和可写介质,其能够由一个或多个硬件处理元件读取和或写入。在一些实施例中,物理存储器被调整大小并被配置为存储能够由硬件处理元件执行的程序以及程序在执行期间使用的数据中的至少一些数据。计算设备100中包括的一个或多个硬件元件104的附加方面和组件在下面参考图10进一步描述。如图1所示,一个或多个硬件元件104被配置为实现主机操作系统102。在一些实施例中,主机操作系统102被配置为对硬件元件104进行抽象化和控制以支持诸如虚拟机106的程序的执行。例如,主机操作系统102可以包括被配置为实现虚拟机106的管理程序。虚拟机106可以是例如Java虚拟机、RVM例如,具有改变目标平台的无线电功能的能力的虚拟机或本领域中已知的各种虚拟机中的任何其他虚拟机。同样如图1所示,主机操作系统102被配置为支持可执行软件组件108的执行,该可执行软件组件108包括目标平台函数122。在一些实施例中,虚拟机106被配置为接收并处理包括通用VM函数例如,VM函数116和118的软件组件112。如图1所示,软件组件112使用虚拟机106及其组件例如,增强型编译器114被配置为解析的标准来编码。例如,软件组件112可以被编码为特定于虚拟机106的人类可读源代码和或某种形式的中间代码。如图1所示,增强型编译器114包括库函数图120,并且被配置为编译和或链接软件组件112以生成可执行软件组件108。当在一些实施例中根据该配置执行时,增强型编译器114检查VM函数116和118以确定VM函数116和118是否可以适于由安装在计算设备100内的特定硬件元件104更高效地执行。该检查可以包括搜索库函数图120以识别VM函数116和118中的一个或多个与一个或多个目标平台函数例如,目标平台函数122之间的关联。在一些实施例中,这些目标平台函数被配置用于由处理元件110A至110N中的一个或多个高效地执行。在图1所示的一些实施例中,库函数图120可以采取查找表、映射函数或某种其他形式的交叉引用的形式。例如,在至少一个实施例中,库函数图120是查找表,其具有指定与一个或多个目标平台函数相关联并且可以被映射到一个或多个目标平台函数的一个或多个VM函数的字段。库函数图120还可以包括指示关联是否比其他关联更优选例如,对于增强的性能的字段;该关联是否需要直接映射、压缩或扩展;和或执行直接映射、压缩或扩展时恰当地操纵VM函数的变元所要求的规则的字段。下面并且参考图4更全面地描述了由增强型编译器114执行的示例映射过程。不管库函数图120的形式如何,在增强型编译器114发现一个或多个VM函数与一个或多个目标平台函数之间的关联的情况下,增强型编译器114用一个或多个目标平台函数来替换一个或多个VM函数。取决于一个或多个VM函数与一个或多个目标平台函数之间的特定关联,该替换过程可以包括对一个或多个VM函数进行扩展和或压缩。更具体地,在增强型编译器114识别两个或更多个VM函数与需要压缩的更少数目的目标平台函数之间的关联的情况下,增强型编译器114将VM函数压缩到更少数量的目标平台函数中。虽然所要求的特定变元操纵将取决于VM函数和目标平台函数的特定实现方式,但该压缩过程可以包括组合VM函数变元中的一个或多个以生成用于目标平台函数的变元。关于这些变元操纵的规则可以例如存储在库函数图120的字段内。相反,在增强型编译器114识别一个或多个VM函数与需要扩展的更多数量的目标平台函数之间的关联的情况下,增强型编译器114将一个或多个VM函数扩展到更多数量的目标平台函数中。虽然所要求的特定变元操纵将取决于VM函数和目标平台函数的特定实现方式,但该扩展过程可以包括分割VM函数变元中的一个或多个以生成用于目标平台函数的变元。关于这些变元操纵的规则可以例如存储在库函数图120的字段内。如图1所示,库函数图120包括需要将VM函数116和118压缩到目标平台函数122中的关联。当根据其配置执行编译过程时,增强型编译器114识别压缩关联,并且作为响应生成可执行软件组件108以包括目标平台函数122。如图1所示,目标平台函数122与处理元件110A相关联并由其执行。在一些实施例中,处理元件110A是专门配置为执行目标平台函数122的硬件处理元件。在这些实施例中,与其中处理元件110A是更通用的硬件处理元件例如,能够执行目标平台函数122和附加函数的实施例相比,处理元件110A能够更高效地并且使用更少的功率来执行目标平台函数122。为了进一步说明,在根据图1的一个示例中,VM函数116和118各自是组合地配置为计算快速傅立叶变换FFT的蝶形函数butterflyfunction。此外,在该示例中,处理元件110A是被配置为在执行目标平台函数122时直接计算FFT的硬件加速器。因此,通过将VM函数116和118压缩到目标平台函数122中,增强型编译器114定制软件组件112用于在计算设备100上增强地执行。在一些实施例中,可以将类似的方法应用于层1物理层、层2介质访问控制层或直至应用层的任何其他层上的任何其他函数。对于层1,另外的示例可以包括前向纠错编码解码包括卷积码、Turbo码、低密度奇偶校验LDPC码、喷泉码、极性码等、发射机和或接收机中的MIMO多输入多输出处理例如,在多个发射天线和或接收天线的上下文中、星座映射解映射例如,BPSK、QPSK、QAM-16、QAM-64、QAM-128、QAM-256、QAM-512、QAM-1024、QAM-2048等、交织、接收机中的信道均衡等。较高层处理可以包括数据加密解密、路由、分组检查等。图2示出了在虚拟机106内包括软件组件200的计算设备100的示例。软件组件200包括VM函数204。在该示例中,库函数图120包括需要将VM函数204扩展到目标平台函数206和208中的关联。当根据其配置执行编译过程时,增强型编译器114识别扩展关联,并且作为响应生成可执行软件组件202以包括目标平台函数206和208。如图2所示,目标平台函数206和208分别与处理元件110A和110N相关联并由其执行。在一些实施例中,处理元件110A和110N是专门且分别被配置为执行目标平台函数206和208的硬件处理元件。在这些实施例中,与其中处理元件110A和110N是更通用的硬件处理元件例如,能够执行相应的目标平台函数206和208以及附加函数的实施例相比,处理元件110A和110N能够更高效地并且使用更少的功率来执行相应的目标平台函数206和208。为了进一步说明,在根据图2的一个示例中,VM函数204是FFT函数。此外,在该示例中,处理元件110A和110N是被配置为当分别执行目标平台函数206和208时计算蝶形值的硬件加速器。因此,通过将VM函数204扩展到目标平台函数206和208中,增强型编译器114定制软件组件200用于在计算设备100上增强地执行。该增强执行可以采取增加的效率的形式例如,在处理元件110A和110N可以比通用硬件处理元件更高效地计算蝶形值的情况下。可替代地,增强执行可以采取简单地能够完全计算FFT的形式例如,在硬件元件104不能直接计算FFT的情况下。例如,在目标平台中没有安装特定硬件加速器的情况下,增强型编译器114可以将VM函数204向下扩展到执行“原子运算”即,最基本的运算,例如加法、减法、乘法等的目标平台函数。在一些实施例中,可以将类似的方法应用于层1物理层、层2介质访问控制层或直至应用层的任何其他层上的任何其他函数。对于层1,另外的示例可以包括前向纠错编码解码包括卷积码、Turbo码、低密度奇偶校验LDPC码、喷泉码、极性码等、发射机和或接收机中的MIMO多输入多输出处理例如,在多个发射天线和或接收天线的上下文中、星座映射解映射例如,BPSK、QPSK、QAM-16、QAM-64、QAM-128、QAM-256、QAM-512、QAM-1024、QAM-2048等、交织、接收机中的信道均衡等。较高层处理可以包括数据加密解密、路由、分组检查等。图3示出了包括一个或多个硬件元件302的计算设备300。如图3所示,一个或多个硬件元件302包括被配置为实现主机操作系统102的处理元件306A至306N。处理元件306A至306N可以包括与上面参考图1描述的处理元件110A至110N类似的硬件处理元件和或物理存储器。在图3所示的一个示例中,库函数图120包括需要将VM函数116和118直接映射到目标平台函数308和310的关联。当根据其配置执行编译过程时,增强型编译器114识别直接映射关联,并且作为响应生成可执行软件组件304以包括目标平台函数308和310。如图3所示,目标平台函数308和310分别与处理元件306A和306N相关联并由其执行。在一些实施例中,处理元件306A和306N是专门且分别被配置为执行目标平台函数308和310的硬件处理元件。在这些实施例中,与其中处理元件306A和306N是更通用的硬件处理元件例如,能够执行相应的目标平台函数308和310以及附加函数的实施例相比,处理元件306A和306N能够更高效地并且使用更少的功率来执行相应的目标平台函数308和310。为了进一步说明,在根据图3的一个示例中,VM函数116和118各自是组合地被配置为计算FFT的蝶形函数。此外,在该示例中,处理元件306A和306N是被配置为在分别执行目标平台函数308和310时计算蝶形值的硬件加速器。因此,通过将VM函数116和118直接映射到目标平台函数308和310,增强型编译器114定制软件组件112用于在计算设备300上增强地执行。用于计算设备的方法本文公开的一些实施例执行函数映射过程,例如,图4所示的函数映射过程400。函数映射过程400可以由增强型编译器执行,例如,上面参考图1-3所描述的增强型编译器114。函数映射过程400可以作为被设计为创建目标硬件平台的可执行软件组件的整体编译过程的一部分来执行。由函数映射过程400执行的动作共同生成针对目标计算设备的目标硬件平台定制的可执行代码。与例如经由中间件执行的代码相比,该定制的可执行代码由目标计算设备更高效地执行。如图4所示,函数映射过程400在动作402中开始,其中增强型编译器识别包括在软件组件例如,软件组件112内的一组VM函数例如,VM函数116和118。在一些实施例中,增强型编译器通过解析并遍历软件组件的代码来识别该组VM函数。在动作404中,增强型编译器识别可用于在目标计算设备上执行的一组目标平台函数。在一些实施例中,增强型编译器存取与目标计算设备相关联的系统库以识别可用的一组目标平台函数。在动作406中,增强型编译器从在上面的动作402中识别的该组VM函数中识别下一未处理的VM函数。在动作408中,增强型编译器确定所识别的VM函数与目标平台函数例如,目标平台函数122之间的一个或多个关联是否存在于库函数图例如,库函数图120中。如果存在,则增强型编译器执行动作412。否则,增强型编译器执行动作410。在动作410中,由于缺乏对所识别的VM函数的支持,增强型编译器确定正在被编译的软件组件与目标平台不兼容,并且函数映射过程400结束。在动作412中,增强型编译器识别涉及识别的VM函数的库函数图内的优选关联。例如,在库函数图包括所识别的VM函数与目标平台函数之间的多个关联的情况下,增强型编译器通过参考库函数图内的存储偏好信息的字段来识别优选关联。可替代地,在库函数图只包含一个涉及VM函数的关联的情况下,增强型编译器将该关联识别为优选关联。在动作414中,增强型编译器存储在动作412中识别的优选关联以用于动作418中的后续处理。在动作416中,增强型编译器确定在动作402中识别的该组VM函数中的未处理成员是否存在。如果存在,则增强型编译器执行动作406以识别下一未处理的成员。否则,增强型编译器执行动作418。在动作418中,增强型编译器适配并编译软件组件并且将一组相关联的目标平台函数链接到软件组件。更具体地,在关联需要VM函数与目标平台函数之间的直接映射的情况下,增强型编译器使软件组件适于调用目标平台函数来替代VM函数。在关联需要将多个VM函数压缩到目标平台函数中的情况下,增强型编译器使软件组件适于调用目标平台函数来替代多个VM函数。在关联需要将VM函数扩展到多个目标平台函数中的情况下,增强型编译器使软件组件适于调用多个目标平台函数来替代VM函数。这些适配可以包括用多个目标平台函数来替换多个VM函数。在执行动作418之后,函数映射过程400结束。过程400描绘了特定示例中的一个特定动作序列。包括在这些过程中的动作可以通过或使用如本文讨论的特别配置的一个或多个计算设备来执行。一些动作是可选的,并且因此可以根据一个或多个示例被省略。另外,在不脱离本文讨论的系统和方法的范围的情况下,可以改变动作的次序,或者可以添加其他动作。无线电计算机上的系统架构如上面描述的,本文公开的一些实施例针对无线电计算机。无线电计算机可以包含同时和或独立操作的各种无线电接入技术中的任何一种。例如,无线电计算机中使用的无线电链路中的任何一种可以根据以下无线电通信技术和或标准中的任何一个或多个来操作:全球移动通信系统GSM无线电通信技术、通用分组无线电服务GPRS无线电通信技术、增强数据速率GSM演进EDGE无线电通信技术和或第三代合作伙伴计划3GPP无线电通信技术,其示例包括通用移动电信系统UMTS、自由移动的多媒体接入FOMA、3GPP长期演进LTE、3GPP长期演进高级LTEAdvanced、码分多址2000CDMA2000、蜂窝数字分组数据CDPD、Mobitex、第三代3G、电路交换数据CSD、高速电路交换数据HSCSD、通用移动电信系统第三代UMTS3G、宽带码分多址通用移动电信系统W-CDMAUMTS、高速分组接入HSPA、高速下行链路分组接入HSDPA、高速上行链路分组接入HSUPA、强化高速分组接入HSPA+、通用移动电信系统-时分复用UMTS-TDD、时分码分多址TD-CDMA、时分同步码分多址TD-CDMA、第三代合作伙伴计划版本8Pre-4thGeneration3GPPRel.8Pre-4G、3GPPRel.9第三代合作伙伴计划版本9、3GPPRel.10第三代合作伙伴计划版本10、3GPPRel.11第三代合作伙伴计划版本11、3GPPRel.12第三代合作伙伴计划版本12、3GPPRel.13第三代合作伙伴计划版本13、3GPPRel.14第三代合作伙伴计划版本14、3GPPRel.15第三代合作伙伴计划版本15、3GPPRel.16第三代合作伙伴计划版本16、3GPPRel.17第三代合作伙伴计划版本17、3GPPRel.18第三代合作伙伴计划版本18、3GPP5G、3GPPLTEExtra、LTE-AdvancedPro、LTE许可辅助接入LAA、MuLTEfire、UMTS陆地无线电接入UTRA、演进型UMTS陆地无线电接入E-UTRA、长期演进高级第四代LTEAdvanced4G、cdmaOne2G、码分多址2000第三代CDMA20003G、演进数据优化或仅演进数据EV-DO、高级移动电话系统第1代AMPS1G、全面接入通信系统扩展全面接入通信系统TACSETACS、数字AMPS第2代D-AMPS2G、按键通话PTT、移动电话系统MTS、改进的移动电话系统IMTS、高级移动电话系统AMTS、OLT挪威语为OffentligLandmobilTelefoni,公共陆地移动电话、MTD瑞典语缩写为MobiltelefonisystemD,或移动电话系统D、公用自动陆地移动AutotelPALM、ARP芬兰语为Autoradiopuhelin,“汽车无线电电话”、NMT北欧移动电话、NTT的高容量版本日本电报和电话Hicap、蜂窝数字分组数据CDPD、Mobitex、DataTAC、集成数字增强网络iDEN、个人数字蜂窝PDC、电路交换数据CSD、个人手持电话系统PHS、宽带集成数字增强网络WiDEN、iBurst、非授权移动接入UMA也称为3GPP通用接入网或GAN标准、Zigbee、无线吉比特联盟WiGig标准、一般毫米波标准在10-300GHz及以上操作的无线系统,例如,WiGig、IEEE802.11ad、IEEE802.11ay等、在300GHz和THz频段以上操作的技术基于3GPPLTE或IEEE802.11p以及其他、车辆对车辆V2V和车辆对XV2X和车量对基础设施V2I和基础设施对车辆I2V通信技术、3GPP蜂窝V2X、DSRC专用短程通信通信系统例如,智能交通系统以及其他等。另外,如本文描述的无线电计算机可以采用任何频谱管理方案,包括专用许可频谱、非许可频谱、许可共享频谱例如,LSA=处于2.3-2.4GHz、3.4-3.6GHz、3.6-3.8GHz和其他频率的许可共享接入,SAS=处于3.55-3.7GHz和其他频率的频谱接入系统。适用的频段包括IMT国际移动电信频谱包括450-470MHz、790-960MHz、1710-2025MHz、2110-2200MHz、2300-2400MHz、2500-2690MHz、698-790MHz、610-790MHz、3400-3600MHz等。应意识到,某些频段限于特定区域和或国家:IMT高级频谱、IMT-2020频谱预期包括3600-3800MHz、3.5GHz频段、700MHz频段、24.25-85GHz范围内的频段等、根据FCC的“频谱前沿SpectrumFrontier”5G计划可用的频谱包括27.5-28.35GHz、29.1-29.25GHz、31-31.3GHz、37-38.6GHz、38.6-40GHz、42-42.5GHz、57-64GHz、64-71GHz、71-76GHz、81-86GHz以及92-94GHz等、5.9GHz典型地为5.85-5.925GHz和63-64GHz的ITS智能交通系统频段、当前分配给WiGig的频段例如,WiGig频段157.24-59.40GHz、WiGig频段259.40-61.56GHz和WiGig频段361.56-63.72GHz以及WiGig频段463.72-65.88GHz、70.2GHz-71GHz频段、65.88GHz至71GHz之间的任何频段、当前分配给汽车雷达应用的频段例如,76-81GHz以及未来频段包括94-300GHz及以上。此外,无线电计算机可以使用诸如TV空白空间频段典型地低于790MHz的频段,其中特别地400MHz和700MHz频段是有希望的候选者。无线电计算机还可以实现分级通信模式,例如通过基于对频谱的优先化的访问权针对不同类型的用户例如,低中高优先级等引入对于使用的分层优先化例如,层1用户具有最高优先级,之后是层2用户,然后是层3用户等。通过将OFDM载波数据比特向量分配给对应的符号资源,无线电计算机还可以使用不同的单载波或OFDM类型CP-OFDM、SC-FDMA、SC-OFDM、基于滤波器组的多载波FBMC、OFDMA等并且特别是3GPPNR新无线电。图5示出了包括一个或多个硬件元件504的无线电计算机500。如图5所示,一个或多个硬件元件504包括处理元件510A至510N。处理元件510A到510N可以包括与上面参考图1描述的处理元件110A至110N类似的硬件处理元件和或物理存储器。处理元件510A到510N还可以包括控制无线电组件的操作的硬件处理元件例如,收发器和其他电信电路。如图5所示,一个或多个硬件元件504被配置为实现无线电操作系统502。在一些实施例中,无线电操作系统502被配置为对硬件元件504进行抽象化和控制以支持诸如无线电虚拟机506的无线电程序的执行。同样如图5所示,无线电操作系统502被配置为支持无线电应用组件508的执行,无线电应用组件508包括函数块522和524。在一些实施例中,无线电虚拟机506被配置为接收并处理无线电应用的无线电组件512。该无线电应用组件512包括FB配置代码元件,例如,FB配置代码元件516和518。如图5所示,无线电应用组件512使用无线电虚拟机506及其组件例如,增强型后端编译器514被配置为解析的标准来编码。例如,无线电应用组件512可以被编码为人类可读源代码、中间表示、可执行代码等。如图5所示,增强型后端编译器514包括函数块图520。图6更详细地示出了无线电虚拟机506的部分。如图6所示,无线电虚拟机的主要组件包括配置代码600、程序存储器602、控制单元604、数据对象606、抽象交换结构608、抽象处理元件APE610和无线电虚拟机612的较低级别实例。程序存储器602接收并存储供控制单元604使用的配置代码。控制单元604执行配置代码以配置数据对象606、抽象交换结构608、APE610和较低级别无线电虚拟机612以进行操作。APE610抽象化诸如处理元件510A至510N的硬件处理元件,从而使配置代码的可移植性能够指向处理元件510A至510N的控制。这些组件的详细描述可以在2017年1月发布的ETSIEN303146-4V1.1.1标准中找到。回到图5,增强型后端编译器514被配置为编译和或链接无线电应用组件512以生成可执行无线电应用组件508。当在一些实施例中根据该配置执行时,增强型后端编译器514检查FB配置代码元件516和518以确定FB配置代码元件516和518是否可以适于由安装在无线电计算机500内的特定硬件元件504更高效地执行。该检查可以包括识别被配置为执行FB配置代码元件516和518中定义的函数块的无线电虚拟机的APE;确定函数块是否直接映射到APE;并且如果不是直接映射到APE,那么函数块的压缩或扩展是否可能。在一些实施例中,增强型后端编译器514还被配置为压缩和或扩展直接映射不可用的函数块。将在下面参考图8和图9更全面地描述在一些实施例中由增强型后端编译器514执行的压缩过程和扩展过程。在一些实施例中,增强型后端编译器514在执行压缩过程和扩展过程时引用函数块图520。函数块图520可以采取查找表、映射函数或某种其他形式的交叉引用的形式。例如,在至少一个实施例中,函数块图520是增强型后端编译器514通过检查无线电应用组件512而生成的无线电应用组件512的分层表示。以下参考图7进一步描述函数块图700的更详细示例。在图5所示的一个示例中,增强型后端编译器确定在FB配置代码元件516和518中定义的函数块直接映射到与硬件处理元件510A和510N相关联的APE。当根据其配置执行编译过程时,增强型后端编译器514响应于该确定而生成可执行软件组件508以包括分别由硬件处理元件510A和510N执行的目标平台FB522和524。如图5所示,目标平台FB522和524分别与处理元件510A和510N相关联并由其执行。在一些实施例中,处理元件510A和510N是专门且分别被配置为执行目标平台函数522和524的硬件处理元件。在这些实施例中,与其中处理元件是更通用的硬件处理元件例如,能够执行相应的目标平台FB522和524以及附加FB的实施例相比,处理元件510A和510N能够更高效地并且使用更少的功率来执行相应的目标平台函数522和524。为了进一步说明,在根据图5的一个示例中,FB配置代码元件516和518各自定义了组合地被配置为计算FFT的蝶形函数块。此外,在该示例中,处理元件510A和510N是被配置为在分别执行目标平台FB522和524时计算蝶形值的硬件加速器。因此,通过将FB配置代码元件直接映射到目标平台FB522和524,增强型后端编译器514定制无线电应用组件512用于在无线电计算机500上增强地执行。虽然在图5中示出的这个示例涉及FB配置代码元件516和518到目标平台FB522和524的直接映射,但是其他示例可以包括FB配置代码元件的压缩和或扩展,其类似于上面参考图1和图2描述的压缩和扩展示例。用于无线电计算机的方法本文公开的一些实施例执行FB配置代码扩展过程和压缩过程。在这些实施例中的至少一些实施例中,增强型后端编译器例如,上面参考图5描述的增强型后端编译器514在执行这些扩展过程和或压缩过程时引用无线电应用组件的函数块图表示。在一些实施例中,增强型后端编译器例如,上面参考图5描述的增强型后端编译器514通过以下操作来构建函数块图:解析软件组件的FB配置代码元件,识别目标为执行FB配置代码元件的APE的层级,以及生成与包括目标平台FB其与所识别的APE相对应并且由其执行的APE层级相对应的层级。在一些实施例中,增强型后端编译器还可以用附加目标平台FB补充用于特定无线电应用组件的函数块图,该附加目标平台FB是从FB配置代码闪现的目标平台FB的子级或父级。这些附加目标平台FB可以是例如从本机无线电系统库收集并且由目标平台支持的目标平台FB。在图7中示出了这种函数块图700的一个示例。如图7所示,函数块图700包括3级层级。例如,层级的每个级别可以表示例如与其他无线电虚拟机具有嵌套关系的无线电虚拟机即,实现层级级别的一种方式是用RVM来替换APE。例如,如果配置代码指定APE必须执行FFT,则目标平台可以添加一个较高层级级别并且用例如经由APE执行蝶形运算即,在下一层级级别上的专用RVM来替换该APE。如果目标平台不具有蝶形,则第二层级级别的APE也可以被RVM替换以创建第三层级级别,即,每个包含蝶形的APE可以由构造原子运算以外的蝶形运算的独立的RVM替换。在图7所示的示例中,FB配置代码702能够在级别3处作为单个目标平台FB706执行。相比之下,FB配置代码704能够在级别3处作为单个目标平台FB708执行,在级别2处作为目标平台FB710A至710M的集合执行,并且在级别3处作为目标平台FB712A至712N与目标平台FB714A至714N结合的集合执行。图7中所示的目标平台FB中的任一个或全部可以与无线电虚拟机的APE和被配置为执行无线电虚拟机的无线电计算机的硬件处理元件两者相关联。这些关联可以有利地被本文描述的示例压缩过程和扩展过程中的至少一些利用。本文公开的至少一个实施例执行函数块扩展过程,例如,图8所示的函数块扩展过程800。函数块扩展过程800可以由诸如上面参考图5描述的增强型后端编译器514之类的增强型后端编译器执行。函数块扩展过程800可以作为被设计为创建目标无线电计算机例如,无线电计算机500的目标硬件平台的可执行无线电应用组件的整体编译过程的一部分来执行。由函数块扩展过程800执行的动作共同生成针对目标无线电计算机的目标硬件平台定制的可执行代码。与例如经由中间件执行的代码相比,该定制的可执行代码由目标无线电计算机更高效地执行。如图8所示,函数块扩展过程800在动作802中开始,其中增强型后端编译器识别包括在无线电应用组件内的一组FB代码元素例如,FB配置代码元件702和704。在一些实施例中,增强型后端编译器通过解析并遍历无线电应用组件的配置代码来识别该组FB配置代码元件。此外,在一些实施例中,在动作802内,增强型后端编译器构建函数块图,例如,上面参考图7描述的函数块图700。在动作804中,增强型后端编译器识别能够由目标无线电计算机执行的无线电虚拟机例如,无线电虚拟机506内的一组APE。这些APE中的至少一些APE抽象化无线电计算机的一个或多个硬件元件例如,硬件元件504。此外,这些APE中的至少一些APE与能够由无线电计算机的处理元件中的一个或多个处理元件执行的目标平台FB例如,目标平台FB708相关联。在一些实施例中,增强型后端编译器存取描述无线电虚拟机的配置信息以识别可用的一组APE和或存取无线电本机库以识别与可用的一组APE相关联的目标平台FB。在动作806中,增强型后端编译器从在上面的动作802中识别的该组FB配置代码元件中识别下一未处理的FB配置代码元件例如,FB配置代码708。在动作808中,增强型后端编译器确定所识别的FB配置代码元件是否直接映射到例如,能够由其执行在动作804中识别的该组APE内的APE中的一个APE。如果是,则增强型后端编译器执行动作810。否则,增强型编译器执行动作816。在动作816中,增强型后端编译器确定所识别的FB配置代码元件是否可以被扩展为包括能够由在无线电虚拟机内可用的一个或多个APE执行的一个或多个较低级别FB配置代码元件。例如,在一个实施例中,增强型后端编译器通过尝试从在动作804中识别的可以共同执行所识别的FB配置代码元件例如,FB配置代码708的该组APE中识别一个或多个APE例如,与目标平台FB710A至710M相关联的APE来做出此确定。在函数块图可用的情况下,增强型后端编译器通过在函数块图内识别与所识别的FB配置代码元件相对应的目标平台FB并且确定目标平台FB的子级是否能够由在动作804中识别的一组APE共同执行来确定是否可以扩展FB配置代码元件。如果增强型后端编译器确定可以扩展FB配置代码元件,则增强型后端编译器执行动作820。否则,增强型后端编译器执行动作818。在动作820中,增强型后端编译器通过用能够由在动作816中识别的一个或多个APE执行的一个或多个其他FB配置代码元件例如,与目标平台FB710A至710M相关联的FB配置代码元件替换FB配置代码元件例如,FB配置代码708来扩展所识别的FB配置代码元件。这些一个或多个其他FB配置代码元件然后经过动作806处理,并且将通过执行动作808被直接映射到一个或多个APE。在动作810中,增强型后端编译器存储在动作808中识别的映射以用于动作814中的后续处理。在动作812中,增强型后端编译器确定是否存在在动作802识别的该组FB配置代码元件的未处理成员。如果存在,则增强型后端编译器执行动作806以识别该组FB配置代码元件的下一未处理成员。否则,增强型编译器执行动作814。在动作814中,增强型后端编译器编译无线电应用组件并且包括与包括在动作810中存储的映射中的APE相关联的一组目标平台FB。在执行动作814之后,函数块扩展过程800结束。在动作818中,增强型后端编译器确定正在被编译的无线电应用组件由于缺少对所识别的FB配置代码的支持而与目标平台不兼容,并且函数块扩展过程800结束。本文公开的至少一个实施例执行函数块压缩过程,例如,图9所示的函数块压缩过程900。函数块压缩过程900可以由诸如上面参考图5描述的增强型后端编译器514之类的增强型后端编译器执行。函数块压缩过程900可以作为被设计为创建目标无线电计算机例如,无线电计算机500的目标硬件平台的可执行无线电应用组件的整体编译过程的一部分来执行。由函数块压缩过程900执行的动作共同生成针对目标无线电计算机的目标硬件平台定制的可执行代码。与例如经由中间件执行的代码相比,该定制的可执行代码由目标无线电计算机更高效地执行。如图9所示,函数块压缩过程900在动作902中开始,其中增强型后端编译器识别包括在无线电应用组件内的一组FB代码元素例如,FB配置代码元件702和704。在一些实施例中,增强型后端编译器通过解析并遍历无线电应用组件的配置代码来识别该组FB配置代码元件。在动作904中,增强型后端编译器识别能够由目标无线电计算机执行的无线电虚拟机例如,无线电虚拟机506内的一组APE。这些APE中的至少一些APE抽象化无线电计算机的一个或多个硬件元件例如,硬件元件504。此外,这些APE中的至少一些APE与能够由无线电计算机的处理元件中的一个或多个处理元件执行的目标平台FB例如,目标平台FB710A至710M相关联。在一些实施例中,增强型后端编译器存取描述无线电虚拟机的配置信息以识别可用的一组APE和或存取无线电本机库以识别与可用的一组APE相关联的目标平台FB。此外,在一些实施例中,在动作904内,增强型后端编译器构建函数块层级,例如,上面参考图7描述的函数块层级700。在动作906中,增强型后端编译器从在上面的动作902中识别的该组FB配置代码元件中识别下一未处理的FB配置代码元件例如,与目标平台FB710A相关联的FB配置代码元件。在动作908中,增强型后端编译器确定所识别的FB配置代码元件是否可以利用一个或多个其他FB配置代码元件例如,与目标平台FB710B至710M相关联的FB配置代码元件进行压缩以生成能够由更高级别的APE执行的更高级别的FB配置代码元件例如,与目标平台FB708相关联的FB配置代码元件。例如,在一个实施例中,增强型后端编译器通过尝试从在动作904中识别的该组APE中识别可以执行所识别的FB配置代码元件和一个或多个其他未处理FB配置代码元件的一个APE来做出该确定。在函数块图可用的情况下,增强型后端编译器通过在函数块图内识别与所识别的FB配置代码元件相对应的目标平台FB,确定目标平台FB是否具有父级,并且确定父级是否能够由在动作904中识别的APE执行来确定FB配置代码元件是否可以被压缩。如果增强型后端编译器确定FB配置代码元件可以被压缩,则增强型后端编译器执行动作910。否则,增强型后端编译器执行动作916。在动作910中,增强型后端编译器为了动作914中的后续处理而存储识别APE、所识别的FB配置代码元件以及在908中识别的一个或多个其他未处理的FB配置代码元件的压缩映射。在动作912中,增强型后端编译器确定在动作902中识别的该组FB配置代码元件的未处理成员是否存在。如果存在,则增强型后端编译器执行动作906以识别该组FB配置代码元件的下一未处理成员。否则,增强型编译器执行动作914。在动作916中,增强型后端编译器确定所识别的FB配置代码元件是否直接映射到例如,能够由其执行在动作904中识别的该组APE内的APE中的一个APE。如果是,则增强型后端编译器执行动作920。否则,增强型编译器执行动作918。在动作920中,增强型后端编译器为了动作914中的后续处理而存储识别APE和所识别的FB配置代码元件的直接映射。在动作914中,增强型后端编译器编译无线电应用组件并且包括与包括在动作910和920中存储的映射中的APE相关联的一组目标平台FB。作为该编译过程的一部分,在一些实施例中,增强型后端编译器用在动作910中存储的映射中识别的更高级别的FB配置代码元件来替换压缩的FB配置代码元件。在执行动作914之后,函数块压缩过程900结束。在动作918中,增强型后端编译器确定正在被编译的无线电应用组件由于缺少对所识别的FB配置代码的支持而与目标平台不兼容,并且函数块压缩过程900结束。过程800和900各自描绘特定示例中的一个特定动作序列。包括在这些过程中的动作可以通过或使用如本文讨论的特别配置的一个或多个计算设备来执行。一些动作是可选的,并且因此可以根据一个或多个示例被省略。另外,在不脱离本文讨论的系统和方法的范围的情况下,可以改变动作的次序,或者可以添加其他动作。计算设备图10示出了可以用于实现如本文描述的各种组件的计算设备1000。如图所示,计算设备1000包括存储器1002、至少一个处理器1004和至少一个接口1006。尽管这些组件的特定类型和型号可以在计算设备之间变化,但是应该理解,每个计算设备包括处理器、存储器和接口。接口1006包括一个或多个物理接口设备,例如,输入设备、输出设备和组合输入输出设备以及被配置为驱动设备的操作的软件栈。接口设备可以接收输入或提供输出。更特别地,输出设备可以显现用于外部呈现的信息,并且输入设备可以从外部源接受信息或生成信息。接口设备的示例包括键盘、鼠标设备、轨迹球、麦克风、触摸屏、打印设备、显示屏、扬声器、网络接口卡、环境传感器等。接口设备允许可编程设备与外部实体例如,用户和其他系统交换信息并进行通信。存储器1002包括能够由处理器1004读取和或写入的易失性和或非易失性即,非暂时性或非瞬态数据存储装置。存储器1002存储在处理器1000的操作期间使用或操纵的程序和数据。存储在存储器1002中的程序是能够由至少一个处理器1004执行的一系列指令。存储器1002可以包括相对高性能的数据存储装置,例如,寄存器、高速缓存、动态随机存取存储器和静态存储器。存储器1002还可以包括相对低性能的非易失性计算机可读和或可写数据存储介质,例如,闪速存储器或者光盘或磁盘。各种实施例可以将存储器1002组织成特殊化的并且在一些情况下独特的结构,用于存储支持本文公开的组件的数据。这些数据结构可以专门配置以节省存储空间或增加数据交换性能,并且可以调整大小且被组织为存储特定数据和数据类型的值。为了在一些实施例中实现和或控制专用组件,处理器1004执行产生被操纵的数据的一系列指令即,一个或多个程序。处理器1004可以是本领域已知的任何类型的处理器、多处理器、微处理器或控制器。处理器1004经由诸如总线或一些其他数据连接之类的互连机制连接到存储器1002和接口1006并与存储器1002和接口1006传送数据。该互连机制在图10中通过连接计算设备内的组件的线来表示。在操作中,处理器1004使数据和或编码指令从存储器1002中的非易失性数据存储介质被读取并且被写入高性能数据存储装置。处理器1004操纵数据和或执行高性能数据存储装置内的编码指令并且在处理完成后将经操纵的数据复制到数据存储介质。虽然计算设备1000作为能够执行本文公开的过程的计算设备的示例而示出,但是实施例不限于图10中示出的计算设备。例如,各种过程可以由具有与图10中所示的不同的架构或组件的一个或多个计算设备执行。例如,可编程设备可以包括特别编程的专用硬件,例如,专用集成电路ASIC、现场可编程门阵列FPGA、复杂可编程逻辑器件CPLD以及定制用于执行本文公开的过程的其他硅实现方式或其他硬件。因此,如本文公开的计算设备的组件可以以软件、硬件、固件或其任何组合来实现。例如,如上面描述的,处理器1004可以是通用处理器。然而,当执行如本文描述的特定软件过程时例如,如图4、图8和或图9中的任一个描绘的,处理器1004变成专用处理器,其能够基于接收到的输入数据做出特定的基于逻辑的确定并且还能够提供可以用于控制或以其他方式通知要由处理器1004和或处理器1004与之通信地耦合的其他处理器或电路执行的后续处理的一个或多个输出。处理器1004以特定的方式对特定的输入激励做出反应,并基于该输入激励生成对应的输出。在这个意义上,根据一个实施例的处理器1004的结构由图4、图8和或图9中的任一个所示的过程来定义。此外,在一些示例情况下,处理器1004继续进行逻辑转换序列,其中各种内部寄存器状态和或处理器1004内部或外部的其他位单元状态可以被设置为逻辑高或逻辑低。该特定逻辑转换序列由去往处理器1004的电输入信号的状态确定,并且处理器1004在执行图4、图8和或图9中所示的过程的每个软件指令时高效地采取专用结构。具体而言,这些指令预期要接收各种激励并且相应地改变所涉及的存储器状态。以这种方式,处理器1004可以生成并存储或以其他方式提供有用的输出信号。因此,可以认识到,处理器1004在软件过程的执行期间成为专用机器,能够仅处理特定的输入信号并且基于在每个指令的执行期间执行的一个或多个逻辑操作来显现特定的输出信号。在至少一些示例中,处理器1004被配置为执行这样的功能:其中软件被存储在与处理器1004耦合的数据存储设备例如,存储器1002中,并且软件被配置为使处理器1004继续进行导致该功能被执行的各种逻辑操作的序列。另外的示例实施例除了蜂窝应用之外,针对垂直市场的一些实施例的特定应用包括PMSE节目制作和特殊事件、医疗、健康、手术、汽车、低延迟、无人驾驶飞机等应用。例如,一些实施例针对智能电话重新配置。常规的智能电话应用向最终用户提供新工具或游戏而不改变任何无线电参数。然而,本文公开的至少一些实施例提供了用于引入RadioApp例如,扩展或修改现有无线电特征并为技术、认证和安全需求定义解决方案的应用的框架。这样的RadioApp可以总体优化智能电话的操作和或用于具有特殊需求的特定市场。例如,RadioApp可以用于响应于在网络侧上新特征的引入而总体优化智能电话的操作。可以识别最佳配置例如,新的功率高效调制和编码方案等以满足功率效率、可预测的QoS以及其他要求。RadioApp还可以针对特定的工业环境优化智能电话。除了提供附加模块之外,本文公开的实施例允许在足够的计算资源可用的情况下替换整个RAT。其他实施例针对汽车应用。这些实施例可以与包括车辆对车辆V2V、车辆对基础设施V2I等的车辆对万物V2X通信结合使用。在该领域中由实施例解决的挑战包括安全和过时,其中无线电通信组件必须在车辆的整个寿命时间期间即,10年及以上保持相关且安全。为了解决过时问题,本文公开的实施例使得制造商能够替换特定的软件,同时维持功率高效的产品并且因此维持相关的特征设置最新而不需要改变硬件。为了解决安全问题,本文公开的实施例可以用于绕过出现漏洞的先前设计的组件。出于这个原因,用一些计算可重新配置的资源例如,FPGA资源、DSP资源、存储器资源等补充原始设计例如,基于ASIC的设计是足够的。一旦在原始组件之一例如,加密解密模块中检测到漏洞,则该组件被去激活并且由更新的设计替换以在可重新配置的FPGSDSP等资源上执行。这种更新的设计典型地作为软件组件提供,该软件组件与制造商提供的API相结合,该API将新组件与要被替换的组件的输入输出链接。其他实施例针对物联网应用。这些实施例可以与5G网络结合使用,以便为游戏、语音通信、医疗应用、工业自动化等提供所需的灵活性。这些垂直应用中的每一个在特征、形状因子等方面都具有其特定需求。由于需要大量可能的配置,制造商不太可能为垂直应用中的每一个提供定制的组件。相反,使有限数量的通用且可重新配置的组件可用,这些组件通过软件组件而适当地针对目标市场定制。本文公开的实施例可以用于针对特定目标平台定制这些软件组件以节省功率并提高计算效率和整体设备性能。以下实例涉及另外的实施例,其中许多变换和配置将是显而易见的。示例1是包括存储器和耦合到存储器的至少一个处理器的计算设备。该至少一个处理器被配置为:接收包括执行函数的一个或多个无线电虚拟机函数调用的软件组件;识别执行软件组件的目标平台,目标平台包括被配置为执行函数的一个或多个硬件处理元件;确定一个或多个无线电虚拟机函数调用对不同于一个或多个硬件处理元件的硬件处理元件进行调用;以及用对执行函数的一个或多个硬件处理元件进行调用的一个或多个目标平台函数调用来替换一个或多个无线电虚拟机函数调用。示例2包括示例1的主题,其中,一个或多个无线电虚拟机函数调用包括单个无线电虚拟机函数调用,一个或多个目标平台函数调用包括多个目标平台函数调用,并且该至少一个处理器还被配置为将单个无线电虚拟机函数调用扩展到多个目标平台函数调用中。示例3包括示例2的主题,其中,该至少一个处理器被配置为至少部分地通过以下操作来扩展单个无线电虚拟机函数调用:识别执行函数的单个目标平台函数调用;识别单个目标平台函数调用与多个目标平台函数调用之间的关联;以及用多个目标平台函数调用来替换单个无线电虚拟机函数调用。示例4包括示例3的主题,其中,存储器存储将单个目标平台函数调用与多个目标平台函数调用进行关联的层级,并且该至少一个处理器被配置为至少部分地通过存取层级来识别关联。示例5包括示例1至4中任一个的主题,其中,一个或多个无线电虚拟机函数调用包括多个无线电虚拟机函数调用,一个或多个目标平台函数调用包括单个目标平台函数调用,并且该至少一个处理器还被配置为将多个无线电虚拟机函数调用压缩到单个目标平台函数中。示例6包括示例5的主题,其中,该至少一个处理器被配置为至少部分地通过以下操作来压缩多个无线电虚拟机函数调用:识别共同执行函数的多个目标平台函数调用;识别多个目标平台函数调用与单个目标平台函数调用之间的关联;以及用单个目标平台函数调用来替换多个无线电虚拟机函数调用。示例7包括示例6的主题,其中,存储器存储将多个目标平台函数调用与单个目标平台函数调用进行关联的层级,并且该至少一个处理器被配置为至少部分地通过存取层级来识别关联。示例8包括示例1至7中任一个的主题,其中,该函数是快速傅立叶变换。示例9包括示例1至8中任一个的主题,其中,该至少一个处理器还被配置为至少部分地通过存取目标平台的无线电本机库来识别一个或多个目标平台函数调用。示例10包括示例1至9中任一个的主题,其中,计算设备包括无线电计算机。示例11包括示例1至10中任一个的主题,其中,计算设备是包括天线、触摸屏以及扬声器的智能电话。示例12是使软件适于目标平台的方法。该方法包括:接收包括执行函数的一个或多个无线电虚拟机函数调用的软件组件;识别执行软件组件的目标平台,目标平台包括被配置为执行函数的一个或多个硬件处理元件;确定一个或多个无线电虚拟机函数调用对不同于一个或多个硬件处理元件的硬件处理元件进行调用;以及用对执行函数的一个或多个硬件处理元件进行调用的一个或多个目标平台函数调用来替换一个或多个无线电虚拟机函数调用。示例13包括示例12的主题,其中,一个或多个无线电虚拟机函数调用包括单个无线电虚拟机函数调用,一个或多个目标平台函数调用包括多个目标平台函数调用,并且该方法还包括将单个无线电虚拟机函数调用扩展到多个目标平台函数调用中。示例14包括示例13的主题,其中,扩展单个无线电虚拟机函数调用包括:识别执行函数的单个目标平台函数调用;识别单个目标平台函数调用与多个目标平台函数调用之间的关联;以及用多个目标平台函数调用来替换单个无线电虚拟机函数调用。示例15包括示例14的主题,其中,识别关联包括存取存储在存储器中的、将多个目标平台函数调用与单个目标平台函数调用进行关联的层级。示例16包括示例12至15中任一个的主题,其中,一个或多个无线电虚拟机函数调用包括多个无线电虚拟机函数调用,一个或多个目标平台函数调用包括单个目标平台函数调用,并且该方法还包括将多个无线电虚拟机函数调用压缩到单个目标平台函数调用中。示例17包括示例16的主题,其中,压缩多个无线电虚拟机函数调用包括:识别共同执行函数的多个目标平台函数调用;识别多个目标平台函数调用与单个目标平台函数调用之间的关联;以及用单个目标平台函数调用来替换多个无线电虚拟机函数调用。示例18包括示例17的主题,其中,识别关联包括存取存储在存储器中的、将单个目标平台函数调用与多个目标平台函数调用进行关联的层级。示例19包括示例12至18中任一个的主题,其中,接收软件组件包括接收包括执行快速傅立叶变换的一个或多个无线电虚拟机函数调用的软件组件。示例20包括示例12至19中任一个的主题,还包括至少部分地通过存取目标平台的无线电本机库来识别一个或多个目标平台函数调用。示例21包括示例12至20中任一个的主题,其中,识别目标平台包括识别无线电计算机。示例22是编码有指令的非暂时性计算机可读介质,该指令在由一个或多个处理器执行时引起使软件适于要执行的目标平台的过程。该过程包括:接收包括执行函数的一个或多个无线电虚拟机函数调用的软件组件;识别执行软件组件的目标平台,目标平台包括被配置为执行函数的一个或多个硬件处理元件;确定一个或多个无线电虚拟机函数调用对不同于一个或多个硬件处理元件的硬件处理元件进行调用;以及用对执行函数的一个或多个硬件处理元件进行调用的一个或多个目标平台函数调用来替换一个或多个无线电虚拟机函数调用。示例23包括示例22的主题,其中,一个或多个无线电虚拟机函数调用包括单个无线电虚拟机函数调用,一个或多个目标平台函数调用包括多个目标平台函数调用,并且该过程还包括将单个无线电虚拟机函数调用扩展到多个目标平台函数调用中。示例24包括示例23的主题,其中,扩展单个无线电虚拟机函数调用包括:识别执行函数的单个目标平台函数调用;识别单个目标平台函数调用与多个目标平台函数调用之间的关联;以及用多个目标平台函数调用来替换单个无线电虚拟机函数调用。示例25包括示例24的主题,其中,存储器存储层级并且识别关联包括存取该层级。示例26包括示例22至25中任一个的主题,其中,一个或多个无线电虚拟机函数调用包括多个无线电虚拟机函数调用,一个或多个目标平台函数调用包括单个目标平台函数调用,并且该过程还包括将多个无线电虚拟机函数调用压缩到单个目标平台函数调用中。示例27包括示例26的主题,其中,压缩多个无线电虚拟机函数调用包括:识别共同执行函数的多个目标平台函数调用;识别多个目标平台函数调用与单个目标平台函数调用之间的关联;以及用单个目标平台函数调用来替换多个无线电虚拟机函数调用。示例28包括示例27的主题,其中,存储器存储将单个目标平台函数调用与多个目标平台函数调用进行关联的层级,并且识别关联包括存取该层级。示例29包括示例22至28中任一个的主题,其中,接收软件组件包括接收包括执行快速傅立叶变换的一个或多个无线电虚拟机函数调用的软件组件。示例30包括示例22至29中任一个的主题,还包括至少部分地通过存取目标平台的无线电本机库来识别一个或多个目标平台函数调用。示例31包括示例22至30中任一个的主题,其中,识别目标平台包括识别无线电计算机。本文使用的术语和表达方式用作描述性术语而不是限制性术语,并且在使用这样的术语和表达方式时,不旨在排除所示出和描述的特征的任何等同物或者其部分,并且认识到在权利要求的范围内的各种修改是可能的。因此,权利要求旨在涵盖所有这些等同物。本文已经描述了各种特征、方面和实施例。如本领域技术人员理解的,特征、方面和实施例易于彼此组合以及进行变化和修改。因此,本公开应被认为包含这样的组合、变化和修改。旨在本公开的范围不限于具体实施方式,而是由所附权利要求来限定。要求本申请的优先权的未来提交的申请可以以不同方式要求保护所公开的主题,并且一般可以包括如本文不同地公开或以其他方式演示的一个或多个元素的任何集合。另外,虽然本说明书的大部分说明了包括增强型编译器和增强型后端编译器的实施例,这些增强型编译器和增强型后端编译器布置在执行由增强型编译器和增强型后端编译器编译的软件组件的设备上,但是本文公开的实施例不限于该配置。在其他实施例中,增强型编译器和增强型后端编译器布置在与执行软件组件的设备不同并且在一些实例中与执行软件组件的设备远离的设备上并且由其执行。

权利要求:1.一种计算设备,包括:存储器;以及至少一个处理器,其耦合到所述存储器并且被配置为:接收包括执行函数的一个或多个无线电虚拟机函数调用的软件组件;识别执行所述软件组件的目标平台,所述目标平台包括被配置为执行所述函数的一个或多个硬件处理元件;确定所述一个或多个无线电虚拟机函数调用对不同于所述一个或多个硬件处理元件的硬件处理元件进行调用;以及用对执行所述函数的所述一个或多个硬件处理元件进行调用的一个或多个目标平台函数调用来替换所述一个或多个无线电虚拟机函数调用。2.根据权利要求1所述的计算设备,其中,所述一个或多个无线电虚拟机函数调用包括单个无线电虚拟机函数调用,所述一个或多个目标平台函数调用包括多个目标平台函数调用,并且所述至少一个处理器还被配置为将所述单个无线电虚拟机函数调用扩展到所述多个目标平台函数调用中。3.根据权利要求2所述的计算设备,其中,所述至少一个处理器被配置为至少部分地通过以下操作来扩展所述单个无线电虚拟机函数调用:识别执行所述函数的单个目标平台函数调用;识别所述单个目标平台函数调用与所述多个目标平台函数调用之间的关联;以及用所述多个目标平台函数调用来替换所述单个无线电虚拟机函数调用。4.根据权利要求3所述的计算设备,其中,所述存储器存储将所述单个目标平台函数调用与所述多个目标平台函数调用进行关联的层级,并且所述至少一个处理器被配置为至少部分地通过存取所述层级来识别所述关联。5.根据权利要求1所述的计算设备,其中,所述一个或多个无线电虚拟机函数调用包括多个无线电虚拟机函数调用,所述一个或多个目标平台函数调用包括单个目标平台函数调用,并且所述至少一个处理器还被配置为将所述多个无线电虚拟机函数调用压缩到所述单个目标平台函数中。6.根据权利要求5所述的计算设备,其中,所述至少一个处理器被配置为至少部分地通过以下操作来压缩所述多个无线电虚拟机函数调用:识别共同执行所述函数的多个目标平台函数调用;识别所述多个目标平台函数调用与所述单个目标平台函数调用之间的关联;以及用所述单个目标平台函数调用来替换所述多个无线电虚拟机函数调用。7.根据权利要求6所述的计算设备,其中,所述存储器存储将所述多个目标平台函数调用与所述单个目标平台函数调用进行关联的层级,并且所述至少一个处理器被配置为至少部分地通过存取所述层级来识别所述关联。8.根据权利要求1所述的计算设备,其中,所述函数是快速傅立叶变换。9.根据权利要求1至8中任一项所述的计算设备,其中,所述至少一个处理器还被配置为至少部分地通过存取所述目标平台的无线电本机库来识别所述一个或多个目标平台函数调用。10.根据权利要求1所述的计算设备,其中,所述计算设备包括无线电计算机。11.根据权利要求1所述的计算设备,其中,所述计算设备是包括天线、触摸屏以及扬声器的智能电话。12.一种使软件适于目标平台的方法,所述方法包括:接收包括执行函数的一个或多个无线电虚拟机函数调用的软件组件;识别执行所述软件组件的所述目标平台,所述目标平台包括被配置为执行所述函数的一个或多个硬件处理元件;确定所述一个或多个无线电虚拟机函数调用对不同于所述一个或多个硬件处理元件的硬件处理元件进行调用;以及用对执行所述函数的所述一个或多个硬件处理元件进行调用的一个或多个目标平台函数调用来替换所述一个或多个无线电虚拟机函数调用。13.根据权利要求12所述的方法,其中,所述一个或多个无线电虚拟机函数调用包括单个无线电虚拟机函数调用,所述一个或多个目标平台函数调用包括多个目标平台函数调用,并且所述方法还包括将所述单个无线电虚拟机函数调用扩展到所述多个目标平台函数调用中。14.根据权利要求13所述的方法,其中,扩展所述单个无线电虚拟机函数调用包括:识别执行所述函数的单个目标平台函数调用;识别所述单个目标平台函数调用与所述多个目标平台函数调用之间的关联;以及用所述多个目标平台函数调用来替换所述单个无线电虚拟机函数调用。15.根据权利要求14所述的方法,其中,识别所述关联包括存取存储在存储器中的、将所述单个目标平台函数调用与所述多个目标平台函数调用进行关联的层级。16.根据权利要求12所述的方法,其中,所述一个或多个无线电虚拟机函数调用包括多个无线电虚拟机函数调用,所述一个或多个目标平台函数调用包括单个目标平台函数调用,并且所述方法还包括将所述多个无线电虚拟机函数调用压缩到所述单个目标平台函数调用中。17.根据权利要求16所述的方法,其中,压缩所述多个无线电虚拟机函数调用包括:识别共同执行所述函数的多个目标平台函数调用;识别所述多个目标平台函数调用与所述单个目标平台函数调用之间的关联;以及用所述单个目标平台函数调用来替换所述多个无线电虚拟机函数调用。18.根据权利要求17所述的方法,其中,识别所述关联包括存取存储在存储器中的、将所述多个目标平台函数调用与所述单个目标平台函数调用进行关联的层级。19.根据权利要求12至18中任一项所述的方法,还包括至少部分地通过存取所述目标平台的无线电本机库来识别所述一个或多个目标平台函数调用。20.一种计算设备,包括:用于接收包括执行函数的一个或多个无线电虚拟机函数调用的软件组件的单元;用于识别执行所述软件组件的目标平台的单元,所述目标平台包括被配置为执行所述函数的一个或多个硬件处理元件;用于确定所述一个或多个无线电虚拟机函数调用对不同于所述一个或多个硬件处理元件的硬件处理元件进行调用的单元;以及用于用对执行所述函数的所述一个或多个硬件处理元件进行调用的一个或多个目标平台函数调用来替换所述一个或多个无线电虚拟机函数调用的单元。21.根据权利要求20所述的计算设备,其中,所述一个或多个无线电虚拟机函数调用包括单个无线电虚拟机函数调用,所述一个或多个目标平台函数调用包括多个目标平台函数调用,并且所述计算设备还包括用于将所述单个无线电虚拟机函数调用扩展到所述多个目标平台函数调用中的单元。22.根据权利要求21所述的计算设备,其中,用于扩展所述单个无线电虚拟机函数调用的单元包括:用于识别执行所述函数的单个目标平台函数调用的单元;用于识别所述单个目标平台函数调用与所述多个目标平台函数调用之间的关联的单元;以及用于用所述多个目标平台函数调用来替换所述单个无线电虚拟机函数调用的单元。23.根据权利要求22所述的计算设备,其中,用于识别所述关联的单元包括用于存取存储在存储器中的、将所述单个目标平台函数调用与所述多个目标平台函数调用进行关联的层级的单元。24.根据权利要求20所述的计算设备,其中,所述一个或多个无线电虚拟机函数调用包括多个无线电虚拟机函数调用,所述一个或多个目标平台函数调用包括单个目标平台函数调用,并且所述计算设备还包括用于将所述多个无线电虚拟机函数调用压缩到所述单个目标平台函数调用中的单元。25.根据权利要求24所述的计算设备,其中,用于压缩所述多个无线电虚拟机函数调用的单元包括:用于识别共同执行所述函数的多个目标平台函数调用的单元;用于识别所述多个目标平台函数调用与所述单个目标平台函数调用之间的关联的单元;以及用于用所述单个目标平台函数调用来替换所述多个无线电虚拟机函数调用的单元。26.根据权利要求20至25中任一项所述的计算设备,还包括用于至少部分地通过存取所述目标平台的无线电本机库来识别所述一个或多个目标平台函数调用的单元。

百度查询: 英特尔公司 软件可重新配置的移动设备和方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。