Pagine

Contrariamente a quello che molti pensano, i System-On-Chip hanno più di vent'anni sul groppone, nascendo tra la fine degli anni '80 e l'inizio degli anni '90. Il SoC che avrebbe dato il via al boom definitivo di questa tipologia di processori fu l'R3900 (basato su architettura MIPS I), e fu prodotto da Toshiba a partire dal 1995.

L'R3900 ha poi dato origine a numerosi emuli, principalmente basati su ISA MIPS e, in misura minore, ARM, le quali, essendo molto più efficienti e parche di transistor rispetto alle ISA concorrenti, come ad esempio x86, si rivelarono perfette per tali tipologie di processori. Non è un caso che Microsoft abbia sviluppato Windows CE utilizzando quale architettura di base proprio MIPS, mentre Sony utilizzò un R3000 custom per la prima Playstation.

 

"Programming Microsoft Windows CE .NET", Douglas Boling, 2003

 

La seguente serie R4000 di MIPS (architettura MIPS III), a 64 Bit e rilasciata nel 1992, declinata in diverse varianti da molti produttori, ebbe una ancora più fortunata vita commerciale, equipaggiando ad esempio le console Nintendo64 (NEC VR4300), Playstation 2, Playstation Portable e diverse Workstation (le potenti e famose MIPS Magnum). Dal R4000 fu poi sviluppato l'R8000 (architettura MIPS IV); quest'ultimo processore, il primo superscalare di MIPS, trovò la propria principale mansione nei supercomputer e nelle workstation professionali, rendendo di fatto MIPS regina incontrastata in questo settore per diversi anni, come si può vedere dal grafico qui in basso.

 

 

Top 500 Supercomputer, tra il 1993 e il 2013

 

Non è un caso che Windows NT, fino all'ultima release 4.0, fosse stato sviluppato principalmente per l'architettura MIPS, non certo per quella x86, a quel tempo ancora relegata ai PC/AT, pressapoco dei giocattoli rispetto alle macchine utilizzate dai professionisti.

D'altra parte della barricata, facendo un passo indietro, dopo aver convinto IBM agli inizi degli anni '80 ad utilizzare i processori x86 per equipaggiare i Personal Computer, Intel tentò di lanciarsi alla conquista del mercato Workstation, Server ed Embedded, convinta che anche lì avrebbe avuto un analogo successo. Sapendo però che l'ISA x86 non sarebbe stato idoneo per tali mercati, la casa di Santa Clara mise in disparte i processori x86 CISC (Complex Instruction Set Computer) per realizzarne di RISC (Reduced Instruction Set Computer) non x86, nella pratica molto più efficienti in ambiti professionali.

Intel tornò, sette anni dopo il fallimentare iAPX432 (1981), a battagliare nel mercato delle CPU professionali, prima con l'i960 (1988), poi con l'i860 (1989), ma ancora una volta senza successo. Questo insuccesso fu dovuto principalmente alla mancanza di software compatibile, in quanto Intel non riuscì a catturare l'attenzione dei produttori di Server e Workstation, come disse Andy Grove, a quel tempo CEO di Intel: “We now had two very powerful chips that we were introducing at just about the same time: the 486, largely based on CISC technology and compatible with all the PC software, and the i860, based on RISC technology, which was very fast but compatible with nothing. We didn't know what to do. So we introduced both, figuring we'd let the marketplace decide. ... our equivocation caused our customers to wonder what Intel really stood for, the 486 or i860?”.

Con l'abbandono del mercato professionale, almeno fino ai Pentium Pro (1995), Intel lasciò campo libero a MIPS ed ARM, e quindi ad una loro veloce ed ampia evoluzione, che abbracciò tanto le CPU ad alte prestazioni (Server e Workstation), quanto lo sviluppo dei primi SoC dedicati al mercato Embedded e Multimediale.

 

"See MIPS run", Dominic Sweetman, 2007

 

AMD, dopo aver vagliato gli errori di Intel e i motivi del successo delle soluzioni MIPS ed ARM, riconducibili principalmente al supporto software, realizzò il primo SoC x86 per il mercato Consumer. Le fosse andata bene, sarebbe stata una gallina dalle uova d'oro, ma sfortunatamente per la casa di Sunnyvale non fu così.


Quando AMD, tra la fine del 1988 e l'inizio del 1989, decise di sviluppare l'Am286ZX/LX studiò attentamente gli errori commessi da Intel quando tentò di insediare il mercato delle CPU RISC allora dominanti. L'errore principale della casa di Santa Clara fu quello di non fornire fin da subito software professionali compatibili con i propri processori, o almeno il supporto per lo sviluppo di tali software. La dirigenza di Intel pensò che le sarebbe bastato offrire una CPU molto prestante ed il successo sarebbe giunto di conseguenza. Un errore madornale, ripetuto per ben due volte, nel 1981 e nel biennio 1988-1989. 

 

"Foundations of Computer Technology", Alexander John Anderson, 1998

 

 

Sebbene i processori Intel, in teoria, fossero molto potenti e tutto sommato economicamente abbordabili, nella pratica questa potenza non venne sfruttata. Questo determinò il fallimento quasi istantaneo dell'i960 e dell'i860. Rimasero in commercio per appena due anni, nel mercato Workstation; un lasso di tempo incredibilmente breve per un prodotto informatico dell'epoca.

AMD decise allora di cambiare tipologia di mercato e modus operandi, puntando su quello consumer ed embedded invece che su quello delle workstation e dei server. Decise quindi di realizzare un SoC x86 con cui fare concorrenza a quelli basati su architettura MIPS, utilizzando il sistema MS-DOS e il successo dei PC IBM Compatibili quali trampolini di lancio. Poiché l'ambiente MS-DOS stava attirando a sé sempre più sviluppatori e software house attive nel campo ludico e d'ufficio, e poiché la clientela consumer era alla ricerca di PC IBM Compatibili sempre più economici da utilizzare in ambito familiare, la realizzazione di un SoC in grado di abbattere i costi di produzione dei PC si supponeva sarebbe stata un'ottima idea. Avesse avuto successo in ambiente SoHo, nulla vietava che l'Am286ZX si sarebbe potuto commercializzare anche in altri settori, come quello delle console o delle macchine Embedded, grazie alle economie di scala. Va ricordato, infatti, che il grande successo delle CPU e dei SoC MIPS di fascia media derivava anche dagli ottimi prezzi di vendita, i quali si aggiravano attorno ai 20 – 30 dollari per lotti di 1000 unità (lo stesso dei SoC ARM prodotti oggigiorno). Prezzi assolutamente irraggiungibili per le CPU x86, sia di Intel sia di AMD. Questi prezzi furono possibili per due ragioni, principalmente: la già citata semplicità dell'architettura MIPS, e la realizzazione di CPU e SoC specificatamente progettate per determinati utilizzi. Questo rendeva i prodotti basati su MIPS compatti e, quindi, economici da produrre.


Per battagliare ad armi, se non pari, almeno simili con i prodotti basati sulle architetture di MIPS, AMD doveva prima di tutto poter offrire un SoC dal prezzo concorrenziale. Per fare ciò decise di sviluppare il proprio utilizzando quale base il vecchio ma affidabile Am286, per due motivi. In primo luogo, perché Intel non diede in licenza ad AMD la produzione delle CPU 80386, visto che le CPU prodotte a Sunnyvale si rivelarono costantemente migliori di quelle originali prodotte da Intel (con tutto quello che ne consegue dal punto di vista dell'immagine). In secondo luogo, sebbene non fosse un'architettura all'ultimo grido (gli 80486 erano sulla via della commercializzazione), gli Am286 potevano contare su prestazioni simili agli 80386SX di Intel, allora le CPU x86 più vendute.

La semplicità di disegno dell'Am286 permise ad AMD di integrare con una certa facilità molte delle funzionalità che fino a quel momento erano integrate nelle schede madri AT, attraverso l'utilizzo di diversi chip esterni. Grazie alla meticolosa opera di ingegnerizzazione svolta in quel di Sunnyvale, fu possibile integrare On- Die, sull'Am286ZX, quasi del tutto le funzioni gestite dal North Bridge e dal South Bridge. Furono integrati: il Memory Controller, due CTRL DMA per HDD e Floppy Disk, due CTRL di Interrupt (COM/Seriale), due contatori/temporizzatori, un Real Time Clock con RAM CMOS, il generatore di Clock e il CTRL dei BUS PCI/ISA. Esternamente al SoC, da integrare sulla scheda madre, rimanevano solamente, tra le feature essenziali, il Coprocessore Matematico (opzionale), la EPROM del BIOS e il CTRL AT della tastiera.

Il modello Am286LX integrò altre feature, mirate principalmente al mercato dei Notebook; disponeva di una gestione avanzata dell'alimentazione, in grado di porre la CPU nello stato di “Shutdown Mode” (ibernazione), così come di poter effettuare il refresh della RAM senza riavviare il PC (in due modalità, “Staggered” e “Low-Refresh”). Caratteristiche molto avanzate per l'epoca, e che Microsoft introdusse solo con Windows CE nei propri Sistemi Operativi.

 

 

Per far sì che il SoC fosse il più protetto possibile, sia dal punto di vista meccanico (scheggiatura del Die, ad esempio), sia termico (temperature eccessive, ad esempio), AMD utilizzò la tecnica costruttiva denominata TapePak, su base Quad Flat Pack (PQFP): questa consiste nell'utilizzo di un anello plastico non conduttivo, posto attorno al SoC, così da proteggere i circuiti sia durante le fasi di montaggio e collaudo, sia durante il normale utilizzo.


Il progetto di AMD, il quale avrebbe permesso la realizzazione di PC molto economici, interessò fin da subito diversi grossi produttori, tra cui Hewlett-Packard. Il prezzo di commercializzazione, infatti, era molto basso: il prezzo della versione dell'Am286ZX/LX a 12 MHz era di 69 dollari, mentre la versione operante a 16 MHz era prezzata ad appena 89 dollari.

Phoenix Technologies, la più importante casa realizzatrice di BIOS, si mise subito all'opera per rendere disponibili, il prima possibile, delle schede madri di pre-produzione perfettamente operative per il testing presso gli OEM.

Tutto lasciava supporre ad un grandioso successo dell'Am286ZX/LX, ma le cose non andarono come AMD aveva sperato. Intel, poco dopo l'annuncio del SoC AMD, lanciò sul mercato l'80386SX a 20 MHz, specificatamente progettato per i Notebook, al prezzo di soli 150 dollari, e capace di generare una potenza di 4,21 MIPS, circa 8 volte quella dell'Am286ZX operante a 16 Mhz! Le versioni meno potenti del 80386 cominciarono a trovarsi abbondantemente sotto i 100 dollari.

 

Un prototipo di scheda madre Embedded con Am286LX. Raspberry Pi ante-litteram?

 

In seguito, il notevole successo commerciale nella prima metà del 1991 del 486SX, versione difettosa dei 486DX venduta con il Coprocessore Matematico disabilitato, spinse verso il basso il prezzo delle vetuste CPU 80286 e 80386, molto velocemente ed ancora più marcatamente. L'Am286ZX/LX non fu possibile riciclarlo neppure nel mercato Embedded o multimediale, entrambi terreno di caccia prediletto per i SoC MIPS e le CPU di Motorola.

I produttori di PC IBM/AT Compatibili persero quindi ogni interesse nel futuristico prodotto di AMD, privilegiando la realizzazione di macchine tradizionali, visti i costi della componentistica ormai in discesa libera; l'arrivo sul campo di battaglia di un nuovo aggressivo produttore di CPU x86, Cyrix, appoggiato attivamente da IBM, si stava facendo sentire.

L'insuccesso dell'Am286ZX/LX di AMD lasciò spalancato il mercato dei SoC prima all'architettura MIPS, ed in seguito a quella ARM, tagliando definitivamente fuori x86 da tale tipologia di prodotti. X86, quale ISA, si impose principalmente, grazie alle economie di scala, nei mercati dove contava, e conta ancora, maggiormente la potenza bruta che l'opera di ingegnerizzazione. Così, nel 1995, mentre la CPU Pentium 133 MHz veniva venduta a 621 dollari per lotti di 1000 unità (potenza pari a 219 MIPS), il SoC Toshiba R3900 50 MHz (potenza pari a 53 MIPS), veniva venduto a soli 30 dollari per lotti di 1000 unità.


AMD, quando sviluppò l'Am286ZX/LX, tentò di entrare in diretta competizione con MIPS e ARM utilizzando l'ISA x86, ma fu una battaglia persa in partenza. Non avrebbe mai potuto competere con queste dal punto di vista dell'efficienza, e non avrebbe mai potuto competere con le CPU Intel dal punto di vista delle prestazioni pure, in quel preciso momento storico.

Intel, al tempo, lo sapeva assai bene, ed infatti tentò di battagliare con MIPS e ARM non attraverso l'utilizzo di x86, ma realizzando dei processori RISC ex-novo. Ugualmente, qualche anno dopo, tentò di inserirsi nel mercato Embedded grazie all'acquisto della divisione StrongARM di DEC (1997) e alla creazione della divisione XScale (2000). Solo a metà degli anni 2000 la casa di Santa Clara mise da parte ARM, per concentrarsi unicamente su x86, grazie al vantaggio accumulato dal punto di vista delle fonderie, il quale le permise di vincere la gara nel mercato dei Server e delle Workstation, abbattendo una dopo l'altra MIPS, DEC (Alpha), Oracle (Sparc) e IBM (Power), ma sottostimando la futura crescita del mercato Mobile. Oggi, dopo una decina d'anni, tale vantaggio si è ormai azzerato; ARM e, in parte, MIPS stanno rialzando la testa.

Dalla storia dell'Am286ZX/LZ, quindi, si può imparare una lezione: a parità di processo produttivo, in determinati ambiti, x86 è oggettivamente inferiore ad ARM e MIPS. Ogni ISA, d'altronde, ha i propri punti di forza e le proprie debolezze. Non fu una sconfitta di AMD, ma dell'architettura x86 in generale. AMD, grazie a questa esperienza diretta, lo sa bene, e per tale motivo ha deciso di produrre gli Opteron X, basati su ISA ARM.