当前位置: 首页 > 专利查询>英特尔公司专利>正文

代码执行的灵活加速制造技术

技术编号:11324911 阅读:81 留言:0更新日期:2015-04-22 13:34
用于在计算装置上执行灵活代码加速的技术包括初始化在计算装置上的加速器虚拟装置。计算装置为加速器虚拟装置分配存储器映射的输入和输出(I/O),并且也为要加速的代码分配加速器虚拟装置上下文。计算装置访问要加速的代码的字节码并且确定字节码是否是操作系统相关的字节码。如果不是,则计算装置使用内部二进制转换模块经存储器映射的I/O执行字节码的硬件加速。然而,如果字节码是操作系统相关的,则计算装置执行字节码的软件加速。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】代码执行的灵活加速
技术介绍
各种硬件加速设计用于在最小化功耗的同时改进计算装置的性能。例如,最小化 功耗对于改进电池寿命是至关重要的,该是消费者移动计算装置的关键市场特征之一。取 决于特定细分市场,可实现各种巧片上系统(SoC)技术W实现卓越的每瓦特性能。 然而,硬件加速具有固定的功能性并且相对昂贵和不灵活。传统硬件字节码加速 器使用x86指令集体系结构(ISA)扩展进行访问。因为x86 ISA用于加速,所W此类硬件 加速器可在编码空间、管巧面积和功耗方面效率低。【附图说明】 本文中所述的概念在附图中W示例而非限制的方式示出。为了图示的简明和清晰 起见,图中所示元素不一定按比例画出。在适当之处,标号已在图中重复W指示对应或类似 的元素。 图1是用于加速代码执行的计算装置的至少一个实施例的简化框图; 图2是图1的计算装置的环境的至少一个实施例的简化框图;W及 图3和4是用于在图1的计算装置上加速代码执行的方法的至少一个实施例的简化流 程图。【具体实施方式】 虽然本公开内容易于实现各种修改和备选形式,但其特定实施例已通过附图中的 示例示出并将在本文中详细描述。然而,应理解的是,无意将公开内容的概念限制为公开的 特殊形式,而是与此相反,本专利技术将涵盖与本公开内容和随附权利要求一致的所有修改、等 同物和备选。 说明书中对"一个实施例"、"一实施例"、"说明性实施例"等的引用指示所述实施 例可包括特定特征、结构或特性,但每个实施例可包括或不包括该特定特征、结构或特性。 另外,此类词语不一定指同一实施例。此外,在结合某个实施例描述某个特定特征、结构或 特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领 域技术人员的认知之内。 公开的实施例可在一些情况下W硬件、固件、软件或其任何组合的形式实现。公 开的实施例也可实现为可由一个或多个处理器读和执行的暂时性或非暂时性机器可读(例 如,计算机可读)存储媒体上携带或存储的指令。机器可读存储媒体可实施为用于W机器可 读的形式存储或传送信息的任何存储装置、机制或其它物理结构(例如,易失性或非易失性 存储器、媒体盘或其它媒体装置)。[000引在图中,一些结构或方法特征可W特定布置和/或顺序示出。然而,应领会的是, 此类特定布置和/或顺序可不是必需的。相反,在一些实施例中,此类特征可W与说明性附 图所示不同的方式和/或顺序布置。另外,特定附图中包括的结构或方法无意暗示在所有 实施例中要求此类特征,并且在一些实施例中,此类特征可不被包括或者可与其它特征组 合。 现在参照图1,计算装置100可实施为能够加速代码执行和执行本文中所述功能 的任何类型的计算装置。例如,计算装置100可实施为移动电话、智能电话、平板计算装置、 个人数字助理、消息传递装置、消费者电子装置、手持机、膝上型计算机、台式计算和/或任 何其它计算/通信装置。如图1所示,说明性计算装置100包括处理器102、输入/输出 (I/O)子系统104、存储器106、硬件加速器108、一个或更多个外设装置110及数据存储装 置112。当然,在其它实施例中,计算装置100可包括其它或另外的组件,如通常在计算装置 (例如,各种输入/输出装置)中找到的那些组件。另外,在一些实施例中,一个或更多个说 明性组件可包含在另一组件中,或者另外来自另一组件的一部分。例如,在一些实施例中, 存储器106或其部分可包含在处理器102中。 处理器102可实施为能够执行本文中所述功能的任何类型的处理器。例如,处理 器可实施为单核或多核处理器、数字信号处理器、微控制器或其它处理器或处理/控制电 路。类似地,存储器106可实施为能够执行本文中所述功能的任何类型的易失性或非易失 性存储器。在操作中,存储器106可存储在计算装置100的操作期间使用的各种数据和软 件,如操作系统、应用程序、程序、库及驱动器。存储器106 W通信方式经I/O子系统104禪 合到处理器102,子系统104可实施为电路和/或组件W便于与计算装置100的处理器102、 存储器106和其它组件的输入/输出操作。例如,I/O子系统104可实施为或者另外包括存 储器控制器集线器、输入/输出控制集线器、固件装置、通信链路(即,点到点链路、总线链 路、导线、电缆、光导、印刷电路板迹线等)和/或组件和子系统W便于输入/输出操作。在 一些实施例中,I/O子系统104可形成SoC的一部分,并且与计算装置100的处理器102、存 储器106和其它组件一起包含在单个集成电路巧片上。此外,在一些实施例中,处理器102 包括字节码加速支持114 W加速代码执行。字节码加速支持114可实施为能够加速在处理 器102上执行的一个或更多个指令或字节码的执行并且能够执行本文中所述功能的任何 类型的组件或电路。 硬件加速器108可实施为能够加速与软件应用程序相关联的一个或更多个指令 或字节码的执行并且能够执行本文中所述功能的任何类型的硬件装置或组件。例如,硬件 加速器108可实施为或者另外包括图形加速器、浮点加速器或其它硬件加速器装置。如下 所述,在一些实施例中,硬件加速器108可配置成加速不取决于计算装置100的操作系统 (0巧的代码。在一些实施例中,硬件加速器108可与计算装置100的一个或更多个其它组 件一起形成SoC的一部分。 计算装置100的计算装置110可包括任何数量的外设或接口装置或组件。例如, 外设装置110可包括通信电路W便与远程装置进行通信。外设装置110中包括的特定装置 可例如取决于计算装置100的预期使用。数据存储装置112可实施为配置用于数据的短期 或长期存储的任何类型的装置,如存储器装置和电路、存储器卡、硬盘驱动器、固态驱动器 或其它数据存储装置。 如图2所示,计算装置100可建立用于加速代码的环境200。说明性实施例中的环 境200包括虚拟机202、加速器运行时间库204、0S加速器装置驱动器206、加速器虚拟装置 208及内部动态二进制转换模块210。 虚拟机202可探测计算装置100 W确定计算装置100是否使用例如计算装置100 的现有I/O接口支持加速器虚拟装置208。加速器运行时间库204可实现加速器虚拟装置 208的应用程序编程接口(API)。为此,加速器运行时间库204可允许通过OS加速器装置驱 动器206和通过存储器映射的I/O访问加速器虚拟装置208。如下所述,在一些实施例中, 0S加速器装置驱动器206只用于初始化加速器虚拟装置208。之后,可经存储器映射的1/ 0访问加速器虚拟装置208 W触发代码加速。0S加速器装置驱动器206可用于使用例如标 准操作系统I/O指令初始化加速器虚拟装置208。加速器虚拟装置208可包括内部动态二 进制转换模块210,该模块可用于加速代码执行。在一些实施例中,内部动态二进制转换模 块210通过使用硬件加速器108和/或字节码加速支持114将非ISA代码(例如,DalV化字 节码、JavaScript、HTML5等)透明转换成内部ISA代码来虚拟化加速器虚拟装置208。在 包括本说明性实施例的一些实施例中,内部动态二进制转换模块210在处理器102的内部, 并且对于包括计算装置1本文档来自技高网...

【技术保护点】
一种用于执行灵活代码加速的计算装置,所述计算装置包括:其中存储有多个指令的物理存储器;处理器,用于执行所述多个指令以建立加速器虚拟装置、加速器虚拟装置操作系统驱动器和虚拟机,其中:所述虚拟机将使用所述加速器虚拟装置操作系统驱动器(i)初始化所述加速器虚拟装置以便于软件代码的所述加速,并且(ii)将一部分所述物理存储器分配为存储器映射的输入/输出以便访问所述加速器虚拟装置;以及所述加速器虚拟装置将确定要加速的软件代码的字节码是否是操作系统相关的字节码。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:C王Y吴
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1