Come molti retronostalgici ricorderanno, lo sbarco di Windows su architettura ARM non rappresenta un fatto inedito nella storia dell’azienda co-fondata da Bill Gates. Windows in effetti esiste da molto prima che x86 fosse l’architettura dominante su tutti i segmenti del mercato informatico ed è vero il contrario, sebbene l’ascesa a OS dominante di Windows sia avvenuta contestualmente con la marcia trionfale di x86.
Se ad ispirare la nostalgia informatica che ci accomuna è la straordinaria varietà di hardware e software caratteristica dell’era pre-PC, la molteplicità delle architetture supportate dal primo OS professionale di Microsoft costituisce uno spunto di grande interesse: si tratta forse dell’ultimo colpo di coda di un’epoca che si apprestava a terminare sotto il peso del duopolio Wintel. Tuffiamoci dunque in questi ultimi, frenetici giorni della policroma preistoria informatica in questo nuovo appuntamento con la rubrica che ormai da quasi 3 anni allieta il nostro venerdì pomeriggio.
Mentre la famiglia Windows Consumer, seguendo la strada tracciata da MS-DOS, ha sempre vissuto in simbiosi con l’architettura creata da Intel, con Windows NT – l’OS che avrebbe portato Microsoft a competere sul terreno saldamente presidiato dalla famiglia di OS *nix – si apre invece il tema del supporto parallelo a più architetture.
I primi anni ’90 vedevano in effetti la compresenza, nella fascia di mercato professionale, di una varietà caleidoscopica di architetture, prevalentemente RISC: MIPS, i860, Alpha (di cui abbiamo parlato qui), 68k, PowerPC (versione “consumerizzata” della famiglia di CPU RISC di IBM), SPARC.
Ciascuna di queste architetture godeva di una presenza più o meno significativa nel mercato server/workstation in cui Microsoft si apprestava ad entrare, ed era integrata in sistemi su cui girava qualche variante di Unix.
A spingere Gates verso il mercato server/workstation erano vari fattori, fra cui la giustificabile esigenza di diversificare – dopo la chiusura delle parentesi Xenix e OS/2 – entrando in una nicchia di mercato molto ricca, su cui peraltro era possibile testare nuove tecnologie, sfruttando a fondo le capacità delle nuove generazioni di CPU a 32bit senza il peso della retrocompatibilità.
Quello delle workstation era in effetti, malgrado Unix, un mercato molto compartimentato e rigido, tuttavia caratterizzato da un tasso di innovazione frenetico. In effetti negli anni in cui Microsoft tentava l’assalto alla diligenza server/workstation, anche IBM con OS/2 (dopo l’addio di MS) metteva in atto la stessa manovra. Lo stesso Steve Jobs, ancora fresco di “addio coatto” ad Apple, si dedicava al segmento workstation con un approccio innovativo, che risultò nella famiglia di computer NeXT – il cui OS stabilì le fondamenta di OS X – basati su CPU della famiglia Motorola 68k.
Per inciso, è interessante ricordare che negli stessi anni, alcuni produttori di sistemi RISC tentavano l’assalto al mercato PC con soluzioni rivedute e corrette al fine di rientrare nei parametri di prezzo e funzionalità tipici di quel mercato. Impresa vana, per diversi motivi: costi comunque troppo alti in un mercato il cui mainstream assisteva ai continui cali di prezzo tipici dell’era dei cloni; incompatibilità col software esistente e fondamentale inadeguatezza di Unix nel seguire Windows e Mac OS sulla strada della semplificazione dell’interazione uomo-macchina.
Torniamo a Windows NT, la cui incompatibilità con il resto della famiglia Windows Bill Gates liquidò con “se non sai a che ti serve vuol dire che non ti serve”.
La prima versione, NT 3.1 (1993), fu sviluppata su piattaforma i860 e resa disponibile per Alpha, MIPS, x86, come pure la versione successiva, NT 3.5 (1994). Fu con la versione 3.51 (1995) che arrivò il supporto all’architettura PowerPC (integrata secondo le specifiche pc-like PReP) e fu pure sperimentato, senza seguito commerciale, il supporto a SPARC e all’oscura architettura Clipper di Intergraph.
NT4 (1996), basato sull’interfaccia del neonato Windows 95, mantenne la compatibilità con tutte le architetture menzionate, tagliando il ramo PPC nel 1997 a causa di una marcata flessione della domanda di quei computer. Il supporto all’architettura MIPS terminò con la versione 4.0, mentre quello dell’architettura Alpha arrivò ad SP6a ed oltre (sempre a 32 bit), con un discreto parco software professionale a disposizione.
Arriviamo al 1999: Microsoft sta finalizzando lo sviluppo di Windows NT5, alias Windows 2000, che è già giunto alla versione RC2. L’architettura Alpha è ancora pienamente supportata (Build 2128) ma Compaq, con un colpo di mismanagement da manuale, taglia il budget destinato al supporto di Windows 2000 in un tentativo maldestro e fuori tempo di riportare tutto il focus su Unix.
L’acquisizione di Compaq da parte di HP, partner di Intel nello sviluppo dell’architettura Itanium, sigillerà le sorti di Alpha (benché si sospettasse già che Itanium non avrebbe scalfito la leggendaria superiorità prestazionale di Alpha) distruggendo anche l’ultima, flebile occasione per la nascita di un PC non x86.
Già perché fin dal 1997 Alpha aveva a listino un processore adatto al mercato PC (21164PC per l’appunto), mentre in casa Microsoft lo sbarco del kernel NT nella famiglia di OS consumer si avvicinava a grandi passi: con tutte le difficoltà e gli adattamenti del caso, una linea workstation Alpha basata su Windows XP/2003 a 64 bit, avrebbe pur sempre potuto vedere la luce.
Così non fu e Microsoft, che aveva già iniziato a sviluppare un OS NT-based a 64 bit per Alpha, virò in direzione IA-64, alias Itanium, dando vita a una versione dedicata di Windows XP oltre che ad alcune versioni della linea Windows Server. Oltre un decennio di vendite sottomultiple rispetto alle sempre meno ottimistiche proiezioni di HP e Intel hanno condotto MS a terminare il supporto a Itanium con la versione 2008 R2 della famiglia di OS server, la cui sovranità tornerà integralmente ad x86. Almeno fino al 2014, data entro la quale ARM prevede di lanciarsi nel mondo server.
Articolo stupendo, complimenti per la chiarezza e la passione trasmessaci :)
caspita Alessio.. ti odio.. con questi articoli mi fai sentire una cariatide :-D
Mi ricordi la storia che ho visto svolgersi davanti a me.. e mi sento vecchio :-(
RISC il 68k? Forse volevi scrivere 88k…
Si, ottimo intervento. Contribuisce sicuramente a relativizzare la visione, spesso distorta, di chi considera per questioni di principio MS come “il male” assoluto per l’informatica! Il predominio del mercato lo ha assunto solo dopo la metà degli anni 90 sull’onda del successo di win3 e sul versante server non era nemmeno presente. Il mondo dell’informatica ben più ampio di quanto sembra!
Non c’é dubbio che MS abbia assunto discutibilissime situazioni di monopolio e intrapreso strategie di attesa (ma anche di offesa) a volte deprecabili; ma è anche vero che è stata un’azienda operante nel settore IT che ha avuto a che fare con aziende dello stesso rango e animate da analoghi principi di “volontà di dominio”! Ultimamente per esempio pensavo ad Adobe, che nel settore Grafica/DTP sta per consolidare un vero monopolio e non ncessariamente con i migliori prodotti, ma facendone “man bassa” con le acquisizioni grazie ai proventi del Postscript… 1985!!!
Fortunatamente le condizioni del mercato cambiano repentinamente (specie con la più grande crisi economica mondiale ancora al principio) e così gli aspetti sociali e soprattutto le tecnologie: questo fa in modo che si generino dinamiche che spiazzano con estrema facilità certi colossi e lasciano spazio a nuove evoluzioni (per esempio dopo la crisi degli anni ’90 è scomparsa Digital e a fare le spese dell’ascesa MS è stata soprattutto Novell)
Riguardo agli aspetti tecnici condivido che sia stato proprio un peccato il cambio di direzione verso Itanium (architettura fraintesa che si è dimostrata, nei fatti, poco prestante) contro la ben più promettente Alpha… ma del crash di Digital ho accennato appena sopra, proprio a conferma della vivacità dello scenario. Quindici anni di Wintel sono decisamente molti, ma ciò non significa che le cose non possano cambiare rapidamente!
ciao
Buon RC con http://www.jurassicnews.com !!!
L’acquisizione di Compaq da parte di HP, partner di Intel nello sviluppo dell’architettura Itanium, sigillerà le sorti di Alpha (benché si sospettasse già che Itanium non avrebbe scalfito la leggendaria superiorità prestazionale di Alpha)
DISSENTO, dati alla mano.
Come ho già mostrato qui:
http://www.appuntidigitali.it/2199/dec-alpha-linnovazione-sepolta-viva/#comment-70947
L’architettura Alpha fu terminata SOLO quando le sue prestazioni erano ORMAI CHIARAMENTE INFERIORI a quelle di Itanium2, POWER5, SPARC64V e x86.
Nel 2003-2005, anni a cui si riferiscono quelle tabelle, i giochi erano già fatti. Alpha non è stata sviluppata sin maniera seria già a partire dall’acquisizione di Digital da parte di Compaq. Poi, con il passaggio ad HP, immagino che qualsiasi progetto di sviluppo sia stato addirittura condotto alla morte per favorire Itanium(visto che Alpha era stato il principale e più temibile concorrente); Itanium, in cui da qualche anno (metà ’90) HP aveva già fatto confluire anche PA. Incredibile, secondo me, lo sforzo che è stato fatto per sostenere un’architettura così deludente come Itanium e la poco meglio Itanium 2… tutto guidato da interessi economici e finanziari (dimostrare di non sbagliare decisioni) che surclassano il buon senso della ricerca tecnologica!
Ciao
Per l’appunto. A conferma del divario prestazionale più significativo, ossia fra 21264 (ultima CPU sviluppata da DEC) e il coevo Itanium, qui qualche dato:
http://books.google.com/books?id=R7Frpn3g9AEC&pg=PA360&lpg=PA360&dq=21264+vs+itanium+performance&source=bl&ots=f1k_dbVBQX&sig=XiB49ZcH7B6gTPTbNXRjj-iGppg&hl=en&ei=x7Q6TYX1G4WVOqWFrNQL&sa=X&oi=book_result&ct=result&resnum=1&ved=0CBIQ6AEwAA#v=onepage&q&f=false
Articolo interessante come sempre.
Solo un piccolo appunto, ma magari sbaglio io.
Tutte le CPU indicate nell’articolo mi sembrano CPU destinate al mercato server principalmente, quindi con una certa ‘potenza di fuoco’. Il che significa (anche) che un eventuale porting poteva essere fatto senza tante ottimizzazioni di sorta… (oppure le si rimandava ad un service pack futuro).
L’architettura ARM (da quanto letto sempre su queste pagine) è decisamente più ‘piccola’ e ‘tagliata su misura’ il che significa che un porting non può essere di certo fatto nè in maniera veloce, nè in maniera ‘basta che funzioni’.
Se MS vuole davvero portare il suo OS su una CPU ARM spero lo faccia ottimizzando al massimo e non facendo il contrario, ovvero spingendo i produttori di CPU ARM a buttare sul mercato chip multi core etc: la caratteristica più interessante (almeno per me) è che ARM ha sempre puntato sull’efficienza tagliando quando lo riteneva ‘giusto’ i ponti con il passato: anche MS mi sa che deve avere un atteggiamento simile…
PS: va da se che il parco software (vastissimo) che gira su Windows (95/98/XP/Vista/Seven & compagnia cantante) è per x86, quindi avere un OS e non avere le applicazioni non so quanto sia utile…
@Alessio Di Domizio: “Per l’appunto. A conferma del divario prestazionale più significativo…”
Ecco, a maggior ragine: un vantaggio di misura sulla virgola mobile (dovuto principalmente ad un solo bench) e addirittura una prestazione inferiore sugli interi… senza contare consumi maggiori, difficoltà di aumento di frequenza e investimenti economici massicci che hanno portato addirittura ad una revisione globale dell’architettura (Itanium2).
Dall’altra parte un processore messo in commercio dieci anni prima (1993) il cui sviluppo era stato già dismesso da tempo! Senza parlare che i suoi problemini, al tempo di quei bench, li aveva anche P4!
Saluti
@ degac
Qui Cesare ti può dare una risposta senz’altro più circostanziata ma in merito alla “potenza di fuoco” quelle CPU, per quanto in molti scenari più performanti di qualunque x86 in circolazione, dovevano tenere in piedi un OS da cui si pretendeva una stabilità assoluta e delle applicazioni mica da ridere, in ambito server e workstation.
Questo per dire che l’ottimizzazione non era un optional, anche perché i produttori di CPU pagavano MS per ottimizzare il codice (non a caso il supporto ad Alpha fu tagliato quando Compaq smise di finanziare lo sviluppo di Win 2k) ed arrivare sul mercato potendo promettere delle prestazioni direttamente proporzionali all’efficienza dell’architettura.
@Alessio Di Domizio
magari dico fesserie ma per non sapere nè leggere nè scrivere e gurdando solo alle barre dei grafici mi sembra che l’articolo che hai citato se da un lato porta acqua al tuo mulino (Alpha migliore di Itanium coevo) dall’altro dimostra che un P4 da 2ghz dava già allora la paga ad entrambi…sbaglio qualcosa?
@Lorenzo
Se mi posso permettere: mi pare che i risultati non siano rettificati per frequenza pertanto mentre Alpha e Itanium hanno quasi lo stesso clockaggio, Pentium 4 viaggia al doppio!
Comunuqe è risaputo che Itanium2 è scarso come efficienza, la prima versione era addirittura molto peggio!
Infine, nei grafici credo che siano riportati i dati di P4 prima serie, cioé quelli derivati da P3, la cui scalabilità di performance doveva essere legata alle prospettive di aumento di velocità che poi non hanno superato i 3,2 Ghz costringendo a riprendere la ben più efficiente architettura Pentium Pro. Pertanto era indispensabile confrontare un processore con frequenza maggiore perché quel particolare P4 (prima serie) era in realtà decisamente meno efficiente di entrambi gli altri.
Ciao
mi correggo: il P3 deriva da PPro come i P4 seconda generazione. Il P4 prima versione era ex-novo ed è stato portato fino a 3,8 Ghz (Prescott)… il senso dell’ultimo discorso non cambia
ciao ciao
non credo che si tratti di una gara di efficienza per ciclo di clock…ma di una gara di prestazioni, di prestazioni per dollaro, e (al limite) di prestazioni per watt (e qui nell’articolo non abbiamo dati se non che Itanium consuma di più di P4 a parità di prestazioni): da che mondo è mondo la gente vuole avere i risultati prima e a costi minori e solo secondariamente nel modo più elegante.
Quello che voglio dire è che il mito della CPU avanzatissima bloccata dalle mega corporazioni brutte e cattive qui non mi sembra supportato nemmeno dai numeri: i P4 di allora non erano certo fermi a mangiare la polvere dai 21264 coevi e questo è un fatto…che col supporto di chissà quale management illuminato i processori Alpha avrebbero fatto vergognare Intel è al più una teoria affascinante.
@ Lorenzo
Bisogna guardare alla vicenda in una prospettiva storica. Nel 1991 debuttava EV4, una CPU a 64 bit con frequenza di 200Mhz e prestazioni FP aliene rispetto al mondo x86 (al rilascio del primo Pentium mancavano ancora 2 anni). Fino alla generazione del P2 compresa, Alpha manteneva una superiorità prestazionale indiscussa rispetto a x86. Con P3-K7 le cose andarono cambiando, benché il 21264 (1998) fosse ancora in grado di tenere a bada le due CPU.
Questa considerazione peraltro dovrebbe farci riflettere sul confronto fra 21264 e P4 a 2ghz (che rappresenta o una delle ultime evoluzioni dell’architettura Willamette o una delle prime di Northwood, comunque 2001).
Con l’acquisizione da parte di una Compaq già in crisi ma già mani e piedi legata a Intel, la roadmap verso EV7 rallentò (basta guardare al ritmo di rilascio delle CPU). Furono commessi documentabili errori di management, primo fra tutti il taglio del supporto a Windows e molto probabilmente non fu investito quel che serviva per affinare i processi produttivi in modo da consentire all’architettura di crescere in velocità ed efficienza energetica come le concorrenti. Con l’acquisizione di Compaq da parte di HP (2002, HP finanziatrice del fallimentare progetto Itanium) il capitolo Alpha (un’architettura precisamente concorrente di Itanium) andò a terminare, con la cancellazione di ogni successivo sviluppo nel 2003.
Questo per dire che su Alpha c’è ben altro che materiale per romantica dietrologia: finché l’architettura fu nelle mani di DEC (il cui management pur non brillava per intuito di mercato) non ebbe quasi rivali, tantomeno fra i coevi x86. Quando passò di mano iniziò la parabola che la portò alla fine, il che mi porta a ritenere che l’architettura Alpha fu sepolta viva. Il fatto che Itanium, dopo anni di sforzi fallimentari, si avvii a farle compagnia mi sembra un’ottima applicazione della legge del contrapasso. :-)
Non ti capisco molto. Non c’é nessuna “teoria del complotto” nella lettura del risultato dei benchmark: Pentium supera Alpha percentualmente ma con un clock doppio e se Alpha avesse avuto continuità di sviluppo con investimenti analoghi ad Itanium avrebbe potuto essere portata a velocità superiori: era un dato evidente fin dalla sua genesi e legato alla semplicità architetturale… e questo riguarda anche l’efficienza in termini di consumo. Alpha non era nemmeno costosa, ma veniva venduta cara da Digital dove erano piuttosto “montati”.
Tra l’altro “quel” P4 non ha fatto mangiare la polvere a nessuno: lo sa bene AMD!
Infine le corporazioni non sono brutte e cattive ma, giustamente, cercano di salvaguardare i propri investimenti con ogni mezzo. Il management presuntuoso che non ha capito le dinamiche di mercato (sottovalutando i PC) ha condotto Digital al disastro e la concorrente HP ha vinto la partita… nel frattempo ha mantenuto la sua strategia di sviluppo. Questo non significa che Alpha non fosse un’ottima tecnologia.
allora il 21264 stando wikipedia (fonte poco attendibile ma l’unica che da ignorante posso citare) raggiunge le frequenze della CPU descritta nell’articolo linkato nel 2001 (non 1998)…quindi sembra perfettamente coeva al P4 da 2ghz.
Circa il ritmo di rilascio direi che siamo al limite: fino al 2001 la roadmap sembra ad occhio senza buchi quindi se è fino a lì che dobbiamo considerare l’analisi direi che Intel era riuscita a prendere le “mirabolanti” prestazioni delle CPU alpha PRIMA del rallentamento…che poi la versione successiva sia uscita tardi è probabile ma appunto a livello cronologico sembra un fatto successivo al timeframe considerato, manca la controprova di una superiorità e rimaniamo qundi nel campo delle ipotesi.
@Giovanni: forse non riesco a spiegarmi…in sè il fatto che una CPU abbia bisgogno del doppio del clock per avere prestazioni superiori non vuol dire nulla (soprattutto quando la storia ha dimostrato che Intel avrebbe avuto margine per innalzare il clock per altri 2 anni): può benissimo essere che per scelte architetturali si sia deciso di puntare sull’aumento della frequenza mentre dall’altra parte un aumento dell’eficienza non sia in grado di compensare la minore scalbilità. Il progetto vincente è quello che va meglio indipendentemente dalla strada scelta: se la l’aumento dell’eficienz anon compensa l’aumento delle frequenze del rivale direi che stai andando nella direzione sbagliata.
Esattamente. Ci sono architetture che sono pensate per scalare in frequenza, magari sacrificando l’IPC, altre che preferiscono un IPC più elevato ma si accontentano di frequenze minori.
Per cui non ha alcun senso “normalizzare” i risultati in base alla frequenza.
Riguardo a Itanium vs Alpha, si tratta di due architetture completamente diverse. Il primo fa parte della famiglia VLIW e cerca di spostare sul compilatore la complessità del raggruppamento e ordine d’esecuzione delle istruzioni (tenendo conto dei vincoli dell’architettura), mentre il secondo implementa un’architettura Out-of-order classica.
Il risultato è quello che è stato dipinto nel libro del buon Patterson di cui Alessio ha postato il link: Itanium presenta ottime prestazioni nei calcolo in virgola mobile, perché in questo contesto gli IPC sono più elevati rispetto al codice “general purpose”; viceversa, in quest’ultimo contesto sono decisamente scarse perché un conpilatore non potrà mai ottenere risultati migliori di uno scheduler che ha in mano la precisa situazione interna e può decidere in tempo reale in che modo allocare le risorse e far eseguire le istruzioni “nel migliore dei modi” in quel momento.
E’ il motivo per cui Alpha presenta generalmente migliori prestazioni rispetto all’Itanium, e riesce a farlo addirittura un Pentium 4, che non ha certo brillato dal punto di vista prestazionale (fatta eccezione nell’uso dell’unità SIMD).
Difatti chi ha lavorato con Itanium disassemblandone il codice ha affermato che spesso nel bundle si trovano delle NOP. Il che la dice lunga sull’efficienza del codice prodotto e poi eseguito, e quindi sull’inutile consumo di spazio (che, invece, è ottimizzato nelle altre architetture; in particolare su CISC come gli x86) a cui cerca di porre rimedio l’enorme quantità di cache L3 di cui viene generalmente dotato (che aiuta anche in altro, sia chiaro!).
Personalmente trovo giusta la definizione che è stata data ad Itanium ormai da tempo: Itanic. Si tratta di un colossale fallimento. E pensare che secondo i piani di Intel avrebbe dovuto addirittura rimpiazzare x86… :D
Riguardo ad Alpha, c’è da dire che avrebbe senz’altro avuto ancora molto da dare, ma rimane comunque un’architettura estremamente semplice, con un’ISA ridotta all’osso (alcune operazioni a 32 bit, come somme e sottrazioni, sono state introdotte solo perché molto codice ne faceva uso, altrimenti avremmo avuto un’architettura “pura”), ma col tempo avrebbe ceduto anche lei il passo al dominio degli x86.
Già ai suoi tempi riusciva a eseguire fino a 4 istruzioni, ma semplici appunto, e non sarebbe riuscita a fare di meglio perché l’IPC non si può aumentare in maniera indefinita, ma dipende dalla complessità del codice eseguito, e come sappiamo il codice non è privo di dipendenze; tutt’altro.
x86 ha istruzioni più compatte, occupa meno spazio, ed è in grado di eseguire molto più lavoro “utile” senza, tra l’altro, creare fastidiose dipendenze in tanti casi (pensiamo ai load di cui si debba poi utilizzare il valore).
Col tempo il brutto anatroccolo s’è trasformato in un grazioso cigno (dal punto di vista prestazionale ;), come possiamo vedere dalle nuove generazioni (l’ultima, SandyBridge, è un autentico capolavoro).
@degac: credo che ci sia una comune incomprensione che circola. Microsoft supporta ARM già da parecchi anni, per cui portare Windows 8 su quest’architettura non è certo un’impresa titanica né qualcosa di nuovo.
Fortunatamente le parti legate strettamente all’hardware di un s.o. moderno sono ben poche, e Microsoft in ogni caso si trova avanti per quanto già detto.
E si trova avanti anche con le ottimizzazioni, a maggior ragioni su piattaforme come ARM, che ha usato su smarthphone e PDA, dove non ci sono molte risorse a disposizione né come spazio né come prestazioni.
@Giovanni: nessun modello dei P4 deriva dai P3, come non deriva dal PentiumPro. Né il primo né gli ultimi. Si tratta di architetture completamente diverse dalle precedenti.
Io credo che la normalizzazione nel confronto avrebbe avuto pienamente senso, perché anche Alpha la prevedeva in modo molto esplicito fin dall’inizio (anni Novanta), un aumento della frequenza operativa. Ovviamente nel caso che ci fosse stata una normale evoluzione del progetto. Proprio l’estrema semplicità architetturale ne avrebbe garantito la possibilità di una forte scalabilità in questo senso grazie agli sviluppi delle tecnologie produttive.
I primi esemplari infatti avevano già frequenze elevate, mentre è normale che poi queste non sono state più aumentate perché la cosa ncessita di riprogettazione e reimplementazione cioé di un sacco di soldi!
@CDMauro
chiedo scusa se ho indotto in errore, ma per quanto ne sapevo seguendo marginalmente gli sviluppi hw dell’ultimo decennio (in cui mi occupo d’altro), mi pareva che Pentium Pro (P6) rappresentasse la novità dopo il Pentium (P5), ma destinato a utilizzi server (e questo me lo ricordo perché ancora lavoravo sui cpu, ma ormai sono più di 10 anni che ho cambiato attività).
Pentium 4 prima generazione rappresenta una novità architetturale (P7) basata anche su NetBurst, ma dato lo sviluppo diverso dal previsto a causa della scalabilità in frequenza si è tornati alla linea P6 (quella che aveva prodotto il Pentium III) da cui sono derivati gli ultimi P4.
Ovviamente le cose sono evolute ulteriormente con Core Duo e Quad, i7 ecc.. quella che citi infatti (Sandy Bridge) sarebbe P10.
Scrivo questo dopo aver verificato su Wikipedia solo per praticità, anche se le mie fonti sono anche altre, tra cui il mitico “The Great CPU” anche se un po’ vecchiotto!
Mi scuso nuovamente, ma potresti delucidarmi meglio?
Grazie
Vorrei precisare, visto che ultimamente se ne parla parecchio, che nella fattispecie x86 è un’ISA e non un’architettura di processore a tutti gli effetti, anche se viene intesa come tale in senso lato.
(Le CPU x86 da P6 in avanti infatti, lavorano con un’architettura RISC le cui istruzioni vengono tradotte “al volo” da un emulatore integrato. Questa è una soluzione valida dal punto di vista della retrocompatibilità (che io considero sacra dal punto di vista pratico) ma sicuramente problematica a livello di efficienza e consumo. Intel parlava appunto di “CRISC”!)
Scusatemi se, dopo l’ottimo (come sempre) intervento di Cesare, replico anche io.
Da un articolo del 2002 apparso su Lithium
http://www.lithium.it/articolo0035p5.htm
——————————————-
Il processore 21264, la cui gestazione da parte di Digital è stata lunga e sofferta, è il successore del 21164. Il 21264 introduce interessanti novità come l’esecuzione fuori ordine e speculativa ed è dotato di maggiori unità di esecuzione ma sostanzialmente mantiene lo stesso “stile” del suo predecessore.
Purtroppo per vari motivi tecnici, i numerosi integratori che si sono cimentati con l’implementazione del core EV6x hanno riscontato molte difficoltà nel ramping in frequenza, fenomeno questo del tutto opposto a quanto mostrato dal 21164 nei suoi anni d’oro quando funzionava a 500-600MHz mentre gli avversari che arrancavano intorno ai 200-300MHz.
Attualmente il 21264B viene integrato da IBM in tecnologia 0.18micron in rame e raggiunge una frequenza di poco superiore ad 1 GHz.
…..
Conclusioni
Anche se uscito ampiamente in ritardo rispetto alla tabella di marcia e ad una frequenza non eccezionale, il 21264 ha un’architettura che anche adesso (2002) può essere considerata di un certo livello. Il fatto di avere la L2 cache esterna viene bilanciato dal bus dedicato a 128bit DDR e dalla notevole quantità che generalmente è disponibile nei sistemi server.
…..
——————————————-
I bench li taglio e li inserisco io dal sito SPEC. Ho preso 2 rilevazioni, la migliore del 2001 e del 2002. I due valori in sequenza sono il peak e la base, seguiti dalla data in cui sono stati rilevati.
In questo modo si può anche delineare una tendenza, che nel confronto riportato nel post #7 non c’è.
Il POWER4 è riportato a solo titolo di confronto.
—————————————-
specint2000
AlphaServer ES45 Model 68/1000 (21264C) 679 621 NOV2001
hp AlphaServer ES45 68/1250 821264C) 928 845 NOV2002
Precision WorkStation 730 (800 MHz Itanium) 314 314 AGO2001
hp server rx2600 (1000 MHz, Itanium 2) — 810 LUG2002
…
IBM eServer pSeries 690 Turbo (POWER4 1,3 GHz) 814 790 NOV2001
specfp2000
AlphaServer ES45 Model 68/1000 (21264c) 960 776 NOV2001
hp AlphaServer ES45 68/1250 (21264C) 1365 1019 NOV2002
Precision WorkStation 730 (800 MHz Itanium) – 645 LUG2001
hp server rx2600 (1000 MHz, Itanium 2) 1301 1174 LUG2002
hp server rx2600 (1000 MHz, Itanium 2) 1427 1427 DIC2002 test su RH2.1
…
IBM eServer pSeries 690 Turbo (POWER4 1,3 GHz) 1169 1098 OTT2001
—————————————-
Se nel 2001 l’Alpha vinceva sulla prima generazione di CPU Itanium (le cui prestazioni al debutto furono da tutti considerate deludenti), già nel 2002 non teneva più il passo.
Per questo continuo a dissentire sulla teoria del complotto per eliminare Alpha.
Al complotto non credo nemmeno io. Penso, più che altro, all’ingenuità che ha tante volte fatto capolino anche in multinazionali rinomate.
Alpha era un gioiello che non è stato saputo sfruttare.
Riguardo al confronto con Itaniu-2, beh, quest’ultimo è un progetto praticamente nuovo, a cui Intel (in particolare) e HP hanno lavorato cercando di porre rimedio alla figuraccia fatta con l’introduzione del primo modello della famiglia. Difficile, quindi, effettuare previsioni su questa base.
Alpha non ha avuto la stessa possibilità. Ne è testimone, ad esempio, proprio l’uso di una cache esterna L2 quando il resto del mondo ormai l’aveva inglobata internamente, con innegabili vantaggi in termini prestazionali.
@Giovanni: normalizzare in base alla frequenza non ha senso per quanto ho già detto prima. L’implementazione di un’ISA (così separiamo i concetti) ha i suoi limiti intrinseci, a causa delle scelte fatte.
Prendi i P4 e i suoi predecessori e successori. NetBurst rimane un’implementazione di x86, ma nacque per scalare molto in frequenza (pagandone anche il prezzo), ma è molto diversa dalle altre, appunto.
Per Alpha scalare in frequenza avrebbe significato allungare la pipeline, come hanno fatto tutte le altre architetture, nessuna esclusa. Quindi rimettere mano al progetto, con più o meno lavoro a seconda delle soluzioni che si sarebbero trovate. Come dicevi tu, tra l’altro.
Riguardo a P4 & co, nel contesto mi riferivo al Pentium 4 e alla famiglia NetBurst, appunto.
E’ vero che internamente gli x86 da tempo utilizzano un’architettura RISC, ma questo è del tutto trasparente, visto che fa fede l’ISA, appunto, che rimane CISC. D’altra parte ci sono anche altri RISC che ricorrono a soluzioni simili (i POWER e il PowerPC 970), oppure che fanno addirittura uso di microcodice.
Non sono queste le cose che fanno pendere la bilancia in favore dei CISC o dei RISC a livello generalmente, ma a mio avviso bisogna vedere i risultati ottenuti. ;)
E’ chiaro che x86 comporta maggiori consumi e un’implementazione più complessa (decoder in primis), ma il peso varia a seconda dell’architettura. Atom (decine di milioni di transistor) ne soffre di più, ma per SandyBridge (centinaia di milioni di transistor) non è assolutamente un problema, giusto per essere chiari.
Personalmente non ho sostenuto l’esistenza di alcuna “teoria del complotto” (#16), ma non capisco dove si vuole andare a parare continuando a cercare confronti al 2001 quando Alpha, in realtà, ha sostanzialmente finito il suo corso con Digital (nemmeno con Compaq) cioé nel 1995-97: in pratica quando i Pentium muovevano i primi passi e quando Intel è passata a PPro e P2 (adottando le tecniche RISC di cui sopra con Istruction Set x86… guarda caso!).
Resta anche fuori qualsiasi dubbio che Alpha di Digital fosse il diretto concorrente per HP e Intel separatamente e poi insieme con Itanium… forse più di SPARC, sempre sottovalutata da tutti, ma ancora lì!
@CDMauro:
Forse stiamo dicendo la stessa cosa, ma a me bastava precisare riguardo al discorso P4 & co appunto perché (escluso netBurst) pare che le relazioni tra le diverse generazioni esistano.
D’altra parte mi pare anche che convieni sul fatto che “Alpha era un gioiello che non è stato saputo sfruttare” e che per scalare in frequenza avrebbe avuto bisogno di investimenti da parte di chi puntava ancora su quel progetto… e già prima del 2000 quel qualcuno non c’era.
Circoscriviamo un attimo il discorso del “complotto”. La mia ipotesi è riferita al periodo in cui Compaq è andata a finire nelle mani di HP (2002). Prima di allora a rallentare il progresso della piattaforma ci ha ben pensato una DEC in crescenti difficoltà finanziare e poi una Compaq anch’essa in difficoltà, incapace e forse anche poco interessata a sostenere Alpha.
In quel momento l’architettura aveva già visto rallentata la sua roadmap (non dimentichiamo che anche il 21264 debuttava mentre DEC rischiava la liquidazione) ma aveva cartucce in abbondanza per il futuro, ammesso che appunto trovasse un’azienda disposta a puntare sullo sviluppo dell’architettura.
Invece di trovare un’azienda disposta a puntare, dopo un’acquisizione (quella della declinante Compaq da parte di HP) su cui molti trovarono da ridire – compreso tale William Hewlett – trovò un’azienda che aveva un fondato interesse a togliere di mezzo un competitor di Itanium.
Una correlazione non implica necessariamente un rapporto causale, ma che l’eliminazione di Alpha – forte anche di un buon installato – abbia in qualche modo fatto gioco al già zoppicante Itanium mi pare innegabile.
@ Giovanni
…ma non capisco dove si vuole andare a parare continuando a cercare confronti al 2001 quando Alpha, in realtà, ha sostanzialmente finito il suo corso con Digital (nemmeno con Compaq) cioé nel 1995-97…
semplicemente perchè in quell’anno (2001) Compaq vendette le sue proprietà intellettuali sui chip Alpha a Intel.
Ciao a tutti,
aggiungo qualche dettaglio a quanto già indicato da Cesare.
Confronto fra Aplha, K7 e P3: http://www.azillionmonkeys.com/qed/cpujihad.shtml
(da notare che il K7 è teoricamente la CPU più prestante ma nella realtà, a pari clock, l’Alpha è decisamente più veloce nel codice FP).
Confronto fra core OOO e core VLIW: http://perilsofparallel.blogspot.com/2010/03/power-itanium-niagara-superscalar-vs.html
(il succo è che l’autore preferisce un core OOO ritenendolo più adatto al lavoro \abituale\, a patto che non sia eccessivamente complesso, cioè con larghezza di esecuzione > 4).
Ciao.