Processeurs superscalaires "flots de données"
Résumé
Cet article décrit les caractéristiques principales des processeurs superscalaires « flot de données restreints », le plus souvent appelés superscalaires à exécution non ordonnée (out-of-order). Pour utiliser au mieux le parallélisme existant entre les instructions d’un code séquentiel, ce type de processeurs démarre l’acquisition et le décodage des instructions dans l’ordre, exécute les instructions selon le flot de données, puis termine les instructions dans l’ordre pour permettre de traiter les exceptions comme pour exécution strictement séquentielle. Aux caractéristiques des superscalaires « dans l’ordre » (bancs de registres, accès cache, prédicteurs de branchement…) s’ajoutent de nouvelles caractéristiques pour permettre une exécution « flot de données » et la terminaison dans l’ordre : renommage de registres, stations de réservation, tampon de réordonnancement, etc. Ces caractéristiques sont détaillées, avec des exemples de processeurs d’Intel et IBM. Ces processeurs sont maintenant les cœurs de la plupart des processeurs multi-cœurs.