Method and apparatus for register spill minimization
    61.
    发明授权
    Method and apparatus for register spill minimization 有权
    寄存器泄漏最小化的方法和装置

    公开(公告)号:US08893104B2

    公开(公告)日:2014-11-18

    申请号:US13409852

    申请日:2012-03-01

    IPC分类号: G06F9/45

    CPC分类号: G06F8/441

    摘要: The aspects enable a computing device to allocate memory space to variables during runtime compilation of a software application. A compiler may be modified to identify operations that can be performed on either a main pipe or an alternative pipe, identify chains of related operations that can be performed on either the main pipe or the alternative pipe, identify points in the execution of code at which the number of live values will exceed the number of registers, and choosing a chain of operations as a candidate to be moved to the alternative pipe in order to reduce the number of live values at identified points in the execution of code. The entire chosen chain of operations may be moved to the alternative pipe. The alternative pipe may perform the computations and return the results to the main pipe for execution.

    摘要翻译: 这些方面使计算设备能够在软件应用程序的运行时编译期间向存储空间分配内存空间。 可以修改编译器以识别可以在主管道或替代管道上执行的操作,识别可以在主管道或备用管道上执行的相关操作的链路,识别执行代码的点,其中 实时值的数量将超过寄存器的数量,并选择一连串的操作作为替代管道的候选者,以便减少执行代码中识别点的实时值的数量。 整个选择的操作链可以移动到替代管道。 替代管道可以执行计算,并将结果返回到主管道执行。

    Method and apparatus for enregistering memory locations
    62.
    发明授权
    Method and apparatus for enregistering memory locations 有权
    用于记录存储器位置的方法和装置

    公开(公告)号:US08726248B2

    公开(公告)日:2014-05-13

    申请号:US12138088

    申请日:2008-06-12

    IPC分类号: G06F9/45 G06F9/455 G06F12/00

    摘要: One embodiment of the present invention provides a system that improves program performance by enregistering memory locations. During operation, the system receives program object code which has been generated to use a specified number of registers that are available for a given target hardware implementation. Next, the system translates this object code to execute on a second hardware implementation which includes more registers than the first hardware implementation. The system uses these additional registers to improve the performance of the translated object code for the second hardware implementation. More specifically, the system identifies a memory access in the object code, and then rewrites an instruction associated with this memory access to access an available register instead of the original target memory location. To preserve program semantics, the system subsequently moderates accesses to the memory location to ensure that no threads access a stale value in the enregistered memory location.

    摘要翻译: 本发明的一个实施例提供了一种通过注册存储器位置来改进程序性能的系统。 在操作期间,系统接收已经生成的程序对象代码,以使用可用于给定目标硬件实现的指定数量的寄存器。 接下来,系统将该目标代码转换为在第二硬件实现上执行,该第二硬件实现包括比第一硬件实现更多的寄存器。 系统使用这些附加寄存器来提高第二个硬件实现的转换目标代码的性能。 更具体地,系统识别目标代码中的存储器访问,然后重写与该存储器访问相关联的指令以访问可用寄存器而不是原始目标存储器位置。 为了保存程序语义,系统随后缓和对存储器位置的访问,以确保没有线程访问注册内存位置中的陈旧值。

    METHOD AND APPARATUS FOR AVOIDING REGISTER INTERFERENCE
    63.
    发明申请
    METHOD AND APPARATUS FOR AVOIDING REGISTER INTERFERENCE 有权
    避免注册干扰的方法和装置

    公开(公告)号:US20130198728A1

    公开(公告)日:2013-08-01

    申请号:US13358863

    申请日:2012-01-26

    IPC分类号: G06F9/45

    CPC分类号: G06F8/441

    摘要: The aspects enable a computing device to allocate memory space to variables during runtime compilation of a software application. A first variable associated with a code segment within code being compiled may be identified and assigned a priority tag. A second variable associated with another code segment within the code being compiled may also be assigned a priority tag. A determination may be made regarding whether the first and second variables are contemporaneously live during execution, and whether legal storage location sets for the first and second variables overlap. The assigned priority tags may be used for assigning storage locations to the first and second variables based on the determination.

    摘要翻译: 这些方面使计算设备能够在软件应用程序的运行时编译期间向存储空间分配内存空间。 可以识别与正在编译的代码内的代码段相关联的第一变量并分配优先级标签。 与正在编译的代码中的另一代码段相关联的第二变量也可以被分配优先级标签。 可以确定第一和第二变量在执行期间是否同时生存,以及第一和第二变量的合法存储位置是否重叠。 分配的优先级标签可以用于基于确定将存储位置分配给第一和第二变量。

    Method and Apparatus For Register Spill Minimization
    64.
    发明申请
    Method and Apparatus For Register Spill Minimization 有权
    寄存器泄漏最小化的方法和装置

    公开(公告)号:US20130198495A1

    公开(公告)日:2013-08-01

    申请号:US13409852

    申请日:2012-03-01

    IPC分类号: G06F9/30

    CPC分类号: G06F8/441

    摘要: The aspects enable a computing device to allocate memory space to variables during runtime compilation of a software application. A compiler may be modified to identify operations that can be performed on either a main pipe or an alternative pipe, identify chains of related operations that can be performed on either the main pipe or the alternative pipe, identify points in the execution of code at which the number of live values will exceed the number of registers, and choosing a chain of operations as a candidate to be moved to the alternative pipe in order to reduce the number of live values at identified points in the execution of code. The entire chosen chain of operations may be moved to the alternative pipe. The alternative pipe may perform the computations and return the results to the main pipe for execution.

    摘要翻译: 这些方面使计算设备能够在软件应用程序的运行时编译期间向存储空间分配内存空间。 可以修改编译器以识别可以在主管道或替代管道上执行的操作,识别可以在主管道或备用管道上执行的相关操作的链路,识别执行代码的点,其中 实时值的数量将超过寄存器的数量,并选择一连串的操作作为替代管道的候选者,以便减少执行代码中识别点的实时值的数量。 整个选择的操作链可以移动到替代管道。 替代管道可以执行计算,并将结果返回到主管道执行。

    EGRESS BASED MAP REGION CLASSIFICATION
    65.
    发明申请
    EGRESS BASED MAP REGION CLASSIFICATION 审中-公开
    基于EGRESS的地图区域分类

    公开(公告)号:US20130102334A1

    公开(公告)日:2013-04-25

    申请号:US13572561

    申请日:2012-08-10

    IPC分类号: G06K9/46 H04W4/02

    摘要: Disclosed are systems, methods and techniques for classifying portions of an area depicted in a digitally encoded map. For example, features in a digitally encoded map may be extracted to identify a component area at least partially bounded by a perimeter formed by structures. One or more egress segments in the perimeter may be identified and characterized. The component area may then be classified based, at least in part, on a proportionality of a length of the egress segment to a size of at least one dimension of the component area.

    摘要翻译: 公开了用于对在数字编码图中描绘的区域的部分进行分类的系统,方法和技术。 例如,可以提取数字编码图中的特征以识别至少部分地由结构形成的周界的边界。 可以识别和表征周边中的一个或多个出口段。 然后可以至少部分地基于出口段的长度与组件区域的至少一个维度的大小的比例来分类组件区域。

    DYNAMIC PARTITIONING FOR HETEROGENEOUS CORES
    66.
    发明申请
    DYNAMIC PARTITIONING FOR HETEROGENEOUS CORES 有权
    用于异位角的动态分割

    公开(公告)号:US20130080805A1

    公开(公告)日:2013-03-28

    申请号:US13303841

    申请日:2011-11-23

    IPC分类号: G06F1/32

    摘要: In the various aspects, a virtual machine operating at the machine layer may use power consumption models to partition object code into portions, identify the relative power efficiencies of the mobile device processors for the various code portions, and route the code portions to the mobile device processors that can perform the operations using the least amount of energy. A dynamic binary translator process may translate the object code portions into an instruction set language supported by the hardware component identified as being preferred. The code portions may be executed and the amount of power consumed may be measured, with the measurements used to generate and/or update performance and power consumption models.

    摘要翻译: 在各个方面,在机器层操作的虚拟机可以使用功耗模型来将目标代码分成多个部分,识别各种代码部分的移动设备处理器的相对功率效率,并将代码部分路由到移动设备 处理器可以使用最少量的能量执行操作。 动态二进制转换器过程可以将目标代码部分转换为被识别为优选的硬件组件所支持的指令集语言。 可以执行代码部分并且可以测量消耗的功率量,其中用于生成和/或更新性能和功耗模型的测量结果。

    CONCURRENT PARSING AND PROCESSING OF HTML AND JAVASCRIPT®
    67.
    发明申请
    CONCURRENT PARSING AND PROCESSING OF HTML AND JAVASCRIPT® 有权
    HTML和JAVASCRIPT®的同步分配和处理

    公开(公告)号:US20120290924A1

    公开(公告)日:2012-11-15

    申请号:US13106064

    申请日:2011-05-12

    IPC分类号: G06F17/00

    摘要: The aspects enable a processor to concurrently execute markup language code (e.g., HTML) having embedded scripting language code (e.g., JavaScript®) during a page load operation by a browser. A markup language parser parses markup language code until embedded scripting language code is encountered. The segment of embedded scripting language code is extracted for execution by a scripting language engine which proceeds concurrently with speculative parsing of the markup language code. Markup language code generated by execution of scripting language code is evaluated to determine if it is well formed, and a partial rollback of the markup language parse and re-parsing of portions of the markup language code is accomplished if not. Concurrent parsing of markup language code and execution of scripting language code, with partial roll back of the parsing process when necessary, continues until all markup language code has been parsed and all scripting language code has been executed.

    摘要翻译: 这些方面使处理器能够在浏览器的页面加载操作期间同时执行具有嵌入式脚本语言代码(例如,JavaScript®)的标记语言代码(例如,HTML)。 标记语言解析器解析标记语言代码,直到遇到嵌入式脚本语言代码。 提取嵌入式脚本语言代码段以由与标记语言代码的推测性解析同时进行的脚本语言引擎执行。 评估通过执行脚本语言代码生成的标记语言代码,以确定其是否形成良好,如果不是,则完成标记语言解析和部分标记语言代码的重新解析的部分回滚。 同时解析标记语言代码和执行脚本语言代码,必要时部分回滚解析过程,一直持续到所有标记语言代码已被解析并且所有脚本语言代码都已被执行。

    Proximity-based memory allocation in a distributed memory system
    69.
    发明授权
    Proximity-based memory allocation in a distributed memory system 有权
    分布式存储系统中基于接近度的内存分配

    公开(公告)号:US08150946B2

    公开(公告)日:2012-04-03

    申请号:US11409205

    申请日:2006-04-21

    IPC分类号: G06F15/177

    CPC分类号: H04L67/10 H04L12/00

    摘要: A system and method for allocating the nearest available physical memory in a distributed, shared memory system. In various embodiments, a processor node may broadcast a memory request to a first subset of nodes connected to it via a communication network. In some embodiments, if none of these nodes is able to satisfy the request, the processor node may broadcast the request to additional subsets of nodes. In some embodiments, each node of the first subset of nodes may be removed from the processor node by one network hop and each node of the additional subsets of nodes may be removed from the processor node by no more than an iteratively increasing number of network hops. In some embodiments, the processor node may send an acknowledgment to one node that can fulfill the request and a negative acknowledgement to other nodes that can fulfill the request.

    摘要翻译: 一种用于在分布式共享存储器系统中分配最近的可用物理存储器的系统和方法。 在各种实施例中,处理器节点可以经由通信网络向连接到其的节点的第一子集广播存储器请求。 在一些实施例中,如果这些节点都不能满足该请求,则处理器节点可以将该请求广播到附加的节点子集。 在一些实施例中,节点的第一子集的每个节点可以通过一个网络跳从处理器节点移除,并且可以通过不超过迭代增加的网络跳数来从处理器节点移除附加子节点的每个节点 。 在一些实施例中,处理器节点可以向可以满足请求的一个节点发送确认,并向可以满足该请求的其他节点发送否定的确认。

    Memory protection in a computer system employing memory virtualization
    70.
    发明授权
    Memory protection in a computer system employing memory virtualization 有权
    采用内存虚拟化的计算机系统中的内存保护

    公开(公告)号:US07917710B2

    公开(公告)日:2011-03-29

    申请号:US11446645

    申请日:2006-06-05

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    CPC分类号: G06F12/1475 G06F21/6227

    摘要: The use of a token-based memory protection technique may provide memory protection in a computer system employing memory virtualization. A token-based memory protection technique may include assigning a unique identifier to an application, process, or thread, and associating the identifier with a block of memory allocated to that application, process, or thread. Subsequent to assigning the identifier, a packet requesting access to that block of memory may include a token to be compared to the identifier. A memory controller may be configured to associate the identifier with the block of memory and to compare the token in the memory request packet to the identifier before granting access. If a second block of memory is subsequently allocated to the application, process, or thread, the identifier may be disassociated with the first block of memory and associated with the second block of memory.

    摘要翻译: 使用基于令牌的存储器保护技术可以在采用存储器虚拟化的计算机系统中提供存储器保护。 基于令牌的存储器保护技术可以包括向应用,处理或线程分配唯一标识符,以及将标识符与分配给该应用,处理或线程的存储器块相关联。 在分配标识符之后,请求访问该存储器块的分组可以包括要与标识符进行比较的令牌。 存储器控制器可以被配置为将标识符与存储器块相关联,并且在授予访问之前将存储器请求包中的令牌与标识符进行比较。 如果随后将第二块存储器分配给应用程序,进程或线程,则可以将该标识符与第一存储器块解除关联并与第二存储器块相关联。