41Fermer43
GoldenCrystalLe 02/10/2012 à 11:36
./39 > C'est encore bien plus compliqué que ça, malheureusement sad
Le pipeline peut être bien plus profond que juste 4 instructions, et pour rentabiliser au mieux le CPU, l'exécution est effectuée dans le désordre (OOE: Out of Order Execution), d'où (entre autres) la nécessité de bien placer ses barrières mémoire dans du code parallèle.
Une mauvaise prédiction de branchement va annuler toutes les opérations déjà effectuées (potentiellement certaines instructions suivant le saut pourraient déjà avoir été exécutées "entièrement"...).
Mais en plus de ça, une erreur de prédiction peut aussi provoquer un cache miss, donc engendrer un surcoût supplémentaire...