Synchronizing multiple threads efficiently
    41.
    发明授权
    Synchronizing multiple threads efficiently 有权
    有效地同步多个线程

    公开(公告)号:US08473963B2

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

    申请号:US13069684

    申请日:2011-03-23

    摘要: In one embodiment, the present invention includes a method of assigning a location within a shared variable for each of multiple threads and writing a value to a corresponding location to indicate that the corresponding thread has reached a barrier. In such manner, when all the threads have reached the barrier, synchronization is established. In some embodiments, the shared variable may be stored in a cache accessible by the multiple threads. Other embodiments are described and claimed.

    摘要翻译: 在一个实施例中,本发明包括为多个线程中的每个线程分配共享变量内的位置并将值写入相应位置以指示相应线程已经达到屏障的方法。 以这种方式,当所有线程都到达障碍物时,建立同步。 在一些实施例中,共享变量可以存储在可由多个线程访问的高速缓存中。 描述和要求保护其他实施例。

    Fair sharing of a cache in a multi-core/multi-threaded processor by dynamically partitioning of the cache
    42.
    发明授权
    Fair sharing of a cache in a multi-core/multi-threaded processor by dynamically partitioning of the cache 有权
    通过动态分区缓存,在多核/多线程处理器中公平共享缓存

    公开(公告)号:US07996644B2

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

    申请号:US11026316

    申请日:2004-12-29

    IPC分类号: G06F12/02

    摘要: An apparatus and method for fairly accessing a shared cache with multiple resources, such as multiple cores, multiple threads, or both are herein described. A resource within a microprocessor sharing access to a cache is assigned a static portion of the cache and a dynamic portion. The resource is blocked from victimizing static portions assigned to other resources, yet, allowed to victimize the static portion assigned to the resource and the dynamically shared portion. If the resource does not access the cache enough times over a period of time, the static portion assigned to the resource is reassigned to the dynamically shared portion.

    摘要翻译: 这里描述了用于公平地访问具有多个资源(例如多个核心,多个线程或两者)的多个资源的共享高速缓存的装置和方法。 分配对高速缓存的访问的微处理器内的资源被分配有高速缓存的静态部分和动态部分。 该资源被阻止从分配给其他资源的静态部分受到伤害,但是允许资源分配给动态共享部分的静态部分。 如果资源在一段时间内没有足够的时间访问缓存,则分配给资源的静态部分被重新分配给动态共享部分。

    Method for page sharing in a processor with multiple threads and pre-validated caches
    43.
    发明授权
    Method for page sharing in a processor with multiple threads and pre-validated caches 有权
    具有多线程和预先验证的缓存的处理器中页面共享的方法

    公开(公告)号:US07181590B2

    公开(公告)日:2007-02-20

    申请号:US10650335

    申请日:2003-08-28

    IPC分类号: G06F12/10

    CPC分类号: G06F12/1054 G06F12/1036

    摘要: A method and system for allowing a multi-threaded processor to share pages across different threads in a pre-validated cache using a translation look-aside buffer is disclosed. The multi-threaded processor searches a translation look-aside buffer in an attempt to match a virtual memory address. If no matching valid virtual memory address is found, a new translation is retrieved and the translation look-aside buffer is searched for a matching physical memory address. If a matching physical memory address is found, the old translation is overwritten with a new translation. The multi-threaded processor may execute switch on event multi-threading or simultaneous multi-threading. If simultaneous multi-threading is executed, then access rights for each thread is associated with the translation.

    摘要翻译: 公开了一种允许多线程处理器使用翻译后备缓冲器在预先验证的高速缓存中的不同线程上共享页面的方法和系统。 多线程处理器搜索翻译后备缓冲区以尝试匹配虚拟内存地址。 如果没有找到匹配的有效虚拟内存地址,则检索新的翻译,并搜索匹配的物理内存地址的翻译后备缓冲区。 如果找到匹配的物理内存地址,则使用新的翻译覆盖旧的翻译。 多线程处理器可以执行切换事件多线程或同时多线程。 如果同时执行多线程,则每个线程的访问权限与翻译相关联。

    Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches
    46.
    发明申请
    Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches 有权
    用于预测受害者选择以减少包容性缓存中不期望的替换行为的方法和装置

    公开(公告)号:US20060064547A1

    公开(公告)日:2006-03-23

    申请号:US10950279

    申请日:2004-09-23

    IPC分类号: G06F12/00

    摘要: A method and apparatus for selecting and updating a replacement candidate in a cache is disclosed. In one embodiment, a cache miss may initiate the eviction of a present replacement candidate in a last-level cache. The cache miss may also initiate the selection of a future replacement candidate. Upon the selection of the future replacement candidate, the corresponding cache line may be invalidated in lower-level caches but remain resident in the last-level cache. The future replacement candidate may be updated by subsequent hits to the replacement candidate in the last-level cache prior to a subsequent cache miss.

    摘要翻译: 公开了一种用于选择和更新高速缓存中的替换候选的方法和装置。 在一个实施例中,高速缓存未命中可以在最后一级高速缓存中启动对当前替换候选者的驱逐。 高速缓存未命中还可以启动未来替换候选者的选择。 在选择将来的替换候选者之后,相应的高速缓存行可能在较低级别的高速缓存中被无效,但仍然驻留在最后一级高速缓存中。 在随后的高速缓存未命中之前,可以通过对最后一级高速缓存中的替换候选者的后续命中来更新未来替换候选。

    Method and apparatus for data speculation in an out-of-order processor
    47.
    发明申请
    Method and apparatus for data speculation in an out-of-order processor 审中-公开
    用于在乱序处理器中进行数据推测的方法和装置

    公开(公告)号:US20050114632A1

    公开(公告)日:2005-05-26

    申请号:US10718750

    申请日:2003-11-21

    IPC分类号: G06F9/30 G06F9/38

    摘要: A method and apparatus for utilizing data speculation concurrently with out-of-order instruction execution is disclosed. In one embodiment, a test instruction corresponding to a previously-issued advanced load instruction has a second instance of the logical destination register used by the advanced load appended as a logical source register during a decode stage. When out-of-order register renaming occurs, the appended source register may be mapped to the same physical register as that used in the first instance by the advanced load instruction. This may facilitate the determination of whether or not the results of the advanced load instruction are valid.

    摘要翻译: 公开了一种同时进行无序指令执行的数据推测的方法和装置。 在一个实施例中,与先前发出的高级加载指令相对应的测试指令具有在解码阶段期间由作为逻辑源寄存器附加的高级加载器使用的逻辑目标寄存器的第二实例。 当发生无序寄存器重命名时,附加的源寄存器可以被映射到由先进加载指令在第一个实例中使用的相同的物理寄存器。 这可以有助于确定高级加载指令的结果是否有效。