1. Réduire les pénalités liées aux erreurs de prédiction des branches
- Les prédicteurs de branche sont utilisés pour prédire la prochaine instruction à exécuter. Si une prédiction correcte est effectuée, les instructions sont déjà pré-extraites et il n'y a donc pas de blocage du pipeline. En revanche, en cas de prédiction incorrecte, l’exécution entre dans des phases de récupération. Le blocage du pipeline entraîne une perte de performances.
- Les techniques qui peuvent être appliquées pour réduire les erreurs de prédiction de branchement sont :L'augmentation de la taille des tampons, le déroulement de boucles, la fusion de boucles.
2. Réduire les pénalités pour manquement au cache de données
- Le cache de données est utilisé pour réduire les temps de chargement et de stockage lors de la récupération des données de la mémoire principale. Mais lorsque l'adresse mémoire demandée n'est pas trouvée dans le cache, cela s'appelle un échec de cache et les données doivent être récupérées de la mémoire principale, ce qui prend plus de temps.
- Il existe deux types de Cache Misses :
a) Manques froids - Se produit lorsque le bloc de mémoire référencé n'est pas dans le cache et qu'il n'y était pas non plus auparavant.
b) Manques de capacité - Se produit lorsque le bloc demandé n'est pas présent dans le cache mais aurait pu l'être s'il y avait suffisamment d'espace.
- Techniques pour réduire les échecs de cache :augmentation de la taille du cache, localisation spatiale (regroupement des données à forte probabilité d'accès).
3. Réduire les frais généraux liés au flux de contrôle
- Les instructions Control-Flow dans un programme modifient la séquence d'exécution des instructions.
- Techniques pouvant être utilisées pour réduire le flux de contrôle :réduction du nombre de branches (par exemple, suppression des if-else imbriquées), utilisation de Jump-Table, déroulement de boucles.
4. Exécution spéculative
- L'exécution spéculative implique l'exécution d'une instruction au-delà d'une instruction de branchement en supposant que le branchement sera effectué.
- Les spéculations sont soit vérifiées, soit écrasées en fonction de la direction réelle de la branche ultérieurement.
|