Ich habe die Geschichte des Computers gelesen und bin auf die IA-64-Prozessoren (Itanium) gestoßen. Sie klangen wirklich interessant und ich war verwirrt darüber, warum Intel sie fallen lassen würde.
Die Möglichkeit, explizit auszuwählen, welche 2 Anweisungen Sie in diesem Zyklus ausführen möchten, ist eine gute Idee, insbesondere, wenn Sie Ihr Programm in Assembly schreiben, z. B. einen schnelleren Bootloader.
Die Hunderte von Registern sollten für jeden Assembler-Programmierer überzeugen. Sie können im Grunde alle Funktionsvariablen in den Registern speichern, wenn keine anderen aufgerufen werden.
Die Möglichkeit, Anweisungen wie diese auszuführen:
(qp) xor r1 = r2, r3 ; r1 = r2 XOR r3
(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3
versus tun müssen:
; 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
Ich habe gehört, es liege an keiner Abwärts-x86-Vergleichbarkeit, aber Sie könnten dies nicht beheben, indem Sie einfach die Pentium-Schaltung hinzufügen und ein Prozessor-Flag hinzufügen, das es in den Itanium-Modus umschaltet (wie das Umschalten in den geschützten oder langen Modus).
All die großartigen Dinge hätten sie sicherlich einen Riesenschritt vor AMD gebracht.
Irgendwelche Ideen?
Leider bedeutet dies, dass Sie einen sehr fortgeschrittenen Compiler benötigen, um dies zu tun. Oder sogar eine pro spezifischem Modell der CPU. (Zum Beispiel würde eine neuere Version des Itanium mit einer zusätzlichen Funktion einen anderen Compiler erfordern).
Als ich in Visual Studio 2010 an einem WinForms-Projekt (Ziel war nur .NET 2.0) arbeitete, hatte ich ein Kompilierungsziel von IA-64. Das bedeutet, dass es eine .NET-Laufzeit gibt, die für IA-64 kompiliert werden konnte, und eine .NET-Laufzeit bedeutet Windows. Außerdem erwähnt Hamilton in seiner Antwort Windows NT. Ein vollwertiges Betriebssystem wie Windows NT bedeutet, dass ein Compiler in der Lage ist, IA-64-Maschinencode zu generieren.
quelle
Antworten:
Die Leistung war im Vergleich zu den Erwartungen sehr enttäuschend und verkaufte sich im Vergleich zu Intels x86-Architekturen nicht gut.
Intel überredete mich, meine Hamilton C-Shell für eine Messe auf Itanium zu bauen, auf dem irgendwann um 2000 Windows NT ausgeführt wird. Itaniums waren schwer zu bekommen, also benutzte ich ein VPN für eine Maschine in ihrem Labor. Nachdem ich bereits Versionen für NT auf x86, MIPS, Alpha und PowerPC erstellt hatte, war der "Port" trivial, nur geringfügige Änderungen hauptsächlich an meinen Makefiles. Ich glaube, ich habe eine halbe Stunde gebraucht.
Aber die Leistung war wirklich überwältigend, auf jeden Fall über das VPN, und immer noch enttäuschend, als ich auf die Messe kam und es direkt vor Ort ausprobieren konnte. Itanium ging nirgendwo hin, weil es kein großartiges Produkt war und niemand es kaufte.
Hinzugefügt:
Intel hat eine Weile meine Erfahrung mit der Portierung auf den Itanium angepriesen, indem ich die Erfahrung mit der VPN-Remote-Entwicklung auf der Website genutzt habe. Jetzt vorbei, aber auf archive.org geschnappt. Hier ist, was in den Remote-FAQ steht :
In der " Fallstudie " heißt es, dass ich eine Itanium-Version gebaut habe, weil die Kunden danach verlangten. Aber ich kann mich nicht erinnern, jemals eine Kopie für Itanium verkauft zu haben. Verkaufte sie für alles andere, einschließlich PowerPC (und wie viele von denen, auf denen NT ausgeführt wird, nehmen an, dass es welche gab?), Nur niemals für Itanium.
quelle
Schnelle Antwort: Schlechte Leistung. Intel hat versucht, ein revolutionäres Produkt herauszubringen, wenn es sich zu dem gewünschten Produkt hätte entwickeln sollen.
Genauer gesagt: Der Prozessor war unter normalen Umständen nicht schnell genug. Intel hat den Prozessor veröffentlicht, als sich die Lücke zwischen Prozessor- und Speichergeschwindigkeit vergrößerte. Itanium, ein RISC-Prozessor (Reduced Instruction Set), benötigte mehr Bytes pro Befehl als seine Cousine, x86-Varianten. Die erhöhte Speicherauslastung führte dazu, dass der Prozessor langsam lief.
All dies wurde dadurch verärgert, dass die gesamte Architektur im Wesentlichen eine Erstveröffentlichung war. Während RISC selbst keine neue Idee war, waren und benötigten viele der Hardware-Komponenten neue Layout-Designs. Es gab auch viele neue Ideen im Itanium-Anweisungslayout, die von der Entwickler-Community gründlich ausgearbeitet werden mussten, bevor qualitativ hochwertige Software verfügbar sein würde.
Am Ende wurde viel Technologie in Intels bestehender Chip-Version verwendet - für den Endbenutzer nur schwer sichtbar.
quelle
time
gebundene Daten (z. B. Factoring von Zahlen), I / O-Daten (Kopieren oder Verwalten von Dateien) und OS-Perf-Daten (Erstellen von Threads oder Prozessen) berechnen. Auf der Alpha war es wie, wow, das ist schnell. Gib mir einen Doppelprozessor, ich könnte es leicht messen. Ich sage Ihnen, der Itanium war in jeder Hinsicht ein Hund, besonders im Vergleich zum Hype.Das Itanium ist ein großartiges Design, wenn Sie seine Vorteile nutzen können .
Leider bedeutet dies, dass Sie einen sehr fortgeschrittenen Compiler benötigen, um dies zu tun. Oder sogar eine pro spezifischem Modell der CPU. (Zum Beispiel würde eine neuere Version des Itanium mit einer zusätzlichen Funktion einen anderen Compiler erfordern).
Einen solchen Compiler einmal zu erstellen, ist eine schwierige Aufgabe. Dies für jede Variation einer CPU zu tun, ist nicht wirtschaftlich.
quelle
Der andere wichtige Teil der Itanium-Geschichte, der nicht wirklich angesprochen wurde, ist die Tatsache, dass es 2001 mit dem Itaniums-Debüt unmöglich war, große Mengen an RAM in Standardhardware zu stecken. x86_64 war nur ein Anflug am Horizont und AMD Opterons würde erst in zwei Jahren erscheinen.
Meine erste (und einzige) Erfahrung mit einem Itanium-Server habe ich 2002 bei einem Chemieunternehmen gemacht, bei dem ein SQL-Server für die Ölanalyse zum Erkennen von Fehlern benötigt wurde. Dieses Öl stammte von und floss in mehrere Millionen Dollar teure Maschinen eines Milliarden Dollar teuren Unternehmens. Daher verfügten sie über eine Gruppe von Itaniums mit jeweils 128 GB RAM. 128 GB RAM sind heutzutage immer noch eine angemessene Menge, aber die Installation in einem Server ist einfach und kostengünstig.
Im Jahr 2002 waren 128 GB RAM ein Mammut und da bereits eine SQL Server-Infrastruktur vorhanden war, war es billiger, ein paar Itanium-Computer auszulagern und sie mit RAM zu laden, als auf eine andere Plattform und zu wechseln andere Datenbank.
Jetzt, da es trivial ist, 128 GB (oder mehr) in einen Commodity-Server zu stecken, einer der großen Teile des Itanium-Marktes, der keine echten Konkurrenten hatte (der Opteron kam 2003 auf den Markt, und jetzt natürlich auch Server, die dies können) nehmen Sie Hunderte von Gigs Speicher sind allgegenwärtig) ist mit Optionen, die billiger zu kaufen, billiger zu besitzen und schneller waren überflutet.
quelle
Ich habe gehört, dass AMD Intel dazu gedrängt hat, seinen Mainstream-Prozessoren mehr Ressourcen zuzuweisen, um im Wettbewerb bestehen zu können. AMD brachte 2003 seinen Athlon 64 heraus, der ein besseres Preis-Leistungs-Verhältnis als der Pentiums hatte. Es besteht die Überzeugung, dass Intel, wenn es Itanium in vollem Umfang weiterentwickeln würde, schneller als die aktuellen x86-Prozessoren wäre.
quelle