Introdução ao Processador CELL BE



Documentos relacionados
Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores

PROCESSADOR CELL BROADBAND ENGINE (MECANISMO DE BANDA LARGA)

CPU Unidade Central de Processamento. História e progresso

Comparativo de desempenho do Pervasive PSQL v11

Aula 26: Arquiteturas RISC vs. CISC

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Técnicas de Manutenção de Computadores

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

Introdução a Informática. Prof.: Roberto Franciscatto

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

Fundamentos de Hardware

FACULDADE PITÁGORAS PRONATEC

Disciplina: Introdução à Informática Profª Érica Barcelos

Sistemas Operacionais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;

Linux no Playstation 3

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Processadores. Guilherme Pontes

Curso de Instalação e Gestão de Redes Informáticas

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Fundamentos de Hardware

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Unidade 13: Paralelismo:

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

Fundamentos de Sistemas Operacionais

Sistemas Computacionais II Professor Frederico Sauer

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores

Barramentos - BUS. Professor Especialista: Airton Ribeiro de Sousa

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Sistemas Distribuídos

Prof. Esp. Lucas Cruz

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

O quê um Processador e qual a sua função?

Processos Técnicos - Aulas 4 e 5

Introdução às arquiteturas paralelas e taxonomia de Flynn

Introdução aos Computadores

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Arquitetura de Von Neumann e os Computadores Modernos

Processadores clock, bits, memória cachê e múltiplos núcleos

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Aula 04 A. Barramentos. Prof. Ricardo Palma

ARQUITETURA DE COMPUTADORES

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO

CONHEÇA MELHOR SEU COMPUTADOR

Memórias Prof. Galvez Gonçalves

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

Sistemas Operacionais

Processadores. Prof. Alexandre Beletti Ferreira

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

Informática, Internet e Multimídia

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha.

Memória principal; Unidade de Controle U C P. Unidade Lógica e Aritmética

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

Sistemas Operacionais. Prof. André Y. Kusumoto

ESTUDO DE CASO WINDOWS VISTA

Hardware de Computadores

1. CAPÍTULO COMPUTADORES

Microprocessadores. Prof. Leonardo Barreto Campos 1

Sistema de Computação

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

CPU Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores Arquitetura de entrada e saída

5 Entrada e Saída de Dados:

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Serial ATA (SATA - Serial Advanced Technology Attachment)

1. NÍVEL CONVENCIONAL DE MÁQUINA

Relatório de Pesquisa

Tipos de Computadores. Sediane Carmem Lunardi Hernandes

CENTRAL PRCESSING UNIT

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Trabalho de: Alexandre / Paulo / Rui

7 Processamento Paralelo

Administração de Sistemas de Informação Gerenciais

Curso EFA Técnico/a de Informática - Sistemas. Óbidos

PROCESSADORES. Introdução. O que é processador? 1/10

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Everson Scherrer Borges João Paulo de Brito Gonçalves

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Componentes de um computador típico

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz


Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

R S Q Tabela 17 - Tabela verdade NOR

23/05/2013. Partes do Sistema Computacional. Hardware. Ciclo do Processamento de Dados HARDWARE: CONCEITOS BÁSICOS. Hardware Software Dados Usuários

Sistemas Operacionais

XDOC. Solução otimizada para armazenamento e recuperação de documentos

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Evolução dos Processadores

ARQUITETURA DE COMPUTADORES Prof. João Inácio

Transcrição:

1 Introdução ao Processador CELL BE por: José Ricardo de Oliveira Damico 17 / Maio / 2007 São Paulo SP

2 SUMÁRIO LISTA DE FIGURAS 3 RESUMO 4 1.) INTRODUÇÃO 5 1.1) O que é? 5 2.) Utilização 5 3.) FUNCIONAMENTO 6 3.1) Núcleos 6 3.2) EIB 7 3.3) MIC 8 3.4) BEI 8 4.) CONCLUSÃO 9 4.1) Arquitetura 9 4.2) Comunidade 11 4.3) Concorrência 12 5.) BIBLIOGRAFIA 12 6.) MARCAS UTILIZADAS NESTE DOCUMENTO 13

3 LISTA DE FIGURAS Figura 1 Diagrama de Funcionamento 6 Figura 2 Diagrama de Acesso a Memória e I/O 10

4 RESUMO DAMICO, J. R. O. Introdução o processador CELL BE. [Introduction to CELL BE processor]. São Paulo SP, 2007. Este documento tem por objetivo apresentar uma visão clara da arquitetura do processador CELL BE, descrever seu funcionamento e vantagens.

5 1) Introdução: Tecnologias como as de processadores, que representam a parte mais importante de um equipamento com um console de jogos ou um computador, são comumente de alta complexidade e é essa complexidade que define sua importância para a máquina com um todo. É o processador que confirmará o que pode-se esperar em termos de desempenho e performance de um computador. Portanto conhecer a tecnologia por trás de um processador é fundamental para àqueles que desenvolvem aplicações computacionais, uma vez que o modo de funcionamento de um processador pode indicar diretamente os melhores métodos para se obter os resultados desejados de tais aplicações. Além da abordagem da Lei de Moore que prevê as tendências de custo e capacidade de integração de microchips e da abordagem de fabricação de processadores 64 bits, a indústria de processadores tem apresentado atualmente duas novidades na arquitetura de computadores: Processadores multi-núcleo e CPUs integradas a GPUs. Essas duas novidades, principalmente a primeira comumente norteiam o que os profissionais de Tecnologia da Informação esperam do CELL BE, já que também é comum uma apresentação de tal processador como o processador de 9 núcleos porém não se pode generalizar este processador apenas como mais um concorrente no mercado dos multi-núcleos porquê o modo como os seus núcleos foram implementados, a especialização dos mesmos, suas áreas de memória e o meio de comunicação com I/O e memória são os reais diferenciais do CELL BE. Tais diferenciais serão explicados de forma clara de maneira introdutória. 1.1) O que é? É um novo processador baseado na arquitetura Power, desenvolvido em conjunto pela IBM, Sony e Toshiba. 2) Utilização: A utilização inicial deste processador foi destinada ao console de jogos Playstation 3 da Sony. Porém seu campo de utilização é amplo. De pequenas aplicações que manipulam áudio, vídeo e intenso acesso a dados à grandes plataformas de processamento. Atualmente os novos servidores IBM Blade QS20 para computação

6 de alta-performance utilizam CELL BE, ainda na IBM mainframes receberão processadores CELL BE integrados por meio de adptadores PCI. No dia-a-dia dos consumidores finais, aparelhos de televisão digital, media-centers, aparelhos com Blue-ray e dispositivos embarcados serão fabricados com processador CELL BE. 3) Funcionamento: (Figura 1 Diagrama de Funcionamento) 3.1) Núcleos: A primeira característica a ser notada no processador CELL BE é sua divisão interna. Ele possui 9 núcleos de processamento, algo absolutamente inovador e sem comparativos no mercado atual. Destes 9 núcleos, 8 são SPEs e 1 PPE. Para entender estes núcleos vamos explicá-los separadamente: PPE: Power Processor Element, é um processador PPC de 64 bits ( dual thread ) que funciona tanto em 64bits quanto em 32bits. Possui um cache L1 de 32Kbytes e um cache L2 de 512Kbytes. O PPE é responsável pela direta comunicação com o sistema operacional, divisão de tarefas (para si, e para os SPEs) e alocação de recursos. Ele é otimizado para o processamento intensivo de tarefas.

7 SPE: Synergistic Processor Element são os processadores de núcleo RISC especializados em computação vetorial, ou seja, o processamento de uma mesma instrução para um grupo de dados em um vetor (Também chamado de Single Instruction Multiple Data, SIMD). Os núcleos SPE foram desenvolvidos para suportarem programação de alto nível (como C/C++) com instruções específicas relacionadas a manipulação de conteúdo rico, ou seja, computação gráfica de audio, jogos, novos métodos de interação homem-máquina. O SPEs são otimizados para o processamento intensivo de dados computacionais. Dessa forma os 9 núcleos do processador oferecem ao desenvolvedor de aplicações uma plataforma multi-processada com suporte real computação paralela. Ambos PPE e SPE são dependentes um do outro, uma vez que o PPE está mais ligado ao controle de tarefas do Sistema Operacional e portanto direciona o fluxo de dados inicial de processamento, já os SPEs são independentes no que tange o processamento. Eles são capazes de executar seus próprios programas e threads ao mesmo tempo que outro SPE está rodando um programa diferente. Cada SPE tem completo acesso a memória (shared memory) através de um controlador DMA para cada SPE, isso permite o fluxo simultâneo de dados entre memória e processador independente e ao mesmo tempo que os outros processadores. O método de acesso a memória dos núcleos SPE são a maior diferença em relação ao PPE e é a grande inovação presente no processador CELL BE, uma vez que com este recurso o ciclo de máquina permite uma execução de instruções mais rápida em com maior conteúdo vindo da memória. 3.2) EIB: Com os núcleos do processador explicados vamos entender a função do EIB, Element Interconnect Bus : O EIB é o caminho de comunicação de comandos e dados entre os núcleos dos

8 processadores e os controladores de memória e I/O, pelo qual os núcleos do processador podem fazer acesso de leitura e gravação simultâneamente e independente da ação de outro núcleo. O EIB suporta completo acesso as áreas de memória e operações multi-processadas simétricas. Com este desenho o processador CELL BE está otimizado para construção de clusters de processadores. Mesmo com uma comunicação intensa interna ao EIB, não há nele nenhum suporte a QoS, o que existe é o RAM, Resource Allocation Management que permite através de software a regulação de como os SPEs, PPE e os dispositivos de entrada e saída fazem uso dos recursos de memória de I/O. 3.3) MIC: Outra parte do processador a ser detalhada é o MIC, Memory Interface Controller. Trata-se de um dispositivo on chip responsável pela interface de controle de memória entre o EIB e a memória física a ser utilizada pelo processador. O MIC suporta até duas interfaces Rambus XDR que juntas podem variar de 64 Mbytes até 64 Gbytes de memória DRAM. 3.4) BEI: A última parte a ser apresentada é a explicação do BEI, Broadband Engine Interface, a área responsável pela comunicação com os dispositivos de entrada e saída. O BEI é composto por 3 interfaces de controle de I/O: BIC, Broadband Interface Controler IOC, Input Output Controller IIC, Internal Interrupt Controller Estas 3 interfaces juntas permitem o gerenciamento de transferência de dados entre o EIB e os dispositivos de entrada e saída de dados, bem como a tradução dos endereços de tais dispositivos e o processamento de comandos relacionados aos mesmos.

9 4) Conclusão: O processador CELL BE é sem dúvida uma das maiores inovações no campo de microprocessadores da atualidade, suas características de design oferecem uma nova abordagem sobre os limitadores atuais de performance de processadores. Contudo, além disso o processador CELL BE oferece uma nova abordagem sobre o modelo de implementação do mesmo. Graças a maturidade do Linux e do modelo Open-Source os criadadores dessa tecnologia revolucionaram o acesso a informação com a medida de abrir sua base de conhecimento e oferecer tutoriais baseados em ferramentas abertas. Portanto vamos dividir a conclusão em três partes, Arquitetura, Comunidade e Concorrência: 4.1) Arquitetura A indústria de processadores enfrenta hoje alguns limitadores, que podem ser expressos pelas seguintes perguntas: Como aumentar a performance de um processador sem aumentar seu consumo de energia? Como otimizar as transferências de dados entre a memória e o processador? Como otimizar as threads de processamento sem levar o processador ao limite de freqüência e consumo de energia? O desenvolvimento do CELL BE levou em conta tais questões e apresentou uma quebra de padrões em sua arquitetura. Diferente da tentativa de otimização baseada em multi-núcleos por processador que executam as mesmas tarefas, o CELL BE possui núcleos especializados que dividem a computação intensiva do gerenciamento de tarefas pelo sistema operacional. Além disso o CELL BE possui uma estrutura de acesso a memória completamente diferente do convencional, como resultado temos threads específicas e independentes com acesso direto a memória. Vejamos esse design com mais detalhes abaixo:

10 (Figura 2 Diagrama de Acesso a Memória e I/O) Como a figura acima mostra, cada SPE possui sua própria área de memória LS (Local Storage) interna a SPU (Synergistic Processor Unit) a qual armazena o conjunto de instruções a serem executadas pelo SPE. A área LS está ao controlador DMA e a SPU ligada aos registradores MMIO (Memory-Mapped Input/Output). Os controladores DMA darão acesso dinâmico a memória principal e os registradores MMIO darão acesso as instruções (ligadas ou não a I/Os). Estas duas ligações portanto conectam a SPU ao MFC (Memory Flow Controller) o qual é responsável pelo tráfego de dados entre a LS e a memória principal, bem como a sincronização da SPU com as demais unidades de processamento do sistema. É essa organização que oferece independência de acesso e uso a memória a cada SPE. Já do lado do PPE, a unidade de processamento PPU (PowerPC Processor Unit) se conecta a PPSS (PowerPC Processor Storage Subsystem) onde está

11 localizado o cache L1 para a execução das instruções relacionadas a controle de tarefas (coligadas ao Sistema Operacional). Esta estrutura permite a real independência de processamento entre os núcleos especializados do processador, além de oferecer um acesso direto e específico a memória. Cada SPE tem controle de seus recursos e possui um acesso único a eles, como resultado têm-se o aumento da eficiência de processamento e acesso a memória por ciclo de máquina. Enfim uma real arquitetura multi-threading de alto paralelismo. 4.2) Comunidade Assim como existem questões de arquitetura de processadores que podem definir sua eficiência, performance e adoção no mercado, há questões de implementação também importantes, que podem definir o sucesso de um novo produto. São elas: Como ampliar o uso de um novo processador em um mercado tão competitivo? Como sustentar e ampliar um ambiente de pesquisa e desenvolvimento com base em um novo processador? Como manter o ciclo de inovações e correções de um novo processador? Estas questões também nortearam o desenvolvimento do CELL BE e como resposta foram estabelecidos os seguintes princípios: Abrir a base de conhecimento à comunidade de desenvolvedores. Não prender os desenvolvedores em ferramentas proprietárias Oferecer um ambiente de desenvolvimento livre Estabelecer uma ligação estável com a academia Firmes a estes princípios a IBM disponibilizou online todos os recursos para que através do Linux e ferramentas GNU, qualquer um possa aprender e desenvolver com o CELL BE, basta acessar: http://www-128.ibm.com/developerworks/power/cell/

12 4.3) Concorrência: A abordagem do aumento do processamento em MHz não é mais o único avanço competitivo dos fabricantes de processadores, atualmente a busca por múltiplos núcleos de 64 bits com uma melhor relação de energia e potência, tem sido o alvo da indústria de processadores. Ainda assim o mercado de processadores mutinúcleo tem, de certa forma segundo a lei de Moore rompido os limites de processamento progressivamente, porém, além do processador CELL BE pouco se tem visto com relação a processadores com núcleos especializados. Iniciativas de inclusão de uma unidade de processamento gráfico (GPU) junto a CPU estão nos planos da AMD e Intel, além do aumento do número de núcleos em um único processador. Neste sentido a Intel se destacou com o recente anúncio da CPU Nehalem que integra de modo escalável GPU e controlador de memória em uma única CPU e abre o caminho da Intel para processadores de 8 núcleos, contudo esta nova tecnologia tem previsão de lançamento ao consumidor apenas par 2008. 5) Bibliografia: Cell Broadband Engine Architecture, Version 1.01, October 3, 2006 http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/1aeee1270ea277638725706 0006E61BA Cell Broadband Engine resource center http://www-128.ibm.com/developerworks/power/cell/

13 6) Marcas utilizadas neste documento: Intel é uma marca registrada da Intel Corporation nos Estados Unidos e em outros países. AMD é uma marca registrada de Advanced Micro Devices, Inc. IBM PowerPC IBM Logo PowerPC Architecture ibm.com Os nomes acima são marcas registradas da International Business Machines Corporation. Cell Broadband Engine é uma marca registrada da Entertainment, Inc. Sony Computer --- Fim de documento ---