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.
Un amortisseur de commander à nouveau est configuré dans les lignes multiples du stockage, où une ligne de stockage inclut le stockage suffisant pour des résultats d'instruction concernant un nombre maximum prédéfini des instructions concurremment dispatchable. Une ligne de stockage est assignée toutes les fois qu'une ou plusieurs instructions sont expédiées. Un microprocesseur utilisant l'amortisseur de commander à nouveau est également configuré avec des positions fixes et symétriques d'issue. La nature symétrique des positions d'issue peut augmenter le nombre moyen d'instructions d'être concurremment expédié et exécuté par le microprocesseur. Le nombre moyen d'endroits inutilisés dans la ligne diminue à mesure que le nombre moyen d'instructions concurremment expédiées augmente. Une exécution particulière de l'amortisseur de commander à nouveau inclut un futur dossier. Le futur dossier comporte un endroit de stockage correspondant à chaque registre dans le microprocesseur. L'étiquette d'amortisseur de commander à nouveau (ou le résultat d'instruction, si l'instruction s'est exécutée) de la dernière instruction dans l'ordre de programme de mettre le registre est à l'avenir dossier stocké. L'amortisseur de commander à nouveau fournit la valeur (commandez à nouveau l'étiquette d'amortisseur ou le résultat d'instruction) stockée dans l'endroit de stockage correspondant à un registre quand le registre est utilisé comme opérande de source pour une autre instruction. Un autre avantage du futur dossier pour les microprocesseurs qui permettent l'accès et la mise à jour aux parties de registres est que des dépendances étroit-à-larges sont résolues sur l'accomplissement de l'instruction qui met le registre plus étroit.