Method and logical apparatus for switching between single-threaded and multi-threaded execution states in a simultaneous multi-threaded (SMT) processor
    1.
    发明授权
    Method and logical apparatus for switching between single-threaded and multi-threaded execution states in a simultaneous multi-threaded (SMT) processor 失效
    用于在同时多线程(SMT)处理器中在单线程和多线程执行状态之间切换的方法和逻辑设备

    公开(公告)号:US07155600B2

    公开(公告)日:2006-12-26

    申请号:US10422648

    申请日:2003-04-24

    CPC分类号: G06F9/485

    摘要: A method and logical apparatus for switching between single-threaded and multi-threaded execution states within a simultaneous multi-threaded (SMT) processor provides a mechanism for switching between single-threaded and multi-threaded execution. The processor receives an instruction specifying a transition from a single-threaded to a multi-threaded mode or vice-versa and halts execution of all threads executing on the processor. Internal control logic controls a sequence of events that ends instruction prefetching, dispatch of new instructions, interrupt processing and maintenance operations and waits for operation of the processor to complete for instructions that are in process. Then, the logic determines one or more threads to start in conformity with a thread enable state specifying the enable state of multiple threads and reallocates various resources, dividing them between threads if multiple threads are specified for further execution (multi-threaded mode) or allocating substantially all of the resources to a single thread if further execution is specified as single-threaded mode. The processor then starts execution of the remaining enabled threads.

    摘要翻译: 用于在同时多线程(SMT)处理器中的单线程和多线程执行状态之间切换的方法和逻辑设备提供了在单线程和多线程执行之间进行切换的机制。 处理器接收指定从单线程转换到多线程模式或反之亦然的指令,并停止在处理器上执行的所有线程的执行。 内部控制逻辑控制结束指令预取,调度新指令,中断处理和维护操作的事件序列,并等待处理器的操作完成以处理正在进行的指令。 然后,逻辑根据指定多个线程的使能状态的线程使能状态确定一个或多个线程,以重新分配各种资源,如果多个线程被指定用于进一步执行(多线程模式)或分配 如果进一步执行被指定为单线程模式,则基本上所有的资源到单个线程。 然后,处理器开始执行剩余的已启用线程。

    Performance throttling for temperature reduction in a microprocessor
    2.
    发明授权
    Performance throttling for temperature reduction in a microprocessor 失效
    微处理器降温性能节流

    公开(公告)号:US07051221B2

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

    申请号:US10425399

    申请日:2003-04-28

    IPC分类号: G06F1/32

    摘要: A microprocessor includes a functional block having dynamic power savings circuitry, a functional block control circuit, and a thermal control unit. The functional block control circuits are capable of altering performance characteristics of their associated functional blocks automatically upon detecting an over temperature condition. The thermal control unit receives an over-temperature signal indicating a processor temperature exceeding a threshold and invokes the one or more of the functional block control units in response to the signal. The functional block control units respond to signals from the thermal control unit by reducing processor activity, slowing processor performance, or both. The reduced activity that results causes the dynamic power saving circuitry to engage. The functional block control units can throttle performance by numerous means including reducing the exploitable parallelism within the processor, suspending out-of-order execution, reducing effective resource size, and the like.

    摘要翻译: 微处理器包括具有动态功率节省电路的功能块,功能块控制电路和热控制单元。 功能块控制电路能够在检测到过温度条件时自动改变其相关功能块的性能特性。 热控制单元接收指示处理器温度超过阈值的过温度信号,并响应于该信号调用一个或多个功能块控制单元。 功能块控制单元通过减少处理器活动,降低处理器性能或两者来响应来自热控制单元的信号。 导致动态省电电路参与的活动减少。 功能块控制单元可以通过多种方式来抑制性能,包括减少处理器内可利用的并行性,暂停无序执行,减少有效的资源大小等。

    PROCESSOR WITH RESOURCE USAGE COUNTERS FOR PER-THREAD ACCOUNTING
    3.
    发明申请
    PROCESSOR WITH RESOURCE USAGE COUNTERS FOR PER-THREAD ACCOUNTING 有权
    处理器与资源使用计数器对于每个螺纹的会计

    公开(公告)号:US20120216210A1

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

    申请号:US13459398

    申请日:2012-04-30

    IPC分类号: G06F9/50

    摘要: Processor time accounting is enhanced by per-thread internal resource usage counter circuits that account for usage of processor core resources to the threads that use them. Relative resource use can be determined by detecting events such as instruction dispatches for multiple threads active within the processor, which may include idle threads that are still occupying processor resources. The values of the resource usage counters are used periodically to determine relative usage of the processor core by the multiple threads. If all of the events are for a single thread during a given period, the processor time is allocated to the single thread. If no events occur in the given period, then the processor time can be equally allocated among threads. If multiple threads are generating events, a fractional resource usage can be determined for each thread and the counters may be updated in accordance with their fractional usage.

    摘要翻译: 处理器时间计费通过每线程内部资源使用计数器电路来增强,这些计算器电路考虑到使用它们的线程使用处理器核心资源。 可以通过检测诸如在处理器内活动的多个线程的指令分派的事件来确定相对资源的使用,其可以包括仍然占据处理器资源的空闲线程。 周期性地使用资源使用计数器的值来确定多个线程对处理器核心的相对使用。 如果所有事件在给定时间段内都是针对单个线程,则处理器时间被分配给单个线程。 如果在给定的时间段内没有发生任何事件,那么处理器的时间可以在线程之间平均分配。 如果多个线程正在生成事件,则可以为每个线程确定分数资源使用,并且可以根据其分数使用来更新计数器。

    Processor core with per-thread resource usage accounting logic
    4.
    发明授权
    Processor core with per-thread resource usage accounting logic 有权
    处理器核心,具有每线程资源使用计费逻辑

    公开(公告)号:US08209698B2

    公开(公告)日:2012-06-26

    申请号:US12579540

    申请日:2009-10-15

    IPC分类号: G06F9/46 G06F7/38

    摘要: Processor time accounting is enhanced by per-thread internal resource usage counter circuits that account for usage of processor core resources to the threads that use them. Relative resource use can be determined by detecting events such as instruction dispatches for multiple threads active within the processor, which may include idle threads that are still occupying processor resources. The values of the resource usage counters are used periodically to determine relative usage of the processor core by the multiple threads. If all of the events are for a single thread during a given period, the processor time is allocated to the single thread. If no events occur in the given period, then the processor time can be equally allocated among threads. If multiple threads are generating events, a fractional resource usage can be determined for each thread and the counters may be updated in accordance with their fractional usage.

    摘要翻译: 处理器时间计费通过每线程内部资源使用计数器电路来增强,这些计算器电路考虑到使用它们的线程使用处理器核心资源。 可以通过检测诸如在处理器内活动的多个线程的指令分派等事件来确定相对资源的使用,这可能包括仍占用处理器资源的空闲线程。 周期性地使用资源使用计数器的值来确定多个线程对处理器核心的相对使用。 如果所有事件在给定时间段内都是针对单个线程,则处理器时间被分配给单个线程。 如果在给定的时间段内没有发生任何事件,那么处理器的时间可以在线程之间平均分配。 如果多个线程正在生成事件,则可以为每个线程确定分数资源使用,并且可以根据其分数使用来更新计数器。

    Processor core with per-thread resource usage accounting logic
    5.
    发明申请
    Processor core with per-thread resource usage accounting logic 有权
    处理器核心,具有每线程资源使用计费逻辑

    公开(公告)号:US20100037233A1

    公开(公告)日:2010-02-11

    申请号:US12579540

    申请日:2009-10-15

    IPC分类号: G06F9/46

    摘要: Processor time accounting is enhanced by per-thread internal resource usage counter circuits that account for usage of processor core resources to the threads that use them. Relative resource use can be determined by detecting events such as instruction dispatches for multiple threads active within the processor, which may include idle threads that are still occupying processor resources. The values of the resource usage counters are used periodically to determine relative usage of the processor core by the multiple threads. If all of the events are for a single thread during a given period, the processor time is allocated to the single thread. If no events occur in the given period, then the processor time can be equally allocated among threads. If multiple threads are generating events, a fractional resource usage can be determined for each thread and the counters may be updated in accordance with their fractional usage.

    摘要翻译: 处理器时间计费通过每线程内部资源使用计数器电路来增强,这些计算器电路考虑到使用它们的线程使用处理器核心资源。 可以通过检测诸如在处理器内活动的多个线程的指令分派等事件来确定相对资源的使用,这可能包括仍占用处理器资源的空闲线程。 周期性地使用资源使用计数器的值来确定多个线程对处理器核心的相对使用。 如果所有事件在给定时间段内都是针对单个线程,则处理器时间被分配给单个线程。 如果在给定的时间段内没有发生任何事件,那么处理器的时间可以在线程之间平均分配。 如果多个线程正在生成事件,则可以为每个线程确定分数资源使用,并且可以根据其分数使用来更新计数器。

    Processor with resource usage counters for per-thread accounting
    6.
    发明授权
    Processor with resource usage counters for per-thread accounting 有权
    具有用于每个线程会计的资源使用计数器的处理器

    公开(公告)号:US09003417B2

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

    申请号:US13459398

    申请日:2012-04-30

    摘要: Processor time accounting is enhanced by per-thread internal resource usage counter circuits that account for usage of processor core resources to the threads that use them. Relative resource use can be determined by detecting events such as instruction dispatches for multiple threads active within the processor, which may include idle threads that are still occupying processor resources. The values of the resource usage counters are used periodically to determine relative usage of the processor core by the multiple threads. If all of the events are for a single thread during a given period, the processor time is allocated to the single thread. If no events occur in the given period, then the processor time can be equally allocated among threads. If multiple threads are generating events, a fractional resource usage can be determined for each thread and the counters may be updated in accordance with their fractional usage.

    摘要翻译: 处理器时间计费通过每线程内部资源使用计数器电路来增强,这些计算器电路考虑到使用它们的线程使用处理器核心资源。 可以通过检测诸如在处理器内活动的多个线程的指令分派等事件来确定相对资源的使用,这可能包括仍占用处理器资源的空闲线程。 周期性地使用资源使用计数器的值来确定多个线程对处理器核心的相对使用。 如果所有事件在给定时间段内都是针对单个线程,则处理器时间被分配给单个线程。 如果在给定的时间段内没有发生任何事件,那么处理器的时间可以在线程之间平均分配。 如果多个线程正在生成事件,则可以为每个线程确定分数资源使用,并且可以根据其分数使用来更新计数器。

    Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor
    7.
    发明授权
    Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor 失效
    用于确定同时多线程(SMT)处理器中每线程处理器资源利用率的计费方法和逻辑

    公开(公告)号:US07657893B2

    公开(公告)日:2010-02-02

    申请号:US10422025

    申请日:2003-04-23

    IPC分类号: G06F9/46 G06F9/44

    摘要: An accounting method and multi-threaded processor include a mechanism for accounting for processor resource usage by threads within programs. Relative resource use is determined by detecting a particular cycle state of threads active within the processor. If instructions are dispatched for all threads or no threads, the processor cycle is accounted equally to all threads. Alternatively if no threads are in the particular cycle state, the accounting may be made using a prior state, or in conformity with ratios of the threads' priority levels. If only one thread is in the particular cycle state, that thread is accounted the entire processor cycle. If multiple threads are dispatching, but less than all threads are dispatching, the processor cycle is billed evenly across the dispatching threads.

    摘要翻译: 会计方法和多线程处理器包括用于计算程序内的线程的处理器资源使用的机制。 通过检测处理器内活动的线程的特定周期状态来确定相对资源的使用。 如果为所有线程或没有线程调度指令,则处理器周期与所有线程相等。 或者,如果没有线程处于特定周期状态,则可以使用先前状态进行计费,或者根据线程的优先级的比率来进行计费。 如果只有一个线程处于特定的循环状态,则该线程将占整个处理器周期。 如果多个线程正在调度,但是少于所有线程都调度,处理器周期将在调度线程中平均计费。

    Apparatus for randomizing instruction thread interleaving in a multi-thread processor
    8.
    发明授权
    Apparatus for randomizing instruction thread interleaving in a multi-thread processor 有权
    用于在多线程处理器中随机化指令线程交错的装置

    公开(公告)号:US08145885B2

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

    申请号:US12112859

    申请日:2008-04-30

    IPC分类号: G06F9/44 G06F9/46

    CPC分类号: G06F9/3851

    摘要: A processor interleaves instructions according to a priority rule which determines the frequency with which instructions from each respective thread are selected and added to an interleaved stream of instructions to be processed in the data processor. The frequency with which each thread is selected according to the rule may be based on the priorities assigned to the instruction threads. A randomization is inserted into the interleaving process so that the selection of an instruction thread during any particular clock cycle is not based solely by the priority rule, but is also based in part on a random or pseudo random element. This randomization is inserted into the instruction thread selection process so as to vary the order in which instructions are selected from the various instruction threads while preserving the overall frequency of thread selection (i.e. how often threads are selected) set by the priority rule.

    摘要翻译: A处理器根据优先级规则对指令进行交织,该优先级规则确定选择来自每个相应线程的指令的频率,并将其附加到要在数据处理器中处理的交错指令流。 根据规则选择每个线程的频率可以基于分配给指令线程的优先级。 随机化被插入到交织处理中,使得在任何特定时钟周期期间指令线程的选择不仅仅基于优先级规则,而且还部分地基于随机或伪随机元素。 该随机化被插入到指令线程选择处理中,以便改变从各种指令线程中选择指令的顺序,同时保持由优先级规则设置的线程选择的总体频率(即选择多少线程)。

    Apparatus for adjusting instruction thread priority in a multi-thread processor
    9.
    发明授权
    Apparatus for adjusting instruction thread priority in a multi-thread processor 有权
    用于在多线程处理器中调整指令线程优先级的装置

    公开(公告)号:US07827388B2

    公开(公告)日:2010-11-02

    申请号:US12044846

    申请日:2008-03-07

    IPC分类号: G06F9/40 G06F9/42

    CPC分类号: G06F9/4818 G06F9/3851

    摘要: Each instruction thread in a SMT processor is associated with a software assigned base input processing priority. Unless some predefined event or circumstance occurs with an instruction being processed or to be processed, the base input processing priorities of the respective threads are used to determine the interleave frequency between the threads according to some instruction interleave rule. However, upon the occurrence of some predefined event or circumstance in the processor related to a particular instruction thread, the base input processing priority of one or more instruction threads is adjusted to produce one more adjusted priority values. The instruction interleave rule is then enforced according to the adjusted priority value or values together with any base input processing priority values that have not been subject to adjustment.

    摘要翻译: SMT处理器中的每个指令线程与软件分配的基本输入处理优先级相关联。 除非正在处理或要处理的指令发生一些预定义的事件或情况,否则各个线程的基本输入处理优先级用于根据某种指令交错规则来确定线程之间的交织频率。 然而,在与特定指令线程相关的处理器中发生某些预定义的事件或环境时,调整一个或多个指令线程的基本输入处理优先级以产生一个更多调整的优先级值。 然后根据调整后的优先级值或与未经调整的任何基本输入处理优先级值一起实施指令交错规则。

    Apparatus and method for adjusting instruction thread priority in a multi-thread processor
    10.
    发明授权
    Apparatus and method for adjusting instruction thread priority in a multi-thread processor 有权
    用于调整多线程处理器中指令线程优先级的装置和方法

    公开(公告)号:US07401207B2

    公开(公告)日:2008-07-15

    申请号:US10424529

    申请日:2003-04-25

    IPC分类号: G06F9/40 G06F9/44

    CPC分类号: G06F9/4818 G06F9/3851

    摘要: Each instruction thread in a SMT processor is associated with a software assigned base input processing priority. Unless some predefined event or circumstance occurs with an instruction being processed or to be processed, the base input processing priorities of the respective threads are used to determine the interleave frequency between the threads according to some instruction interleave rule. However, upon the occurrence of some predefined event or circumstance in the processor related to a particular instruction thread, the base input processing priority of one or more instruction threads is adjusted to produce one more adjusted priority values. The instruction interleave rule is then enforced according to the adjusted priority value or values together with any base input processing priority values that have not been subject to adjustment.

    摘要翻译: SMT处理器中的每个指令线程与软件分配的基本输入处理优先级相关联。 除非正在处理或要处理的指令发生一些预定义的事件或情况,否则各个线程的基本输入处理优先级用于根据某种指令交错规则来确定线程之间的交织频率。 然而,在与特定指令线程相关的处理器中发生某些预定义的事件或环境时,调整一个或多个指令线程的基本输入处理优先级以产生一个更多调整的优先级值。 然后根据调整后的优先级值或与未经调整的任何基本输入处理优先级值一起实施指令交错规则。