Je lisais l'histoire de l'ordinateur et je suis arrivé avec les processeurs IA-64 (Itanium). Ils semblaient vraiment intéressants et je ne savais pas pourquoi Intel déciderait de les abandonner.
La possibilité de choisir explicitement les 2 instructions que vous souhaitez exécuter dans ce cycle est une excellente idée, en particulier lors de l'écriture de votre programme en assembleur, par exemple, un chargeur de démarrage plus rapide.
Les centaines de registres devraient convaincre tout programmeur d'assemblage. Vous pouvez essentiellement stocker toutes les variables de fonctions dans les registres s'il n'en appelle pas d'autres.
La possibilité de faire des instructions comme celle-ci:
(qp) xor r1 = r2, r3 ; r1 = r2 XOR r3
(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3
contre avoir à faire:
; eax = r1
; ebx = r2
; ecx = r3
mov eax, ebx ; first put r2 into r1
xor eax, ecx ; then set r1 equivalent to r2 XOR r3
mov eax, (imm32) ; first put (imm32) into r1
xor eax, ecx ; then set r1 equivalent to (imm32) XOR r3
J'ai entendu dire que c'était en raison de l'absence de comparabilité x86 en arrière, mais ne pouvait pas être résolu en y ajoutant simplement les circuits Pentium et en ajoutant simplement un drapeau de processeur qui le ferait passer en mode Itanium (comme passer en mode protégé ou long)
Toutes les bonnes choses à ce sujet leur auraient sûrement fait un bond de géant devant AMD.
Des idées?
Malheureusement, cela signifie que vous aurez besoin d'un compilateur très avancé pour ce faire. Ou même un par modèle spécifique de CPU. (Par exemple, une version plus récente de l'Itanium avec une fonctionnalité supplémentaire nécessiterait un compilateur différent).
Lorsque je travaillais sur un projet WinForms (la cible n'avait que .NET 2.0) dans Visual Studio 2010, j'avais une cible de compilation IA-64. Cela signifie qu'il existe un runtime .NET qui a pu être compilé pour IA-64 et un runtime .NET signifie Windows. De plus, la réponse de Hamilton mentionne Windows NT. Avoir un système d'exploitation complet comme Windows NT signifie qu'il existe un compilateur capable de générer du code machine IA-64.
la source
Réponses:
Les performances étaient très décevantes par rapport aux attentes et elles ne se sont pas bien vendues par rapport aux architectures x86 d'Intel.
Intel m'a convaincu de construire mon shell Hamilton C sur Itanium sous Windows NT vers 2000 pour un salon. Les itaniums étaient difficiles à trouver, j'ai donc utilisé un VPN pour une machine dans leur laboratoire. Ayant déjà construit des versions pour NT sur x86, MIPS, Alpha et PowerPC, le "port" était trivial, juste des ajustements mineurs principalement pour mes makefiles. Je pense que cela m'a pris peut-être une demi-heure.
Mais la performance était vraiment décevante, certainement sur le VPN, et toujours décevante quand je suis arrivée au salon et que je pouvais l'essayer ici en personne. Itanium est allé nulle part parce que ce n'était pas un excellent produit et personne ne l'a acheté.
Ajoutée:
Pendant un certain temps, Intel a vanté mon expérience de portage sur Itanium en utilisant leur expérience de développement à distance VPN sur leur site Web. Parti maintenant mais instantané sur archive.org, voici ce qu'il dit dans leur FAQ à distance :
Dans «l' étude de cas », il est écrit que j'ai construit une version Itanium parce que les clients réclament cela. Mais je ne me souviens pas avoir vendu de copie pour Itanium. Les a vendus pour tout le reste, y compris PowerPC (et combien de ceux qui exécutent NT supposent qu'il y en avait?) Juste jamais pour Itanium.
la source
Réponse rapide: performances médiocres. Intel a essayé de sortir un produit révolutionnaire alors qu'ils auraient dû évoluer vers le produit qu'ils voulaient.
Plus précisément: le processeur n'était pas assez rapide dans des circonstances générales. Intel a sorti le processeur au moment où l'écart entre la vitesse du processeur et la vitesse de la mémoire s'élargissait. Itanium, étant un processeur RISC (Reduced Instruction Set), nécessitait plus d'octets par instruction que son cousin, les variantes x86. L'augmentation de la charge mémoire a provoqué un ralentissement du processeur.
Tout cela a été exaspéré par l'architecture entière étant, essentiellement, une première version. Bien que RISC lui-même ne soit pas une nouvelle idée, de nombreux composants matériels étaient et avaient besoin de nouveaux schémas de configuration. Il y avait aussi beaucoup de nouvelles idées dans la mise en page des instructions Itanium qui devaient être complètement digérées par la communauté de développement avant que des logiciels de haute qualité ne soient disponibles.
En fin de compte, beaucoup de technologies ont fini par être utilisées dans la version existante de puces d'Intel - tout simplement pas facilement visible pour l'utilisateur final.
la source
time
calculer des trucs liés au calcul (par exemple, factoriser des nombres), des E / S (copier ou copier des fichiers) et des performances du système d'exploitation (créer des threads ou des processus). Sur l'Alpha, c'était comme, wow, c'est rapide. Donnez-moi un double processeur, je pourrais le mesurer facilement. Je vous le dis, l'Itanium était un chien de toute façon que vous le regardiez, surtout par rapport au battage médiatique.L'itanium est un excellent design si vous pouvez en tirer parti .
Malheureusement, cela signifie que vous aurez besoin d'un compilateur très avancé pour ce faire. Ou même un par modèle spécifique de CPU. (Par exemple, une version plus récente de l'Itanium avec une fonctionnalité supplémentaire nécessiterait un compilateur différent).
La création d'un tel compilateur est une tâche difficile. Faire cela pour chaque variation d'un CPU n'est pas économique.
la source
L'autre partie importante de l'histoire d'Itanium qui n'a pas vraiment été abordée est le fait qu'en 2001, avec les débuts d'Itanium, il était impossible d'intégrer de grandes quantités de RAM dans le matériel de base. x86_64 n'était qu'un point à l'horizon et AMD Opterons ne serait même pas vraiment sorti avant 2 ans.
Ma première (et unique) expérience avec un serveur Itanium a été en 2002 dans une entreprise chimique où ils avaient besoin d'un SQL Server pour effectuer une analyse d'huile pour détecter les défauts. Cette huile provenait et entrait dans des machines de plusieurs millions de dollars dans une entreprise d'un milliard de dollars, ils avaient donc un cluster d'Itaniums, chacun avec 128 Go de RAM. 128 Go de RAM sont encore aujourd'hui une bonne quantité, mais ils sont faciles et bon marché à installer sur un serveur.
En 2002, 128 Go de RAM était une quantité énorme, et comme ils avaient déjà une infrastructure SQL Server existante, il était moins cher de débourser pour quelques machines Itanium et de les charger avec de la RAM que de passer à une autre plate-forme et base de données différente.
Maintenant qu'il est trivial de mettre 128 Go (ou plus) dans un serveur de base, l'une des grandes parties du marché Itanium qui n'avait pas de véritables concurrents viables (l'Opteron est arrivé en 2003, et maintenant, bien sûr, des serveurs qui peuvent prendre des centaines de concerts de mémoire sont omniprésents) regorge d'options qui étaient moins chères à acheter, moins chères à posséder et plus rapides.
la source
J'ai entendu dire que c'était parce qu'AMD avait poussé Intel à allouer plus de ressources à leurs processeurs traditionnels afin de rivaliser. AMD est sorti avec ses Athlon 64 en 2003, qui avaient un meilleur rapport prix / performances que les Pentium. On croit que si Intel continuait à développer Itanium en pleine force, ce serait plus rapide que les processeurs x86 actuels.
la source