Você está na página 1de 38

Processadores Multicore

Grupo: Deivison, Dennis e Lucas


Professor: Daves Martins

Sumrio
Introduo
Motivao para multicore
O que processador multicore?
Propriedades de sistemas multicore
Benefcio em aplicao de multicore
Tipos de memrias para multiprocessador
Multi-core design
Processador multicore simtrico (SMP)
Processador multicore assimtrico (ASMP)

Vantagens e desvantagens dos multicore

Introduo
Primeiro processador (1970)
Intel 4004

Disseminao de PC no mundo (1980)


Acima de microprocessador de 32bits
AMD seguiu a tecnologia da Intel

Introduo
Aumento de tarefas de computador (1990)
Aumento usrio de computador
Gerenciamento de servidor > construir o banco de dados
Ns precisamos melhorar performance de PC ou Servidor.
Essas demandas aceleram o desenvolvimento de
microprocessadores.

Emergncia de processadores multicore (2000)


Limite de melhoramento de um singlecore
Contrrio da ideia que melhorar a tecnologia da MP
Colocar ncleo de execuo em um dado

Motivao para multicore


Explorar o aumento de caracterstica de
tamanho e densidade
Aumento de unidades funcional por chip
(eficincia espacial)
Limite de consumao de energia por operao
Restringe o crescimento da complexidade de
processador

Computador multicore
Processador multicore: um sistema de
processamento composto de dois ou mais ncleos
independentes. Os ncleos so tipicamente
integrados em um nico circuito integrado
(conhecido como um chip multiprocessador ou
CMP).
Processador muitos core: aquele em que o nmero
de ncleos suficientemente grande para aquelas
tcnicas do multiprocessador tradicional no so
eficientes - esse limite est em algum lugar no
intervalo de vrias dezenas de ncleos - e
provavelmente requer uma rede no chip

Computador multicore
Processador dual-core contm dois
microprocessadores independentes.
Um dual core set-up um pouco comparvel
a ter mltiplos processadores, separados
instalados no mesmo computador, mas o fato
deles estarem conectados ao mesmo socket,
deixa a conexo mais rpida. Idealmente, um
processador dual core quase duas vezes
mais potente como um processador de ncleo
nico. Na prtica, os ganhos de desempenho
esto entre 50%: um processador dual core
provvel que seja cerca de uma vez e meia to
poderoso quanto um processador de ncleo
nico.

Computador multicore
O processador multicore: Implementa o multiprocessamento em
um nico pacote fsico. Ncleos em dispositivos multicore podem
ser acoplados juntos fortemente ou fracamente. Por exemplo,
ncleos podem ou no dividir os caches e podem implementar
mensagens passando ou dividindo memria entre ncleos por
mtodos de comunicao. comum em topologias de rede
interconectar ncleos incluindo: barramento, ring, 2 camadas de
dimenso e barra transversal.
Todos os ncleos so indnticos quanto aos sistemas de simetria
multicore e no so idnticos em sistemas assimtricos multicore,
apenas os processadores de um s ncleo so. Ncleos em sistemas
multicore podem implementar arquiteturas como superescalar,
processo de vectorizao, ou multithreading.

Computador multicore
Processadores multicore so aplamente usados em diversar
aplicaes, incluindo: redes, processo de sinal digital,
grficos, etc.
O aumento na performace ganho pelo uso de processadores
multicore fortemente dependente dos algoritmos dos
softwares e da implementao.
Processamento multicore est em crescimento na indstria,
enquanto os processadores de um ncleo esto chegando
em seus limites fsicos de complexidade e velocidade.
Companias que esto produzindo ou trabalhando com o
multicore so: AMD, ARM, Broadcom, Intel e VIA.

Propriedades do sistema m
Ncloes sero compartilhados em vasto alcance de
aplicaes dinamicamente.
Carregar no ser mais considerado simtrico
atravs dos ncleos.
Ncleos provavelmente no sero assimtricos
como aceleradores se tornaram comum para
hardwares cientficos.
Cdigo fonte no estar disponivel, previnindo a
compilao contra um hardware especfico

Qual aplicao beneficiad


de multicore?
Database servers;
Web servers;
Mercado de telecomunicao;
Aplicaes de multimdia;
Aplicaes cientficas;
No geral, aplicaes com nvel de tarefas em
paralelismo (ao contrrio de nvel de
instrues em paralelismo)

Arquitetura multicore
Replica mltiplos ncleos de processadores em
um dado.

Os ncleos ajustam em um socket de


processador individual.

Os cores rodam em parale


(como em um processado
several
threads

several
threads

several
threads

several
threads

c
o
r
e

c
o
r
e

c
o
r
e

c
o
r
e

Programando para multic


Programadores devem usar tarefas ou
processos.
Distribua o trabalho entre vrios ncleos.
Escreva algoritmos paralelos.
S.O. mapear tarefas/processos para ncleos

Interao com o S.O.


A maioria dos principais S.O. suportam
multicore hoje
S.O. reconhecem cada ncleo como
processador separado.
Programador do sistema operacional
mapeia linhas/processos para diferentes
ncleos.

Exemplos
Editar uma foto enquanto grava um programa de TV
atravs de um gravador de video digital.
Baixar um software enquanto roda um programa de
anti vrus.
Qualquer coisa que pode ser tarefada hoje ser
mapeada eficientemente para multicore.
MAS: algumas aplicaes difceis para paralelismo.

Por que multicore?


Melhor performance
Para a multitarefa
gravao de CD com trabalhos grficos ao
mesmo tempo
Consumo de energia e gerao de calor
Causado do aumento de velocidade de clock da
CPU

Por que multicore?


Save the room of motherboard
Dois cores invididuais em um dado
Simplicidade
Ns precisamos de sistemas adicionais para
controlar os vrios ncleos individuais.
Eficincia econmica
Um dualcore mais barato do que dois
singlecores

Tipos de memria de
multiprocessador
Memria compartilhada:
Nesse modelo, h um (grande)
compartilhamento comum de memria para
todos processadores.
Memria distribuida:
Nesse modelo, cada processador tem sua
prpria (pequena) memria local, e seu
contedo no replicado em qualquer outro
lugar mais.

Microprocessador design
Pegando a idia de operaes superescalares
para o prximo nvel, possivel botar
multiplos ncleos de microprocessadores em
um unico chip, e tendo o ncleos operando em
paralelo um com o outro.

Processador multicore sim


(SMP)
Processador multi-core simtrico is quando se tem
multiplos ncleos em um unico chip e todos eles so
idnticos.
Exemplo: Intel Core 2:
O Intel Core 2 um exemplo de um processador multicore simtrico. O Core 2 tem 2 ncleos em um
chip(Core 2 Duo) ou 4 cores em um chip(Core 2
Quad). Cada ncleo no Core 2 simtrico, e pode
funcionar independente um do outro. Isso requer uma
mistura de software e hardware para trabalharem um
com outro.

Processador multicore sim


(SMP)

Todos os ncleos que existem em um


dado so exatamente idnticos

Processador multicore sim


(SMP)
O processador multicore simtrico um
processador cujo os ncleos so exatamente o
mesmo. Todo o processador da mesma
arquitetura e capacidade.
Cada ncleo da mesma capacidade, isso
requer uma unidade dinamica para tarefas
especificas. Software usa tecnicas como o
multithreading faz melhor uso de
processadores multi-core como o Intel Core2.

Processador multicore sim


(SMP)
Aplicaes
Computador pessoal

Servidor/Super
computador

Processador multicore ass


(ASMP)
Processadores multi-core assimtricos quando se tem
multiplos ncleos em um mesmo chip, mas esses ncleos
tem design diferentes. Por exemplo, poder ter 2 ncleos de
propsitos gerais e 2 ncleos de vetorizao em um mesmo
chip.
Exemplo: Processador Cell :
Construido pela IBM, o processador Cell usado no PlayStation 3
usa um processador multi-core assimtrico. A celula tem 9 ncleos
de processamento: um de propsitos gerais, e 8 ncleos de
processamento de dados. O ncleo de propsitos gerais se chama
Power Processor Element (PPE) controla a comunicao entre os
ncleos, e distribui as tarefas computacionais para os outros
ncleos de processamento. Os outros 8 ncleos so chamados
Synergistic Processor Elements (SPE), e so especialmente
progetados para ter alto ponto flutuante, especialmente com
operaes vetoriais.

Exemplo: processador de
celular IBM

Nota Como o ncloe SPE s conecta com o PPE, e no com uns


com os outros. Tambem o ncleo PPE muito mais largo que os
ncleos individais SPE.

Exemplo ASMP
Aplicaes:
Super computador:
IBM Roadrunner, hibrido
do processador Cell.

Exemplo ASMP
Applicaes
Home cinema
Toshiba esta considerando em
produzir HDTVs usando Cell.
Eles ja haviam apresentado o
sistema para descodificar 48
transmisses em MPEG-2. Isso
pode ser usado para ver dezenas
de miniaturas de videos na tela
ao mesmo tempo.

Exemplo ASMP
Aplicaes
Chip de processamento
Grfico
Algumas companias, como a
Ledtek, tem planaos para
lanar chips com PCI-E
baseado no chip Cell para
permitir ser Mais rapido
que o tempo real para
traduzir de H.264, MPEG-2
e MPEG-4 video.

Exemplo ASMP
Aplicaes
Console Video Games

A principal aplicao comercial


o console de games PS3.
Esse video game contem a
primeira aplicao de produtos
do processador Cell, clock de
3,2 Ghz e contendo 7 de 8 SPEs
operacionais, que permiti a
Sony aumentar o rendimento na
manufatura de processadores.
Apenas 6 de 7 SPEs so
acessiveis para os
desenvolvedores e 1 para o
Sistema Operacional.

Exemplo ASMP
Futuro
Baseado em caracteristicas unicas, Cell pode
prencher a lacuna entre o processadores
convencionais de desktop(assim como as familias
Athlon 64 e Core 2) e mais especializados em
processadores de alta perfomace, como o NVIDIA
e o ATI processadores grficos (GPUs).
Cell pretende espandir essa rea usando sistemas
distribuidos digitais atuais e futuros, bem como em
displays de alta definio e equipamentos de
gravao e sistemas de entreterimento
computacional.

Computador multicore
Futuro do SMP
Facil de colocar varios ncleos em um circuito
integrado
Facil de se programar a SMP
Porcausa dos ncloes idnticos

Facil de se manter a velocidade de


desenvolvimento
Aplicavel a qualquer tipo de sistema (Uso Geral)

Computador multicore
Futuro da SMP (relacionado a ASMP)
No apropriado para certos sistemas especficos
Processamento de Audio/video, compresso de dados e
assim por diante
Perda de energia
Porque feito para propsito geral
Menos eficiente que ASMP
Razes pela qual ASMP tem emergido.

Desafios resultantes do m
Baseia-se na explorao eficaz do paralelismo multitarefa
Necessidade de modelo computao paralela e modelo programao
paralela

Memoria

Largura de banda de memoria


Maneira para obter os dados dos bancos de memoria
Maneira de pegar os dados no vetor do processador multi-core

Latencia de memoria
Fragmentos do cache L3

Pinos se tornam pontos de gargalo


Taxa dos pinos projetados cresce de forma lenta
Taxa da largura de banda por pino(par) projetada cresce de forma lenta

Requer mecanismo para eficiente cordenao dentro do processador


Sincronizao

Vantagens
Circuito de coerncia de cache pode operar a altas taxas quando
possivel.
Sinais diferentes entre CPUs viajam pequenas distancias, esses sinais
degradam menos.
Essa alta quatidade de sinais permite mais dados para serem enviados
em determinado periodo de tempo desde que sinais individuais sejam
pequenos e no ter a necessecidade de se repeti-los.
O processador dual-core usa um pouco menos energia do que dois
ncleos de processadores individuais acoplados em um processador.

Desvantagens
Habilidade do processador multi-core aumenta a perfomace da
aplicao dependendo do uso das multi tarefas com aplicaes
A maioria dos atuais video-games iro rodar rpido a 3 GHz em um
unico nucleo, e o dual-core processa 2 GHz(mesma arquitetura).
Dois nucleos processadores compartilham o mesmo sistema de bus
e de banda de memoria, isso limita a perfomace real.
Se um processador de um ncleo fechado para o limite de banda
de memoria, o processador dual-core so da 30% a 70% de
melhoramento.
Se a banda de memoria no um problema, 90% de melhoramento
esperado.

Concluso
Processadores multicore representam uma nova tendncia
importante em arquiteturas de computador.
Diminui a energia consumida e a gerao de calor.
Limita o tamanho dos cabos e a latencia interconectada

Permitem o verdadeiro nvel de paralelismo, com grande eficacia


energtica e escabilidade
Utiliza todo o potencial, aplicaes precisam se mover de unico
modelo para um modelo multi tarefas.
Tcnicas de programao paralela ganham importancia.

A dificuldade no em construir um processador multi-core, mais sim,


programa-lo, ao fato que menos aplicaes benificiam o crescimento
exponencial da perfomace dos CPUs.

A industria de software precisa voltar ao estado onde as aplicaes


existentes rodem mais rapido no novo hardware.

Exemplo de performance - AutoC

Figura - Support for multi-core processors with AutoCAD