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.