Branch predictor index generation using varied bit positions or bit order reversal

   
   

An indirect branch predictor includes a buffer storing branch target addresses corresponding to previously executed indirect branch instructions. The buffer is indexed with an index derived from history information corresponding to previously predicted indirect branch instructions and from the PC of the particular indirect branch instruction being predicted. In one embodiment, the buffer may be tagless and/or direct mapped. In various embodiments, the indirect branch target predictor may generate the index to the buffer using one or more techniques to improve the accuracy of the prediction: (i) offsetting the history information from the various previously predicted indirect branch instructions; (ii) weighting the history information based on the age of the previously predicted indirect branch instructions; and/or (iii) reversing the bit order of the PC of the particular indirect branch instruction being predicted. In one embodiment, the indirect branch predictor may include a second buffer indexed by a portion of the PC of the particular indirect branch instruction being predicted. The second buffer may store target addresses corresponding to previously executed indirect branch instructions and prediction selection information which may be used to select a target address prediction from one of the buffer and the second buffer. The second buffer may accurately predict indirect branch instructions whose target addresses are relatively fixed, using the buffer indexed by history information to predict the indirect branch instructions having more frequently changing indirect targets.

Ein indirektes Niederlassung Kommandogerät schließt einen Puffer ein, der die Niederlassung Zieladressen speichert, die vorher durchgeführten indirekten Verzweigungsbefehlen entsprechen. Der Puffer wird mit einem Index registriert, der von den Geschichte Informationen abgeleitet wird, die vorher vorausgesagten indirekten Verzweigungsbefehlen entsprechen und vom PC des bestimmten indirekten Verzweigungsbefehls, der vorausgesagt wird. In einer Verkörperung kann der Puffer tagless und/oder direktes sein abgebildet. In den verschiedenen Verkörperungen kann das indirekte Niederlassung Zielkommandogerät den Index zum Puffer mit einer oder mehr Techniken erzeugen, die Genauigkeit der Vorhersage zu verbessern: (i) Versatz der Geschichte Informationen von den verschiedenen vorher vorausgesagten indirekten Verzweigungsbefehlen; (ii), die Geschichte Informationen belastend basiert auf dem Alter der vorher vorausgesagten indirekten Verzweigungsbefehle; und/oder (iii), den Spitze Auftrag des PC des bestimmten indirekten Verzweigungsbefehls aufhebend, der vorausgesagt wird. In einer Verkörperung kann das indirekte Niederlassung Kommandogerät einen zweiten Puffer einschließen, der durch einen Teil des PC des bestimmten indirekten Verzweigungsbefehls registriert wird, der vorausgesagt wird. Der zweite Puffer kann die Zieladressen speichern, die vorher durchgeführten indirekten Verzweigungsbefehlen und Vorhersagevorwählerinformationen, die, entsprechen verwendet werden können, um eine Zieladresse Vorhersage von einer des Puffers und des zweiten Puffers vorzuwählen. Der zweite Puffer kann indirekte Verzweigungsbefehle genau voraussagen deren Zieladressen verhältnismäßig örtlich festgelegt sind mit dem Puffer, der durch Geschichte Informationen registriert wird, um die indirekten Verzweigungsbefehle vorauszusagen, die häufiger ändernde indirekte Ziele haben.

 
Web www.patentalert.com

< Cable modem system using CATV transmission path

< Using a key lease in a secondary authentication protocol after a primary authentication protocol has been performed

> Implementing cable modem functions on a host computer

> Load distribution in an internet telephony system using facility redirection of calls

~ 00108