Intel Core i7 (Nehalem): Architektur von AMD?

Branch Prädiktoren Die letzte Verbesserung am Frontend hat mit den Branch Prädiktoren zu tun. Die Effizienz von Verzweigungsvorhersagealgorithmen wird in Architekturen entscheidend, die eine hohe Instruktionsparallelität benötigen. Eine Verzweigung unterbricht die Parallelität, weil es das Warten auf das Ergebnis einer vorhergehenden Anweisung erfordert, bevor die Ausführung des Befehlsflusses fortgesetzt werden kann. Die

Branch Prädiktoren

Die letzte Verbesserung am Frontend hat mit den Branch Prädiktoren zu tun. Die Effizienz von Verzweigungsvorhersagealgorithmen wird in Architekturen entscheidend, die eine hohe Instruktionsparallelität benötigen. Eine Verzweigung unterbricht die Parallelität, weil es das Warten auf das Ergebnis einer vorhergehenden Anweisung erfordert, bevor die Ausführung des Befehlsflusses fortgesetzt werden kann. Die Verzweigungsvorhersage bestimmt, ob eine Verzweigung genommen wird oder nicht, und wenn dies der Fall ist, bestimmt sie schnell die Zieladresse für die fortgesetzte Ausführung. Dazu sind keine komplizierten Techniken erforderlich. Alles, was benötigt wird, ist ein Array von Verzweigungen - der Branch Target Buffer (BTB) -, der die Ergebnisse der Verzweigungen während des Ausführungsfortschritts (Take oder Not Taken und Zieladresse) und einen Algorithmus zur Bestimmung des Ergebnisses der nächsten Verzweigung speichert.

Intel hat keine Details zu dem für ihre neuen Prädiktoren verwendeten Algorithmus angegeben, aber es ist bekannt, dass es sich jetzt um Prädiktoren auf zwei Ebenen handelt. Die erste Ebene ist gegenüber der Conroe-Architektur unverändert, aber eine neue Ebene mit langsameren Zugriffen, die mehr Verzweigungshistorie speichern kann, wurde hinzugefügt. Laut Intel verbessert diese Konfiguration die Verzweigungsvorhersage für bestimmte Anwendungen, die große Mengen an Code verwenden, z. B. Datenbanken - ein weiterer Beweis für die Serverausrichtung von Nehalem. Eine weitere Verbesserung ist der Return Stack Buffer, der die Rückgabeadressen von Funktionen speichert, wenn sie aufgerufen werden. In bestimmten Fällen kann dieser Puffer überlaufen, was zu fehlerhaften Vorhersagen führen kann. Um diese Möglichkeit zu begrenzen, hat AMD seine Größe auf 24 Einträge erhöht, während Intel mit dem Nehalem ein Umbenennungssystem für diesen Puffer eingeführt hat.

Top