会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 5. 发明授权
    • Branch prediction cache with multiple entries for returns having
multiple callers
    • 具有多个条目的分支预测缓存,具有多个呼叫者
    • US5623614A
    • 1997-04-22
    • US122922
    • 1993-09-17
    • Korbin S. Van DykeLarry WidigenDavid L. Puziol
    • Korbin S. Van DykeLarry WidigenDavid L. Puziol
    • G06F9/38G06F9/42
    • G06F9/3806G06F9/30054G06F9/3808
    • A Branch Prediction Cache (BPC) selects from among multiple branch address entries for a single return-type instruction that returns to multiple callers. The BPC has a branch address associative memory, a return address associative memory, and word line logic used to validate and qualify entries. The branch address associative memory monitors program addresses for previously stored branch addresses. The return address stack (RtnStack) stores the return addresses for the most recent call-type instructions. The top of the stack is input to the return address associative memory. When a program address has multiple matches in the branch address associative memory, the return address associative memory enables only the entry that has an associated return address matching the top of the RtnStack. In an alternate embodiment, the return address associative memory is combined with a branch address cache and target address associative memory.
    • 分支预测缓存(BPC)从多个分支地址条目中选择返回多个呼叫者的单个返回类型指令。 BPC具有分支地址关联存储器,返回地址关联存储器和用于验证和限定条目的字线逻辑。 分支地址关联存储器监视先前存储的分支地址的程序地址。 返回地址堆栈(RtnStack)存储最近的呼叫类型指令的返回地址。 堆栈的顶部输入到返回地址关联存储器。 当程序地址在分支地址关联存储器中具有多个匹配时,返回地址关联存储器仅使具有与RtnStack顶部匹配的关联返回地址的条目。 在替代实施例中,返回地址关联存储器与分支地址高速缓存和目标地址关联存储器组合。
    • 6. 发明授权
    • Configurable branch prediction for a processor performing speculative
execution
    • US5815699A
    • 1998-09-29
    • US472698
    • 1995-06-06
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein Bennett Smith, III
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein Bennett Smith, III
    • G06F9/38G06F9/00
    • G06F9/3851G06F9/3806G06F9/3848
    • In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding. In a third aspect of the invention, Hit/Miss information from a Branch Prediction Cache (BPC) can optionally be used in formulating the next state value of an addressed two-bit counter stored in a correlation-based branch history table. Since a Miss in the BPC may indicate that this branch has not been encountered recently, whatever state currently exists can be optionally forced to a state that is based solely on whether the branch is resolved taken or not. This feature may be enabled and disabled under software control. In a fourth aspect of the invention, information from the instruction decoder is optionally used to override the correlation-based branch history table based prediction for select branch instructions. This feature may be enabled and disabled under software or hardware control.
    • 7. 发明授权
    • Configurable branch prediction for a processor performing speculative
execution
    • US5454117A
    • 1995-09-26
    • US112572
    • 1993-08-25
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein B. Smith, III
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein B. Smith, III
    • G06F9/38
    • G06F9/3851G06F9/3806G06F9/3848
    • In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding. In a third aspect of the invention, Hit/Miss information from a Branch Prediction Cache (BPC) can optionally be used in formulating the next state value of an addressed two-bit counter stored in a correlation-based branch history table. Since a Miss in the BPC may indicate that this branch has not been encountered recently, whatever state currently exists can be optionally forced to a state that is based solely on whether the branch is resolved taken or not. This feature may be enabled and disabled under software control. In a fourth aspect of the invention, information from the instruction decoder is optionally used to override the correlation-based branch history table based prediction for select branch instructions. This feature may be enabled and disabled under software or hardware control.
    • 8. 发明授权
    • Configurable branch prediction for a processor performing speculative execution
    • 执行推测执行的处理器的可配置分支预测
    • US06671798B1
    • 2003-12-30
    • US09992822
    • 2001-11-16
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein Bennett Smith, III
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein Bennett Smith, III
    • G06F938
    • G06F9/3851G06F9/3806G06F9/3848
    • In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding. In a third aspect of the invention, Hit/Miss information from a Branch Prediction Cache (BPC) can optionally be used in formulating the next state value of an addressed two-bit counter stored in a correlation-based branch history table. Since a Miss in the BPC may indicate that this branch has not been encountered recently, whatever state currently exists can be optionally forced to a state that is based solely on whether the branch is resolved taken or not. This feature may be enabled and disabled under software control. In a fourth aspect of the invention, information from the instruction decoder is optionally used to override the correlation-based branch history table based prediction for select branch instructions. This feature may be enabled and disabled under software or hardware control.
    • 在本发明的第一方面中,包括逻辑和互连的分支预测硬件可经由控制线进行配置,以改变生成分支预测的方式。 该配置可以通过软件进行编程。 或者,可以通过硬件来响应处理器事件来进行配置。 这样的处理器事件包括CS寄存器的加载和指令工作量的变化。 在本发明的第二方面中,与推测执行相关,部分地基于解决的分支历史信息来预测多个分支的方向。 然后针对每个预测分支存储暂定分支历史信息。 当解决预测分支时,根据所存储的用于最近解决的分支的临时分支历史信息来更新所解析的分支历史信息。 此外,预测可能部分基于前述未解决的分支预测(如果有)是未完成的。 在本发明的第三方面中,来自分支预测高速缓存(BPC)的命中/错误信息可以可选地用于制定存储在基于相关的分支历史表中的寻址的两位计数器的下一个状态值。 由于BPC中的小姐可能会指出最近没有遇到这个分支,所以无论目前存在什么状态,都可以强制执行到仅基于分支是否被解决的状态。 可以在软件控制下启用和禁用此功能。 在本发明的第四方面中,可选地使用来自指令解码器的信息来覆盖用于选择分支指令的基于相关性的基于分支历史表的预测。 可以在软件或硬件控制下启用和禁用此功能。
    • 9. 发明授权
    • Configurable branch prediction for a processor performing speculative execution
    • 执行推测执行的处理器的可配置分支预测
    • US06360318B1
    • 2002-03-19
    • US09608451
    • 2000-06-29
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein Bennett Smith, III
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein Bennett Smith, III
    • G06F938
    • G06F9/3851G06F9/3806G06F9/3848
    • In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically In software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding. In a third aspect of the invention, Hit/Miss information from a Branch Prediction Cache (BPC) can optionally be used in formulating the next state value of an addressed two-bit counter stored in a correlation-based branch history table. Since a Miss in the BPC may indicate that this branch has not been encountered recently, whatever state currently exists can be optionally forced to a state that is based solely on whether the branch is resolved taken or not. This feature may be enabled and disabled under software control. In a fourth aspect of the invention, information from the instruction decoder is optionally used to override the correlation-based branch history table based prediction for select branch instructions. This feature may be enabled and disabled under software or hardware control.
    • 在本发明的第一方面中,包括逻辑和互连的分支预测硬件可经由控制线进行配置,以改变生成分支预测的方式。 可以通过编程方式在软件中完成配置。 或者,可以通过硬件来响应处理器事件来进行配置。 这样的处理器事件包括CS寄存器的加载和指令工作量的变化。 在本发明的第二方面中,与推测执行相关,部分地基于解决的分支历史信息来预测多个分支的方向。 然后针对每个预测分支存储暂定分支历史信息。 当解决预测分支时,根据所存储的用于最近解决的分支的临时分支历史信息来更新所解析的分支历史信息。 此外,预测可能部分基于前述未解决的分支预测(如果有)是未完成的。 在本发明的第三方面中,来自分支预测高速缓存(BPC)的命中/错误信息可以可选地用于制定存储在基于相关的分支历史表中的寻址的两位计数器的下一个状态值。 由于BPC中的小姐可能会指出最近没有遇到这个分支,所以无论目前存在什么状态,都可以强制执行到仅基于分支是否被解决的状态。 可以在软件控制下启用和禁用此功能。 在本发明的第四方面中,可选地使用来自指令解码器的信息来覆盖用于选择分支指令的基于相关性的基于分支历史表的预测。 可以在软件或硬件控制下启用和禁用此功能。
    • 10. 发明授权
    • Configurable branch prediction for a processor performing speculative execution
    • 执行推测执行的处理器的可配置分支预测
    • US06282639B1
    • 2001-08-28
    • US09608448
    • 2000-06-29
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein Bennett Smith, III
    • David L. PuziolKorbin S. Van DykeLarry WidigenLen SharWalstein Bennett Smith, III
    • G06F900
    • G06F9/3851G06F9/3806G06F9/3848
    • In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding. In a third aspect of the invention, Hit/Miss Information from a Branch Prediction Cache (BPC) can optionally be used in formulating the next state value of an addressed two-bit counter stored in a correlation-based branch history table. Since a Miss in the BPC may indicate that this branch has not been encountered recently, whatever state currently exists can be optionally forced to a state that is based solely on whether the branch is resolved taken or not. This feature may be enabled and disabled under software control. In a fourth aspect of the invention, information from the instruction decoder is optionally used to override the correlation-based branch history table based prediction for select branch instructions. This feature may be enabled and disabled under software or hardware control.
    • 在本发明的第一方面中,包括逻辑和互连的分支预测硬件可经由控制线进行配置,以改变生成分支预测的方式。 该配置可以通过软件进行编程。 或者,可以通过硬件来响应处理器事件来进行配置。 这样的处理器事件包括CS寄存器的加载和指令工作量的变化。 在本发明的第二方面中,与推测执行相关,部分地基于解决的分支历史信息来预测多个分支的方向。 然后针对每个预测分支存储暂定分支历史信息。 当解决预测分支时,根据所存储的用于最近解决的分支的临时分支历史信息来更新所解析的分支历史信息。 此外,预测可能部分基于前述未解决的分支预测(如果有)是未完成的。 在本发明的第三方面中,来自分支预测高速缓存(BPC)的命中/错误信息可以可选地用于制定存储在基于相关的分支历史表中的寻址的两位计数器的下一状态值。 由于BPC中的小姐可能会指出最近没有遇到这个分支,所以无论目前存在什么状态,都可以强制执行到仅基于分支是否被解决的状态。 可以在软件控制下启用和禁用此功能。 在本发明的第四方面中,可选地使用来自指令解码器的信息来覆盖用于选择分支指令的基于相关性的基于分支历史表的预测。 可以在软件或硬件控制下启用和禁用此功能。