microprocessador cell

6
1

Upload: wedersonecomp

Post on 03-Jan-2016

46 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Microprocessador Cell

1

Page 2: Microprocessador Cell

2

Microprocessador CellJosé Vitor Nunes Soares, Luan Assis Gonçalves

Tales Mousinho e Wederson Medeiros Silva

I. INÍCIO

Figura 1. Cell-Processor

O processador Cell é uma arquitetura paracomputação distribuída de alta performance,desenvolvida por uma alianca entre a Sony,Toshiba e IBM, conhecida por STI. O pro-jeto arquitetural e a primeira implementaçãoforam realizados no STI Design Center du-rante um período de 4 anos iniciado em marcode 2001.

Cell é uma abreviação para Cell BroadbandEngine Architecture, comumente represen-tada por CBEA ou Cell BE. Seu conceito foioriginalmente pensado em 1999, quando KenKutaragi, da Sony, “o pai do PlayStation”,estava pensando sobre um computador queagisse como células num sistema biológico.Nesse contexto, o Cell foi criado de modo acombinar um núcleo Power Architecture, depropósitos gerais e de desempenho modesto,com elementos de coprocessamento ágil, o

que acelera gigantescamente aplicações mul-timídia e de processamento vetorial, assimcomo outras formas de computação dedicada.Além disso, como cada uma das três compan-hias produzem diferentes tipos de produtos, eestes possuem necessidades diferentes sobrea CPU, o projeto final do Cell incorporacaracteríticas que satisfazem a todas essasnecessidades.

II. A ARQUITETURA CELL

Figura 2. arquitetura-Cell

O Cell pode ter diversas configurações,sendo a mais comum delas composta deum PPE ("Power Processor Element"), emúltiplos SPEs ("Synergistic Processing El-ements"). O PPE é ligado aos SPEs atravésde um barramento interno de alta velocidadeconhecido como EIB ("Element InterconnectBus"). Em seu hardware também há DMAC("Direct Memory Access Controller"), con-

Page 3: Microprocessador Cell

3

troladores de memória Rambus XDR e umainterface Rambus FlexIO (Input/Output).

O Cell é optimizado para computação deponto flutuante único, devido às suas apli-cações. As SPEs são capazes de realizar com-putações de ponto flutuante duplo, todaviacom certa perda em desempenho. A arquite-tura Cell foi concebida com um modular eextensível sistema onde vários subsistemas,cada um com um IBM 64-bit Power Ar-chitecture, núcleos e Spus inscritos que po-dem formar um sistema de multiprocessadorsimétrico.

1) PPE (Power Processor Element) — Éum núcleo de processamento de múlti-pla linha de execução, o qual atua con-trolando os SPEs. O PPE pode tra-balhar com sistemas operacionais con-vencionais devido à sua similaridade aoutros processadores PowerPC 64-bits.Os SPEs, no entanto, foram projetadospara a execução de código de pontoflutuante vetorizado.

2) SPE (Synergistic Processing Element)— Cada SPE é composto do SPU("Synergistic Processing Unit") e umcontrolador de fluxo de memória. OSPE é um processador RISC com umaorganização SIMD de 128 bits.

3) EIB (Element Interconnect Bus) —É o barramento de comunicação in-terno na arquitetura Cell a qual conectaos diversos elementos do circuito inte-grado: o PPE, os SPEs, o controladorde memória MIC, etc.

A. Power Processor Elements

O PowerPC Processor Element (elementode processamento PowerPC) ou PPE e con-stituída de uma unidade de processamentoPowerPC de 64 bits, com caches L1 de 32KiBpara instruções e 32KiB para dados e umacache L2 de 512KiB. Apesar do PPE utilizar

o conjunto de instruções do PowerPC, elenão é baseado em nenhum dos processadores970/65 ou POWER. No entanto o PPE é capazde executar binários do POWER e PowerPC.

Um sistema em pode conter um ou maisPPEs, mas a primeira versão, utilizada noPS3, contém apenas um. O PPE é um pro-cessador convencional que atribui tarefas aosSPEs. Ele executa o sistema operacional e amaioria das aplicações, mas as partes de com-putação intensiva são distribuidas aos SPEs.

A IBM também incluiu no PPE umaunidade VMX (AltiVec), que e totalmente“pipelined” para pontos flutuantes de precisãodupla, e que, juntamente com os SPEs, quepodem completar 2 operações de precisãodupla por ciclo de clock, gera uma taxa de6,4 GFLOPS a 3,2GHz, ou 8 operações deprecisão simples, produzindo 25,6 GFLOPSa 3,2Hz.

O PPE e um processador dual issue, dualthreaded e in-order. Diferentemente dos pro-cessadores modernos, que necessitam de umaquantia maior de silício e energia para execu-tar o máximo de instruções possíveis de umavez, fora de ordem (out-of-order), os PPEsdo Cell tem uma arquitetura de hardwareRISC, e consomem bem menos energia queos dispositivos PowerPC, até mesmo a altastaxas de clock. Todavia, esse modelo possuiperformance irregular diante de aplicacoescarregadas de branches. Os PPEs são meroscontroladores, a ação real está nos SPEs.

B. Synergistic Processor Elements

Cada Cell possui, em seu projeto original,oito SPEs que por sua vez são formadospor um SPU (Synergistic Processing Unit) eum MFC (Memory Flow Controller) cada. Éimportante ressaltar que a arquitetura CBE(Cell Broadband Engine Architecture) podesuportar números diferentes de SPEs, nãonecessariamente oito como nessa primeira

Page 4: Microprocessador Cell

4

versão, e que esses elementos fazem um pa-pel de “processadores dedicados”, análogo aopapel de um GPU (Graphic Processing Unit).

Os SPUs são basicamente processadoresvetoriais de arquitetura RISC com instruçõesdo tipo SIMD, capaz de efetuar cálculos comprecisão simples ou dupla. Cada um delespossui 256 KB de memória para dados locais,sendo essa memória visível também para oPPE e endereçável via software. Essa áreade memória difere do cache de CPU con-vencionais, pois, além de não ser transpar-ente para a camada de software, não possuinenhum tipo de estrutura que implemente“Branch Prediction”.

Os SPUs possuem bancos de registradorescom 128 registradores de 128 bits cada. Dessaforma cada instrução pode operar com 16inteiros de 8 bits, 8 inteiros de 16 bits, 4inteiros de 32 bits, 4 valores de ponto flu-tuante de precisão simples ou ainda 2 deprecisão dupla. Além disso possuem tambémcapacidade de carregameto e armazenamento(load-and-store) à sua memória local e umcanal de entrada e saída para controle doMFC.

Já o MFC serve de interface entre o sistemae o SPU, fornecendo os meios básicos paratranferência de dados, proteção e sincroniaentre a área de armazenamento principal e aarea local ao SPU.

C. EIB e DMAC

O DMAC controla apenas o acesso àmemória, a proteção à memória é feita pelasMMUs (Memory Management Units) quefazem parte do MFC de cada SPE. O EIB,consiste em quatro anéis 16 bytes que fun-cionam com aproximadamente metade da ve-locidade total da CPU e pode suportar até3 transferências simultâneas. Dessa forma avelocidade teórica de pico para o EIB é de96 bytes por ciclo e a velocidade real previstapela IBM é de quase dois terços dessa marca.

D. Memória

A arquitetura CELL tem vários núcleosde processamento que precisam fazer acessoa memória. Os projetistas então precisaramtomar algumas medidas para amenizar o prob-lema de velocidade inferior da memória.

O PPE trabalha em modo virtual de formaque a aplicação enxerga um espaço de en-derecamento de até 64 bits atribuído pelosistema operacional. Cada aplicação no PPEtem sua própria tabela de páginas que mapeiaa memória virtual para a memória real. Alémdisso, cada SPE possui uma area local dearmazenamento, de 256KiB, que funcionacomo uma memória para o SPE. Desta formaa aplicação e os dados que estão em execuçãono SPE são primariamente armazenados naárea local, que é endereçada pela aplicaçãocomo se fosse uma memória convencional.Qualquer acesso do SPE à memória real dosistema deve ser feita através de operacoesDMA.

As áreas de armazenamento locais dos SPEpodem ser mapeadas pela memória virtual dosistema. Desta forma, pode-se escrever e lerdados da área local de um SPE pelo PPE ouatravés de DMA de outros dispositivos comoprocessadores de video. Este sistema aliado anecessidade de grande velocidade na memóriafez com que a IBM licenciasse as tecnologiasda Rambus. Desta forma foi possível construirtanto um sistema de I/O muito veloz comomemórias mais rápidas.

A pastilha Cell contém um canal duploRambus XIO com interface para a memóriaRambus XDR. A MIC (Memory InterfaceController) utiliza comandos XIO desenvolvi-dos pela IBM. A conexão XIO-XDR roda ematé 3.2 Gbit/s por pino. Dois canais de 32-bitteoricamente podem chegar a até 25.6 GB/s.

III. EVOLUÇÃO

No iníco de sua produção o Cell foi logoinplementado no PlayStation 3 utilizando um

Page 5: Microprocessador Cell

5

design de fabricação de 90 mn, em Março de2007 veio a versão de 65 nm e em Fevereirode 2008 chegou à marca de 45 mn.

A IBM melhorou o microprocessadorcriando o PowerXCell 8i, que tinha alta per-formance fazendo cálculos de ponto flutuantecom precisão dupla. Esse novo chip foi oescolhido para compor o super computador daIBM na época, o IBM Roadrunner chegoua ser o computador mais rápido do mundo.

Em Novembro de 2009 a IBM anunciouque iria descontinuar o desenvolvimento deprocessadores Cell com 32 APUs, mas nãochegou a sinalizar o fim do desenvolvimentode outras tecnologias ligadas ao Cell.

IV. APLICAÇÕES

A. Placa de processamento de vídeo

Algumas companias, como a Leadtek,tem interesse em implementar placas PCI-Ebaseadas no Cell.

B. Servidores

Em 2007 a IBM anunciou o uso desse mi-croprocessador em seu BladeCenter QS21 eposteriormente no BladeCenter QS22 (Pow-erXCell 8i).

C. Console

O PlayStation 3, console da Sony, trouxeem seu interior a primeira versão de produçãodo microprocessador Cell.

D. TVs de alta definição

A Toshiba produziu HDTVs usando o Cell.

E. Super computador

Em Junho de 2008 saiu uma lista doscomputadores mais rápidos do mundo, o IBMRoadrunner ficou na 1a posição, e este tam-bém fazia uso do microprocessador Cell.

Figura 3. PlayStation 3

Figura 4. IBM Roadrunner

F. Quebra de senhas

A arquitetura desse microprocessador fazcom que seja um dos melhores para usar ométodo "força bruta"a fim de quebrar crip-tografias.

V. ENGENHARIA DE SOFTWARE

Devido a natureza flexível da arquiteturaexistem varias formas possíveis da utilizaçãodos recursos, alguns deles são:

A. Fila

Os PPE mantem uma fila, agendado asaplicações da fila nos SPEs e monitora o pro-

Page 6: Microprocessador Cell

6

cessos. Cada SPEs funciona como um miniKernel executando as tarefas designadas queapós concluídas são sincronizadas com o PPE.

B. Auto-Multitarefa

O kernel e as tarefas são distribuídas entreos SPEs que utiliza memoria compartilhadapara executar as tarefas.

VI. PROCESSAMENTO DE STREAM

O Cell apresenta grande capacidade deprocessamento de streams onde cada SPEroda um programa distinto, quando casa SPEtermina o processo os dados são enviados emforma de stream

VII. DESENVOLVIMENTO DE SOFTWARE

Ambos PPE e SPEs são programáveis emC/C++, sendo possível a utilização de dis-tribuições linux( a partir do kernel 2.6.16existe suporte ) junto a arquitetura. A dis-tribuição mais recomendada para a utilizar éa Yellow Dog Linux,distribuição criada pelaFixstars Solutions para a IBM e MercuryCell-sistema baseado em cell.

REFERÊNCIAS

[1] en.wikipedia.org/wiki/Cell_(microprocessor)[2] www.top500.org