User-programmable low-overhead multithreading
    85.
    发明授权
    User-programmable low-overhead multithreading 有权
    用户可编程的低开销多线程

    公开(公告)号:US07631307B2

    公开(公告)日:2009-12-08

    申请号:US10728649

    申请日:2003-12-05

    IPC分类号: G06F9/46 G06F3/00 G06F15/00

    摘要: A virtual multithreading hardware mechanism provides multi-threading on a single-threaded processor. Thread switches are triggered by user-defined triggers. Synchronous triggers may be defined in the form of special trigger instructions. Asynchronous triggers may be defined via special marking instructions that identify an asynchronous trigger condition. The asynchronous trigger condition may be based on a plurality of atomic processor events. Minimal context information, such as only an instruction pointer address, is maintained by the hardware upon a thread switch. In contrast to traditional simultaneous multithreading schemes, the virtual multithreading hardware provides thread switches that are transparent to an operating system and that may be performed without operating system intervention.

    摘要翻译: 虚拟多线程硬件机制在单线程处理器上提供多线程。 线程切换由用户定义的触发器触发。 可以以特殊触发指令的形式定义同步触发。 可以通过标识异步触发条件的特殊标记指令定义异步触发。 异步触发条件可以基于多个原子处理器事件。 在线程切换时,由硬件维护的最小上下文信息,例如仅指令指针地址。 与传统的同时多线程方案相反,虚拟多线程硬件提供对操作系统透明的线程切换,可以在不进行操作系统干预的情况下执行。

    Method and apparatus for affinity-guided speculative helper threads in chip multiprocessors
    86.
    发明授权
    Method and apparatus for affinity-guided speculative helper threads in chip multiprocessors 有权
    芯片多处理器中亲和力引导的投机辅助线程的方法和装置

    公开(公告)号:US08078831B2

    公开(公告)日:2011-12-13

    申请号:US12909774

    申请日:2010-10-21

    IPC分类号: G06F15/00 G06F15/76

    摘要: Apparatus, system and methods are provided for performing speculative data prefetching in a chip multiprocessor (CMP). Data is prefetched by a helper thread that runs on one core of the CMP while a main program runs concurrently on another core of the CMP. Data prefetched by the helper thread is provided to the helper core. For one embodiment, the data prefetched by the helper thread is pushed to the main core. It may or may not be provided to the helper core as well. A push of prefetched data to the main core may occur during a broadcast of the data to all cores of an affinity group. For at least one other embodiment, the data prefetched by a helper thread is provided, upon request from the main core, to the main core from the helper core's local cache.

    摘要翻译: 提供了用于在芯片多处理器(CMP)中执行推测性数据预取的装置,系统和方法。 数据由在CMP的一个核心上运行的辅助线程预取,而主程序在CMP的另一个核心上同时运行。 由辅助线程预取的数据被提供给辅助核心。 对于一个实施例,由辅助线程预取的数据被推送到主核心。 它也可以也可以不被提供给辅助核心。 在将数据广播到亲和组的所有核心的过程中,可能会将预取数据推送到主核心。 对于至少另一个实施例,根据主核心的请求,从辅助核心的本地高速缓存提供由辅助线程预取的数据到主核心。

    Dynamically migrating channels
    90.
    发明授权
    Dynamically migrating channels 有权
    动态迁移渠道

    公开(公告)号:US08296552B2

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

    申请号:US13172088

    申请日:2011-06-29

    摘要: In one embodiment, the present invention includes a method of determining a relative priority between a first agent and a second agent, and assigning the first agent to a first channel and the second agent to a second channel according to the relative priority. Depending on the currently programmed status of the channels, information stored in at least one of the channels may be dynamically migrated to another channel based on the assignments. Other embodiments are described and claimed.

    摘要翻译: 在一个实施例中,本发明包括确定第一代理和第二代理之间的相对优先级的方法,以及根据相对优先级将第一代理分配给第一通道,将第二代理分配给第二通道。 根据通道的当前编程的状态,存储在至少一个通道中的信息可以基于分配被动态迁移到另一个通道。 描述和要求保护其他实施例。