Perché Intel ha lasciato cadere Itanium? [chiuso]


14

Stavo leggendo la storia del computer e ho seguito i processori IA-64 (Itanium). Sembravano davvero interessanti ed ero confuso sul perché Intel avrebbe deciso di abbandonarli.

La possibilità di scegliere esplicitamente quali 2 istruzioni si desidera eseguire in quel ciclo è un'ottima idea, soprattutto quando si scrive il programma in assembly, ad esempio un bootloader più veloce.

Le centinaia di registri dovrebbero essere convincenti per qualsiasi programmatore di assemblaggio. In sostanza, è possibile memorizzare tutte le variabili delle funzioni nei registri se non vengono chiamate altre.

La capacità di fare istruzioni come questa:

(qp) xor r1 = r2, r3    ; r1 =   r2  XOR r3

(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3

rispetto a dover fare:

; 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

Ho sentito che era a causa della mancanza di comparabilità x86 all'indietro, ma non è stato possibile risolverlo semplicemente aggiungendo il circuito Pentium ad esso e semplicemente aggiungendo un flag del processore che lo avrebbe commutato in modalità Itanium (come passare alla modalità Protetta o Lunga)

Tutte le grandi cose a riguardo avrebbero sicuramente fatto loro un balzo in avanti di AMD.

Qualche idea?


Purtroppo questo significa che avrai bisogno di un compilatore molto avanzato per farlo. O anche uno per modello specifico della CPU. (Ad esempio, una versione più recente di Itanium con una funzionalità aggiuntiva richiederebbe un compilatore diverso).

Quando stavo lavorando su un progetto WinForms (la destinazione aveva solo .NET 2.0) in Visual Studio 2010, avevo una destinazione di compilazione di IA-64. Ciò significa che esiste un runtime .NET che è stato possibile compilare per IA-64 e un runtime .NET significa Windows. Inoltre, la risposta di Hamilton menziona Windows NT. Avere un sistema operativo completo come Windows NT significa che esiste un compilatore in grado di generare codice macchina IA-64.


1
Questa risposta fornisce alcune informazioni di base su Itanium che potresti trovare utili.
amiregelz,

1
Ritengo che i processori EDGE siano la nuova architettura più promettente. E sono persino migliori dei processori VLIW (come l'Itanium). Potresti voler leggere la pagina collegata in basso in "Un nuovo ISA?" e "Teoria" in quanto quella parte spiega perché sono molto meglio.
Dan D.

@DanD il problema è che x86 è uno standard di fatto . Il più vicino che potresti probabilmente ottenere è il passaggio di Apple da Intel a EDGE, ma anche allora potrebbero volerci anni.
Cole Johnson,

"Ho sentito che era a causa della mancanza di comparabilità x86 all'indietro, ma non è stato possibile risolverlo semplicemente aggiungendo il circuito Pentium ad esso e semplicemente aggiungendo un flag del processore che lo avrebbe commutato in modalità Itanium (come passare alla modalità protetta o lunga)" Se fossero in grado di realizzare chip con il doppio dei transistor senza sacrificare costi, prestazioni, affidabilità, calore e così via, lo farebbero già.
David Schwartz,

1
Pensavo che Itanium non fosse ancora morto .
David Schwartz,

Risposte:


29

Le prestazioni sono state molto deludenti rispetto alle aspettative e non sono state vendute bene rispetto alle architetture Intel x86.

Intel mi ha spinto a costruire la mia shell Hamilton C su Itanium con Windows NT intorno al 2000 per una fiera. Erano difficili da trovare, quindi ho usato una VPN per una macchina nel loro laboratorio. Avendo già creato versioni per NT su x86, MIPS, Alpha e PowerPC, la "porta" era banale, solo piccole modifiche per lo più ai miei makefile. Penso che mi ci sia voluta forse mezz'ora.

Ma la performance è stata davvero deludente, decisamente così tramite la VPN, e ancora deludente quando sono arrivato alla fiera e ho potuto provarlo proprio di persona. Itanium non è andato da nessuna parte perché non era un ottimo prodotto e nessuno lo ha acquistato.

Inserito il:

Per un po ', Intel ha propagandato la mia esperienza di porting su Itanium usando la sua esperienza di sviluppo remoto VPN sul loro sito Web. Andato ora ma istantaneamente su archive.org, ecco cosa ha detto nelle loro FAQ remote :

D: Hai un cliente con cui posso parlare del servizio di accesso remoto?

A: Sì, Hamilton Laboratories *. Per uno sguardo approfondito ai vantaggi derivati ​​da Hamilton Laboratories dal servizio, consultare il case study di Hamilton Laboratories .

Nel " caso studio " si dice che ho costruito una versione Itanium perché i clienti chiedevano a gran voce. Ma non ricordo di aver mai venduto una copia per Itanium. Li ho venduti per tutto il resto, incluso PowerPC (e quanti di quelli che eseguono NT suppongono che ci fossero?), Mai per Itanium.

Sfida: accelerare lo sviluppo del suo prodotto Hamilton C Shell per garantire un time-to-market favorevole per gli strumenti di architettura dei suoi clienti per Intel® Itanium® e Windows * 2000.

Soluzione: utilizzato il programma di accesso remoto, incluso l'accesso a Internet ad alta velocità e il client Shiva® VPN per accedere a un ambiente di sviluppo Itanium, modificare il codice sorgente e creare file, testare il debug e ricompilare l'applicazione a 64 bit in remoto in sole 7 ore.


5
Niente da modificare. Tutta la mia shell C è altamente multithread ma soprattutto a quei tempi, doveva essere molto portatile C e molto efficiente come scritto perché i compilatori che stavo usando nei primi anni '90 erano spesso molto semplici e gli ottimizzatori a volte inaffidabili. Avevo già creato macchine RISC a 64 bit e avevo già trovato e risolto eventuali problemi di allineamento. Per la verità, sono sempre andato direttamente alle API Win32 per tutto, quindi non è stato probabilmente nemmeno una cattiva libreria di runtime C. La macchina davvero calda era l'Alfa e rispetto ad essa, l'Itanium era solo deludente.
Nicole Hamilton,

8
Ho appena guardato la tua C Shell. È davvero fantastico. Ho sempre guardato Cygwin come un copout. Dovrò provarlo qualche volta.
Michael Brown,

6
Quello era Intel, non Microsoft, con quel folle sistema di sviluppo remoto. Microsoft è stata molto utile per gli sviluppatori. Microsoft mi ha aiutato a ottenere i miei MIPS, Alpha e PowerPC. All'inizio del 1992 ottenevo CD fatti a mano con le nuove build di NT dal gruppo dev, quando non c'erano molte copie al di fuori del campus Microsoft.
Nicole Hamilton,

8
No, il kernel NT era piuttosto agnostico sull'architettura del processore. Dave Cutler ne era un fanatico. Hanno iniziato lo sviluppo di NT su un i960 , in modo da evitare qualsiasi insinuazione di x86 nel codice. E mentre lasciarono cadere l'i960, la NT 3.1 Beta fu rilasciata su x86 e MIPS nel luglio 1992 e su Alpha un paio di mesi dopo, iirc. Microsoft mi aveva aiutato a ottenere i MIPS e le macchine Alpha, quindi ho supportato tutti e 3 i processori quando sono stati annunciati. L'unica cosa speciale dell'Itanium era che era una delusione e non vendeva bene.
Nicole Hamilton,

1
@ColeJohnson - Come sottolinea Nicole Hamilton, il problema non era il kernel NT. Voglio dire, Windows Server 2008 R2 ha supportato Itanium. Quindi il problema non era il sistema operativo. Il problema era la piattaforma stessa. Naturalmente non ha aiutato il fatto che AMD abbia gettato una chiave inglese nei piani di Intel semplicemente estendendo la piattaforma x86 stessa.
Ramhound,

4

Risposta rapida: prestazioni scadenti. Intel ha cercato di rilasciare un prodotto rivoluzionario quando avrebbero dovuto evolversi nel prodotto desiderato.

Più specificamente: il processore non è stato abbastanza veloce in circostanze generali. Intel ha rilasciato il processore proprio mentre si allargava la velocità del processore rispetto a quella della memoria. Itanium, essendo un processore RISC (Reduced Instruction Set) ha richiesto più byte per istruzione rispetto a suo cugino, varianti x86. L'aumento del carico di memoria ha causato il lento funzionamento del processore.

Tutto ciò è stato esasperato dall'intera architettura, essendo essenzialmente una prima versione. Mentre RISC stesso non era una nuova idea, molti dei componenti hardware erano e necessitavano di nuovi progetti di layout. C'erano anche molte nuove idee nel layout dell'istruzione Itanium che dovevano essere accuratamente digerite dalla comunità di sviluppo prima che diventassero disponibili software di alta qualità.

Alla fine molta tecnologia è finita per essere utilizzata nella versione esistente di chip di Intel - semplicemente non facilmente visibile all'utente finale.


2
Intendevi le scarse prestazioni quando facevi cose su Itanium o le prestazioni assolutamente orribili quando emulavi il codice X86 legacy?
Hennes,

1
entrambi. La mia impressione era che l'emulatore X86 non fosse molto importante per il team Itanium. Invece l'emulatore è stato una caratteristica fondamentale del prodotto da ottenere perché era lo stop-gap su cui la maggior parte dei clienti avrebbe creato una prima impressione.
A. Phillips,

1
Le prestazioni di Itanium in un codice Itanium ben scritto sono state fantastiche - semplicemente non c'era molto buon codice là fuori.
A. Phillips,

5
Che cosa significa "codice Itanium ben scritto", Aaron? Se è buono C pulito dove tutto è correttamente allineato senza lanci indesiderati e così via, cos'altro rende qualcosa di particolarmente ben scritto per un Itanium? Con la mia shell C, potrei facilmente timecalcolare cose associate (ad es. Numeri di factoring), I / O (copia o cat'ing dei file) e OS perf (creazione di thread o processi). Su Alpha, è stato come, wow, questo è veloce. Dammi un doppio processore, potrei misurarlo facilmente. Ti sto dicendo che Itanium era un cane come lo guardavi, soprattutto se paragonato all'hype.
Nicole Hamilton,

4
Anche le piattaforme MIPS, Alpha e PowerPC erano nuove, insieme a tutto NT nei primi anni '90 e quegli altri chip, in particolare Alpha, erano veloci rispetto alla maggior parte delle macchine x86. Ho ancora una di ognuna di quelle altre macchine nel mio seminterrato. Itanium non era poi così eccezionale. Questo non è stato il primo passo falso di Intel. Altri greyhair là fuori ricorderanno il loro disastro 432 nel 1981. Anche quella era un'architettura mal progettata che falliva nelle prestazioni.
Nicole Hamilton,

3

Itanium è un ottimo design se puoi sfruttarlo .

Purtroppo questo significa che avrai bisogno di un compilatore molto avanzato per farlo. O anche uno per modello specifico della CPU. (Ad esempio, una versione più recente di Itanium con una funzionalità aggiuntiva richiederebbe un compilatore diverso).

Creare un tale compilatore una volta è un compito difficile. Farlo per ogni variazione di una CPU non è economico.


Non è necessario aggiornare il compilatore per quelli più recenti. Dovresti semplicemente sfruttare le nuove funzionalità. Ho sentito che avrebbero mantenuto la retrocompatibilità.
Cole Johnson,

Ama solo l'assemblatore.
ott--

Sto menzionando che renderebbe più semplice la codifica dell'assembly. Il compilatore potrebbe almeno usare le istruzioni più semplici che gli vengono in mente.
Cole Johnson,

La creazione di un compilatore funzionante è abbastanza diversa da quella che utilizza in modo efficiente le capacità di istruzioni wide / parallel di una CPU. Se lavori a mano assemblatore dovresti essere in grado di fare cose meravigliose, ma a costo di molto lavoro.
Hennes,

2
Da un vecchio thread slashdot: compilatori per Itanium sono difficili
Rich Homolka il

2

L'altra parte importante della storia di Itanium che non è stata toccata è il fatto che nel 2001, con il debutto di Itaniums, era impossibile ottenere grandi quantità di RAM nell'hardware delle materie prime. x86_64 era solo un bagliore all'orizzonte e AMD Opterons non sarebbe nemmeno stato rilasciato per altri 2 anni.

La mia prima (e unica) esperienza con un server Itanium è stata nel 2002 presso un'azienda chimica dove avevano bisogno di un SQL Server per eseguire analisi dell'olio per rilevare i difetti. Questo petrolio proveniva e entrava in macchine da milioni di dollari in un'azienda da un miliardo di dollari, quindi avevano un gruppo di Itanium, ciascuno con 128 GB di RAM. 128 GB di RAM oggi sono ancora una discreta quantità, ma è facile ed economico da installare in un server.

Nel 2002, 128Gb di RAM erano una quantità enorme, e poiché avevano già un'infrastruttura di SQL Server esistente, era più economico fare il fork di alcune macchine Itanium e caricarle con RAM, piuttosto che passare a una piattaforma diversa e database diverso.

Ora che è banale ottenere 128 Gb (o più) in un server di prodotti, una delle grandi parti del mercato Itanium che non aveva concorrenti reali (l'Opteron è arrivato nel 2003, e ora ovviamente server che possono prendere centinaia di concerti di memoria sono onnipresenti) è invaso da opzioni che sono più economiche da acquistare, più economiche da possedere e più veloci.


Sono abbastanza sicuro che un modulo ram da 128 GB ddr3 al giorno d'oggi ti farà funzionare almeno un grande (USD)
Cole Johnson,

2
Non ho mai visto un modulo DDR da 128 GB ... ma inserire 128 GB di RAM ECC registrata in un server è più di $ 1000, ma non molto di più; dipende dall'accordo che puoi ottenere dal tuo fornitore.
Mark Henderson,

Non ho mai visto nemmeno un semplice modulo da 128 GB . Ma questo set da 8x16 GB è l'equivalente e costa $ 1.500 che è piuttosto economico rispetto ai set da $ 10k che ho visto in altri posti
Cole Johnson,

Vedo molti Gbs; dovrebbero essere GB?
Charlie

1

Ho sentito che è stato perché AMD ha spinto Intel ad allocare più risorse ai suoi processori tradizionali per competere. AMD è uscito con i suoi Athlon 64 nel 2003, che aveva un rapporto prezzo / prestazioni migliore rispetto ai Pentium. Si ritiene che se Intel continuasse a sviluppare Itanium a pieno regime, sarebbe più veloce degli attuali processori x86.


1
Il detto "Avrei potuto ... Avrebbe" si applica a ciò che Itanium avrebbe potuto essere se AMD non avesse semplicemente esteso x86. Intel avrebbe potuto, se lo avessero voluto davvero, ucciso x86-64 ma erano sotto pressione da parte di Microsoft, ne sono certo, se Intel non avesse concesso in licenza x86-64 da AMD, l'attuale situazione sarebbe probabilmente invertita con AMD leader e Intel a malapena in grado di tenere il passo con i progressi di AMD.
Ramhound,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.