Você está na página 1de 14

Trabalho sobre Power

XCELL Architecture
por Thiago G. Escobar
Histórico
O Power XCELL Architecture é um processador
fabricado pela CBEA, que é um consórcio que
possuia como participantes, a IBM, a Sony e a
Toshiba.
Teve como objetivo a fabricação de um
processador com grande aumento na
performance, boa eficiência energética e que
fosse de fabricação barata.
Processador
A Arquitetura deste processador é bem
diferente do usual, como pode ser visto no
próximo slide.
Sua versão mais comum possui uma
frequência de 3.2GHz.
Processador
Processador
Ele possui dois elementos diferentes do
modelo padrão de processadores RISC/CISC,
que são chamados de PPE(PowerPC
Processor Element) e SPE (Synergistic
Processor Elements).
PPE
O PPE implementa o padrão de instruções do PowerPC.
Ele é um processador de 64 bits, identificado no linux como
ppc64.
Tem acesso a toda a memória via uma hierarquia de memória
de 2 níveis.
Núcleo Superescalar
Funciona como um processador de 2 núcleos SMP para o OS.
Possui registradores SIMD de 128-bits.
SPE
Implementa uma variação do padrão de instruções do PowerPC.
Possui muitos registradores SIMD de 128 bits (128).
Só pode acessar diretamente uma pequena memória local de
256KB por SPE, que funciona como uma cache.
Acesso à memória do sistema precisa de DMA, mas funcionam
assíncrona e paralelamente à computação.
16 DMAs concorrentes por SPE.
DMA também é utilizado para comunicação entre SPEs e I/O.
Local Store
Memória de 256KB disponível para o núcleo do SPE.
Nunca erra.
Prediz o comportamento do programa em tempo real.
Pode mover dados entre um local store e outro.
Comandos DMA movem os dados entre o local storage e a
memória principal do sistema.
Comandos DMA são processados em paralelo com instruções
de software, o que permite double buffering e software
multithreading.
Preditor
O SPU não faz predição de desvio. E o custo
de predizer errado é alto.
É aconselhado evitar o uso de desvios.
Isso pode ser feito através de uso de código
inline, computar ambos os caminhos e usar a
instrução select, utilizar loop unrolling, usar
branch hint instruction
Element Interconnect Bus(EIB)
Esse barramento, responsável pelo transporte dos dados
possui uma arquitetura altamente complexa.
Possui 4 barramentos em anel de 16 bytes para
comunicação interna, que suporta múltiplas transferências.
Cada uma de suas portas EIB suporta transferências de
25.6GB/s em cada direção.
É capaz de suportar velocidades de até 204.8GB/s.
Implementações - Cell Broadband Engine

Revelado em 2005.
Usado nos blades IBM QS20/QS21 e no Sony PS3.
1PPE+8SPEs
Rambus Memory - até 1GB por chip
Otimizado para operações de ponto flutuante de single
precision.
Até 204.8 GFlops em single precision
Até 12.8 GFlops em double precision.
Implementações - IBM PowerXcell 8i

Introduzido em 2008.
Usado no blade IBM QS22.
1PPE+8SPEs
DDR2 Memory - até 16GB por chip
Otimizado para operações de ponto flutuante de double
precision.
Até 204.8 GFlops em single precision
Até 102.4 GFlops em double precision.
Como a arquitetura funciona na prática

Aplicação principal roda no PPE.


Funções que são computacionalmente intensas
são desviadas para SPEs.
Aplicação principal invoca funções presentes nos
SPEs.
Os modelos de programação CellSs suportam
esse modelo.
Eficiência energética
O PowerXCell 8i é tido como um dos processadores mais
eficientes em termo de energia do mercado.
Todos os primeiros colocados no ranking Green500 desde
Junho de 2008 são baseados nesse processador.
Eficiência energética de aproximadamente 89%.
32 nós utilizando esse processador gastam aproximadamente
2.3kW quando estão somente rodando o Linux.
Tem um consumo de 773.4 MFlops/W.

Você também pode gostar