Powerpc 970 or Power g5

27
 Arquitectura con paralelismo interno El “IBM PowerPC 970/970FX” tambi´ en llamado “Power G5” Fabien Duchene 4 de junio de 2009 1

Transcript of Powerpc 970 or Power g5

Page 1: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 1/26

Arquitectura con paralelismo interno

El “IBM PowerPC 970/970FX”

tambien llamado “Power G5”

Fabien Duchene

4 de junio de 2009

1

Page 2: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 2/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

Resumen

Este articulo describe el procesador PowerPC 970 - tambien llamado Power G5 -y sus versiones derivadas.

Vamos a describir sus caracterısticas basicas : el tipo de procesador que es, eltamano de las instrucciones que soporta, la frecuencia de su reloj, describir sus re-gistros, y su memoria cache. Despues, vamos a analizar mas precisamente la faconcomo esta hecho su pipelining, sus unidades funcionales (ALU), su metodo para re-nombrar los registros, de que profundidad estan sus estaciones de reservas, y comolos operaciones memorias estan manejadas. Por fin, vamos a discutir de sus presta-ciones, tan de velocidad de tratamiento, ejecucion, que de consumacion energetica.

Este informe esta realizado por el curso de Arquitectura con paralelismo in-

terno de la Facultad de Informatica de la Universidad Politecnica de Madrid http://www.fi.upm.es.

Profesores:

M. Isabel Garcıa Clemente http://www.datsi.fi.upm.es/~ mgarcia/

Antonio Perez Ambite http://www.datsi.fi.upm.es/~aperez/

Jose L. Pedraza Domınguez http://www.datsi.fi.upm.es/~pedraza/

Autor: Fabien Duchene http://www.car-online.fr/en/cv/fabien_duchene/

Versiones

1.0: 4 de junio de 2009

2 Fabien Duchene

Page 3: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 3/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

Indice

1. Introduccion 4

2. Caracterısticas basicas 52.1. Superescalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2. RISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3. Tamano de palabra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4. Frecuencia de reloj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.4.1. Teorıa sobre la frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4.2. Modificacion dinamica de frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.5. Bancos de registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.6. Memorias cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.6.1. vision global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.6.2. L1-I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.6.3. L1-D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.6.4. L2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.6.5. Cola de pre-busca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3. Otras caracterısticas 103.1. Vision global del pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2. Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2.1. Tecnica de renombrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2.2. Reorder buffer: caracterısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.3. Execution core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3.1. Unidades funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3.2. Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3.3. Estaciones de reserva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4. Tratamiento de SALTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.1. Local Predictor Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.2. Global Predictor Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.3. Selector Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.4. Link stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.5. Count Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.6. Static Branch predictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.5. Tratamiento de LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5.1. Funcionamiento del cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5.2. Traduccion en direccion fısica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5.3. Latencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.5.4. Prefetching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.6. Tratamiento de STORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.7. VMX/AltiVec : instrucciones SMID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.7.1. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.7.2. VPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.7.3. Prestaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4. PPC970 y PPC970FX 20

5. Prestaciones 215.1. Prestaciones SPEC 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.2. MareNostrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.3. Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.3.1. Potencia consumida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.3.2. Potencia disipada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6. Conclusion 24

7. Bibliografıa 25

3 Fabien Duchene

Page 4: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 4/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

1. Introduccion

El procesador Power PC 970 fui inicialmente introducido en el mercado en fin del ano 2002.[36] IBM es sucreador. Es el resultado de una colaboracion dentro IBM y Apple. Es uno de los primeros procesador RISC64 bits disponible por el gran publico. Esta tan de propuso cientıfico (con sus varias unidades funcionales decoma flotante, y sobre enteres), que de uso domestico (buenas prestaciones de predicci on de salto).

Este procesador es una evolucion del “Power” 4 y del “Power 5”. [26]. Esta tambien llamado PowerPC G5por Apple, en una meta comercial, en la continuacion de su linea Power G.[10]

Como veremoslo despues, es un procesador PowerPC 64 bits con uno core. Primero veremos algunos

caracterısticas como su numero de vıas, su tamano de palabra, sus frecuencias de reloj, sus registros, susmemorias cache. En segunda parte veremos mas detalles sobre sus pipelines, sus unidades funcionales, comoel hace el renombrado de registros, como el hace sus predicciones de salto, y como se hacen los load y store.Por fin, veremos sus prestaciones, y hablaremos un poquito acerca de un superordenador que contiene mas de10000 PPC970: el “MareNostrum”.

Figura 1: Fotos del Power G5 (exterior, y interior)

4 Fabien Duchene

Page 5: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 5/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

2. Caracterısticas basicas

La mayoridad de las caracterısticas de este procesador son en la datasheet del procesador 970 FX [19].

2.1. Superescalar

El tiene una organizacion superescalar de 5 vıas. Eso porque el puede emitir 4+1 instrucciones cada ciclo,como podemos mirar en la siguiente figura: [13]

Figura 2: Vias del PowerPC 970 FX [19]

2.2. RISC

El PowerPC 970 es un procesador RISC. El puede procesar los juegos de instrucciones de la arquitecturaPOWER. Usted puede mirar este juego aquı [18].

2.3. Tamano de palabra

Es una implementacion 64 bits [19] de la arquitectura PowerPC. Eso signifique que el puede ejecutar ope-raciones sobre datas de tamano 64 bits. [26] De facto, el tambien puede trabajar sobre datos de 32 bits

(double word), 16 bits(word), 8 bits (word).

De facto, el puede tambien ejecutar las instrucciones sobre datos 32 bits, y mas importante, sobre direc-ciones memoria de 32 bits, por preocupacion de compatibilidad ascendencia de los binarios ya compilados porarquitectura PowerPC 32 bits. [36]

Como el soporte el juego de instrucciones de la arquitectura PowerPC, el tiene un tamano de palabrade 32 bits. [9]

5 Fabien Duchene

Page 6: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 6/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

2.4. Frecuencia de reloj

2.4.1. Teorıa sobre la frecuencia

En la siguiente figura podemos mirar la evolucion de la disipacion termica en funcion de la frecuencia dereloj.

Figura 3: Maximum power envelope from 0.8 to 1.3V [ 23]

Con este figura podemos mirar que la consumacion electrica P sigue una formula dependiente de la fre-cuencia F como eso:

P  = α ∗ eβ∗F  + C  ; con α > 0 y β > 0

Como podemos mirar,

lım inf F →2,8Ghz

P (F ) = +∞

Por eso, la mayoridad de los procesadores PowerPC 970 tienen estas frecuencias 1,4 GHz,1,6 GHz, 1,8GHz, 1,9 GHz, 2,0 GHz, 2,1 GHz, 2,3 GHz, 2,5 GHz. Pero Apple ha introducido en 2006 un modelode 2,7Ghz, que necesita un sistema de enfriamiento muy importante.

2.4.2. Modificacion dinamica de frecuencia

El la figura podemos mirar tambien que la frecuencia del PPC970 se puede cambiar por el sistema operativode la facon siguiente:

F: frecuencia normal

F/2: frecuencia dividida por 2. La disipacion termica esta dividida por eβ∗2.

F/4: frecuencia dividida por 4. La disipacion termica esta dividida por eβ∗4

Eso es importante porque eso signifique que la consumacion energetica se puede ajustar en funcion de lacarga del procesador: cuando hay mucha carga, guardamos la frecuencia normal F, y si hay muy poco trabajo(mucho “IDLE”), podemos dividir la frecuencia por 2 o por 4.

6 Fabien Duchene

Page 7: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 7/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

2.5. Bancos de registros

Es un procesador 64 bits. Eso signifique tambien que cada registro de proposo general y flotante contiene64 bits. Pero como vamos a ver, no es el caso de todos los registros.

El tiene los registros de tipos: [27], [19]

GPR “General Purpose Registers” - registros de proposito general: 80 registros de proposito

general de 64 bits cada uno. Dentro ellos, solamente 32 se puede usar con el lenguaje objeto r0..r31,los otros 48 estan registros de renombrado. [31]

FPR “Floating Point Registers” - registros de coma flotante: 80 registros de 64 bits. 32 deellos estan registros de la arquitectura PowerPC f0..f31, y los 48 otros estan registros de renombrado,que no se pueden usar en lenguaje objeto, pero que el procesador usa para acelerar el procesamiento deinstrucciones [27]

VRF “Vector Registers File” - fichero de registros vectoriales: 80 registros de tamano 128bits[31]. Dentro ellos solamente la arquitectura PowerPC solamente tiene 32 vr0..vr31, para las ins-trucciones multimedia AltiVec [21]. Los otros 48 estan registros de renombrado.

CR “Condition Register” - registro de condicion : bc en PowerPC objeto [6]. 8 registros de 4bits cada uno.[25]

CTR “Count Register” - registro de contador : bcctr. Se puede usar duramente un bucle, otambien para hacer un salto condicional. 1 registro de 64 bits.

LR “Link Register” - registro de enlace : bclr. Contiene la direccion de retorno duramente unllamado de funcion. 1 registro de 64 bits, porque las direcciones estan de 64 bits.

otros registros: FPSCR “Floating Point Status Control Register”, VSCR “Vector Status and ControlRegister”, VRSAVE “Vector Save/Restore Register”, XER “Integer Exception Register”, TBL yTBU “Timebase Registers” [25]

Figura 4: Registros del PowerPC 970 [25]

7 Fabien Duchene

Page 8: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 8/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

2.6. Memorias cache

2.6.1. vision global

El tiene un cache L1 de 96kb y un cache L2 de 512kb. El no tiene de cache L3.[10] Como la mayori-dad de los procesadores modernos, el PowerPC 970 tiene una memoria cache L1 de instrucciones separadade la de datos:[27]. Eso se llame la “Arquitectura de Harvard” porque ella fue inventado por la Universitad

de Harvard en 1940. [25]. Debemos notar tambien que todos los caches tienen lineas de 128 bytes cada una.[25].

Figura 5: Organizacion de la memoria cache dentro el PowerPC 970 [19]

2.6.2. L1-I

De tamano 64kb, el implementa la tecnologıa de correccion de errores que se llame parity proteccion[10],que asegura que el contenido de cada bit del cache corresponde o al nivel electrico 0, o al nivel correspondientea 1. [34]. El cache de instrucciones soporte solamente una escritura o una lectura por cada ciclo.

El tiene 64∗1024/128 = 512 lineas [25] de 128 octetos (bytes) cada linea. El puede buscar 8 instruccionespor ciclo [26].

El esta directamente mapeado a la unidad de descodificacion. Eso signifique dado una instruccion de direc-cion A, ella puede existar en el cache solamente a la linea Linea Cache = A %Numero de lineas in cache.En nuestro caso: Linea Cache = A %512

Este importante cache de datos tiene por proposito de quitar la burbujas debitas a los eventuales erroresde prediccion. Cuando hay un “miss” de cache L1, la instrucci on / dato esta buscada en el cache L2, si noexiste allı, esta cargada de la memoria.

2.6.3. L1-D

De tamano 32kb, el implementa - como el cache L1-I - la tecnologıa de parity proteccion. El soporte 2lecturas y una escritura cada ciclo. El use el algoritmo LRU (Least Recently Used) para reemplazar sus datos[10]. El tiene 32 ∗ 1024/128 = 256 lineas.

Este cache es “2-way set-associative” (cache asociativa por conjuntos de dos). Eso signifique que el cache es-ta dividiendo en “sets” de 2 lineas cada uno. Para saber el set que debe contener o contiene la dato, usamosesta formula:

8 Fabien Duchene

Page 9: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 9/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

numero set = A %number of sets in cache.

Es facil de calcular el numero de sets en el cache:Number of sets = numero de lineas/Numero de lineas por set.

Aquı tenemos: Number of sets = 256/2 = 128. Si una dato tiene por direccion memoria A, si existe en elcache L1-D, esta en el set: Numero Set = A %128. Debemos notar que el puede estar en cualquier linea delset.

2.6.4. L2

De tamano 512kb, el implementa la tecnologıa de correccion de errores: ECC (Error Checking and Correc-tion), para asegurar que su contenido esta valido. El puede contener datos y instrucciones. Es un cache “8-wayset associative” (cache asociativa por conjuntos de ocho)[21]. El puede soportar 1 escritura o 1 lectura porciclo. El implementa el protocolo de coherencia MERSI, lo que es importante para hacer un sistema multi-procesadores con el PPC970: [25]

Modificada: este linea de cache esta modificada como el resto de la memoria

Exclusive: este linea de cache no esta en algun otro cache

Recent: el procesador esta el mas reciente lector de este linea de cache.

Shared: Este linea fue cachado por varios procesadores

Invalid: Este linea de cache no esta valid

Cache L3No hay cache L3. Eso es posible porque el tamano del cache L2 es de 1Mo y porque la frecuencia del

procesador esta moderada.

2.6.5. Cola de pre-busca

En ingles, se llame “prefetch queue”. Es un componente cerca del cache L1. El puede estar controlado porel sistema operativo, o per el hardware lo mismo. El analiza el comportamiento del programa y de los load ystore, y anticipe lo que deberıan cargar los caches L1 y L2.

9 Fabien Duchene

Page 10: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 10/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3. Otras caracterısticas

3.1. Vision global del pipeline

Figura 6: Vision global del pipeline PPC970 [27]

Aquı estan las principales etapas que podemos mirar de un punto de visto medio nivel: [10]

Fetch: las instrucciones estan buscadas por el cache L1-I, o por la “Branch-Unit”, si hay un salto. Hayhasta 8 instrucciones leıdas cada ciclo.

Cola de instrucciones:

Decode: el PPC lee la instruccion, mira los operandes y traduce la instruccion en “IOP” (IndividualOPeration = representacion de la operacion al nivel del procesador, y no al nivel del juego de instruccio-nes). El juego de IOP del PPC970 esta muy cerca del juego objeto PowerPC, lo que hace la traduccion

relativamente simple. [29].Crack: IBM llama un Crack cuando una instruccion PPC se separa en 2 IOPs. Tambien el llamemillicoded cuando una instruccion se separa en mas de 2 IOPs.

Un Group es un grupo de 5 IOPs. En este etapa, el PPC se va a formar Groups de IOPs, segun reglas(slot0: IOP mas vieja, slot3, mas reciente, slot4: branch).

Envıo a las colas: como, usted puede entenderle las 5 instrucciones de un Group se van a estar en las5 vıas del pipeline. Las 4 primeras colas (0,1,2,3) estan de proposito general, y pueden tener varios tiposde instrucciones excepto las de salto. La cola 4 esta especificada por los saltos.

Ejecucion: al interior del Execution Core, las operaciones estan ejecutadas fuera de orden

Complecion: por fin, las instrucciones estan finalizadas en orden

10 Fabien Duchene

Page 11: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 11/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3.2. Front-End

3.2.1. Tecnica de renombrado

El renombrado de registros permite de quitar las falsas dependencias que estan:

WAR: I1 lee < R(x) > .. I2 escribe sobre < R(x) >

WAW: I1 escribe sobre < R(x) > .. I2 escribe sobre < R(x) >

En la siguiente figura podemos mirar todas las recursos que dispone el PPC970 para hacer el renombrado deregistros:

Figura 7: Registros de renombrados del PPC970 [17]

Por cada tipo de operacion, el PPC970 dispone de mas registros fısicos que los de la arquitectura PowerPC.

Duramente la etapa de “Mapping”, el renombrado de registro esta hecho.

Los registros estan liberados tan pronto que no estan necesarios.

Eso solamente tiene sentido cuando el numero de registros del procesador est a mucho mas importante quelo de los de arquitectura. Eso es el caso, aquı por ejemplo el PPC970 tiene 80 registros para las operacionessobre enteros, mientras la arquitectura PowerPC solamente tiene 32. [25]

No he encontrado mas detalles sobre este tema. He tambien buscado en GoogleBooks.

3.2.2. Reorder buffer: caracterısticas

El ReorderBuffer del PPC970 se llame el GCT “Group Completion Table”. Las IOP

estan emitidas en orden en grupos en la cola de la unidad / estaciones de reserva

esperan en la cola hasta que todas sus operandas estan disponibles

cuando una unidad funcional dispone de 2 colas, ella se va a elegir la IOP la mas vieja y que dispone detodas sus operadas. Por eso la ejecucion se hace fuera de orden [28]

una vez la ejecucion terminada, la “Group Completion Table” (tabla de complecion de grupo) arrancaeste IOP con las otras de su grupo. Este tabla tiene 20 entras de grupos, lo que es 20*5 = 100 IOP.[24]

despues que: 1/todas las IOP del grupo sean completadas, y que 2/ todos los grupos emitidos anteseste grupo fueron enviados a la cola de complecion ; este grupo sera ello tambien enviado en la cola decomplecion (ver 3.1, pagina 10)

Ası, el conserva el orden de las grupos. Y como sabemos que en el slot 0, esta la instruccion la mas vieja,

y en el slot 3 la mas reciente. Y en el slot 4, una de salto, es posible de saber el orden de finalizacion.

11 Fabien Duchene

Page 12: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 12/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3.3. Execution core

3.3.1. Unidades funcionales

En la siguiente figura podemos miras las diferentes unidades funcionales del PowerPC 970:

Figura 8: Arquitectura de las ALUS del PowerPC 970 [20]

Las unicas que necesitan explicaciones estan las relativas al “SMID/Vector Engine”:

VPerm: operaciones de permutacion de vectores

VSimple: adicion, multiplicacion, division de vectores de enteros

VComplex: adicion, multiplicacion, division de vectores de enteros complejos

VFloating: adicion, multiplicacion, division de vectores de coma flotante

Como propuso general, podemos notar tambien que el procesador PPC970 tiene las siguientes ALUS:

FX0 y FX1 : 2 unidades de calculo sobre enteros

FP0 y FP1 : 2 unidades de calculo sobre numeros de coma flotante

LS0 y LS1 : 2 unidades de Load/Store

CR : 1 unidad dedicada al calculo de condicion

BR : 1 unidad dedicada al definicion de la direccion de salto, que esta relacionada con CR

12 Fabien Duchene

Page 13: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 13/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3.3.2. Pipelining

En las siguientes figuras podemos mirar graficamente el la profundidad del pipeline PPC970, y numerica-mente en la tabla.

Figura 9: Profundidad del pipeline de cada unidad funcional [28]

El calculo es simple: los niveles de buscando, descodificacion, crack, group tienen un pipeline de 9 niveles.

3.3.3. Estaciones de reservaDespues que una instruccion tiene todas sus operadas listas par ejecutarse, esta enviada a una de las

estaciones de reservas. El PowerPC 970 tiene 8 colas de estaciones de reservas.

Remarque: debemos notar que algunas colas de estaciones de reservas est an compartidas por:

LSU0 y FXU0 ; LSU1 y FXU1

VALU: esta la cola de Vsimple, VComplex, VFloating

Figura 10: Profundidad de las estaciones de reserva[25]

En este figura podemos mirar que cuando hay dos unidades funcionales similares. En nuestro caso dosFPU, las colas 0 y 3 despachan las IOPs a la unidad funcional FP0, y las colas 1 y 2 a FP1.

13 Fabien Duchene

Page 14: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 14/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

Figura 11: Facon de despachar las IOP cuando hay dos unidades funcionales similares [28]

Tambien debemos notar que las estaciones de reservas antes de las unidades funcionales estan “colas

logicas”. Efectivamente, las operaciones que estan en las estaciones de reserva estan ejecutadas independien-temente de la posicion que ellas tienen en la cola. Por ejemplo, en un ciclo, FP0 se va a ejecutar la IOP 3 dela cola 0, y el ciclo siguiente la IOP 1 de la cola 3.

14 Fabien Duchene

Page 15: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 15/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3.4. Tratamiento de SALTOS

Como el pipeline del PPC970 esta muy profundizo, la penalizacion esta muy importante cuando hay unaerror de prediccion de salto. Por eso una parte importante del procesador esta dedicada a la predicci on desalto. [27] Gracias a todo eso, el puede tener una precision de prediccion de salto de 95 % [22] Por eso, el tienedos metodos de prediccion de salto y elige la que funcione mejor por el salto considerado, en comparado lapertinencia de las dos metodos cada vez que un salto se ejecute. Cada BHT tiene un tamano de 16K entradas

de 1 bit cada una.

3.4.1. Local Predictor Table

El ındex de cada entrada esta calculado segun la direccion memoria de la instruccion que contiene el salto.Un bit 1 signifique que el salto debe tomarse, un 0 que no.[ 25]

3.4.2. Global Predictor Table

Es un predicador 2 niveles global con una tabla de registros de historia de 20 entradas (20 grupos), de 12bits cada uno. Solamente 11 estan usados por la historia de salto. Y el ultimo esta definido a 1 si el siguientegrupo de salto fui buscado en secuencia de los 11 ultimos de este salto.Despues hacemos un XOR(vector historia, dirrecion memoria) para obtener el ındex en la tabla de historia

global “BHT”.

Figura 12: Visualizacion de la arquitectura del predicador global

3.4.3. Selector Table

El “selector table” tiene la misma facon de indexar sus entradas que el predicador global. Al final, un bit0 corresponde a que la prediccion de la tabla local de predicci on esta mas pertinente, y un 1 que es la delpredicador global la mejor.[16]

3.4.4. Link stack

pila de 16 entradas para almacenar direccion de retorno de la instruccion “bcl” [2]

3.4.5. Count Cache

cache de 32 entradas que almacena las direcciones de salto de la instruccion “bcctr”.

3.4.6. Static Branch predictions

IBM ha introducido una posibilidad por el programador que el procesador no usa la predicci on dinamicapero una estatica. Por eso, el PPC970 tiene 2 bits que se llame “a” y “t”. Dependiente de sus valores, laprediccion dinamica esta activada (00 o 01), o no (10: prediccion de “no salto”, 11: prediccion de “salto”) .

15 Fabien Duchene

Page 16: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 16/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3.5. Tratamiento de LOAD

Consideramos este ejemplito:

1 l wz rD , d ( rA ) ;

2 ; d on de r D = r eg is tr o D es ti n ac io n

3 ; y r A = r eg is tr o q ue c on ti en e l a d ir ec c io n m em or ia

3.5.1. Funcionamiento del cache

Primero caso: la dato esta en el cache L1-DComo el cache L1-D soporte 2 lecturas cada ciclo, no hay retardo.

Secundo caso: la dato no esta en el cache L1-DHablamos de miss L1. El PPC970 tiene una cola de Load-Miss “Load Miss Queue” (LMQ) de 8 entradas,

que espera las datos que faltan en el cache L1-D. [25]

La dato esta en el cache L2Tenemos 2 opciones:

mudar la datos de L2 hasta L1-D y leer L1-Dleer la dato directamente de L2. Es lo que hace el PPC970, usando el camino CDF “Critical DataForwarding”.

La dato no esta en el cache L2Hablamos de miss L2. Debemos buscar la dato que falta en la memoria fısica. Lo que tenemos que hacer es:

convertir la direccion en direccion memoria real gracias a la TLB (hay mas detalles en la parte siguiente)

buscar la pagina correspondiente

cargar la en el cache L2

mudar la dato de direccion d+rA de L2 a L1-D

3.5.2. Traduccion en direccion fısica

Las direcciones del programo cargado estan direcciones virtuales, de modo que el programo tiene la impre-sion de disponer de uno espacio memoria contiguo. Pero en verdad, este espacio memoria esta esta sementadoen paginas que no necesariamente tienen direcciones de memoria consecutivas. Cada pagina corresponde a unespacio contiguo de memoria fısica. El proceso de traduccion se puede mirar en la siguiente figura:

Figura 13: Traduccion de direccion virtual en direccion memoria fisica[25]

16 Fabien Duchene

Page 17: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 17/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3.5.3. Latencia

Debemos recordar que no estamos en un pipeline simple. Por eso, el forwarding entre diferentes ALU esmuy complicado, demasiado costoso, no es seguro que las prestaciones serian mucho mejores con. Vamos aver las diferentes penalizaciones:

Figura 14: Jerarquıa memoria del PPC970 [1]

Como podemos mirarlo, la latencia de la memoria esta un factor MUY limitante (la memoria est a de 10 a100 veces mas lente que el procesador). Por eso, un prefetcher es vital para que los load no retardan demasiadoel procesador. De verdad, hoy la memoria siempre esta uno de los factores los mas limitantes para la velocidadde los computadores.

3.5.4. Prefetching

PrecargaUn prefetcher mira los direcciones muy pronto, de facon a minimizar el retraso cuando hay un load. [31]

El permite de reducir los L2-Miss. El puede detectar los patterns de Load. Es un FIFO de 32 entradas. [1] Eltrabaja en conjunto con la Instruction Prefetch Queue que podemos mirar en la siguiente figura, y pre-cargaen media las 2 instrucciones siguientes la proxima instruccion Load.

Figura 15: Core del PPC970, donde podemos mirar la Instruction Prefetch Queue (cola de prefetch de ins-trucciones) [1]

Anticipacion de patrones Vamos a suponer que una instruccion LOAD(A) esta “prefetchada”. Non soloel prefetcher se va a cargar la dato a la direcci on A, pero tambien el va intentar de adivinar la siguiente

17 Fabien Duchene

Page 18: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 18/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

carga. En una gran mayoridad de los programas, hay accesos LOAD secuenciales. Por eso, el va a poner en laPrefetch Queue

B=A+1 si la instruccion LOAD(A) esta en los 25 % de la parte superior del cache L1-I

B=A-1 si no (75 % en la parte inferior de L1-I)

Despues, si en las X siguientes instrucciones de carga (valor desconocida), el mira por un LOAD(B).

si no esta correcta, (otro camino), el inverta su prediccion

si la prediccion esta correcta, entonces, el se va a precargar A+2 en L1-D, y A+3 en L2. Si despues enencontra un LOAD(A+2), el se va a cargar A+3 en L1-D, y prefetch A+4, A+5, A+6 en L2

Ası, con este metodo, se puede mejorar los accesos memorias. De luego, eso no esta una solucion perfecta,pero como lo veremos en los pruebas de prestaciones, eso funcione bastante bien.

3.6. Tratamiento de STORE

Ahora consideremos este ejemplo

1 s tw rS , d ( rA ) ;

2 ; d on de r S = r eg is tr o S ou rc e

3 ; y r A = r eg is tr o q ue c on ti en e l a d ir ec c io n m em or ia

Las diferentes etapas estan:

actualizar la dato del cache L1-D

poner la data que vamos a almacenar en Store Data Queue (SDQ) [25]

progresivamente, el Store Interface Unit (ver 3.5.4) se va a reordenar los store, y quitar los de la coladespues que hay confirmacion de la escritura memoria

En fin, debemos notar que no hay prefetching de los store. La razon esta simple: los store no estanbloqueados. (excepto en caso, que hay solamente un monton de store, lo que podrıa reducir la velocidad delos accesos memoria, pero eso es un caso muy poco probable).

18 Fabien Duchene

Page 19: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 19/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3.7. VMX/AltiVec : instrucciones SMID

Las instrucciones SMID estan un conjuntos de instrucciones que permiten la manipulaciones de vectores.Las aplicaciones estan por ejemplo el calculo cientıfico, o otras instrucciones multimedia. Aunque el programadebe estar especificado compilado por el uso de este funcionalidad del PPC970. En este parte vamos a presentaralgunos detalles sobre este unidad funcional que se llame “VPU” (por Vector Processing Unit). Este unidadfuncional esta llamada “AltiVec” por Motorola y “Velocity Engine” por Apple. De facto, si un programa

esta programado usando AltiVec vectores, su ejecucion seria siempre mucho mas rapida en un Mac que enuna architectura x86. Por eso, Apple ha preguntado a IBM de incluir este modulo, de modo que el no tienerecompilar todas sus programas.

3.7.1. Definicion

La mayoridad de las instrucciones de los lenguajes objeto x86 o PowerPC solamente trabajan sobre unadata (por ejemplo un add r2, r3, r4 solamente modifica r2, o un load r5, 8(r3) solamente modifica r5). Lasinstrucciones del conjunto SMID procesan sobre varias datas (por ejemplo un vector de 1000 enteros).

3.7.2. VPU

Figura 16: VPU del PPC970 [16]

Ya hemos explicado acerca de las unidades funcionales VSimple, VComplex, Vfloat, que comparten lamisma cola, como podemos mirarlo en la precedente figura. Tambien ya hemos hablado de VPerm. (ver 2.5,pagina 7).Como otro juego de instrucciones multimedia, conocemos MMX, SSE, SSE2, SSE3 - en arquitectura x86 -o 3DNow! en arquitectura AMD. Pero estos otros juegos de instrucciones tienen 2 operandas y 8 registros,mientras AltiVec trabaja sobre 3 operandas y 32 registros. Por eso, como vamos a verlo, las prestaciones est anmucho mejores con AltiVec.

19 Fabien Duchene

Page 20: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 20/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

3.7.3. Prestaciones

Figura 17: Test BLAST (uso intensivo de operaciones sobre vectores)[5]

Como podemos mirarlo, mas las operaciones estan complejas (tamano de las secuencias de ADN), mas lasprestaciones del PPC970 estan mejores: +400% por tamano= 40. Claramente el procesamiento de vectoresesta mucho mejor en el dual PPC970 que en el dual Pentium 4 y tambien que en el dual Xenon!

4. PPC970 y PPC970FX

PowerPC 970

Los procesadores PPC 970 usan una finura de grabado de 130nm. Ellos tienen 58 millones de transistores.[8] En este gama de procesadores, hay frecuencias desde 1,8 GHz hasta 2,5 GHz. [11]

PowerPC 970FXLos procesadores PPC 970FX usan una finura de grabado de 90nm, lo que permite usar frecuencias mas

importantes. [36] Esta una evolucion del PPC970 sobre las ventajas que permiten una tecnologıa de grabadomas precisa. Eso permite a IBM de reducir la talla del procesador, que el funcione a frecuencias mas altas,y de reducir consumacion energetica, como vamos a verlo despues en la seccion 5.3.1, pagina 23. Por eso hayprocesadores PowerPC 970FX hasta 2,7 GHz, como por ejemplo un Apple G5.

Figura 18: El procesador PowerPC 970FX [36]

20 Fabien Duchene

Page 21: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 21/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

5. Prestaciones

5.1. Prestaciones SPEC 2000

Remarque Las instrucciones SIMD y AltiVec no estan presentes en los testes SPEC2000. [32] Claramente,eso no esta en la favor del PPC970.

Remarque 2 En la siguiente tabla, hay resultados “estimados por IBM”, y otros hechos por usuarios defacon a comparar las prestaciones de sus machinas.

En la siguiente tabla podemos mirar los datos encontrados en la Internet. [3]

Figura 19: Specs 2000 por la familia de procesadores PPC970

Este grafico es interesante para saber las prestaciones de la familia del PPC970. Pero para darse una idea desu eficiencia, es mejor compararlo con procesadores de su mercado en su tiempo.

Figura 20: Specs 2000 INT[3]

Con sus dos unidades funcionales dedicadas a las operaciones sobre enteros, sus tecnicas de prefetching, ysu descodificacion rapida, el PPC970 tiene muy buenas prestaciones de computacion sobre enteros.

21 Fabien Duchene

Page 22: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 22/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

Figura 21: Specs 2000 FLOAT[3]

Claramente, el PPC970 esta uno de los mejores procesadores de coma flotante en su tiempo. Eso se puedeexplicar primero porque su tiempo de descodificacion no esta tan lente como otros procesadores. El juego deinstrucciones del PowerPC juegue claramente en su favor. Pero tambien, sus 2 unidades funcionales de comaflotante, y sus tecnicas de optimizacion de los load y store. Como podemos mirarlo en el precedente grafico, el

se situa justo despues su predecesor que tiene una FPU muy agresiva, y despues el “Itanium 2 - 1 GHz”. Defacto, eso es un poder de computacion sobre flotante importante. Eso es una de las razones - entre tambiensu excelente soporte de las instrucciones multimedia VMX/AltiVec - porque el fui utilizado para hacer elsupercomputador “MareNostrum”.

5.2. MareNostrum

Ahora esta el 40 superordenador mundial, pero en Novembre 2005, estaba lo mas potente de toda la Eu-ropa, y el 4 al nivel mundial, y el primero mundial de este potente y de propuso non militario. [33]

El uso nodos BladeCenter JS21 de IBM[15], con 2 procesadores PPC970FX @ 2.2GHz cada uno. El estaequipado con 10240 procesadores, y 20480 GB de memoria. El tiene una capacidad de calculo de 62,63 teraflopscon picos de 94,208 teraflops. El ocupe solamente 120 m2, y tiene un peso de 40,000 kg. [30]

Figura 22: Al centro de supercalculo de Barcelona - en el interior de una capilla de 1920 renovada - hay el“MareNostrum”

Usted puede mirar mas detalles en el sitio web del centro de calculo de Barcelona: http://www.bsc.es/.

22 Fabien Duchene

Page 23: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 23/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

5.3. Potencia

5.3.1. Potencia consumida

En la siguiente figura podemos mirar las envelopas de potencia “extremas”. Ellas dependen de la tempe-ratura del procesador. [23]

Figura 23: Sobre de potencia

Lo que podemos deducir gracias a este grafico es:

lo mas caliente esta el PPC970, lo mas energıa el consume, y tambien lo menos eficiente esta en termode rendimiento energico

la consumacion energetica depende de la frecuencia de funcionamiento del procesador (mirar la seccion2.4.1, pagina 6) )

Eso signifique que si queremos ahorrar energıa, eso tiene una consecuencia de prestaciones, porque debemosreducir el voltaje del procesador, pues reducir la frecuencia.

5.3.2. Potencia disipada

Figura 24: Potencia disipada del PPC970 en funcion de la frecuencia (970 a la izquierda, 970FX a la derecha)

Esos numeros estan los encontrados en varios sitios web, pero yo no estoy seguro de ellos, porque cuandohacemos una regresion, me parece que esta un polinomio de grado 1. Y eso me sorprende, porque por unsemiconductor CMOS, P  = C ∗V 2 ∗F  [37] (la potencia disipada esta proporcional al producto de la capacitadde este semiconductor por el cuadrado del potencial aplicado y por la frecuencia de oscilaci on). Y de facto,cuando V aumenta, F tambien. Por eso, no es logico, que la relacion entre P y F seria linear.

23 Fabien Duchene

Page 24: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 24/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

6. Conclusion

No es una locura si fue utilizado para hacer un supercalculador que se llame “Big Mac” [4] en fin 2003.Porque de verdad, en su tiempo, el PowerPC 970 tiene un potencia de computacion sobre flotante de los masimportante. De hecho, algunos fueron usados por servidores IBM, como los “PowerBlade JS20” y JS21 [14]- como por ejemplo el “MareNostrum” (ver 5.2, pagina 22). Y tambien el PPC970 fui utilizado en algunosservidores hechos por Apple [12] pero esos ultimos tienen prestaciones pobres [12].

Figura 25: Un Apple XServe G5 con dos PowerPC 970FX. [12]

Pero el principal problema es que este arquitectura derivada del Power 4 no ha permitido a IBM sufi-ciente marga para ajustar la consumacion electrica. Por eso, intel no ha usado el PowerPC 970 su gama deordenadores portatiles PowerBook. Y como la historia nos lo ha ensenado, algunos meses despues, Apple haoficialmente anunciado su intencion de trabajar con procesadores Intel Core Duo para sus port atiles. [35]

Aquı esta la triste fin de la historia de este procesador por el mercado de gran public o. Pero despues cadafin, hay un nuevo inicio. Aquı esta lo de la gamma MacBook, con procesador Intel Core Duo, pero eso es unaotra historia...

Figura 26: El MacBook 13” edicion 2008. [7]

24 Fabien Duchene

Page 25: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 25/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

7. Bibliografıa

Referencias

[1] Minimizing single-usage cache pollution for effective cache hierarchy management.ftp://ftp.irisa.fr/techreports/2006/PI-1826.pdf.

[2] Procesadores ibm.http://aula.isaatc.ull.es/file.php/76/Presentaciones_0405/Presentaci_nFinalArq.ppt.

[3] Powerpc performance. 2002.http://www.macintouch.com/ppcperf.html.

[4] Big mac supercomputer heads for top ranks. 2003.http://news.zdnet.co.uk/emergingtech/0,1000000183,39117332,00.htm.

[5] Apple. Power g5 white paper.http://eshop.macsales.com/images/Items/PowerMacG5_Perf_WP_071503.pdf.

[6] Apple. Powerpc addressing modes and assembler instructions.http://developer.apple.com/documentation/DeveloperTools/Reference/Assembler/

050-PowerPC_Addressing_Modes_and_Assembler_Instructions/ppc_instructions.html#//apple_

ref/doc/uid/TP30000824-CJBCBBDI.

[7] Apple. La gama macbook. 2008.http://www.apple.com/es/macbook/.

[8] BambooWeb. Powerpc 970.http://www.bambooweb.com/articles/p/o/PowerPC_970.html.

[9] Jonathan Bartlett. Assembly language for power architecture [..]. 2006.http://www.ibm.com/developerworks/library/l-powasm1.html.

[10] David Benham and Yu-Chung Chen. The ibm powerpc 970fx, a.k.a. g5 processor. 2005.

http://www.evl.uic.edu/julian/cs466/rep_g5.pdf.[11] Bryan Chaffin. Ibm introduces powerpc 970 servers.

http://www.macobserver.com/tmo/article/IBM_Introduces_PowerPC_970_Servers_Touts_970_

As_Fastest_PowerPC_So_Far/.

[12] Johan De Gelas. Apple xserve. 2005.http://www.anandtech.com/mac/showdoc.aspx?i=2436&p=6.

[13] Johan De Gelas. Ibm powerpc 970fx: Superscalar monster. 2005.http://www.anandtech.com/mac/showdoc.aspx?i=2436&p=2.

[14] IBM. Bladecenter.http://en.wikipedia.org/wiki/IBM_BladeCenter.

[15] IBM. Bladecenter js21.http://www.ibm.com/systems/es/bladecenter/js21/.

[16] IBM. Powerpc 970fx risc - user manual 1.6.http://www.cs.lth.se/EDA116/G5.pdf.

[17] IBM. User Manuals for Power PC 970FX and 970MP processors.http://www.ibm.com/chips/techlib/techlib.nsf/products/PowerPC_970_and_970FX_

Microprocessors.

[18] IBM. Powerpc architecture book. 2005.http://www.ibm.com/developerworks/eserver/library/es-archguide-v2.html.

[19] IBM. PowerPC 970FX RISC Microprocessor Datasheet . 2007.http://jonathanrenaud.g.googlepages.com/G5PPC970.pdf.

25 Fabien Duchene

Page 26: Powerpc 970 or Power g5

5/17/2018 Powerpc 970 or Power g5 - slidepdf.com

http://slidepdf.com/reader/full/powerpc-970-or-power-g5 26/26

Practica 3 - IBM PowerPC 970/970FX 4 de junio de 2009

[20] Cathleen Shamieh IBM. Understanding 64-bit powerpc architecture.http://www.ibm.com/developerworks/library/pa-microdesign/.

[21] Peter Sandon IBM. First in a new family of 64-bit high p erformance powerpc processors. 2002.http://datasheet.digchip.com/205/205-00367-0-970.pdf.

[22] LynuxWork. Apple powerpc g5 up to 2ghz.

http://www.lynuxworks.com/board-support/apple/g5.php.

[23] Norman Rohrer. The ibm powerpc 970fx power envelope and power management.http://www.ibm.com/developerworks/library/pa-powerenv/.

[24] Amit Singh. Mac OS X internals.http://books.google.es/books?id=K8vUkpOXhN4C&pg=PA208&lpg=PA208&dq=Group+Completion+

Table+powerpc+970&source=bl&ots=OJliXYZvWu&sig=uLXkU1gCbKpZVHmEIq2TDhDdmD8&hl=es&ei=

-O0jSq3BMJiRjAfv2pXBBg&sa=X&oi=book_result&ct=result&resnum=2#PPA208,M1.

[25] Amit Singh. Take a look inside the g5-based dual-processor power mac.http://www.informit.com/articles/article.aspx?p=606582&seqNum=3.

[26] Daniel A. Steffen. G5 Revealed - Introduction to the PowerPC 970 .

http://www.categorifiedcoder.info/old/talks/ppc970.pdf.

[27] Jon Stokes. Inside the ibm powerpc 970 ? part i: Design philosophy and front end.http://arstechnica.com/old/content/2002/10/ppc970.ars/2.

[28] Jon Stokes. Inside the ibm powerpc 970 ? part ii: The execution core.http://arstechnica.com/cpu/03q1/ppc970/ppc970-7.html.

[29] Jon Stokes. Inside the machine.http://books.google.es/books?id=Q1zSIarI8xoC&pg=PA197&lpg=PA197&dq=decode+crack+group+

powerpc+970+iop&source=bl&ots=qp1BIPaPsm&sig=CeUR0knmxN3lVLqu9ZvkHPdG8Ug&hl=es&ei=

KdAjSuqlJIaNjAecopG9Bg&sa=X&oi=book_result&ct=result&resnum=3.

[30] Top500. Marenostrum.http://www.top500.org/system/details/8242.

[31] Aad van der Steen. Hpc architecture - ibm powerpc 970.http://www.phys.uu.nl/~steen/web08/powerpc.html.

[32] Intel Designs vs the PowerPC Family. Kins collins.http://www.bayarea.net/~kins/AboutMe/CPUs.html.

[33] Wikipedia. Marenostrum.http://es.wikipedia.org/wiki/Marenostrum.

[34] wikipedia. Parity bit.http://en.wikipedia.org/wiki/Parity_bit.

[35] Wikipedia. Power pc.http://en.wikipedia.org/wiki/PowerPC.

[36] Wikipedia. Power pc 970.http://en.wikipedia.org/wiki/PowerPC_970.

[37] Ruixing Yang. Frequency and voltage scaling. 2008.http://www.tkt.cs.tut.fi/kurssit/9626/S08/Chapters_9_10.pdf.

26 Fabien Duchene