P6 |
Intel |
---|---|
Architecture de microprocesseur |
Description
Cette architecture de microprocesseur permet d'indiquer l'architecture des microprocesseurs Pentium Pro. Le microprocesseur Pentium Pro a introduit une nouvelle microarchitecture communément appelée microarchitecture du processeur P6. La microarchitecture du processeur P6 a ensuite été améliorée avec une mémoire cache de niveau 2, appelée Advanced Transfer Cache. La microarchitecture est une architecture de ligne superscalaire à trois voies. La superscalaire à trois voies signifie qu'en utilisant des techniques de traitement parallèles, le processeur est en moyenne capable de décoder, de distribuer et d'exécuter (retirer) trois instructions par cycle d'horloge. Pour gérer ce niveau de débit d'instruction, la famille de processeurs P6 utilise une super ligne découplée à 12 étages prenant en charge l'exécution des instructions dans le désordre. Pour garantir un approvisionnement régulier d'instructions et de données pour la ligne d'exécution des instructions, la microarchitecture du processeur P6 intègre deux niveaux de cache. Le cache de niveau 1 fournit un cache d'instructions de 8 Ko et un cache de données de 8 Ko, tous deux étroitement couplés au ligne. Le cache de niveau 2 fournit une RAM statique de 256 Ko, 512 Ko ou 1 Mo étant couplée au processeur principal via un bus de cache 64 bits à vitesse d'horloge maximale. La pièce maîtresse de la microarchitecture du processeur P6 est un mécanisme d'exécution dans le désordre appelé exécution dynamique. L'exécution dynamique intègre trois concepts de traitement :
- La prédiction de branche profonde permet au processeur de décoder les instructions au-delà des branches pour garder la ligne d'instructions plein. La famille de processeurs P6 met en oeuvre des algorithmes de prédiction de branche hautement optimisés pour prédire la direction de l'instruction.
- L'analyse dynamique du flux de données nécessite une analyse en temps réel du flux de données à travers le processeur pour déterminer les dépendances et détecter les opportunités d'exécution d'instructions dans le désordre. Le coeur d'exécution hors service peut surveiller de nombreuses instructions et exécuter ces instructions dans l'ordre optimisant au mieux l'utilisation des multiples unités d'exécution du processeur, tout en préservant l'intégrité des données.
- L'exécution spéculative fait référence à la capacité du processeur à exécuter des instructions se trouvant au-delà d'une branche conditionnelle n'ayant pas encore été résolue et, finalement, à valider les résultats dans l'ordre du flux d'instructions d'origine. Pour rendre possible l'exécution spéculative, la microarchitecture du processeur P6 dissocie l'envoi et l'exécution des instructions de l'engagement des résultats. Le coeur d'exécution hors service du processeur utilise l'analyse du flux de données pour exécuter toutes les instructions disponibles dans le bassin d'instructions et entreposer les résultats dans des registres temporaires. L'unité de retrait recherche ensuite linéairement dans le bassin d'instructions les instructions terminées n'ayant plus de dépendances de données avec d'autres instructions ou des prédictions de branche non résolues. Une fois les instructions terminées, l'unité de retrait enregistre les résultats de ces instructions dans la mémoire et/ou les registres IA-32 (les 8 registres à usage général du processeur et les 8 registres de données FPU x87) dans l'ordre où ils ont été émis à l'origine et retire le instructions du bassin d'instructions.