Citation :
Pourquoi un processeur peut il monter plus en fréquence si le pipe est plus long?
|
Ce n'est pas la longueur du pipeline qui compte, c'est la complexité de chaque étage.
Les CPUs sont aujourd'hui de plus en plus complexe, et le travail eccompli tout eu long du pipe est donc de plus en plus grand, on est passé de simple processeurs qui n'exécutaient qu'une seule instruction par cycle et dans l'ordre à des monstres qui exécutent plusieurs instructions en parallèle et dans le désordre tout en spéculant sur les prochaines instructions...
Donc pour pouvoir maintenir la part de travail effectuée à chaque étage, il faut rajouter des nouveaux étages. Ca se voit très nettement dans les familles de CPU RISC qui sont passés successivement par 4,5,6... étages. Dans cette optique, le travail par étage (que l'on peut aussi voir comme étant le nombre de portes logiques à traverser) reste +/- constant.
Maintenant, on peut aussi vouloir monter en fréquence. En effet si on diminue le nombre de portes à traverser par étage (et on augmente le nombre d'étages pour compenser), on peut augmenter la fréquence. Il y a alors deux problème
1) une partie du budget 'timing' dépend de facteurs autres que le nombre de portes à traverser (logique liées à la synchronization au début.fin de l'étage, distance à parcourir sur le chip, incertitude sur le signal d'horloge...)
2) l'énergie dissipée augmente plus vite que le nombre d'étages. En effet, si je double le nombre d'étage, je vais peut-être gagner 70% en fréquence mais je vais également augmenter de façon significative le nombre de transistors (ben oui, faut bien des latch au début et à la fin de chaque étage, va falloir ajouter de nouveaux chemins, maintenir plus d'instructions en vol...). Au total, je gagne 70% en fréquence mais je paye surtout +70% (fréquence) +50% (logique en plus) = +120% en puissance... tout en ne gagnant que 50% en performance. Aïe.
Citation :
Pourquoi faire des stages inutiles?
|
Il n'y a pas d'étages inutiles (ça n'a pas de sens). Par contre, il devient difficile d'équilibrer les taches entre tous les étages -> certains vont se retrouver moins chargé que d'autres tout en dissipant un paquet de watts. Dans le P4, il y a deux étages dont le rôle officiel est simplement de faire transiter les données entre deux points distants du processeur.
Citation :
il vaut pas mieux tourner un peu moins vite avec plus d'instructions par cycle?
|
Il vaut mieux avoir un design tel que F (fréquence) * IPC (instruction par cycle = max
Mais personne n'a la recette magique pour trouver le meilleur couple (F,IPC). Surtout que ça évolue avec les technologies de fabrication et de packaging (qui aurait pensé que l'on verrait des CPU craschant plus de 100W de chaleur - P4 3.0GHz - dans un PC de bureau? Je trouvais que le P5 à 66MHz chauffait déjà trop, une de mes connaissances en fit d'ailleurs les frais lorque son ventilateur s'arrêta).
Citation :
Il y a plus de stage dans l'opteron que dans l'athlon, l'objectif est (je pense) de mieux monter en fréquence.
|
Pas forcément, ce qui a été ajouté est dans la partie liée au décodage des instructions, décodage qui est plus complexe sur le K8 vu l'arrivée du mode 64 bits et des nouveux codes d'instruction. D'autre part, il est également possible que cette étape était le maillon faible du pipeline du K7 et ces étapes supplémentaires permettent d'augmenter la fréquence.
Citation :
il y a aussi plus de cache. il me semble que le cache ne chauffe pas (trop), mais est ce qu'il empêche aussi de monter en fréquence, et pourquoi?
|
Non, le cache ne gêne pas la montée en fréquence pour une raison simple: si il est trop lent, on peut toujours ajouter un cycle d'attente supplémentaire au prix d'une légère perte de performance.
Citation :
En effet, la vérification de branche sur le PIV se fait au 19e étage, ce qui fait que quand il se plante, il a vraiment l'air bête. C'est aussi pour ça que Intel a développé un branch predictor qui tue tout, pour que son bébé aie pas l'air trop ridicule (plutot réussi d'ailleurs)
|
La prédiction de branchement sur le P4 n'a rien d'exceptionnel en ce qui concerne son taux de réussite qui est du même ordre que celui du K6 (>95%), l'exploit vient plutôt du fait qu'il tourne à des fréquences aussi élevée. AMD avait dû réduire nettement la complexité et le taux de réussite (tombant au niveux du P6, soit ~92%) pour le K7, le K8 quant à lui voit son historique revenir au niveau du K6 et devrait donc avoir un taux de réussite similaire à celui du P4.