# Arquitectura IBM POWER

IBM POWER és una arquitectura de conjunt d'instruccions (ISA) desenvolupada per IBM. El nom és l'acrònim de Performance Optimization With Enhanced RISC.
L'ISA s'utilitza com a base per als microprocessadors de gamma alta d'IBM durant la dècada de 1990 i es va utilitzar en molts dels servidors, miniordinadors, estacions de treball i superordinadors d'IBM. Aquests processadors s'anomenen POWER1 (RIOS-1, RIOS.9, RSC, RAD6000) i POWER2 (POWER2, POWER2+ i P2SC).
L'ISA va evolucionar cap a l'arquitectura del conjunt d'instruccions PowerPC i va quedar obsolet l'any 1998 quan IBM va introduir el processador POWER3 que era principalment un processador PowerPC de 32/64 bits, però que incloïa l'arquitectura IBM POWER per a la compatibilitat enrere. Aleshores es va abandonar l'arquitectura IBM POWER original. PowerPC es va convertir en el tercer Power ISA el 2006.
IBM continua desenvolupant nuclis de microprocessador PowerPC per utilitzar-los en les seves ofertes de circuits integrats específics d'aplicació (ASIC). Moltes aplicacions de gran volum incrusten nuclis PowerPC.

## Història
### El projecte de recerca 801

El 1974, IBM va iniciar un projecte amb l'objectiu de disseny de crear una gran xarxa de commutació telefònica amb una capacitat potencial per atendre almenys 300 trucades per segon. Es va projectar que caldrien 20.000 instruccions de màquina per gestionar cada trucada mantenint una resposta en temps real, de manera que es va considerar necessari un processador amb un rendiment de 12 MIPS. Aquest requisit era extremadament ambiciós per a l'època, però es va adonar que es podria prescindir de gran part de la complexitat de les CPU contemporànies, ja que aquesta màquina només hauria de realitzar E/S, ramificacions, afegir registre-registre, moure dades entre registres i memòria, i no necessitarien instruccions especials per realitzar aritmètica pesada.
Aquesta filosofia de disseny senzilla, per la qual cada pas d'una operació complexa s'especifica explícitament per una instrucció de la màquina, i totes les instruccions s'han de completar en el mateix temps constant, es coneixeria més tard com RISC.
El 1975 el projecte de commutació telefònica es va cancel·lar sense un prototip. A partir de les estimacions de les simulacions produïdes el primer any del projecte, però, semblava que el processador que s'està dissenyant per a aquest projecte podria ser un processador de propòsit general molt prometedor, de manera que el treball va continuar a l'edifici #801 del Thomas J. Watson Research Center, a el projecte 801.

### 1982 Projecte Guepard

Durant dos anys al Watson Research Center, es van explorar els límits superescalars del disseny 801, com ara la viabilitat d'implementar el disseny utilitzant múltiples unitats funcionals per millorar el rendiment, similar al que s'havia fet a l'IBM System/360 Model 91 i el CDC 6600 (tot i que el model 91 s'havia basat en un disseny CISC), per determinar si una màquina RISC podria mantenir diverses instruccions per cicle, o quins canvis de disseny s'han de fer al disseny 801 per permetre unitats d'execució múltiples.

### El projecte Amèrica

El 1985, la investigació sobre una arquitectura RISC de segona generació va començar a l'IBM Thomas J. Watson Research Center, produint l'"arquitectura AMERICA"; el 1986, IBM Austin va començar a desenvolupar la sèrie RS/6000, basada en aquesta arquitectura.

### POWER

El febrer de 1990, els primers ordinadors d'IBM que van incorporar el conjunt d'instruccions POWER es van anomenar "RISC System/6000" o RS/6000. Aquests ordinadors RS/6000 es van dividir en dues classes, estacions de treball i servidors i, per tant, es van introduir com a POWERstation i POWERserver. La CPU RS/6000 tenia 2 configuracions, anomenades "RIOS-1" i "RIOS.9" (o més comunament CPU " POWER1 "). Una configuració RIOS-1 tenia un total de 10 xips discrets: un xip de memòria cau d'instruccions, xip de punt fix, xip de punt flotant, 4 xips de memòria cau de dades, xip de control d'emmagatzematge, xips d'entrada/sortida i un xip de rellotge. La configuració RIOS.9 de menor cost tenia 8 xips discrets: un xip de memòria cau d'instruccions, xip de punt fix, xip de coma flotant, 2 xips de memòria cau de dades, xip de control d'emmagatzematge, xip d'entrada/sortida i un xip de rellotge.

## L'arquitectura

El disseny POWER descendeix directament de la CPU del 801, àmpliament considerat com el primer disseny de processador RISC real. El 801 es va utilitzar en diverses aplicacions dins del maquinari IBM.
Aproximadament al mateix temps que es llançava el PC/RT, IBM va iniciar el Projecte Amèrica, per dissenyar la CPU més potent del mercat. Estaven interessats principalment a solucionar dos problemes en el disseny 801:
* El 801 requeria que totes les instruccions es completessin en un cicle de rellotge, la qual cosa excloïa instruccions de coma flotant.
* Tot i que el descodificador es va canalitzar com a efecte secundari d'aquestes operacions d'un sol cicle, no van utilitzar efectes superescalars.
El punt flotant es va convertir en un focus per al Projecte Amèrica, i IBM va poder utilitzar nous algorismes desenvolupats a principis dels anys 80 que podien suportar multiplicacions i divisions de doble precisió de 64 bits en un sol cicle. La part FPU del disseny estava separada del descodificador d'instruccions i de les parts senceres, permetent que el descodificador enviés instruccions a les unitats d'execució FPU i ALU (enteres) alhora. IBM ho va complementar amb un descodificador d'instruccions complexos que podria estar agafant una instrucció, descodificant-ne una altra i enviant-ne una a l'ALU i la FPU alhora, donant com a resultat un dels primers dissenys de CPU superescalars en ús.
El sistema utilitzava 32 registres enters de 32 bits i altres 32 registres de coma flotant de 64 bits, cadascun en la seva unitat. La unitat de sucursal també incloïa una sèrie de registres "privats" per al seu propi ús, inclòs el comptador de programes.

## Referències

* ↑ Bakoglu, H. B.; Grohoski, G. F.; Montoye, R. K. IBM Journal of Research and Development, 34, 1, 1-1990, pàg. 12–22. DOI: 10.1147/rd.341.0012.
* ↑ Cocke, J.; Markstein, V. IBM Journal of Research and Development, 34, 1, 1-1990, pàg. 4–11. DOI: 10.1147/rd.341.0004.
* ↑ Cocke, J.; Markstein, V. IBM Journal of Research and Development, 34, 1, 1-1990, pàg. 4–11. DOI: 10.1147/rd.341.0004.
* ↑ Cocke, J.; Markstein, V. IBM Journal of Research and Development, 34, 1, 1-1990, pàg. 4–11. DOI: 10.1147/rd.341.0004.
* ↑ John Paul Shen. Modern Processor Design: Fundamentals of Superscalar Processors (en anglès). Waveland Press, July 30, 2013, p. 380. ISBN 9781478610762.
* ↑ G. F. Grohoski IBM Journal of Research and Development, 34, 1, 1-1990, pàg. 37–58. DOI: 10.1147/rd.341.0037.
* ↑ Cocke, J.; Markstein, V. IBM Journal of Research and Development, 34, 1, 1-1990, pàg. 4–11. DOI: 10.1147/rd.341.0004.