PowerPC
Da Wikipedia, l'enciclopedia libera.
PowerPC è un'architettura di microprocessori RISC creata nel 1991 dall'alleanza Apple-IBM-Motorola, conosciuta come AIM. PowerPC era il settore CPU della piattaforma dell'AIM, e ad oggi ne è l'unica parte che resta.
Indice |
[modifica] Storia
La storia dei processori PowerPC inizia con l'IBM 801 un prototipo di processore RISC progettato da John Cocke alla fine degli anni 70. 801 venne utilizzato da IBM in molte applicazioni embedded e fu la base del processore ROMP utilizzato nei computer IBM RT. Dopo l'insuccesso dell'IBM RT per via delle ridotte prestazioni IBM avviò il progetto America volto allo sviluppo del più rapido processore disponibile sul mercato. Il progetto portò allo sviluppo dell'architettura POWER utilizzata dai sistemi RISC System 6000 all'inizio degli anni 90.
Il primo processore POWER fu uno dei primi processori RISC ad alte prestazioni su più integrati. IBM decise che una versione su singolo chip era preferibile e quindi ne sviluppò una versione più semplice eliminando dal set di istruzioni alcune istruzioni POWER e sviluppò il processore RISC Single Chip per le macchine di fascia bassa dei server RS/6000. I manager IBM sapevano di avere un processore potenzialmente molto scalabile. Il processore poteva scalare dai server di fascia alta fino alle applicazioni embedded.
IBM contattò Apple con l'obiettivo di stringere un'alleanza per sviluppare una famiglia di processori su singolo chip basati su set di istruzioni POWER per personal computer. Apple contattò Motorola per coinvolgerla nello sviluppo dei processori. Motorola era un fornitore di lunga data di Apple, aveva esperienza nella produzione e nella gestione di processori prodotti in milioni di esemplari e inoltre Apple riteneva vantaggiosa la possibilità di avere un secondo fornitore di microprocessori. L'alleanza venne chiamata AIM dalle iniziali di Apple, IBM e Motorola.
Nel 1991 il PowerPC era solo uno dei componenti dell'alleanza tra le società. In quel periodo il mercato era dominato dalla Microsoft e Intel, tramite il sistema operativo Microsoft Windows e i processori 80386 e 80486. Intel inoltre stava sviluppando il Pentium che pur essendo compatibile con i predecessori forniva un notevole incremento di prestazioni. L'alleanza AIM mirava a rompere il monopolio Microsoft-Intel nel settore dei personal computer.
Per Motorola l'alleanza era un'ottima possibilità. L'alleanza permetteva alla società di poter utilizzare un'architettura RISC ad alte prestazioni e già testata investendo solo un modesto budget in ricerca. Inoltre l'alleanza permetteva a Motorola di mantenere un grosso cliente come Apple nel suo portafoglio clienti. Inoltre Motorola sperava di vendere a IBM le versioni a basso costo dei processori, ritenendo che IBM avrebbe trovato più conveniente comprare i processori da sé piuttosto che svilupparseli in proprio.
In quegli anni Motorola aveva già un proprio design RISC incarnato nel 88000 che non stava andando bene nel mercato. Una spesso citata ragione per il suo fallimento era la mancanza di compatibilità con la loro diffusa serie 68000, già usata su Amiga e Macintosh. Inoltre i processori 88000 erano arrivati in ritardo sul mercato rispetto ai processori MIPS e SPARC.
Tuttavia l'88000 era già in produzione e alcuni produttori come Data General avevano già sviluppato delle macchine basate sul processore. Inoltre la stessa Apple aveva sviluppato dei prototipi basati su 88000 e questo spinse IBM e Motorola a rendere il nuovo processore compatibile a livello di bus con il Motorola 88000 in modo da rendere veloce la conversione delle macchine basate su 88000 in macchine basate su PowerPC.
Il risultato dei requisiti portò allo sviluppo delle specifiche PowerPC (Performance Computing).
I primi processori basati sulle specifiche PowerPC ricevettero un'accoglienza molto calorosa da parte del mercato. Oltre a IBM e Apple anche il gruppo Motorola dedicato allo sviluppo di computer sviluppò sistemi basati su PowerPC. Microsoft portò Windows NT 4.51 su PowerPC, Sun Microsystems portò Solaris su PowerPC, IBM sviluppò una versione di AIX per PowerPC e pianificò una versione di OS/2 per i processori. Alla metà egli anni 90 i PowerPC erano i più potenti processori disponibili per personal computer.
Lo sviluppo delle nuove architetture su PowerPC comunque non ebbero il successo sperato. I clienti dei sistemi operativi Windows, OS/2 e Solaris vista la scarsità di software per PowerPC ignorarono la piattaforma. Le versioni di OS/2, Solaris e Windows NT vennero dismesse rapidamente e solo i Macintosh completarono la transizione sulle nuove macchine basate su PowerPC. Le prestazioni del PowerPC rispetto agli altri processori erano per Apple più importanti della mancanza di compatibilità con il passato.
Tuttavia il ridotto successo dell'alleanza (rispetto agli obiettivi iniziali) fece pensare a IBM e Motorola che era ora di riconsiderare le priorità. Motorola durante gli anni 90 aveva sviluppato i processori G3 e G4, mentre IBM aveva sviluppato i processori G5 nel 2003. Nel 2004 Motorola decise di dismettere la divisione dedicata alla produzione dei semiconduttori e creò la società Freescale Semiconductor mentre IBM vendette la propria divisione dedicata allo sviluppo dei personal computer a Lenovo e concentrò lo sviluppo dei processori PowerPC per applicazioni specializzate come il mercato delle console. IBM sviluppò i processori per le console Wii, PlayStation 3 e Xbox 360. Nel 2005 vista la situazione incerta dei processori per computer Apple decise di abbandonare lo sviluppo di macchine basate su PowerPC e strinse con Intel un'alleanza per utilizzare i suoi nuovi processori basati su architettura x86. Apple completò la transizione in meno di un anno e a metà del 2006 non aveva più macchine basate su PowerPC in catalogo.
Attualmente il futuro dei processori PowerPC sembra legato alle applicazioni embedded. Tuttavia l'architettura POWER è vitale e IBM ne continua lo sviluppo per le sue macchine di fascia alta. Bisogna ricordare che le macchine POWER comunque integrano un set di istruzioni PowerPC completo.
Le specifiche PowerPC ora sono gestite dell'organizzazione Power.org di cui IBM e Freescale sono membri. PowerPC, Cell e i processori POWER sono riuniti nell'architettura Power. Power.org dovrebbe rilasciare a breve un'ISA unificata combinando l'architettura POWER e PowerPC nelle nuove specifiche Power ISA v.2.03 e in una nuova piattaforma chiamata PAPR (Power Architecture Platform Reference).
[modifica] Caratteristiche
Il PowerPC è stato progettato con principi RISC, e consente un'implementazione superscalare. Esistono versioni sia con implementazione 32 bit che a 64 bit. Partendo dalla specifica di base POWER, il PowerPC ha aggiunto:
- modalità big o little-endian (che richiedono un reboot per lo switch). Questa modalità non è gestita dal PowerPC G5.
- singola precisione in virgola mobile in aggiunta alla doppia precisione.
- istruzioni floating point (su richiesta di Apple).
- una specifica completa a 64 bit, compatibile con la modalità a 32 bit
- rimozione di alcune istruzioni POWER esoteriche, emulate dal sistema operativo se necessario.
[modifica] Implementazioni
La prima implementazione su singolo chip del design fu l'MCP601, un ibrido delle specifiche POWER1 e PowerPC, rilasciato nel 1992. Questo consentì l'utilizzo del chip da parte di IBM nelle sistemi già esistenti basati su POWER1, anche se portò a delle difficoltà nel passaggio alla seconda generazione di processori completamente basati sul design PowerPC. Apple continuò il lavoro su una nuova linea di computer Macintosh basata sul chip, e li lanciò come "Power Macintosh" basati sul 601 il 14 marzo 1994.
Anche IBM ebbe la sua linea completa di desktop basati su PowerPC costruita e pronta per essere venduta; sfortunatamente non avevano un sistema operativo pronto. IBM decise di riscrivere completamente OS/2 specificamente per il PowerPC. IBM impiegò 2 anni a riscrivere OS/2 per PowerPC ed allora fu troppo tardi. I desktop PowerPC non furono mai immessi sul mercato. Byte Magazine (Aprile 1994) scrisse un lungo articolo su Apple e i desktop IBM PowerPC.
Apple, che non aveva un OS basato su PowerPC, prese una strada diversa. Riscrisse solo i pezzi essenziali del sistema operativo e quindi scrisse un emulatore 680x0 che poteva eseguire le altre parti dell'OS e le applicazioni basate su 68000.
La seconda generazione del processore, che seguiva integralmente le specifiche PowerPC, incluse il 603 di fascia bassa e il 604 di fascia alta. Il 603 è noto per il suo basso costo e per i consumi molto ridotti. L'obiettivo di Motorola, infatti, era quello di usare il progetto 603 come modello di base di tutte le successive implementazioni dei chip PowerPC. Apple tentò di utilizzare il 603 nella serie di laptop PowerBook 5300 ma con scarsi risultati a causa delle ridotte dimensione (8 KB) della cache di primo livello del processore. L'emulatore 68K del sistema operativo non riusciva ad utilizzarla e ciò comportava una drastica riduzione delle prestazioni. Il problema fu risolto con la versione 603e del PowerPC che essendo dotata di una cache di primo livello di 16KB, ne consentiva l'utilizzo all'emulatore.
La prima implementazione a 64-bit del PowerPC fu il modello 620 nel 1997, ma ebbe uno scarso successo commerciale, in quanto a causa delle prestazione inferiori al 604 col software a 32-bit, non venne acquistato da Apple.
Nel 1993 ingegneri IBM a Burlington iniziarono lo sviluppo di una nuova versione di processore PowerPC con incluso il supporto del set di istruzioni x86. Lo sviluppo del processore venne svolto da IBM senza la collaborazione dell'alleanza AIM, il processore venne denominato all'interno di IBM PowerPC 615. Tuttavia seri dubbi sulle reali prestazioni del processore e sulla sua convenienza economica spinsero IBM a cancellare il progetto nel 1995 dopo che un numero limitato di processori erano stati prodotti. Tuttavia versioni contrastanti affermano che il processore impiegava 5 cicli di clock a commutare set di istruzioni, questo tempo sommato al tempo di riempimento delle pipeline rendeva il processore lento, inoltre sembra che uno scarso supporto di Microsoft abbia contribuito all'abbandono del progetto. [1]
La prima implementazione a 64 bit fu il 620 un processore che non ebbe successo. Apple non lo acquisto dato che era un processore molto grande e quindi costoso mentre le prestazioni non erano molto elevate. IBM riutilizzò parte del progetto per il POWER3.
Nel 1997 IBM introdusse anche una famiglia di processori a 64-bit per server: la RS64. Pur derivata dalle specifiche PowerPC adottava tutta una serie di caratteristiche aggiuntive dedicate. Venne utilizzata, in quattro differenti generazioni, nei server della serie RS/6000 e AS/400 fino all'introduzione dell'architettura POWER4 nel 2001.
Nel 1998 IBM rilasciò l'architettura POWER3 a 64 bit[1] destinato esclusivamente alla sua linea di server RS/6000 affiancando la serie RS64.
Alla fine del 2002 IBM introdusse il PowerPC 970. Si trattò del primo processore PowerPC a 64-bit destinato al mercato di consumo. Il 970 era basato sull'architettura multicore POWER4 di IBM adattata a singolo core [2]. Il 970, per garantire ai sistemi Apple la retrocompatibilità, includeva una unità vettoriale (simile alle estensioni AltiVec nella serie Motorola 74xx) ed era stato modificato per eseguire codice a 32-bit in modo nativo.
Numericamente, il PowerPC è il più diffuso nei controllori delle auto. In questo ruolo, Motorola ha offerto un enorme numero di versioni costruite attorno al core 603 chiamate MPC5xx. A questo hanno aggiunto diverso hardware custom, per consentire l'I/O sul singolo chip.
I dispositivi di rete sono un altro settore dove i processori PowerPC sono stati utilizzati ampiamente. MSIL utilizzò in nucleo QUICC del MC68302 per sviluppare il PowerQUICC MPC860 e i MPC823/MPC823e. Tutte le varianti includono un gestore RISC separato chiamato CPM che gestisce le comunicazioni e riduce il lavoro della CPU. CPM accede in DMA alla memoria centrale. I processore successivo fu l'MPC8260 basato su core 603 e dotato di un nuovo CPM.
[modifica] Sistemi Operativi
I sistemi operativi che supportano i processori PowerPC sono il Mac OS 7, 8, Mac OS 9 o Mac OS X per i computer Macintosh e compatibili. Linux, FreeBSD, OpenBSD, NetBSD, Windows NT 3.51 e Solaris per le macchine PowerPC. Inoltre molti sistemi operativi in tempo reale come QNX, VxWorks e linux per applicazioni embedded come LynuxWorks.
[modifica] Processori PowerPC
- 601 MPC601 50 e 66 MHz
- 602 prodotti consumer (multiplexed data/address bus)
- 603 portatili
- 603e
- 604
- 604e
- 620 la prima implementazione a 64-bit
- x704 implementazione PowerPC BiCOMOS della Exponential Technologies
- 750 PowerPC G3 (1997) 233 MHz e 266 MHz
- 7400 PowerPC G4 (1999) 350 MHz
- 750FX annunciato da IBM nel 2001 e disponibile all'inizio del 2002 nella versione a 1 GHz.
- 970 PowerPC G5 (2003) implementazione 64-bit derivata dall'IBM POWER4 alle velocità di 1.4 GHz, 1.6 GHz, 1.8 GHz, 2.0 GHz, 2.5 GHz e 2.7 GHz.
- 970MP Processore G5 Dual Core introdotto a fine 2005. È disponibile nelle versioni da 2.0 GHz, 2.3 GHz e 2.5 GHz.
- Gekko 485 MHz (usato nel Nintendo GameCube)
- Power4+ IBM processore a 1.4 GHz installato sui server Regatta (RS/6000 o pSeries)
- IBM Broadway processore utilizzato nella console Nintendo Wii.
- Xenon processore basato su PowerPC dotato di 3 core e utilizzato nelle Xbox 360.
- Cell processore utilizzato dalla PlayStation 3.
- PA6T-1682-a prodotto da P.A.SEMI su licenza IBM del G5 consuma 15 Watt per core (fino ad 8) ed ha il supporto per memoria e crittografia incorporati
[modifica] Note
[modifica] Collegamenti esterni
Lista dei microprocessori di Motorola/Freescale | |
---|---|
Famiglia 6800 : | 6809 (vedi anche: Hitachi 6309) |
Famiglia 68000 : | 68000 | 68008 | 68010 | 68012 | 68020 | 68030 | 68040 | 68060 | ColdFire | DragonBall |
Versioni a basso costo: | 68EC000 | 68EC020 | 68EC030 | 68EC040 | 68LC040 |
RISC pre-PowerPC : | 88000 |
Coprocessori in virgola mobile : | 68881, 68882 |
Famiglia PowerPC : | PPC e200 | PPC 603e/e300 | PCC 75x | PPC e500 | PPC 74xx/e600 | Famiglia PowerQUICC |