Você está na página 1de 6

1

Microprocessador Cell
Jos Vitor Nunes Soares, Luan Assis Gonalves Tales Mousinho e Wederson Medeiros Silva

I. I NCIO

que acelera gigantescamente aplicaes multimdia e de processamento vetorial, assim como outras formas de computao dedicada. Alm disso, como cada uma das trs companhias produzem diferentes tipos de produtos, e estes possuem necessidades diferentes sobre a CPU, o projeto nal do Cell incorpora caracterticas que satisfazem a todas essas necessidades. II. A A RQUITETURA C ELL

Figura 1.

Cell-Processor

O processador Cell uma arquitetura para computao distribuda de alta performance, desenvolvida por uma alianca entre a Sony, Toshiba e IBM, conhecida por STI. O projeto arquitetural e a primeira implementao foram realizados no STI Design Center durante um perodo de 4 anos iniciado em marco de 2001. Cell uma abreviao para Cell Broadband Engine Architecture, comumente representada por CBEA ou Cell BE. Seu conceito foi originalmente pensado em 1999, quando Ken Kutaragi, da Sony, o pai do PlayStation, estava pensando sobre um computador que agisse como clulas num sistema biolgico. Nesse contexto, o Cell foi criado de modo a combinar um ncleo Power Architecture, de propsitos gerais e de desempenho modesto, com elementos de coprocessamento gil, o

Figura 2.

arquitetura-Cell

O Cell pode ter diversas conguraes, sendo a mais comum delas composta de um PPE ("Power Processor Element"), e mltiplos SPEs ("Synergistic Processing Elements"). O PPE ligado aos SPEs atravs de um barramento interno de alta velocidade conhecido como EIB ("Element Interconnect Bus"). Em seu hardware tambm h DMAC ("Direct Memory Access Controller"), con-

troladores de memria Rambus XDR e uma interface Rambus FlexIO (Input/Output). O Cell optimizado para computao de ponto utuante nico, devido s suas aplicaes. As SPEs so capazes de realizar computaes de ponto utuante duplo, todavia com certa perda em desempenho. A arquitetura Cell foi concebida com um modular e extensvel sistema onde vrios subsistemas, cada um com um IBM 64-bit Power Architecture, ncleos e Spus inscritos que podem formar um sistema de multiprocessador simtrico. 1) PPE (Power Processor Element) um ncleo de processamento de mltipla linha de execuo, o qual atua controlando os SPEs. O PPE pode trabalhar com sistemas operacionais convencionais devido sua similaridade a outros processadores PowerPC 64-bits. Os SPEs, no entanto, foram projetados para a execuo de cdigo de ponto utuante vetorizado. 2) SPE (Synergistic Processing Element) Cada SPE composto do SPU ("Synergistic Processing Unit") e um controlador de uxo de memria. O SPE um processador RISC com uma organizao SIMD de 128 bits. 3) EIB (Element Interconnect Bus) o barramento de comunicao interno na arquitetura Cell a qual conecta os diversos elementos do circuito integrado: o PPE, os SPEs, o controlador de memria MIC, etc. A. Power Processor Elements O PowerPC Processor Element (elemento de processamento PowerPC) ou PPE e constituda de uma unidade de processamento PowerPC de 64 bits, com caches L1 de 32KiB para instrues e 32KiB para dados e uma cache L2 de 512KiB. Apesar do PPE utilizar

o conjunto de instrues do PowerPC, ele no baseado em nenhum dos processadores 970/65 ou POWER. No entanto o PPE capaz de executar binrios do POWER e PowerPC. Um sistema em pode conter um ou mais PPEs, mas a primeira verso, utilizada no PS3, contm apenas um. O PPE um processador convencional que atribui tarefas aos SPEs. Ele executa o sistema operacional e a maioria das aplicaes, mas as partes de computao intensiva so distribuidas aos SPEs. A IBM tambm incluiu no PPE uma unidade VMX (AltiVec), que e totalmente pipelined para pontos utuantes de preciso dupla, e que, juntamente com os SPEs, que podem completar 2 operaes de preciso dupla por ciclo de clock, gera uma taxa de 6,4 GFLOPS a 3,2GHz, ou 8 operaes de preciso simples, produzindo 25,6 GFLOPS a 3,2Hz. O PPE e um processador dual issue, dual threaded e in-order. Diferentemente dos processadores modernos, que necessitam de uma quantia maior de silcio e energia para executar o mximo de instrues possveis de uma vez, fora de ordem (out-of-order), os PPEs do Cell tem uma arquitetura de hardware RISC, e consomem bem menos energia que os dispositivos PowerPC, at mesmo a altas taxas de clock. Todavia, esse modelo possui performance irregular diante de aplicacoes carregadas de branches. Os PPEs so meros controladores, a ao real est nos SPEs. B. Synergistic Processor Elements Cada Cell possui, em seu projeto original, oito SPEs que por sua vez so formados por um SPU (Synergistic Processing Unit) e um MFC (Memory Flow Controller) cada. importante ressaltar que a arquitetura CBE (Cell Broadband Engine Architecture) pode suportar nmeros diferentes de SPEs, no necessariamente oito como nessa primeira

verso, e que esses elementos fazem um papel de processadores dedicados, anlogo ao papel de um GPU (Graphic Processing Unit). Os SPUs so basicamente processadores vetoriais de arquitetura RISC com instrues do tipo SIMD, capaz de efetuar clculos com preciso simples ou dupla. Cada um deles possui 256 KB de memria para dados locais, sendo essa memria visvel tambm para o PPE e enderevel via software. Essa rea de memria difere do cache de CPU convencionais, pois, alm de no ser transparente para a camada de software, no possui nenhum tipo de estrutura que implemente Branch Prediction. Os SPUs possuem bancos de registradores com 128 registradores de 128 bits cada. Dessa forma cada instruo pode operar com 16 inteiros de 8 bits, 8 inteiros de 16 bits, 4 inteiros de 32 bits, 4 valores de ponto utuante de preciso simples ou ainda 2 de preciso dupla. Alm disso possuem tambm capacidade de carregameto e armazenamento (load-and-store) sua memria local e um canal de entrada e sada para controle do MFC. J o MFC serve de interface entre o sistema e o SPU, fornecendo os meios bsicos para tranferncia de dados, proteo e sincronia entre a rea de armazenamento principal e a area local ao SPU. C. EIB e DMAC O DMAC controla apenas o acesso memria, a proteo memria feita pelas MMUs (Memory Management Units) que fazem parte do MFC de cada SPE. O EIB, consiste em quatro anis 16 bytes que funcionam com aproximadamente metade da velocidade total da CPU e pode suportar at 3 transferncias simultneas. Dessa forma a velocidade terica de pico para o EIB de 96 bytes por ciclo e a velocidade real prevista pela IBM de quase dois teros dessa marca.

D. Memria A arquitetura CELL tem vrios ncleos de processamento que precisam fazer acesso a memria. Os projetistas ento precisaram tomar algumas medidas para amenizar o problema de velocidade inferior da memria. O PPE trabalha em modo virtual de forma que a aplicao enxerga um espao de enderecamento de at 64 bits atribudo pelo sistema operacional. Cada aplicao no PPE tem sua prpria tabela de pginas que mapeia a memria virtual para a memria real. Alm disso, cada SPE possui uma area local de armazenamento, de 256KiB, que funciona como uma memria para o SPE. Desta forma a aplicao e os dados que esto em execuo no SPE so primariamente armazenados na rea local, que endereada pela aplicao como se fosse uma memria convencional. Qualquer acesso do SPE memria real do sistema deve ser feita atravs de operacoes DMA. As reas de armazenamento locais dos SPE podem ser mapeadas pela memria virtual do sistema. Desta forma, pode-se escrever e ler dados da rea local de um SPE pelo PPE ou atravs de DMA de outros dispositivos como processadores de video. Este sistema aliado a necessidade de grande velocidade na memria fez com que a IBM licenciasse as tecnologias da Rambus. Desta forma foi possvel construir tanto um sistema de I/O muito veloz como memrias mais rpidas. A pastilha Cell contm um canal duplo Rambus XIO com interface para a memria Rambus XDR. A MIC (Memory Interface Controller) utiliza comandos XIO desenvolvidos pela IBM. A conexo XIO-XDR roda em at 3.2 Gbit/s por pino. Dois canais de 32-bit teoricamente podem chegar a at 25.6 GB/s. III. E VOLUO No inco de sua produo o Cell foi logo inplementado no PlayStation 3 utilizando um

design de fabricao de 90 mn, em Maro de 2007 veio a verso de 65 nm e em Fevereiro de 2008 chegou marca de 45 mn. A IBM melhorou o microprocessador criando o PowerXCell 8i, que tinha alta performance fazendo clculos de ponto utuante com preciso dupla. Esse novo chip foi o escolhido para compor o super computador da IBM na poca, o IBM Roadrunner chegou a ser o computador mais rpido do mundo. Em Novembro de 2009 a IBM anunciou que iria descontinuar o desenvolvimento de processadores Cell com 32 APUs, mas no chegou a sinalizar o m do desenvolvimento de outras tecnologias ligadas ao Cell. IV. A PLICAES A. Placa de processamento de vdeo Algumas companias, como a Leadtek, tem interesse em implementar placas PCI-E baseadas no Cell. B. Servidores Em 2007 a IBM anunciou o uso desse microprocessador em seu BladeCenter QS21 e posteriormente no BladeCenter QS22 (PowerXCell 8i). C. Console O PlayStation 3, console da Sony, trouxe em seu interior a primeira verso de produo do microprocessador Cell. D. TVs de alta denio A Toshiba produziu HDTVs usando o Cell. E. Super computador Em Junho de 2008 saiu uma lista dos computadores mais rpidos do mundo, o IBM Roadrunner cou na 1a posio, e este tambm fazia uso do microprocessador Cell.

Figura 3.

PlayStation 3

Figura 4.

IBM Roadrunner

F. Quebra de senhas A arquitetura desse microprocessador faz com que seja um dos melhores para usar o mtodo "fora bruta"a m de quebrar criptograas. V. E NGENHARIA DE S OFTWARE Devido a natureza exvel da arquitetura existem varias formas possveis da utilizao dos recursos, alguns deles so: A. Fila Os PPE mantem uma la, agendado as aplicaes da la nos SPEs e monitora o pro-

cessos. Cada SPEs funciona como um mini Kernel executando as tarefas designadas que aps concludas so sincronizadas com o PPE. B. Auto-Multitarefa O kernel e as tarefas so distribudas entre os SPEs que utiliza memoria compartilhada para executar as tarefas. VI. P ROCESSAMENTO DE S TREAM O Cell apresenta grande capacidade de processamento de streams onde cada SPE roda um programa distinto, quando casa SPE termina o processo os dados so enviados em forma de stream VII. D ESENVOLVIMENTO DE S OFTWARE Ambos PPE e SPEs so programveis em C/C++, sendo possvel a utilizao de distribuies linux( a partir do kernel 2.6.16 existe suporte ) junto a arquitetura. A distribuio mais recomendada para a utilizar a Yellow Dog Linux,distribuio criada pela Fixstars Solutions para a IBM e Mercury Cell-sistema baseado em cell. R EFERNCIAS
[1] en.wikipedia.org/wiki/Cell_(microprocessor) [2] www.top500.org