Code rewriting
    1.
    发明授权
    Code rewriting 有权
    代码重写

    公开(公告)号:US07409675B2

    公开(公告)日:2008-08-05

    申请号:US10789201

    申请日:2004-02-27

    IPC分类号: G06F9/44

    CPC分类号: G06F8/52

    摘要: Systems and methods provide for the rewriting and transformation of a code unit through an extensible, composable, set of code rewriters that can be implemented at various phases throughout the development, deployment, and execution of the code unit. The described systems and methods provide a powerful way for program developers and system administrators to implement code transformations at different stages throughout the development, deployment, and execution of programs that is largely independent of such programs and does not significantly increase the complexity of the source programs, compilers, or execution environments.

    摘要翻译: 系统和方法通过可扩展的,可组合的代码重写器来重写和转换代码单元,可以在代码单元的整个开发,部署和执行过程中的各个阶段实现。 所描述的系统和方法为程序开发人员和系统管理员提供了强大的方法,以便在整个开发,部署和执行程序的不同阶段执行代码转换,这些程序在很大程度上独立于这些程序,并且不会显着增加源程序的复杂性 ,编译器或执行环境。

    Cache metadata for implementing bounded transactional memory
    2.
    发明授权
    Cache metadata for implementing bounded transactional memory 有权
    缓存用于实现有界事务内存的元数据

    公开(公告)号:US08813052B2

    公开(公告)日:2014-08-19

    申请号:US11811370

    申请日:2007-06-08

    IPC分类号: G06F9/45 G06F9/46

    摘要: Various technologies and techniques are disclosed for providing a bounded transactional memory application that accesses cache metadata in a cache of a central processing unit. When performing a transactional read from the bounded transactional memory application, a cache line metadata transaction-read bit is set. When performing a transactional write from the bounded transactional memory application, a cache line metadata transaction-write bit is set and a conditional store is performed. At commit time, if any lines marked with the transaction-read bit or the transaction-write bit were evicted or invalidated, all speculatively written lines are discarded. The application can also interrogate a cache line metadata eviction summary to determine whether a transaction is doomed and then take an appropriate action.

    摘要翻译: 公开了各种技术和技术,用于提供访问中央处理单元的高速缓存中的高速缓存元数据的有界事务存储器应用。 当从有界事务存储器应用程序执行事务读取时,设置缓存行元数据事务读取位。 当从有界事务存储器应用程序执行事务写入时,设置高速缓存行元数据事务写入位并执行条件存储。 在提交时,如果任何标有事务读取位或事务写入位的行被驱逐或无效,则所有推测写入的行将被丢弃。 应用程序还可以询问高速缓存行元数据驱逐摘要以确定事务是否注定失败,然后采取适当的操作。

    Performing escape actions in transactions
    3.
    发明授权
    Performing escape actions in transactions 有权
    在交易中执行逃生动作

    公开(公告)号:US08489864B2

    公开(公告)日:2013-07-16

    申请号:US12493167

    申请日:2009-06-26

    摘要: Performing non-transactional escape actions within a hardware based transactional memory system. A method includes at a hardware thread on a processor beginning a hardware based transaction for the thread. Without committing or aborting the transaction, the method further includes suspending the hardware based transaction and performing one or more operations for the thread, non-transactionally and not affected by: transaction monitoring and buffering for the transaction, an abort for the transaction, or a commit for the transaction. After performing one or more operations for the thread, non-transactionally, the method further includes resuming the transaction and performing additional operations transactionally. After performing the additional operations, the method further includes either committing or aborting the transaction.

    摘要翻译: 在基于硬件的事务内存系统中执行非事务性转义操作。 一种方法包括处理器上的硬件线程,开始针对线程的基于硬件的事务。 所述方法还包括暂停所述基于硬件的事务并对所述线程执行非事务性的一个或多个操作,并且不受以下事务的影响:所述事务的事务监视和缓冲,所述事务的中止或者所述事务的中止 提交交易。 在对线程执行一个或多个操作之后,非事务性地,该方法还包括恢复事务并事务地执行附加操作。 执行附加操作后,该方法还包括提交或中止事务。

    Wait loss synchronization
    4.
    发明授权
    Wait loss synchronization 有权
    等待丢失同步

    公开(公告)号:US08161247B2

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

    申请号:US12493163

    申请日:2009-06-26

    CPC分类号: G06F12/0831 G06F1/3225

    摘要: Synchronizing threads on loss of memory access monitoring. Using a processor level instruction included as part of an instruction set architecture for a processor, a read, or write monitor to detect writes, or reads or writes respectively from other agents on a first set of one or more memory locations and a read, or write monitor on a second set of one or more different memory locations are set. A processor level instruction is executed, which causes the processor to suspend executing instructions and optionally to enter a low power mode pending loss of a read or write monitor for the first or second set of one or more memory locations. A conflicting access is detected on the first or second set of one or more memory locations or a timeout is detected. As a result, the method includes resuming execution of instructions.

    摘要翻译: 在内存访问监控丢失时同步线程。 使用处理器级指令作为处理器,读取或写入监视器的指令集体系结构的一部分而被包括,以分别从第一组一个或多个存储器位置和读取的或其他存储器位置的其他代理检测写入或读取或写入 设置在第二组一个或多个不同存储单元上的写监视器。 执行处理器级指令,这使得处理器暂停执行指令,并且可选地进入低功率模式,等待丢失第一或第二组一个或多个存储器位置的读或写监视器。 在一个或多个存储器位置的第一或第二组上检测到冲突的访问,或者检测到超时。 结果,该方法包括恢复指令的执行。

    Performing Mode Switching In An Unbounded Transactional Memory (UTM) System
    5.
    发明申请
    Performing Mode Switching In An Unbounded Transactional Memory (UTM) System 有权
    无限制事务内存(UTM)系统中的执行模式切换

    公开(公告)号:US20120079215A1

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

    申请号:US13307492

    申请日:2011-11-30

    IPC分类号: G06F12/08

    摘要: In one embodiment, the present invention includes a method for selecting a first transaction execution mode to begin a first transaction in a unbounded transactional memory (UTM) system having a plurality of transaction execution modes. These transaction execution modes include hardware modes to execute within a cache memory of a processor, a hardware assisted mode to execute using transactional hardware of the processor and a software buffer, and a software transactional memory (STM) mode to execute without the transactional hardware. The first transaction execution mode can be selected to be a highest performant of the hardware modes if no pending transaction is executing in the STM mode, otherwise a lower performant mode can be selected. Other embodiments are described and claimed.

    摘要翻译: 在一个实施例中,本发明包括一种用于在具有多个事务执行模式的无界事务存储器(UTM)系统中选择开始第一事务的第一事务执行模式的方法。 这些事务执行模式包括在处理器的高速缓冲存储器内执行的硬件模式,使用处理器的事务硬件执行的硬件辅助模式以及软件缓冲器,以及在没有事务性硬件的情况下执行的软件事务存储器(STM)模式。 如果在STM模式下没有执行等待事务,则可以将第一事务执行模式选择为硬件模式的最高执行模式,否则可以选择较低的执行模式。 描述和要求保护其他实施例。

    Performing mode switching in an unbounded transactional memory (UTM) system
    6.
    发明授权
    Performing mode switching in an unbounded transactional memory (UTM) system 有权
    在无界事务内存(UTM)系统中执行模式切换

    公开(公告)号:US08095824B2

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

    申请号:US12638181

    申请日:2009-12-15

    IPC分类号: G06F11/00

    摘要: In one embodiment, the present invention includes a method for selecting a first transaction execution mode to begin a first transaction in a unbounded transactional memory (UTM) system having a plurality of transaction execution modes. These transaction execution modes include hardware modes to execute within a cache memory of a processor, a hardware assisted mode to execute using transactional hardware of the processor and a software buffer, and a software transactional memory (STM) mode to execute without the transactional hardware. The first transaction execution mode can be selected to be a highest performant of the hardware modes if no pending transaction is executing in the STM mode, otherwise a lower performant mode can be selected. Other embodiments are described and claimed.

    摘要翻译: 在一个实施例中,本发明包括一种用于在具有多个事务执行模式的无界事务存储器(UTM)系统中选择开始第一事务的第一事务执行模式的方法。 这些事务执行模式包括在处理器的高速缓冲存储器内执行的硬件模式,使用处理器的事务硬件执行的硬件辅助模式以及软件缓冲器,以及在没有事务性硬件的情况下执行的软件事务存储器(STM)模式。 如果在STM模式下没有执行等待事务,则可以将第一事务执行模式选择为硬件模式的最高执行模式,否则可以选择较低的执行模式。 描述和要求保护其他实施例。

    PARALLELIZING SEQUENTIAL FRAMEWORKS USING TRANSACTIONS
    7.
    发明申请
    PARALLELIZING SEQUENTIAL FRAMEWORKS USING TRANSACTIONS 有权
    使用交易并行化顺序框架

    公开(公告)号:US20110283091A1

    公开(公告)日:2011-11-17

    申请号:US13189639

    申请日:2011-07-25

    IPC分类号: G06F9/38

    CPC分类号: G06F9/466 G06F8/456 G06F9/52

    摘要: Various technologies and techniques are disclosed for transforming a sequential loop into a parallel loop for use with a transactional memory system. Open ended and/or closed ended sequential loops can be transformed to parallel loops. For example, a section of code containing an original sequential loop is analyzed to determine a fixed number of iterations for the original sequential loop. The original sequential loop is transformed into a parallel loop that can generate transactions in an amount up to the fixed number of iterations. As another example, an open ended sequential loop can be transformed into a parallel loop that generates a separate transaction containing a respective work item for each iteration of a speculation pipeline. The parallel loop is then executed using the transactional memory system, with at least some of the separate transactions being executed on different threads.

    摘要翻译: 公开了各种技术和技术,用于将顺序循环变换成用于事务存储器系统的并行循环。 开放式和/或封闭式顺序循环可以转换为并行循环。 例如,分析包含原始顺序循环的代码段以确定原始顺序循环的固定次数的迭代。 原始的顺序循环被转换成并行循环,其可以产生高达固定次数的事务。 作为另一示例,开放式顺序循环可以被转换成并行循环,其生成包含用于投机管道的每次迭代的相应工作项的单独事务。 然后使用事务存储器系统执行并行循环,其中至少一些单独的事务在不同的线程上执行。

    INSTRUMENTATION OF HARDWARE ASSISTED TRANSACTIONAL MEMORY SYSTEM
    9.
    发明申请
    INSTRUMENTATION OF HARDWARE ASSISTED TRANSACTIONAL MEMORY SYSTEM 有权
    硬件辅助交易记录系统的仪器仪表

    公开(公告)号:US20110145498A1

    公开(公告)日:2011-06-16

    申请号:US12638345

    申请日:2009-12-15

    IPC分类号: G06F12/08

    摘要: Monitoring performance of one or more architecturally significant processor caches coupled to a processor. The methods include executing an application on one or more processors coupled to one or more architecturally significant processor caches, where the application utilizes the architecturally significant portions of the architecturally significant processor caches. The methods further include at least one of generating metrics related to performance of the architecturally significant processor caches; implementing one or more debug exceptions related to performance of the architecturally significant processor caches; or implementing one or more transactional breakpoints related to performance of the architecturally significant processor caches as a result of utilizing the architecturally significant portions of the architecturally significant processor caches.

    摘要翻译: 监视耦合到处理器的一个或多个架构上重要的处理器高速缓存的性能。 所述方法包括在耦合到一个或多个架构有意义的处理器高速缓存的一个或多个处理器上执行应用,其中应用利用架构上重要的处理器高速缓存的架构上重要的部分。 所述方法还包括生成与架构上重要的处理器高速缓存的性能有关的度量中的至少一个; 实现与架构上重要的处理器高速缓存的性能相关的一个或多个调试异常; 或者通过利用架构上重要的处理器高速缓存的架构上重要的部分来实现与架构上重要的处理器高速缓存的性能相关的一个或多个事务性断点。