Justement, le problème de l'Itanium, c'est le compilateur. Pour que le programmeur n'ait plus à se soucier de ça, il faut que le compilateur s'en charge à sa place. Et c'est là le problème, car l'Itanium est un processeur VLIW (Very Long Instruction Word), et la conception du compilo pose d'énormes problèmes en termes de performances et d'optimisation.
Car afin d'économiser de la place sur des unités annexes dans le silicium, certaines opérations sont sensées être faites par le compilo plutôt que par une unité de traitement du processeur, comme par exemple la prédiction de branchement (je ne me souviens plus bien de l'article, mais l'idée était de faire faire certaines opérations d'ordonnancement des instructions par le compilo plutôt que par le processeur comme sur un processeur classique qui s'arrange avec le code : Exécution dans le désordre (OOO), prédiction de branchement ... , ceci afin de ne pas perdre de place pour les unités de calcul).
Ce à quoi se heurte Intel est la difficulté de mettre en place cela. Sur le papier, c'est génial (comme l'ancienne VM du noyau Linux), mais en pratique, c'est difficile à implémenter et ça ne marche pas comme on le souhaite.
[^] # Re: Compile ton C !
Posté par Jak . En réponse à la dépêche Ca ne va pas fort pour l'Itanium d'Intel. Évalué à 10.
Car afin d'économiser de la place sur des unités annexes dans le silicium, certaines opérations sont sensées être faites par le compilo plutôt que par une unité de traitement du processeur, comme par exemple la prédiction de branchement (je ne me souviens plus bien de l'article, mais l'idée était de faire faire certaines opérations d'ordonnancement des instructions par le compilo plutôt que par le processeur comme sur un processeur classique qui s'arrange avec le code : Exécution dans le désordre (OOO), prédiction de branchement ... , ceci afin de ne pas perdre de place pour les unités de calcul).
Ce à quoi se heurte Intel est la difficulté de mettre en place cela. Sur le papier, c'est génial (comme l'ancienne VM du noyau Linux), mais en pratique, c'est difficile à implémenter et ça ne marche pas comme on le souhaite.