Patent DE-112013000453-B4 (DE)
Title: Hauptverzweigungsanweisungen mit Transaktionsspeicher
Inventor: PRASKY BRIAN ROBERT
IPC: G06F9/30
Filed: 2013-01-23
Granted: 2023-05-17
Abstract: Verfahren zum Ausführen einer Maschinenanweisung in einem ersten Pipeline-Stadium, aufweisend die Schritte:- Empfangen einer Maschinenanweisung durch einen Prozessor zur Ausführung, wobei die Maschinenanweisung entsprechend einer Computerarchitektur zur Ausführung durch Computer definiert ist, wobei die Maschinenanweisung aufweist:o mindestens ein Operationscodefeld zum Angeben eines Operationscodes, wobei der Operationscode eine Verzweigungsoperation definiert; undo mindestens ein Feld zum Festlegen einer Zielposition, zu der verzweigt werden soll; und- Ausführen der Maschinenanweisung in einem ersten Verarbeitungsstrom, wobei das Ausführen aufweist:◯ Starten eines zweiten Verarbeitungsstroms, wobei der zweite Verarbeitungsstrom in einer Beziehung zum ersten Verarbeitungsstrom steht und Hardwareressourcen des ersten Verarbeitungsstroms gemeinsam mit diesem nutzt, wobei durch den zweiten Verarbeitungsstrom Bezug auf den architektonischen Zustand des ersten Verarbeitungsstroms genommen wird;◯ Ermitteln auf der Grundlage des Startens des zweiten Verarbeitungsstroms, ob eine Transaktion für den zweiten Verarbeitungsstrom gestartet werden soll, wobei das Ermitteln auf einem Feld der Maschinenanweisung des ersten Verarbeitungsstroms beruht oder durch Hardware des Prozessors vorgegeben wird;◯ auf der Grundlage des Feststellens, dass die Transaktion gestartet werden soll, Starten der Transaktion für den zweiten Verarbeitungsstrom,▪ wobei die Transaktion eine oder mehrere Anweisungen aufweist, die an der Zielposition beginnen, die unter Verwendung des mindestens einen Feldes der Maschinenanweisung definiert ist, die eine oder mehreren Anweisungen außerhalb der Ausführungsreihenfolge gegenüber einer oder mehreren Anweisungen liegen, die gegenwärtig durch den ersten Verarbeitungsstrom verarbeitet werden, der erste Verarbeitungsstrom die Verarbeitung einer oder mehrerer Anweisungen im Anschluss an die Maschinenanweisung fortsetzt, und wobei Ergebnisse der einen oder mehreren Anweisungen des zweiten Verarbeitungsstroms als Teil der Transaktion als eine atomare Einheit festgeschrieben werden, und▪ wobei die Transaktion nicht endet, bis der erste Verarbeitungsstrom einen vordefinierten Punkt in der Verarbeitung erreicht und der zweite Verarbeitungsstrom zum ersten Verarbeitungsstrom werden soll; und◯ und wobei die Ausführung des zweiten Verarbeitungsstroms in der Weise auf Vermutungen beruht, dass mindestens eine Anweisung der einen oder mehreren Anweisungen des zweiten Verarbeitungsstroms ausgeführt wird, selbst wenn das Erreichen der mindestens einen Anweisung des zweiten Datenstroms durch die Verarbeitung des ersten Datenstroms provisorisch ist;◯ auf der Grundlage des Feststellens, dass die Transaktion nicht gestartet werden soll, Ausführen eines oder mehrerer anderer Pipeline-Stadien und Aussetzen des Freigebens von Ressourcen und Aussetzen des Zurückziehens von Anweisungen aus „Abschluss außerhalb der Reihenfolge“-Tabellen, so dass nur so viele Ressourcen durch den zweiten Verarbeitungsstrom belegt werden, wie der erste Verarbeitungsstrom übergeben hat, so dass der erste Verarbeitungsstrom nicht durch den zweiten Verarbeitungsstrom bis zur Blockade verlangsamt wird.