A reorder buffer is configured into multiple lines of storage, wherein a line of storage includes sufficient storage for instruction results regarding a predefined maximum number of concurrently dispatchable instructions. A line of storage is allocated whenever one or more instructions are dispatched. A microprocessor employing the reorder buffer is also configured with fixed, symmetrical issue positions. The symmetrical nature of the issue positions may increase the average number of instructions to be concurrently dispatched and executed by the microprocessor. The average number of unused locations within the line decreases as the average number of concurrently dispatched instructions increases. One particular implementation of the reorder buffer includes a future file. The future file comprises a storage location corresponding to each register within the microprocessor. The reorder buffer tag (or instruction result, if the instruction has executed) of the last instruction in program order to update the register is stored in the future file. The reorder buffer provides the value (either reorder buffer tag or instruction result) stored in the storage location corresponding to a register when the register is used as a source operand for another instruction. Another advantage of the future file for microprocessors which allow access and update to portions of registers is that narrow-to-wide dependencies are resolved upon completion of the instruction which updates the narrower register.

Ein neuordnenpuffer wird in mehrfache Linien der Ablage zusammengebaut, worin eine Linie der Ablage genügende Ablage für die Anweisung Resultate betreffend sind eine vorbestimmte Höchstzahl von gleichzeitig dispatchable Anweisungen einschließt. Eine Linie der Ablage wird zugeteilt, wann immer eine oder mehr Anweisungen geschickt werden. Ein Mikroprozessor, der den neuordnenpuffer einsetzt, wird auch mit den örtlich festgelegten, symmetrischen Ausgabe Positionen zusammengebaut. Die symmetrische Natur der Ausgabe Positionen kann die durchschnittliche Zahl Anweisungen erhöhen, durch den Mikroprozessor gleichzeitig geschickt zu werden und durchgeführt zu werden. Die durchschnittliche Zahl unbenutzten Positionen innerhalb der Linie verringert sich, während die durchschnittliche Zahl gleichzeitig geschickten Anweisungen sich erhöht. Eine bestimmte Implementierung des neuordnenpuffers schließt eine zukünftige Akte mit ein. Die zukünftige Akte enthält eine Speicherposition, die jedem Register innerhalb des Mikroprozessors entspricht. Der neuordnenpufferumbau (oder das Anweisung Resultat, wenn die Anweisung durchgeführt hat), der letzten Anweisung im Programmauftrag, das Register zu aktualisieren ist gespeicherte zukünftig Akte. Der neuordnenpuffer liefert den Wert (entweder ordnen Sie Pufferumbau oder Anweisung Resultat) neu, gespeichert in der Speicherposition, die einem Register entspricht, wenn das Register als Quellrechengröße für eine andere Anweisung benutzt wird. Ein anderer Vorteil der zukünftigen Akte für Mikroprozessoren, die Zugang und Update zu den Teilen Registern erlauben, ist, daß schmal-zu-breite Abhängigkeiten nach Beendigung der Anweisung behoben werden, die das schmalere Register aktualisiert.

 
Web www.patentalert.com

< (none)

< Method and apparatus for reordering memory operations along multiple execution paths in a processor

> Method and apparatus for hierarchical restructuring of computer code

> (none)

~ 00034