PROCESSOR WITH SECOND JUMP EXECUTION UNIT FOR BRANCH MISPREDICTION

A secondary jump execution unit (JEU) is incorporated in a micro-processor to operate concurrently with a primary JEU, enabling the execution of simultaneous branch operations with possible detection of multiple branch mispredicts. When branch operations are executed on both JEUs in a same instructi...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: MIRKES, SEAN, P, SUTANTO, BAMBANG, FARCY, ALEXANDRE, J, SODANI, AVINASH, KADGI, VIJAYKUMAR, B, MARDEN, MORRIS, LAI, CHIA YIN, KEVIN, MERTEN, MATTHEW, C
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A secondary jump execution unit (JEU) is incorporated in a micro-processor to operate concurrently with a primary JEU, enabling the execution of simultaneous branch operations with possible detection of multiple branch mispredicts. When branch operations are executed on both JEUs in a same instruction cycle, mispredict processing for the secondary JEU is skidded into the primary JEU's dispatch pipeline such that the branch processing for the secondary JEU occurs after processing of the branch for the primary JEU and while the primary JEU is not processing a branch. Moreover, in cases when a nuke command is also received from a reorder buffer of the processor, the branch processing for the secondary JEU is further delayed to accommodate processing of the nuke on the primary JEU. Further embodiments support the promotion of the secondary JEU to have access to the mispredict mechanisms of the primary JEU in certain circumstances. Selon l'invention, une unité d'exécution de saut (JEU) secondaire est incorporée dans un microprocesseur pour fonctionner concurremment avec une JEU primaire, permettant l'exécution d'opérations de branchement simultanées comprenant détection possible de multiples mauvaises prédictions de branchement. Lorsque des opérations de branchement sont exécutées sur les deux JEU dans un même cycle d'instruction, un traitement de mauvaise prédiction pour la JEU secondaire est transféré dans le pipeline de répartition de la JEU primaire de manière à ce que le traitement de branchement pour la JEU secondaire se produise après le traitement du branchement pour la JEU primaire et pendant que la JEU primaire n'est pas en train de traiter un branchement. En outre, dans le cas où une instruction de réinitialisation de pipeline (« nuke ») est également reçue en provenance d'un tampon de remise en ordre du processeur, le traitement de branchement pour la JEU secondaire est davantage retardé afin de rendre possible le traitement de la réinitialisation de pipeline sur la JEU primaire. D'autres modes de réalisation prennent en charge la promotion de la JEU secondaire pour qu'elle ait accès aux mécanismes de mauvaise prédiction de la JEU primaire dans certaines circonstances.