Dynamically updating hardware prefetch trait to exclusive or shared at program detection

    公开(公告)号:US10514920B2

    公开(公告)日:2019-12-24

    申请号:US14625124

    申请日:2015-02-18

    Abstract: A processor includes a processing core that detects a predetermined program is running on the processor and looks up a prefetch trait associated with the predetermined program running on the processor, wherein the prefetch trait is either exclusive or shared. The processor also includes a hardware data prefetcher that performs hardware prefetches for the predetermined program using the prefetch trait. Alternatively, the processing core loads each of one or more range registers of the processor with a respective address range in response to detecting that the predetermined program is running on the processor. Each of the one or more address ranges has an associated prefetch trait, wherein the prefetch trait is either exclusive or shared. The hardware data prefetcher performs hardware prefetches for the predetermined program using the prefetch traits associated with the address ranges loaded into the range registers.

    Selective accumulation and use of predicting unit history
    2.
    发明授权
    Selective accumulation and use of predicting unit history 有权
    选择性积累和使用预测单位历史

    公开(公告)号:US09507597B2

    公开(公告)日:2016-11-29

    申请号:US14165354

    申请日:2014-01-27

    CPC classification number: G06F9/30058 G06F9/3848 G06F9/3851

    Abstract: A microprocessor includes a predicting unit and a control unit. The control unit controls the predicting unit to accumulate a history of characteristics of executed instructions and makes predictions related to subsequent instructions based on the history while the microprocessor is running a first thread. The control unit also detects a transition from running the first thread to running a second thread and controls the predicting unit to selectively suspend accumulating the history and making the predictions using the history while running the second thread. The predicting unit makes static predictions while running the second thread. The selectivity may be based on the privilege level, identity or length of the second thread, static prediction effectiveness during a previous execution instance of the thread, whether the transition was made due to a system call, and whether the second thread is an interrupt handler.

    Abstract translation: 微处理器包括预测单元和控制单元。 控制单元控制预测单元累积执行指令的特征历史,并且在微处理器运行第一线程的同时基于历史来进行与后续指令相关的预测。 控制单元还检测从运行第一线程到运行第二线程的转变,并且控制预测单元选择性地暂停累积历史并且在运行第二线程时使用历史进行预测。 预测单元在运行第二个线程时进行静态预测。 选择性可以基于第二线程的特权级别,身份或长度,线程的先前执行实例期间的静态预测有效性,是否由于系统调用而进行转换,以及第二线程是否是中断处理程序 。

    SELECTIVE ACCUMULATION AND USE OF PREDICTING UNIT HISTORY
    3.
    发明申请
    SELECTIVE ACCUMULATION AND USE OF PREDICTING UNIT HISTORY 有权
    选择性累积和预测单位历史的使用

    公开(公告)号:US20140365753A1

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

    申请号:US14165354

    申请日:2014-01-27

    CPC classification number: G06F9/30058 G06F9/3848 G06F9/3851

    Abstract: A microprocessor includes a predicting unit and a control unit. The control unit controls the predicting unit to accumulate a history of characteristics of executed instructions and makes predictions related to subsequent instructions based on the history while the microprocessor is running a first thread. The control unit also detects a transition from running the first thread to running a second thread and controls the predicting unit to selectively suspend accumulating the history and making the predictions using the history while running the second thread. The predicting unit makes static predictions while running the second thread. The selectivity may be based on the privilege level, identity or length of the second thread, static prediction effectiveness during a previous execution instance of the thread, whether the transition was made due to a system call, and whether the second thread is an interrupt handler.

    Abstract translation: 微处理器包括预测单元和控制单元。 控制单元控制预测单元累积执行指令的特征历史,并且在微处理器运行第一线程的同时基于历史来进行与后续指令相关的预测。 控制单元还检测从运行第一线程到运行第二线程的转变,并且控制预测单元选择性地暂停累积历史并且在运行第二线程时使用历史进行预测。 预测单元在运行第二个线程时进行静态预测。 选择性可以基于第二线程的特权级别,身份或长度,线程的先前执行实例期间的静态预测有效性,是否由于系统调用而进行转换,以及第二线程是否是中断处理程序 。

    Communicating prefetchers that throttle one another
    5.
    发明授权
    Communicating prefetchers that throttle one another 有权
    沟通相互压制的预取器

    公开(公告)号:US09483406B2

    公开(公告)日:2016-11-01

    申请号:US14315064

    申请日:2014-06-25

    CPC classification number: G06F12/0862 G06F9/383 G06F2212/502 G06F2212/6026

    Abstract: A microprocessor includes a first hardware data prefetcher that prefetches data into the microprocessor according to a first algorithm. The microprocessor also includes a second hardware data prefetcher that prefetches data into the microprocessor according to a second algorithm, wherein the first and second algorithms are different. The second prefetcher detects that it is prefetching data into the microprocessor according to the second algorithm in excess of a first predetermined rate and, in response, sends a throttle indication to the first prefetcher. The first prefetcher prefetches data into the microprocessor according to the first algorithm at below a second predetermined rate in response to receiving the throttle indication from the second prefetcher.

    Abstract translation: 微处理器包括根据第一算法将数据预取到微处理器的第一硬件数据预取器。 微处理器还包括第二硬件数据预取器,其根据第二算法将数据预取到微处理器中,其中第一和第二算法是不同的。 第二预取器检测到根据第二算法将数据预取到微处理器中超过第一预定速率,并且作为响应,向第一预取器发送节气门指示。 响应于从第二预取器接收到节气门指示,第一预取器根据第一算法在低于第二预定速率的情况下将数据预取到微处理器中。

    Bounding box prefetcher
    6.
    发明授权
    Bounding box prefetcher 有权
    边框预取器

    公开(公告)号:US08880807B2

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

    申请号:US14282420

    申请日:2014-05-20

    CPC classification number: G06F9/3814 G06F12/0862 G06F2212/602 G06F2212/6026

    Abstract: A data prefetcher in a microprocessor. The data prefetcher includes a plurality of period match counters associated with a corresponding plurality of different pattern periods. The data prefetcher also includes control logic that updates the plurality of period match counters in response to accesses to a memory block by the microprocessor, determines a clear pattern period based on the plurality of period match counters and prefetches into the microprocessor non-fetched cache lines within the memory block based on a pattern having the clear pattern period determined based on the plurality of period match counters.

    Abstract translation: 微处理器中的数据预取器。 数据预取器包括与相应的多个不同模式周期相关联的多个周期匹配计数器。 数据预取器还包括响应于微处理器对存储器块的访问而更新多个周期匹配计数器的控制逻辑,基于多个周期匹配计数器确定清除模式周期,并预取到微处理器未获取的高速缓存行 基于具有基于多个周期匹配计数器确定的清除模式周期的模式在存储块内。

    BOUNDING BOX PREFETCHER
    7.
    发明申请
    BOUNDING BOX PREFETCHER 有权
    边框预选

    公开(公告)号:US20140289479A1

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

    申请号:US14282420

    申请日:2014-05-20

    CPC classification number: G06F9/3814 G06F12/0862 G06F2212/602 G06F2212/6026

    Abstract: A data prefetcher in a microprocessor. The data prefetcher includes a plurality of period match counters associated with a corresponding plurality of different pattern periods. The data prefetcher also includes control logic that updates the plurality of period match counters in response to accesses to a memory block by the microprocessor, determines a clear pattern period based on the plurality of period match counters and prefetches into the microprocessor non-fetched cache lines within the memory block based on a pattern having the clear pattern period determined based on the plurality of period match counters.

    Abstract translation: 微处理器中的数据预取器。 数据预取器包括与相应的多个不同模式周期相关联的多个周期匹配计数器。 数据预取器还包括响应于微处理器对存储器块的访问而更新多个周期匹配计数器的控制逻辑,基于多个周期匹配计数器确定清除模式周期,并预取到微处理器未获取的高速缓存行 基于具有基于多个周期匹配计数器确定的清除模式周期的模式在存储块内。

    Communicating prefetchers in a microprocessor
    8.
    发明授权
    Communicating prefetchers in a microprocessor 有权
    在微处理器中沟通预取器

    公开(公告)号:US09251083B2

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

    申请号:US13792428

    申请日:2013-03-11

    CPC classification number: G06F12/0862 G06F2212/6026

    Abstract: A microprocessor includes a first and second hardware data prefetchers configured to prefetch data into the microprocessor according to first and second respective algorithms, which are different. The second prefetcher is configured to detect a memory access pattern within a memory region and responsively prefetch data from the memory region according the second algorithm. The second prefetcher is further configured to provide to the first prefetcher a descriptor of the memory region. The first prefetcher is configured to stop prefetching data from the memory region in response to receiving the descriptor of the memory region from the second prefetcher. The second prefetcher also provides to the first prefetcher a communication to resume prefetching data from the memory region, such as when the second prefetcher subsequently detects that a predetermined number of memory accesses to the memory region are not in the memory access pattern.

    Abstract translation: 微处理器包括第一和第二硬件数据预取器,其被配置为根据不同的第一和第二相应算法将数据预取入微处理器。 第二预取器被配置为检测存储器区域内的存储器访问模式,并且根据第二算法响应地从存储器区域预取数据。 第二预取器还被配置为向第一预取器提供存储器区域的描述符。 响应于从第二预取器接收到存储器区域的描述符,第一预取器被配置为停止从存储器区域预取数据。 第二预取器还向第一预取器提供通信以恢复从存储器区域预取数据,例如当第二预取器随后检测到对存储器区域的预定数量的存储器访问不在存储器访问模式中时。

    COMMUNICATING PREFETCHERS IN A MICROPROCESSOR
    9.
    发明申请
    COMMUNICATING PREFETCHERS IN A MICROPROCESSOR 有权
    在微处理器中传播预览者

    公开(公告)号:US20140258641A1

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

    申请号:US13792428

    申请日:2013-03-11

    CPC classification number: G06F12/0862 G06F2212/6026

    Abstract: A microprocessor includes a first and second hardware data prefetchers configured to prefetch data into the microprocessor according to first and second respective algorithms, which are different. The second prefetcher is configured to detect a memory access pattern within a memory region and responsively prefetch data from the memory region according the second algorithm. The second prefetcher is further configured to provide to the first prefetcher a descriptor of the memory region. The first prefetcher is configured to stop prefetching data from the memory region in response to receiving the descriptor of the memory region from the second prefetcher. The second prefetcher also provides to the first prefetcher a communication to resume prefetching data from the memory region, such as when the second prefetcher subsequently detects that a predetermined number of memory accesses to the memory region are not in the memory access pattern.

    Abstract translation: 微处理器包括第一和第二硬件数据预取器,其被配置为根据不同的第一和第二相应算法将数据预取入微处理器。 第二预取器被配置为检测存储器区域内的存储器访问模式,并且根据第二算法响应地从存储器区域预取数据。 第二预取器还被配置为向第一预取器提供存储器区域的描述符。 响应于从第二预取器接收到存储器区域的描述符,第一预取器被配置为停止从存储器区域预取数据。 第二预取器还向第一预取器提供通信以恢复从存储器区域预取数据,例如当第二预取器随后检测到对存储器区域的预定数量的存储器访问不在存储器访问模式中时。

    COMMUNICATING PREFETCHERS THAT THROTTLE ONE ANOTHER
    10.
    发明申请
    COMMUNICATING PREFETCHERS THAT THROTTLE ONE ANOTHER 有权
    传播其他一些传播者的传播者

    公开(公告)号:US20140310479A1

    公开(公告)日:2014-10-16

    申请号:US14315064

    申请日:2014-06-25

    CPC classification number: G06F12/0862 G06F9/383 G06F2212/502 G06F2212/6026

    Abstract: A microprocessor includes a first hardware data prefetcher that prefetches data into the microprocessor according to a first algorithm. The microprocessor also includes a second hardware data prefetcher that prefetches data into the microprocessor according to a second algorithm, wherein the first and second algorithms are different. The second prefetcher detects that it is prefetching data into the microprocessor according to the second algorithm in excess of a first predetermined rate and, in response, sends a throttle indication to the first prefetcher. The first prefetcher prefetches data into the microprocessor according to the first algorithm at below a second predetermined rate in response to receiving the throttle indication from the second prefetcher.

    Abstract translation: 微处理器包括根据第一算法将数据预取到微处理器的第一硬件数据预取器。 微处理器还包括第二硬件数据预取器,其根据第二算法将数据预取到微处理器中,其中第一和第二算法是不同的。 第二预取器检测到根据第二算法将数据预取到微处理器中超过第一预定速率,并且作为响应,向第一预取器发送节气门指示。 响应于从第二预取器接收到节气门指示,第一预取器根据第一算法在低于第二预定速率的情况下将数据预取到微处理器中。

Patent Agency Ranking