Cache metadata identifiers for isolation and sharing
    1.
    发明申请
    Cache metadata identifiers for isolation and sharing 有权
    缓存元数据标识符以进行隔离和共享

    公开(公告)号:US20080040551A1

    公开(公告)日:2008-02-14

    申请号:US11890448

    申请日:2007-08-06

    IPC分类号: G06F12/08

    CPC分类号: G06F12/084

    摘要: Various technologies and techniques are disclosed for providing software accessible metadata on a cache of a central processing unit. A multiprocessor has at least one central processing unit. The central processing unit has a cache with cache lines that are augmented by cache metadata. The cache metadata includes software-controlled metadata identifiers that allow multiple logical processors to share the cache metadata. The metadata identifiers and cache metadata can then be used to accelerate various operations. For example, parallel computations can be accelerated using cache metadata and metadata identifiers. As another example, nested computations can be accelerated using metadata identifiers and cache metadata. As yet another example, transactional memory applications that include parallelism within transactions or that include nested transactions can be also accelerated using cache metadata and metadata identifiers.

    摘要翻译: 公开了用于在中央处理单元的高速缓存上提供软件可访问元数据的各种技术和技术。 多处理器具有至少一个中央处理单元。 中央处理单元具有高速缓存,缓存线通过高速缓存元数据增强。 高速缓存元数据包括允许多个逻辑处理器共享缓存元数据的软件控制的元数据标识符。 然后可以使用元数据标识符和缓存元数据来加速各种操作。 例如,可以使用缓存元数据和元数据标识符来加速并行计算。 作为另一个例子,可以使用元数据标识符和缓存元数据来加速嵌套计算。 作为又一示例,还可以使用高速缓存元数据和元数据标识符来加速包括事务内并行性或包括嵌套事务的事务性存储器应用。

    Software accessible cache metadata
    2.
    发明申请
    Software accessible cache metadata 有权
    软件可访问缓存元数据

    公开(公告)号:US20070245309A1

    公开(公告)日:2007-10-18

    申请号:US11811148

    申请日:2007-06-08

    IPC分类号: G06F9/44

    摘要: Various technologies and techniques are disclosed for providing software accessible metadata on a cache of a central processing unit. The metadata can include at least some bits for each virtual address, at least some bits for each cache line, and at least some bits for the cache overall. An instruction set architecture on the central processing unit is provided that includes additional instructions for interacting with the metadata. New side effects that are introduced into an operation of the central processing unit by a presence of the metadata and the additional instructions. The metadata can be accessed by at least one software program to facilitate an operation of the software program.

    摘要翻译: 公开了用于在中央处理单元的高速缓存上提供软件可访问元数据的各种技术和技术。 元数据可以包括用于每个虚拟地址的至少一些比特,每个高速缓存行的至少一些比特,以及总体上的至少一些比特。 提供了中央处理单元上的指令集架构,其包括与元数据交互的附加指令。 通过存在元数据和附加指令将新的副作用引入到中央处理单元的操作中。 元数据可以由至少一个软件程序访问以便于软件程序的操作。

    Cache metadata for accelerating software transactional memory
    3.
    发明申请
    Cache metadata for accelerating software transactional memory 有权
    缓存用于加速软件事务内存的元数据

    公开(公告)号:US20070245128A1

    公开(公告)日:2007-10-18

    申请号:US11811033

    申请日:2007-06-08

    IPC分类号: G06F9/30

    摘要: Various technologies and techniques are disclosed for providing a hardware accelerated software transactional memory application. The software transactional memory application has access to metadata in a cache of a central processing unit that can be used to improve the operation of the STM system. For example, open read barrier filtering is provided that uses an opened-for-read bit that is contained in the metadata to avoid redundant open read processing. Similarly, redundant read log validation can be avoided using the metadata. For example, upon entering commit processing for a particular transaction, a get-evictions instruction in an instruction set architecture of the central processing unit is invoked. A retry operation can be optimized using the metadata. The particular transaction is aborted at a current point and put to sleep. The corresponding cache line metadata in the metadata are marked appropriately to efficiently detect a write by another CPU.

    摘要翻译: 公开了用于提供硬件加速软件事务性存储器应用的各种技术和技术。 软件事务存储器应用程序可以访问可用于改进STM系统的操作的中央处理单元的高速缓存中的元数据。 例如,提供了打开的读取屏障过滤,该过滤使用元数据中包含的可读取位来避免冗余的打开读取处理。 类似地,可以使用元数据避免冗余读取日志验证。 例如,在对特定事务进行提交处理时,调用中央处理单元的指令集架构中的取消指令。 可以使用元数据优化重试操作。 特定的事务在当前中止,并进入睡眠状态。 元数据中相应的缓存行元数据被适当地标记以有效地检测另一CPU的写入。

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

    公开(公告)号:US20070245099A1

    公开(公告)日:2007-10-18

    申请号:US11811370

    申请日:2007-06-08

    IPC分类号: G06F12/00

    摘要: 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.

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

    Cache metadata for accelerating software transactional memory
    5.
    发明授权
    Cache metadata for accelerating software transactional memory 有权
    缓存用于加速软件事务内存的元数据

    公开(公告)号:US08898652B2

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

    申请号:US11811033

    申请日:2007-06-08

    IPC分类号: G06F9/45 G06F9/30 G06F9/46

    摘要: Various technologies and techniques are disclosed for providing a hardware accelerated software transactional memory application. The software transactional memory application has access to metadata in a cache of a central processing unit that can be used to improve the operation of the STM system. For example, open read barrier filtering is provided that uses an opened-for-read bit that is contained in the metadata to avoid redundant open read processing. Similarly, redundant read log validation can be avoided using the metadata. For example, upon entering commit processing for a particular transaction, a get-evictions instruction in an instruction set architecture of the central processing unit is invoked. A retry operation can be optimized using the metadata. The particular transaction is aborted at a current point and put to sleep. The corresponding cache line metadata in the metadata are marked appropriately to efficiently detect a write by another CPU.

    摘要翻译: 公开了用于提供硬件加速软件事务性存储器应用的各种技术和技术。 软件事务存储器应用程序可以访问可用于改进STM系统的操作的中央处理单元的高速缓存中的元数据。 例如,提供了打开的读取屏障过滤,该过滤使用元数据中包含的可读取位来避免冗余的打开读取处理。 类似地,可以使用元数据避免冗余读取日志验证。 例如,在对特定事务进行提交处理时,调用中央处理单元的指令集架构中的取消指令。 可以使用元数据优化重试操作。 特定的事务在当前中止,并进入睡眠状态。 元数据中相应的缓存行元数据被适当地标记以有效地检测另一CPU的写入。

    Cache metadata for implementing bounded transactional memory
    6.
    发明授权
    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.

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

    Cache metadata identifiers for isolation and sharing
    7.
    发明授权
    Cache metadata identifiers for isolation and sharing 有权
    缓存用于隔离和共享的元数据标识符

    公开(公告)号:US08225297B2

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

    申请号:US11890448

    申请日:2007-08-06

    IPC分类号: G06F12/00

    CPC分类号: G06F12/084

    摘要: Various technologies and techniques are disclosed for providing software accessible metadata on a cache of a central processing unit. A multiprocessor has at least one central processing unit. The central processing unit has a cache with cache lines that are augmented by cache metadata. The cache metadata includes software-controlled metadata identifiers that allow multiple logical processors to share the cache metadata. The metadata identifiers and cache metadata can then be used to accelerate various operations. For example, parallel computations can be accelerated using cache metadata and metadata identifiers. As another example, nested computations can be accelerated using metadata identifiers and cache metadata. As yet another example, transactional memory applications that include parallelism within transactions or that include nested transactions can be also accelerated using cache metadata and metadata identifiers.

    摘要翻译: 公开了用于在中央处理单元的高速缓存上提供软件可访问元数据的各种技术和技术。 多处理器具有至少一个中央处理单元。 中央处理单元具有高速缓存,缓存线通过高速缓存元数据增强。 高速缓存元数据包括允许多个逻辑处理器共享缓存元数据的软件控制的元数据标识符。 然后可以使用元数据标识符和缓存元数据来加速各种操作。 例如,可以使用缓存元数据和元数据标识符来加速并行计算。 作为另一个例子,可以使用元数据标识符和缓存元数据来加速嵌套计算。 作为又一示例,还可以使用高速缓存元数据和元数据标识符来加速包括事务内并行性或包括嵌套事务的事务性存储器应用。

    Software accessible cache metadata
    8.
    发明授权
    Software accessible cache metadata 有权
    软件可访问缓存元数据

    公开(公告)号:US08001538B2

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

    申请号:US11811148

    申请日:2007-06-08

    IPC分类号: G06F12/00

    摘要: Various technologies and techniques are disclosed for providing software accessible metadata on a cache of a central processing unit. The metadata can include at least some bits for each virtual address, at least some bits for each cache line, and at least some bits for the cache overall. An instruction set architecture on the central processing unit is provided that includes additional instructions for interacting with the metadata. New side effects that are introduced into an operation of the central processing unit by a presence of the metadata and the additional instructions. The metadata can be accessed by at least one software program to facilitate an operation of the software program.

    摘要翻译: 公开了用于在中央处理单元的高速缓存上提供软件可访问元数据的各种技术和技术。 元数据可以包括用于每个虚拟地址的至少一些比特,每个高速缓存行的至少一些比特,以及总体上的至少一些比特。 提供了中央处理单元上的指令集架构,其包括与元数据交互的附加指令。 通过存在元数据和附加指令将新的副作用引入到中央处理单元的操作中。 元数据可以由至少一个软件程序访问以便于软件程序的操作。

    USING BUFFERED STORES OR MONITORING TO FILTER REDUNDANT TRANSACTIONAL ACCESSES AND MECHANISMS FOR MAPPING DATA TO BUFFERED METADATA
    9.
    发明申请
    USING BUFFERED STORES OR MONITORING TO FILTER REDUNDANT TRANSACTIONAL ACCESSES AND MECHANISMS FOR MAPPING DATA TO BUFFERED METADATA 有权
    使用缓冲存储器或监视过滤冗余交易访问和将数据映射到缓冲元数据的机制

    公开(公告)号:US20110145516A1

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

    申请号:US12638098

    申请日:2009-12-15

    IPC分类号: G06F12/00

    摘要: A method and apparatus for accelerating a Software Transactional Memory (STM) system is herein described. A data object and metadata for the data object may each be associated with a filter, such as a hardware monitor or ephemerally held filter information. The filter is in a first, default state when no access, such as a read, from the data object has occurred during a pendancy of a transaction. Upon encountering a first access to the metadata, such as a first read, access barrier operations, such as logging of the metadata; setting a read monitor; or updating ephemeral filter information with an ephemeral/buffered store operation, are performed. Upon a subsequent/redundant access to the metadata, such as a second read, access barrier operations are elided to accelerate the subsequent access based on the filter being set to the second state to indicate a previous access occurred. Additionally, mapping of data objects to ephemeral information may be provided by software, such as through a pointer to the ephemeral information associated with the data object; an offset from a base address of the data object to the ephemeral information included associated with the data object; an index into a segment containing the ephemeral information associated with the data object; mapping the data object to the ephemeral information utilizing address arithmetic; and a hash that maps the data object to ephemeral information.

    摘要翻译: 这里描述了用于加速软件事务存储器(STM)系统的方法和装置。 数据对象和数据对象的元数据可以分别与诸如硬件监视器或者瞬时保持的过滤器信息的过滤器相关联。 过滤器处于第一个默认状态,当事务的挂起期间没有发生来自数据对象的访问,例如读取。 在遇到元数据的首次访问时,例如第一读取,访问屏障操作,诸如记录元数据; 设置一个读取监视器; 或者用临时/缓冲存储操作来更新临时过滤器信息。 在对诸如第二读取的元数据的后续/冗余访问(例如第二读取)时,消除访问屏障操作以基于被设置为第二状态的过滤器来加速后续访问,以指示先前的访问发生。 另外,数据对象到短暂信息的映射可以由软件提供,例如通过指向与数据对象相关联的短暂信息的指针; 从数据对象的基地址到包括与数据对象相关联的临时信息的偏移; 指向包含与数据对象相关联的短暂信息的段的索引; 使用地址算术将数据对象映射到临时信息; 以及将数据对象映射到临时信息的散列。

    Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata
    10.
    发明授权
    Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata 有权
    使用缓冲存储或监视来过滤冗余事务访问和机制,用于将数据映射到缓冲元数据

    公开(公告)号:US09280397B2

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

    申请号:US12638098

    申请日:2009-12-15

    摘要: A method and apparatus for accelerating a Software Transactional Memory (STM) system is herein described. A data object and metadata for the data object may each be associated with a filter, such as a hardware monitor or ephemerally held filter information. The filter is in a first, default state when no access, such as a read, from the data object has occurred during a pendancy of a transaction. Upon encountering a first access to the metadata, such as a first read, access barrier operations, such as logging of the metadata; setting a read monitor; or updating ephemeral filter information with an ephemeral/buffered store operation, are performed. Upon a subsequent/redundant access to the metadata, such as a second read, access barrier operations are elided to accelerate the subsequent access based on the filter being set to the second state to indicate a previous access occurred. Additionally, mapping of data objects to ephemeral information may be provided by software, such as through a pointer to the ephemeral information associated with the data object; an offset from a base address of the data object to the ephemeral information included associated with the data object; an index into a segment containing the ephemeral information associated with the data object; mapping the data object to the ephemeral information utilizing address arithmetic; and a hash that maps the data object to ephemeral information.

    摘要翻译: 这里描述了用于加速软件事务存储器(STM)系统的方法和装置。 数据对象和数据对象的元数据可以分别与诸如硬件监视器或者瞬时保持的过滤器信息的过滤器相关联。 过滤器处于第一个默认状态,当事务的挂起期间没有发生来自数据对象的访问,例如读取。 在遇到元数据的首次访问时,例如第一读取,访问屏障操作,诸如记录元数据; 设置一个读取监视器; 或者用临时/缓冲存储操作来更新临时过滤器信息。 在对诸如第二读取的元数据的后续/冗余访问(例如第二读取)时,消除访问屏障操作以基于被设置为第二状态的过滤器来加速后续访问,以指示先前的访问发生。 另外,数据对象到短暂信息的映射可以由软件提供,例如通过指向与数据对象相关联的短暂信息的指针; 从数据对象的基地址到包括与数据对象相关联的临时信息的偏移; 指向包含与数据对象相关联的短暂信息的段的索引; 使用地址算术将数据对象映射到临时信息; 以及将数据对象映射到临时信息的散列。