Escolar Documentos
Profissional Documentos
Cultura Documentos
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