Register management in an extended processor architecture
    1.
    发明授权
    Register management in an extended processor architecture 有权
    扩展处理器架构中的注册管理

    公开(公告)号:US09298460B2

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

    申请号:US13305760

    申请日:2011-11-29

    IPC分类号: G06F9/30 G06F9/38

    CPC分类号: G06F9/30123 G06F9/384

    摘要: Systems and methods are disclosed for enhancing the throughput of a processor by minimizing the number of transfers of data associated with data transfer between a register file and a memory stack. The register file used by a processor running an application is partitioned into a number of blocks. A subset of the blocks of the register file is defined in an application binary interface enabling the subset to be pre-allocated and exposed to the application binary interface. Optionally, blocks other than the subset are not exposed to the application binary interface so that the data relating to application function switch or a context switch is not transferred between the unexposed blocks and a memory stack.

    摘要翻译: 公开了用于通过最小化与寄存器文件和存储器堆栈之间的数据传输相关联的数据传送的数量来增强处理器的吞吐量的系统和方法。 运行应用程序的处理器使用的寄存器文件被分割成多个块。 在应用程序二进制接口中定义了寄存器文件块的一个子集,使子集能够被预分配并暴露给应用程序二进制接口。 可选地,除子集之外的块不暴露于应用二进制接口,使得与应用功能切换或上下文切换有关的数据不在未暴露的块和存储器堆之间传送。

    REGISTER MANAGEMENT IN AN EXTENDED PROCESSOR ARCHITECTURE
    2.
    发明申请
    REGISTER MANAGEMENT IN AN EXTENDED PROCESSOR ARCHITECTURE 有权
    扩展处理器架构中的注册管理

    公开(公告)号:US20130138922A1

    公开(公告)日:2013-05-30

    申请号:US13305760

    申请日:2011-11-29

    IPC分类号: G06F9/30 G06F9/38 G06F9/312

    CPC分类号: G06F9/30123 G06F9/384

    摘要: Systems and methods are disclosed for enhancing the throughput of a processor by minimizing the number of transfers of data associated with data transfer between a register file and a memory stack. The register file used by a processor running an application is partitioned into a number of blocks. A subset of the blocks of the register file is defined in an application binary interface enabling the subset to be pre-allocated and exposed to the application binary interface. Optionally, blocks other than the subset are not exposed to the application binary interface so that the data relating to application function switch or a context switch is not transferred between the unexposed blocks and a memory stack.

    摘要翻译: 公开了用于通过最小化与寄存器文件和存储器堆栈之间的数据传输相关联的数据传送的数量来增强处理器的吞吐量的系统和方法。 运行应用程序的处理器使用的寄存器文件被分割成多个块。 在应用程序二进制接口中定义了寄存器文件块的一个子集,使子集能够被预分配并暴露给应用程序二进制接口。 可选地,除子集之外的块不暴露于应用二进制接口,使得与应用功能切换或上下文切换有关的数据不在未暴露的块和存储器堆之间传送。

    CREATING REGISTER DEPENDENCIES TO MODEL HAZARDOUS MEMORY DEPENDENCIES
    3.
    发明申请
    CREATING REGISTER DEPENDENCIES TO MODEL HAZARDOUS MEMORY DEPENDENCIES 审中-公开
    创建与注册机构有关的内容相关依赖的注册机构

    公开(公告)号:US20100058034A1

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

    申请号:US12201445

    申请日:2008-08-29

    申请人: Ayal Zaks

    发明人: Ayal Zaks

    IPC分类号: G06F9/30

    CPC分类号: G06F8/433 G06F8/441

    摘要: A method of transforming low-level programming language code written for execution by a target processor includes receiving data comprising a plurality of low-level programming language instructions ordered for sequential execution by the target processor; detecting a pair of instructions in the plurality of low-level programming language instructions having a memory dependency therebetween; and inserting one or more instructions between the detected pair of instructions in the plurality of low-level programming language instructions having a memory dependency therebetween. The one or more instructions inserted between the detected pair of instructions create a true data dependency on a value stored in an architectural register of the target processor between the detected pair of instructions.

    摘要翻译: 一种用于编写用于由目标处理器执行的低级编程语言代码的方法包括:接收包括由目标处理器顺序执行排序的多个低级编程语言指令的数据; 检测所述多个低级编程语言指令中的一对指令,其间具有存储器依赖性; 以及在所述多个低级编程语言指令中检测到的指令对之间插入一个或多个指令,所述低级编程语言指令之间具有存储器依赖性。 插入在所检测到的指令对之间的一个或多个指令对所检测到的指令对之间的存储在目标处理器的结构寄存器中的值产生真实的数据依赖性。

    Splat copying GPR data to vector register elements by executing lvsr or lvsl and vector subtract instructions
    4.
    发明授权
    Splat copying GPR data to vector register elements by executing lvsr or lvsl and vector subtract instructions 失效
    通过执行lvsr或lvsl和向量减法指令,将GPR数据复制到向量寄存器元素

    公开(公告)号:US07516299B2

    公开(公告)日:2009-04-07

    申请号:US11214348

    申请日:2005-08-29

    IPC分类号: G06F9/315

    CPC分类号: G06F9/30036 G06F9/30032

    摘要: A method for transferring data from a general purpose register (GPR) to a vector register (VR), the method including vectorially combining data in the VR from the GPR, by executing instructions of a PowerPC Instruction Set Architecture (ISA), the step of combining including splatting a low nibble from the GPR into a low nibble in each element of a first VR by executing two “load vector for shift left” (lvsl) or “load vector for shift right” (lvsr) and one “vector subtract unsigned byte modulo” (vsububm), shifting a high nibble of the GPR into a low nibble the GPR, splatting the low nibble of the GPR into a low nibble in each element of a second VR by re-executing the two lvsl or lvsr and one vsububm instructions, shifting the low nibble of the second VR into a high nibble of the second VR and combining both first and second VRs into one VR.

    摘要翻译: 一种用于将数据从通用寄存器(GPR)传送到向量寄存器(VR)的方法,该方法包括通过执行PowerPC指令集架构(ISA)的指令来矢量地组合来自GPR的VR中的数据,步骤 通过执行两个“向左移位的载入矢量”(lvs1)或“向右移位的载荷矢量”(lvsr)和一个“向量减去无符号的”,组合包括将GPR中的低半字节分解成第一VR的每个元素的低半字节 (vsububm),将GPR的高半字节转换为低半字节GPR,通过重新执行两个lvs1或lvsr,将GPR的低半字节分解成第二个VR的每个元素的低半字节 vsububm指令,将第二VR的低半字节移动到第二VR的高半字节,并将第一VR和第二VR组合成一个VR。

    Method for identifying calls in java packages whose targets are guaranteed to belong to the same package
    5.
    发明授权
    Method for identifying calls in java packages whose targets are guaranteed to belong to the same package 有权
    用于识别其目标保证属于同一个包的java包中的调用的方法

    公开(公告)号:US06526571B1

    公开(公告)日:2003-02-25

    申请号:US09270661

    申请日:1999-03-16

    IPC分类号: G06F945

    CPC分类号: G06F9/4491

    摘要: A method and system for identifying calls in a Java package whose targets are guaranteed to belong to the package. According to the method an inheritance graph and access permissions of respective components in the package are determined, both of which are used in combination with the knowledge that the package is seared and signed to determine whether all the targets of a call are guaranteed to belong to the package. The identification of calls according to the invention can be performed at the time the package is sealed and signed or as a separate phase thereafter and allows for better compiler optimization.

    摘要翻译: 用于识别Java包中的呼叫的方法和系统,其目标被保证属于该包。 根据该方法,确定包中相应组件的继承图和访问权限,这两者都与包被被擦除和签名的知识结合使用以确定呼叫的所有目标是否被保证属于 包装。 根据本发明的呼叫的识别可以在封装和签名的时候执行,或者作为单独的阶段,并且允许更好的编译器优化。

    METHOD AND APPARATUS FOR CACHE OCCUPANCY DETERMINATION AND INSTRUCTION SCHEDULING
    6.
    发明申请
    METHOD AND APPARATUS FOR CACHE OCCUPANCY DETERMINATION AND INSTRUCTION SCHEDULING 审中-公开
    高速缓存的确定方法和装置及指导性调度

    公开(公告)号:US20150089139A1

    公开(公告)日:2015-03-26

    申请号:US14035231

    申请日:2013-09-24

    IPC分类号: G06F12/08

    摘要: An apparatus and method for determining whether data needed for one or more operations is stored in a cache and scheduling the operations for execution based on the determination. For example, one embodiment of a processor comprises: a hierarchy of cache levels for caching data including at least a level 1 (L1) cache; cache occupancy determination logic to determine whether data associated with one or more subsequent operations is stored in one of the cache levels; and scheduling logic to schedule execution of the subsequent operations based on the determination of whether data associated with the subsequent operations is stored in the cache levels.

    摘要翻译: 一种用于确定一个或多个操作所需的数据是否存储在高速缓存中的装置和方法,并且基于该确定来调度用于执行的操作。 例如,处理器的一个实施例包括:高速缓存级别的层级,用于缓存包括至少第1级(L1)高速缓存的数据; 高速缓存占用确定逻辑,用于确定与一个或多个后续操作相关联的数据是否存储在所述高速缓存级别之一中; 以及调度逻辑,以基于确定与后续操作相关联的数据是否存储在高速缓存级别来调度后续操作的执行。

    Architecture-aware field affinity estimation
    7.
    发明授权
    Architecture-aware field affinity estimation 失效
    架构感知场相关性估计

    公开(公告)号:US08359291B2

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

    申请号:US12795769

    申请日:2010-06-08

    IPC分类号: G06F17/30

    摘要: A data layout optimization may utilize affinity estimation between pairs of fields of a record in a computer program. The affinity estimation may be determined based on a trace of an execution and in view of actual processing entities performing each access to the fields. The disclosed subject matter may be configured to be aware of a specific architecture of a target computer having a plurality of processing entities, executing the program so as to provide an improved affinity estimation which may take into account both false sharing issues, spatial locality improvement and the like.

    摘要翻译: 数据布局优化可以利用计算机程序中的记录对的字段之间的亲和度估计。 可以基于执行的跟踪以及执行对字段的每次访问的实际处理实体来确定亲和度估计。 所公开的主题可以被配置为意识到具有多个处理实体的目标计算机的特定架构,执行该程序以提供改进的亲和度估计,其可以考虑到假共享问题,空间局部性改进和 类似。

    MONITORING DATA ACCESS REQUESTS TO OPTIMIZE DATA TRANSFER
    8.
    发明申请
    MONITORING DATA ACCESS REQUESTS TO OPTIMIZE DATA TRANSFER 审中-公开
    监控数据访问要求以优化数据传输

    公开(公告)号:US20130013666A1

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

    申请号:US13177566

    申请日:2011-07-07

    IPC分类号: G06F15/16

    CPC分类号: G06F8/43

    摘要: A data transmission optimization method and system. The method comprises analyzing program code to identify data access calls in the program code, using one or more processor; determining whether a first data access call is for retrieving target data stored in a data structure with a plurality of fields, wherein the target data is stored in one or more target fields of the data structure; determining whether servicing the first data access call will result in transfer of non-target data stored in one or more non-target fields in the data structure; and replacing the first data access call with a second data access call, wherein servicing the second data access call will result in transfer of the target data and minimizes the transfer of non-target data.

    摘要翻译: 数据传输优化方法和系统。 该方法包括使用一个或多个处理器来分析程序代码以识别程序代码中的数据访问调用; 确定第一数据访问呼叫是否用于检索存储在具有多个字段的数据结构中的目标数据,其中所述目标数据被存储在所述数据结构的一个或多个目标字段中; 确定是否服务于第一数据访问呼叫将导致存储在数据结构中的一个或多个非目标字段中的非目标数据的传送; 并且用第二数据访问呼叫替换第一数据访问呼叫,其中服务于第二数据访问呼叫将导致目标数据的传送并使非目标数据的传送最小化。

    Software pipelining using one or more vector registers
    9.
    发明授权
    Software pipelining using one or more vector registers 失效
    使用一个或多个向量寄存器进行软件流水线化

    公开(公告)号:US08136107B2

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

    申请号:US11877675

    申请日:2007-10-24

    申请人: Ayal Zaks

    发明人: Ayal Zaks

    IPC分类号: G06F9/45 G06F9/445

    CPC分类号: G06F9/30101 G06F9/30032

    摘要: A method for managing multiple values assigned to a variable during various stages of a software pipelined process executed in a computing environment. The method comprises allocating two or more slots in a vector register to two or more values associated with said variable during two or more stages of a pipeline process; and rotating values in each slot responsive to an instruction.

    摘要翻译: 一种用于在计算环境中执行的软件流水线处理的各个阶段期间管理分配给变量的多个值的方法。 该方法包括:在流水线处理的两个或更多个阶段期间,在向量寄存器中分配两个或更多个与所述变量相关联的值; 并且响应于指令在每个时隙中旋转值。

    TRANSFERRING DATA FROM INTEGER TO VECTOR REGISTERS
    10.
    发明申请
    TRANSFERRING DATA FROM INTEGER TO VECTOR REGISTERS 审中-公开
    将数据从整数传输到向量寄存器

    公开(公告)号:US20100106939A1

    公开(公告)日:2010-04-29

    申请号:US12258465

    申请日:2008-10-27

    IPC分类号: G06F15/76 G06F9/315

    摘要: A method for transferring data from a general purpose register to a vector register, the method including splatting a byte of data directly from a general purpose register (GPR) to a vector register (VR) by means of vector permute instructions, and splatting another byte of data from the GPR to the VR and vectorially combining the data in the VR.

    摘要翻译: 一种用于将数据从通用寄存器传送到向量寄存器的方法,所述方法包括通过向量置换指令直接从通用寄存器(GPR)向矢量寄存器(VR)直接分割数据字节,以及分割另一字节 的数据从GPR到VR并且在VR中的数据进行矢量组合。