Data stream prefetching in a microprocessor
    1.
    发明授权
    Data stream prefetching in a microprocessor 失效
    数据流在微处理器中预取

    公开(公告)号:US07350029B2

    公开(公告)日:2008-03-25

    申请号:US11054889

    申请日:2005-02-10

    IPC分类号: G06F12/00 G06F13/00

    CPC分类号: G06F12/0862 G06F2212/6028

    摘要: A method of prefetching data in a microprocessor includes identifying a data stream associated with a process and determining a depth associated with the data stream based upon prefetch factors including the number of currently concurrent data streams and data consumption rates associated with the concurrent data streams. Data prefetch requests are allocated with the data stream to reflect the determined depth of the data stream. Allocating data prefetch requests may include allocating prefetch requests for a number of cache lines away from the cache line currently being referenced, wherein the number of cache lines is equal to the determined depth. The method may include, responsive to determining the depth associated with a data stream, configuring prefetch hardware to reflect the determined depth for the identified data stream. Prefetch control bits in an instruction executed by the processor control the prefetch hardware configuration.

    摘要翻译: 在微处理器中预取数据的方法包括基于包括当前并发数据流的数量和与并发数据流相关联的数据消耗速率的预取因子来识别与进程相关联的数据流并确定与数据流相关联的深度。 数据预取请求被分配与数据流以反映确定的数据流的深度。 分配数据预取请求可以包括为当前被引用的高速缓存行分配多个高速缓存行的预取请求,其中高速缓存行的数量等于所确定的深度。 该方法可以响应于确定与数据流相关联的深度,配置预取硬件以反映所识别的数据流的确定的深度。 由处理器执行的指令中的预取控制位控制预取硬件配置。

    Data stream prefetching in a microprocessor
    2.
    发明授权
    Data stream prefetching in a microprocessor 失效
    数据流在微处理器中预取

    公开(公告)号:US07904661B2

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

    申请号:US11953637

    申请日:2007-12-10

    IPC分类号: G06F12/00 G06F13/00

    CPC分类号: G06F12/0862 G06F2212/6028

    摘要: A method of prefetching data in a microprocessor includes identifying a data stream associated with a process and determining a depth associated with the data stream based upon prefetch factors including the number of currently concurrent data streams and data consumption rates associated with the concurrent data streams. Data prefetch requests are allocated with the data stream to reflect the determined depth of the data stream. Allocating data prefetch requests may include allocating prefetch requests for a number of cache lines away from the cache line currently being referenced, wherein the number of cache lines is equal to the determined depth. The method may include, responsive to determining the depth associated with a data stream, configuring prefetch hardware to reflect the determined depth for the identified data stream. Prefetch control bits in an instruction executed by the processor control the prefetch hardware configuration.

    摘要翻译: 在微处理器中预取数据的方法包括基于包括当前并发数据流的数量和与并发数据流相关联的数据消耗速率的预取因子来识别与进程相关联的数据流并确定与数据流相关联的深度。 数据预取请求被分配与数据流以反映确定的数据流的深度。 分配数据预取请求可以包括为当前被引用的高速缓存行分配多个高速缓存行的预取请求,其中高速缓存行的数量等于所确定的深度。 该方法可以响应于确定与数据流相关联的深度,配置预取硬件以反映所识别的数据流的确定的深度。 由处理器执行的指令中的预取控制位控制预取硬件配置。

    Mechanism for Avoiding Check Stops in Speculative Accesses While Operating in Real Mode
    5.
    发明申请
    Mechanism for Avoiding Check Stops in Speculative Accesses While Operating in Real Mode 失效
    在实模式下操作时避免检测停止的机制

    公开(公告)号:US20090193233A1

    公开(公告)日:2009-07-30

    申请号:US12043747

    申请日:2008-03-06

    IPC分类号: G06F9/318

    摘要: A method and processor for avoiding check stops in speculative accesses. An execution unit, e.g., load/store unit, may be coupled to a queue configured to store instructions. A register, coupled to the execution unit, may be configured to store a value corresponding to an address in physical memory. When the processor is operating in real mode, the execution unit may retrieve the value stored in the register. Upon the execution unit receiving a speculative instruction, e.g., speculative load instruction, from the queue, a determination may be made as to whether the address of the speculative instruction is at or below the retrieved value. If the address of the speculative instruction is at or below this value, then the execution unit may safely speculatively execute this instruction while avoiding a check stop since all the addresses at or below this value are known to exist in physical memory.

    摘要翻译: 一种用于避免投机访问中检查停止的方法和处理器。 执行单元,例如加载/存储单元,可以被耦合到被配置为存储指令的队列。 耦合到执行单元的寄存器可被配置为存储对应于物理存储器中的地址的值。 当处理器以实模式运行时,执行单元可以检索存储在寄存器中的值。 在执行单元从队列接收诸如推测性加载指令的推测性指令之后,可以确定推测指令的地址是否在检索值以下。 如果推测指令的地址处于或低于该值,则执行单元可以安全地推测性地执行该指令,同时避免检查停止,因为已知存在于该物理存储器中的所有地址或低于该值的地址。

    Mechanism for avoiding check stops in speculative accesses while operating in real mode
    6.
    发明授权
    Mechanism for avoiding check stops in speculative accesses while operating in real mode 失效
    在实模式下运行时避免检测停止的机制

    公开(公告)号:US07370177B2

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

    申请号:US10424527

    申请日:2003-04-25

    IPC分类号: G06F9/30

    摘要: A method and processor for avoiding check stops in speculative accesses. An execution unit, e.g., load/store unit, may be coupled to a queue configured to store instructions. A register, coupled to the execution unit, may be configured to store a value corresponding to an address in physical memory. When the processor is operating in real mode, the execution unit may retrieve the value stored in the register. Upon the execution unit receiving a speculative instruction, e.g., speculative load instruction, from the queue, a determination may be made as to whether the address of the speculative instruction is at or below the retrieved value. If the address of the speculative instruction is at or below this value, then the execution unit may safely speculatively execute this instruction while avoiding a check stop since all the addresses at or below this value are known to exist in physical memory.

    摘要翻译: 一种用于避免投机访问中检查停止的方法和处理器。 执行单元,例如加载/存储单元,可以被耦合到被配置为存储指令的队列。 耦合到执行单元的寄存器可被配置为存储对应于物理存储器中的地址的值。 当处理器以实模式运行时,执行单元可以检索存储在寄存器中的值。 在执行单元从队列接收诸如推测性加载指令的推测性指令之后,可以确定推测指令的地址是否在检索值以下。 如果推测指令的地址处于或低于该值,则执行单元可以安全地推测性地执行该指令,同时避免检查停止,因为已知存在于该物理存储器中的所有地址或低于该值的地址。

    Selectively invalidating entries in an address translation cache
    7.
    发明授权
    Selectively invalidating entries in an address translation cache 有权
    选择性地使地址转换缓存中的条目无效

    公开(公告)号:US07822942B2

    公开(公告)日:2010-10-26

    申请号:US12054538

    申请日:2008-03-25

    IPC分类号: G06F13/00

    摘要: An apparatus and method selectively invalidate entries in an address translation cache instead of invalidating all, or nearly all, entries. One or more translation mode bits are provided in each entry in the address translation cache. These translation mode bits may be set according to the addressing mode used to create the cache entry. One or more “hint bits” are defined in an instruction that allow specifying which of the entries in the address translation cache are selectively preserved during an invalidation operation according to the value(s) of the translation mode bit(s). In the alternative, multiple instructions may be defined to preserve entries in the address translation cache that have specified addressing modes. In this manner, more intelligence is used to recognize that some entries in the address translation cache may be valid after a task or partition switch, and may therefore be retained, while other entries are invalidated.

    摘要翻译: 一种装置和方法选择性地使地址转换高速缓存中的条目无效,而不是使所有或几乎所有条目无效。 在地址转换高速缓存中的每个条目中提供一个或多个翻译模式位。 可以根据用于创建高速缓存条目的寻址模式来设置这些转换模式位。 在指令中定义一个或多个“提示位”,该指令允许根据翻译模式位的值来指定在无效操作期间选择性地保留地址转换高速缓存中的哪些条目。 在替代方案中,可以定义多个指令以保留具有指定寻址模式的地址转换高速缓存中的条目。 以这种方式,使用更多的智能来识别地址转换高速缓存中的一些条目在任务或分区切换之后可能是有效的,并且因此可以被保留,而其他条目无效。

    Mechanism for avoiding check stops in speculative accesses while operating in real mode
    8.
    发明授权
    Mechanism for avoiding check stops in speculative accesses while operating in real mode 失效
    在实模式下运行时避免检测停止的机制

    公开(公告)号:US07949859B2

    公开(公告)日:2011-05-24

    申请号:US12043747

    申请日:2008-03-06

    IPC分类号: G06F9/00

    摘要: A method and processor for avoiding check stops in speculative accesses. An execution unit, e.g., load/store unit, may be coupled to a queue configured to store instructions. A register, coupled to the execution unit, may be configured to store a value corresponding to an address in physical memory. When the processor is operating in real mode, the execution unit may retrieve the value stored in the register. Upon the execution unit receiving a speculative instruction, e.g., speculative load instruction, from the queue, a determination may be made as to whether the address of the speculative instruction is at or below the retrieved value. If the address of the speculative instruction is at or below this value, then the execution unit may safely speculatively execute this instruction while avoiding a check stop since all the addresses at or below this value are known to exist in physical memory.

    摘要翻译: 一种用于避免投机访问中检查停止的方法和处理器。 执行单元,例如加载/存储单元,可以被耦合到被配置为存储指令的队列。 耦合到执行单元的寄存器可被配置为存储对应于物理存储器中的地址的值。 当处理器以实模式运行时,执行单元可以检索存储在寄存器中的值。 在执行单元从队列接收诸如推测性加载指令的推测性指令之后,可以确定推测指令的地址是否在检索值以下。 如果推测指令的地址处于或低于该值,则执行单元可以安全地推测性地执行该指令,同时避免检查停止,因为已知存在于该物理存储器中的所有地址或低于该值的地址。

    SELECTIVELY INVALIDATING ENTRIES IN AN ADDRESS TRANSLATION CACHE
    9.
    发明申请
    SELECTIVELY INVALIDATING ENTRIES IN AN ADDRESS TRANSLATION CACHE 有权
    在地址翻译缓存中选择无效的入口

    公开(公告)号:US20080168254A1

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

    申请号:US12054538

    申请日:2008-03-25

    IPC分类号: G06F9/34

    摘要: An apparatus and method selectively invalidate entries in an address translation cache instead of invalidating all, or nearly all, entries. One or more translation mode bits are provided in each entry in the address translation cache. These translation mode bits may be set according to the addressing mode used to create the cache entry. One or more “hint bits” are defined in an instruction that allow specifying which of the entries in the address translation cache are selectively preserved during an invalidation operation according to the value(s) of the translation mode bit(s). In the alternative, multiple instructions may be defined to preserve entries in the address translation cache that have specified addressing modes. In this manner, more intelligence is used to recognize that some entries in the address translation cache may be valid after a task or partition switch, and may therefore be retained, while other entries are invalidated.

    摘要翻译: 一种装置和方法选择性地使地址转换高速缓存中的条目无效,而不是使所有或几乎所有条目无效。 在地址转换高速缓存中的每个条目中提供一个或多个翻译模式位。 可以根据用于创建高速缓存条目的寻址模式来设置这些转换模式位。 在指令中定义一个或多个“提示位”,该指令允许根据翻译模式位的值来指定在无效操作期间选择性地保留地址转换高速缓存中的哪些条目。 在替代方案中,可以定义多个指令以保留具有指定寻址模式的地址转换高速缓存中的条目。 以这种方式,使用更多的智能来识别地址转换高速缓存中的一些条目在任务或分区切换之后可能是有效的,并且因此可以被保留,而其他条目无效。

    Apparatus and method for selectively invalidating entries in an address translation cache
    10.
    发明授权
    Apparatus and method for selectively invalidating entries in an address translation cache 有权
    用于选择性地使地址转换高速缓存中的条目无效的装置和方法

    公开(公告)号:US07389400B2

    公开(公告)日:2008-06-17

    申请号:US11304136

    申请日:2005-12-15

    IPC分类号: G06F12/00

    摘要: An apparatus and method selectively invalidate entries in an address translation cache instead of invalidating all, or nearly all, entries. One or more translation mode bits are provided in each entry in the address translation cache. These translation mode bits may be set according to the addressing mode used to create the cache entry. One or more “hint bits” are defined in an instruction that allow specifying which of the entries in the address translation cache are selectively preserved during an invalidation operation according to the value(s) of the translation mode bit(s). In the alternative, multiple instructions may be defined to preserve entries in the address translation cache that have specified addressing modes. In this manner, more intelligence is used to recognize that some entries in the address translation cache may be valid after a task or partition switch, and may therefore be retained, while other entries in the address translation cache are invalidated.

    摘要翻译: 一种装置和方法选择性地使地址转换高速缓存中的条目无效,而不是使所有或几乎所有条目无效。 在地址转换高速缓存中的每个条目中提供一个或多个翻译模式位。 可以根据用于创建高速缓存条目的寻址模式来设置这些转换模式位。 在指令中定义一个或多个“提示位”,该指令允许根据翻译模式位的值来指定在无效操作期间选择性地保留地址转换高速缓存中的哪些条目。 在替代方案中,可以定义多个指令以保留具有指定寻址模式的地址转换高速缓存中的条目。 以这种方式,使用更多的智能来识别地址转换高速缓存中的一些条目在任务或分区切换之后可能是有效的,并且因此可以被保留,而地址转换高速缓存中的其他条目是无效的。