SPECULATIVE INSTRUCTION WAKEUP TO TOLERATE DRAINING DELAY OF MEMORY ORDERING VIOLATION CHECK BUFFERS
A technique for speculatively executing load-dependent instructions includes detecting that a memory ordering consistency queue is full for a completed load instruction. The technique also includes storing data loaded by the completed load instruction into a storage location for storing data when th...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | A technique for speculatively executing load-dependent instructions includes detecting that a memory ordering consistency queue is full for a completed load instruction. The technique also includes storing data loaded by the completed load instruction into a storage location for storing data when the memory ordering consistency queue is full. The technique further includes speculatively executing instructions that are dependent on the completed load instruction. The technique also includes in response to a slot becoming available in the memory ordering consistency queue, replaying the load instruction. The technique further includes in response to receiving loaded data for the replayed load instruction, testing for a data mis-speculation by comparing the loaded data for the replayed load instruction with the data loaded by the completed load instruction that is stored in the storage location.
L'invention concerne une technique pour exécuter de manière spéculative des instructions dépendantes d'un chargement, qui consiste à détecter qu'une file d'attente de cohérence d'ordre mémoire est pleine pour une instruction de chargement accomplie. La technique consiste également à stocker des données chargées par l'instruction de chargement accomplie dans un emplacement de stockage destiné à stocker des données quand la file d'attente de cohérence d'ordre mémoire est pleine. La technique consiste en outre à exécuter de manière spéculative des instructions qui sont dépendantes de l'instruction de chargement accomplie. La technique consiste également, en réponse au fait qu'un emplacement devient disponible dans la file d'attente de cohérence d'ordre mémoire, à ré-exécuter l'instruction de chargement. La technique consiste en outre, en réponse à la réception de données chargées pour l'instruction de chargement ré-exécutée, à tester une mauvaise spéculation de données par comparaison des données chargées pour l'instruction de chargement ré-exécutée aux données chargées par l'instruction de chargement accomplie qui sont stockées dans l'emplacement de stockage. |
---|