Efficient Out-of-Order Execution of Guarded ISAs - Université de Rennes Accéder directement au contenu
Article Dans Une Revue ACM Transactions on Architecture and Code Optimization Année : 2014

Efficient Out-of-Order Execution of Guarded ISAs

Nathanaël Prémillieu
  • Fonction : Auteur
  • PersonId : 925826
André Seznec

Résumé

ARM ISA-based processors are no longer low-cost, low-power processors. Nowadays, ARM ISA-based processor manufacturers are striving to implement medium-end to high-end processor cores, which implies implementing a state-of-the-art out-of-order execution engine. Unfortunately, providing efficient out-of-order execution on legacy ARM codes may be quite challenging due to guarded instructions. Predicting the guarded instructions addresses the main serialization impact associated with guarded instructions execution and the multiple definition problem. Moreover, guard prediction allows one to use a global branch-and-guard history predictor to predict both branches and guards, often improving branch prediction accuracy. Unfortunately, such a global branch-and-guard history predictor requires the systematic use of guard predictions. In that case, poor guard prediction accuracy would lead to poor overall performance on some applications. Building on top of recent advances in branch prediction and confidence estimation, we propose a hybrid branch-and-guard predictor, combining a global branch history component and global branch-and-guard history component. The potential gain or loss due to the systematic use of guard prediction is dynamically evaluated at runtime. Two computing modes are enabled: systematic guard prediction use and high-confidence-only guard prediction use. Our experiments show that on most applications, an overwhelming majority of guarded instructions are predicted. Therefore, a simple but relatively inefficient hardware solution can be used to execute the few unpredicted guarded instructions. Significant performance benefits are observed on most applications, while applications with poorly predictable guards do not suffer from performance loss.

Dates et versions

hal-01103230 , version 1 (14-01-2015)

Identifiants

Citer

Nathanaël Prémillieu, André Seznec. Efficient Out-of-Order Execution of Guarded ISAs. ACM Transactions on Architecture and Code Optimization, 2014, pp.21. ⟨10.1145/2677037⟩. ⟨hal-01103230⟩
197 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More