# Architettura Power

L'Architettura Power (In lingua inglese Power Architecture) è un insieme di specifiche che riuniscono un ampio insieme di set di istruzioni per microprocessori RISC sviluppati da società come IBM, Freescale, AMCC, Tundra e P.A. Semi. La gestione del consorzio Power.org è affidata a rappresentanti di più di 40 società.
L'architettura Power non va confusa con le varie generazioni di architetture POWER dato l'architettura POWER, e le sue derivate PowerPC e Cell sono un sottoinsieme delle specifiche Power.

## Storia

L'architettura Power nacque all'inizio degli anni 80 nei laboratori IBM dove i tecnici della società cercavano di realizzare un'architettura RISC ad alte prestazioni per workstation e server. I risultati delle loro ricerche portarono allo sviluppo dell'architettura POWER, le cui prime applicazioni si ebbero nei sistemi RISC System/6000 (in seguito RS/6000). Il primo esponente della categoria era il POWER1 un processore formato da 11 integrati.
Nel 1992 Apple Computer, Motorola e IBM formarono l'alleanza AIM per sviluppare personal computer basati su processori derivati dall'architettura POWER. Gli sforzi delle società crearono la famiglia PowerPC, una versione ridotta delle specifiche POWER. Il primo processore della famiglia fu il PowerPC 601 una versione a singolo chip del POWER1 che venne utilizzato in alcuni Power Macintosh e in alcuni sistemi RS/6000 di fascia bassa.
IBM espanse l'architettura POWER per i suoi sistemi RS/6000 e sviluppo il processore POWER2, un processore a 8 integrati prodotto nel 1993. IBM ne realizzò anche una versione su singolo integrato chiamata POWER2 Super Chip nel 1996.
All'inizio degli anni 90 IBM decise di rimpiazzare l'architettura CISC dei suoi minicomputer AS/400 con un'architettura RISC. I manager della società volevano utilizzare l'architettura PowerPC ma alcune mancanze del progetto spinsero gli ingegneri ad espandere l'architettura. La nuova architettura venne chiamata Amazon o PowerPC AS. Il gruppo di sviluppo dell'RS/6000 si aggiunse al progetto e aggiunse alcune caratteristiche del POWER2 portando allo sviluppo della linea a 64 bit RS64 nel 1997 utilizzata in alcune versioni di AS/400 e RS/6000.
L'alleanza AIM intanto continuava lo sviluppo dell'architettura POWERPC e nel 1997 presentò la seconda versione dei processori PowerPC. Il PowerPC 602 per set-top box e console, il PowerPC 603 per computer di fascia bassa e per portatili, il PowerPC 604 per workstation e il PowerPC 620 per macchine ad alte prestazioni a 64 bit. I 602 e il 620 non ebbero molto successo mentre il 603 e il 604 furono molto popolari dei loro ambiti. IBM e Motorola rilasciarono il Book E un'estensione dei processori PowerPC utilizzata in dispositivi embedded come i Motorola PowerQUICC e la famiglia PowerPC 400 di IBM.
I successivi sforzi dell'alleanza AIM produssero la terza generazione PowerPC il PowerPC 750 nel 1997. Motorola e IBM dopo questo processore decisero di separarsi nello sviluppo dei nuovi processori. Il processori G3 sono stati popolari nei portatili Apple e in molti dispositivi embedded. Motorola inoltre ha utilizzato il core G3 per sviluppare molti integrati SoC ed ha utilizzato il core G3 come base per lo sviluppo del PowerPC 7400 un processore con integrato un'unità SIMD chiamata AltiVec. Il PowerPC G4 venne presentato nel 1999 e venne utilizzato da Apple nei suoi computer (serie G4) e da molte compagnie di telecomunicazioni.
Nel 1998 il POWER3 unificò il set di istruzioni PowerPC e POWER2 ma venne utilizzato solo da IBM nei RS/6000.
Nel 2000 IBM rilasciò l'ultima implementazione dell'architettura Amazon l'RS64-IV che venne utilizzato dagli AS/400 e RS/6000. Queste macchine vennero rinominate eServer, iSeries e eServer pSeries. IBM inoltre sviluppo Gekko, un processore basato sul PowerPC 750CXe per Nintendo e utilizzato nella console GameCube.
Nel 2001 IBM presento il POWER4 un processore che unificava l'architettura POWER3 e Amazon, le nuove specifiche presero il nome PowerPC ISA v.2.00.
Nel 2002 Apple necessitava di un processore ad alte prestazioni per le sue macchine e convinse IBM a realizzare il PowerPC 970. Apple chiamò questa generazione di processori come G5. Il 970 era una versione ridotta del POWER4, il processore mancava di alcune peculiarità dell'architettura POWER3 e Amazon ma aveva in più l'unità AltiVec. Il 970 è stato utilizzato da Apple nei suoi computer e da IBM in applicazioni embedded di fascia alta.
Tundra comprò la famiglia di microcontrollori PowerPC 100 da Motorola nel 2003 e nel 2004 Motorola decise di riorganizzarsi creando la società Freescale Semiconductor e trasferendovi la divisione semiconduttori.
Culturecom licenziò la tecnologia PowerPC da IBM per il processore V-Dragon prodotto nel 2003
IBM nel 2004 presentò il POWER5 un'evoluzione del POWER4 con l'aggiornamento delle specifiche PowerPC alle v.2.01 e in seguito alle v.2.02 in 2005 with the POWER5+.
AMCC comprò da IBM la famiglia PowerPC 400 nel 2004.
Cray Inc. costruì il supercomputer Red Storm utilizzando processori PowerPC 440 come base per i sistemi di comunicazione.
Power.org viene fondata da IBM e da altre 15 società per favorire lo sviluppo dell'architettura Power.
Nel 2005 Apple annuncia l'abbandono della tecnologia PowerPC in favore della tecnologia Intel.
Nel 2005 vengono rese note le specifiche del processore Cell, un processore sviluppato congiuntamente da IBM, Sony e Toshiba nei quattro anni precedenti. Il primo uso del processore è la console PlayStation 3. Cell utilizza un core PowerPC a 64 bit e diversi core indipendenti SIMD per svolgere le funzioni multimediali. IBM inoltre presentò lo Xenon, un processore tri-core a 64 bit basato su core PowerPC e utilizzato dalla Microsoft per la Xbox 360. Il PowerPC inoltre è alla base del processore Broadway, il processore utilizzato da Nintendo per la sua console Wii.
P. A. Semi ha licenziato la tecnologia PowerPC da IBM per lo sviluppo dei processori PWRficient.
Freescale nel 2006 entra a far parte di Power.org e IBM rilascia le specifiche PowerPC 405 liberamente accessibili per ricerca e uso accademico.
Rapport Inc. presenta Kilocore un processore formato da 1024 processori a 8 bit gestiti da un core PowerPC.
Power.org presenta le Power ISA versione 2.03. nel settembre del 2006. Tutte le specifiche PowerPC sono racchiuse in una sola specifica. Le specifiche includo inoltre la virtualizzazione, le istruzioni VMX e la gestione della codifica variabile.
Power.org ha lavorato alla Power Architecture Platform Reference. PAPR fornisce le specifiche fondamentali per lo sviluppo di sistemi basati su processori PowerPC e sul sistema operativo Linux.
Nel 2006 i primi tre e 28 dei 50 più veloci supercomputer del pianeta, secondo la classifica TOP500, sono basati su architettura Power (inclusi quattro Cray XT3).
Diverse compagnie hanno sviluppato e sviluppano processori basati sull'architettura Power. Le società sono: IBM, Freescale, Tundra, AMCC, Culturecom, P.A.Semi, Cray e Rapport.

## Specifiche
### Power ISA v.2.03

Le specifiche Power ISA v2.03 sono basate sulle specifiche PowerPC ISA v.2.02 del POWER5+ e delle estensioni Book E del PowerPC. Sono divise in cinque parti:
* Book I - User Instruction Ser Architecture copre le istruzioni base disponibili per le applicazioni. Il libro include cinque nuovi capitoli per la gestione di dispositivi ausiliari come DSP e l'unità AltiVec.
* Book II - Virtual Environment Architecture definisce la modello di memorizzazione disponibile per le applicazioni.
* Book III-S - Operating Environment Architecture definisce le istruzioni privilegiate utilizzate nei server e nelle implementazioni generali. Contiene la maggior parte del Book III del PowerPC ISA.
* Book III-E - Operating Environment Architecture definisce le istruzioni privilegiate per applicazioni embedded. Deriva del Book E
* Book VLE - Variable Length Encoded Instruction Architecture definisce un set alternativo di istruzioni a lunghezza variabile per ottenere codice molto compatto per applicazioni embedded.
Core compatibili:
* e200, e500 e e700 da Freescale
* 405, 440, 460, 970, POWER5 e POWER6 da IBM
Core non compatibili:
* e300 e e600 da Freescale
* 403 e 401 da IBM.

### Power ISA v.3.0

Le specifiche per Power ISA v.3.0 sono state rilasciate nel novembre 2015, le prime dopo la costituzione della OpenPOWER Foundation e prevedono un aumento del broad spectrum di workloads e rimuove le categorie server e dedicate mentre mantiene la retrocompatibilità e aggiunge supporto per le istruzioni VSX-3. Le nuove funzioni includono le operazioni a virgola mobile con precisione quad 128-bit, la generazione di numeri random, il supporto hardware per il garbage collection e il supporto hardware per il trusted computing.
Compatibilità:
* Tutti i cores compatibili con la precedente versione di Power ISA
* POWER9

## Implementazioni
### Processori

* Processori PowerPC da IBM, Freescale, Tundra, AMCC, PA Semi, Atmel, e altri.
* Processori PowerQUICC da Freescale
* Processori POWER da IBM
* Processori del supercomputer Blue Gene/L da IBM
* Processori Cell da IBM, Sony e Toshiba
* Virtex FPGA da Xilinx
* V-Dragon CPU da Culturecom
* KC256 e Kilocore1025 da Rapport tramite tecnologia Kilocore
* Processore di comunicazione SeaStar utilizzato dal Cray XT3

### Periferiche e sistemi hardware

* Server System i e System p e supercomputer Blue Gene/L da IBM
* Power Mac, pre-Intel iMac, eMac, iBook e PowerBook da Apple
* PegasosPPC I/II, EFIKA 5200B, ODW e computer PowerPC OSW prodotti da Genesi
* Sam440ep Mini/Flex e Sam460ex prodotti da ACube S.r.l.
* TiVo series 1 DVR
* Cell BE e computer PowerPC da Mercury
* Console GameCube e Wii da Nintendo
* Xbox 360 da Microsoft
* PlayStation 3 da Sony
* Processori RAD6000 e RAD750, par ambienti ad alte radiazioni da BAE Systems per uso nello spazio
* Router di Cisco
* Stampanti, automobili, aeroplani, strumenti medici, apparecchi di telecomunicazione, satelliti, set-top box e altro da una moltitudine di società.

### Sistemi operativi

* svariate distribuzioni GNU/Linux (come ad esempio CRUX PPC che, avendone i requisiti, ha ottenuto la licenza per l'adozione e l'uso del Power Source Logo da parte di Power.org e Yellow Dog Linux da Terra Soft (archiviato dall'url originale il 29 ottobre 2006). specializzato per architetture Power;
* NetBSD, OpenBSD, FreeBSD e OpenDarwin;
* Mac OS e macOS da Apple;
* AIX e i5/OS da IBM;
* OpenSolaris;
* Windows NT da Microsoft;
* Plan 9 da Bell Labs;
* BeOS da Be Inc;
* VxWorks da Wind River;
* QNX;
* LynxOS da LynuxWorks;
* MorphOS da Genesi.;
* AmigaOS 4 da Hyperion Entertainment..

## Glossario

Possono esserci equivoci nel significato dei termini POWER, PowerPC e Architettura Power. La seguente tabella presenta un glossario con brevi descrizioni per ogni termine e collegamenti agli articoli principali.
| Termine | Descrizione |
| POWER | Performance Optimization With Enhanced RISC. Una architettura di microprocessore progettata da IBM. Lo stesso argomento in dettaglio: Performance Optimization With Enhanced RISC. |
| POWERn | Dove n è un numero da 1 a 8. Una serie di microprocessori di alto livello costruita da IBM utilizzando differenti combinazioni di set di istruzioni POWER, PowerPC e PowerPC-AS. Lo stesso argomento in dettaglio: POWER1, POWER2, POWER3, POWER4, POWER5, POWER6, POWER7 e POWER8. |
| PowerPC | Power Performance Computing. Un set di istruzioni a 32/64-bit per microprocessori, derivato da POWER, che include qualche nuovo elemento. Progettato dalla alleanza AIM: Apple, IBM e Motorola. Lo stesso argomento in dettaglio: PowerPC. |
| PowerPC-AS | PowerPC-Advanced Series. Nome in codice "Amazon". Una variante a 64 bit di PowerPC, che include qualche elemento della specifica POWER2. Utilizzata nella famiglia di processori IBM RS64 e nei nuovi POWER. Lo stesso argomento in dettaglio: RS64. |
| Cell | Cell Broadband Engine Architecture (CBEA), una architettura di microprocessori progettata da IBM, Sony e Toshiba, che ha parte dell'architettura Power. Lo stesso argomento in dettaglio: Cell (processore). |
| Architettura Power | Il termine generale che designa le architetture POWER, PowerPC e Cell, il software, la toolchain e le apparecchiature per gli utenti finali. |
| Power ISA | Un nuovo set di istruzioni che unisce le ultime versioni di POWER e PowerPC. Progettato da IBM e Freescale. |