Você está na página 1de 10

COMPUTADORES “MULTICORE”

MARCO JOSÉ SOUZA LIMA

POSSE/GO
2

OUTUBRO - 2010
3

MARCO JOSÉ SOUZA LIMA

COMPUTADORES “MULTICORE”

Trabalho apresentado ao Professor


ALEXANDRE MROKOWSKI JUNIOR
da disciplina Arquitetura de
computadores da turma 2º ano do curso
de B.S.I.

UEG – Posse-GO
4

OUTUBRO DE 2010

SUMÁRIO

1- INTRODUÇÃO........................................................................................... p.4

2- MULTINÚCLEO........................................................................................ p.5

3- DESCRIÇÃO.............................................................................................. p.5

4- ARQUITETURA........................................................................................ p.6

5- VANTAGENS............................................................................................ p.6

6- FUTURO DA TECNOLOGIA MULTICORE ......................................... p.7

7- CONCLUSÃO............................................................................................ p.8

8- REFERÊNCIAS..........................................................................................p.9
5

INTRODUÇÃO
Durante as últimas décadas, o desempenho alcançado pelos
microprocessadores cresceu exponencialmente. Esse crescimento deveu-se
principalmente ao avanço da tecnologia de fabricação que possibilitou a
construção de transistores menores e mais rápidos. No entanto, mesmo
seguindo a Lei de Moore1, fatores novos estão limitando o crescimento do
desempenho dos microprocessadores: aumento da energia dissipada, limite na
extração de paralelismo no nível de instruções e complexidade de projeto. A
tendência atual é desenvolver projetos mais simples, com freqüência de
operação mais baixa, e integrar em um mesmo chip dois ou mais núcleos de
processamento
6

MULTINÚCLEO
Multinúcleo (múltiplos núcleos, do inglês multicore) consiste em
colocar dois ou mais núcleos de processamento (cores) no interior de um único
encapsulamento (um único chip). O sistema operacional trata cada um desses
núcleos como um processador diferente. Na maioria dos casos, cada unidade
possui seu próprio cache e pode processar várias instruções simultaneamente.
Adicionar novos núcleos de processamento a um processador (único
encapsulamento) possibilita que as instruções das aplicações sejam
executadas em paralelo, como se fossem 2 processadores distintos.

Os dois núcleos não somam a capacidade de processamento, mas


dividem as tarefas entre si. Por exemplo, um processador de dois núcleos com
clock de 1.8 GHz não equivale a um processador de um núcleo funcionando
com clock de 3.6 Ghz.

O surgimento dos processadores multinúcleo ou multicore (como é


popularmente conhecido), tornou-se necessário principalmente devido a
missão cada vez mais difícil de resfriar processadores singlecore
(processadores de apenas um núcleo) com clocks cada vez mais altos; devido
a concentração cada vez maior de transistores cada vez menores em um
mesmo circuito integrado. E além dessa e outras limitações dos processadores
singlecore, exite a grande diferença entre a velocidade da memória e do
processador, aliada à estreita banda de dados, que faz com que
aproximadamente 75 por cento do uso do microprocessador seja gasto na
espera por resultados dos acessos à memória.

DESCRIÇÃO
Na maioria dos processadores de mais de um núcleo, cada núcleo
possui seu próprio cache e alguns casos realizam acesso direto e
independente à memória principal; possibilita-se, assim, que as instruções de
aplicações sejam executadas em paralelo, ou seja, cada processador realiza os
cálculos de que é requisitado concorrentemente com o outro, ganhando
desempenho.

Outra vantagem do processamento em paralelo é a capacidade de cada


processador ficar responsável pela execução de um aplicativo, como por
exemplo, quando o usuário está executando algum arquivo de som e ao
mesmo tempo executando a varredura do antivírus.

A diferença desse processamento paralelo e do até então usado nos


processadores singlecore pode ser visto nas figuras abaixo; observe o gargalo
(bottleneck) criado pelos aplicativos executados simultaneamente no
singlecore, e como ele desaparece na figura com os dois núcleos (cores).
7

VANTAGENS
Uma das principais vantagens dos processadores multicore é também
um dos principais motivos da sua invenção. Essa vantagem é a sua maior
capacidade - comparado aos singlecores - de resfriamento; o que ainda
possibilitou e ainda possibilita o aumento do poder de processamento dos
processadores.

As outras vantagens quase que por completo relacionam-se com a


capacidade de processamento, principalmente quando se trata da execução de
mais de um aplicativo ao mesmo tempo ou mesmo e aplicativos capazes de
realizar o seu processamento paralelamente, conseguindo assim trabalhar com
os dois núcleos concomitantemente. Nos processadores mais recentemente
desenvolvidos existe também uma melhora no acesso a memória e na troca de
dados entre os próprios núcleos.

Porém, é importante destacar também que para que a qualidade de


processamento paralelo dos multicores seja utilizada na sua totalidade os
softwares instalados na máquina devem ser escritos para aproveitar esse
recurso; para isso as aplicações devem ser escritas utilizando os conceitos de
threads, assim uma única aplicação utilizará o poder de processamentos dos
dois processadores, como podemos observar na figura abaixo.

ARQUITETURA
Com o surgimento dos multicores tornou-se necessário algumas
adaptações a nível de arquitetura para o melhor aproveitamento dos seus
núcleos, e as primeiras a serem feitas tem como objetivo melhorar o
paralelismo a nível de threads e assim criar uma arquitetura que propicie o
chamado paralelismo ao nível do chip.

Algumas vantagens da arquitetura são: a melhor localização dos dados


em se comparando com outras arquiteturas de multiprocessamento; a melhor
comunicação entre as unidades e o número reduzido de quantidade de espaço
e energia necessários.

A arquitetura é geralmente um SMP, ou seja, um multiprocessamento


simétrico; implementado em um circuito VLSI - Very Large Scale Integration.
Essa é uma arquitetura onde dois ou mais processadores idênticos são ligados
a uma única memória principal. Porém ao SMP existem outras alternativas de
se criar uma arquitetura com variantes para o tratamento da memória ou até
mesmo a comunicação entre os diversos núcleos presentes no processador.
Algumas dessas variantes podem ser observadas nos artigos abaixo:

• Arquitetura Intel Core2


8

• Arquitetura AMD Athlon 64 X2

FUTURO DA TECNOLOGIA MULTICORE


O MIT, Instituto de Tecnologia de Massachusetts, anunciou um
processador com 64 núcleos, cujo design difere drasticamente dos
processadores existentes hoje[1]. O novo chip, chamado Tile64, evita o que é
hoje o maior gargalo no desempenho dos processadores multicores e ele
consome menos energia.

Nos processadores multicores existentes hoje, cada núcleo se comunica


com o outro através de um barramento comum. Se pensarmos em dois ou
quatro núcleos dividindo um barramento, a performance não é muito afetada.
Quando pensamos em 16 ou mais núcleos sendo usados ao mesmo tempo, a
historia é completamente diferente. Este é o maior gargalo no desempenho dos
processadores multicores.

O Tile64 não possui um barramento central. Ao invés disso, os núcleos


estão diretamente conectados. Cada núcleo possui todas as característica de
um processador e memória. O novo conceito aplicado nesses processadores é
a estrutura de malha na conexão entre os núcleos. Essa estrutura é similar à
encontrada na Internet, uma rede que possui vários nós descentralizados. Uma
razão que faz a Internet capaz de transmitir dado tão rapidamente é que os
pacotes de informação são enviados através de uma vasta rede interligada,
evitando assim o congestionamento desses pacotes. Essa nova arquitetura
abre portas para que novos processadores recebam números cada vez
maiores de núcleos. A existência de um número tão grande de cores, começa a
requerer a utilização de um esquema de manipulação próximo a grades
computacionais.
9

CONCLUSÃO
Em arquiteturas de um só núcleo (singlecore), o aumento da freqüência
de operação dos microprocessadores implicava um aumento proporcional no
desempenho do software existente. Em arquiteturas de múltiplos núcleos
(multicore), isso deixa de ser verdade.
10

REFERÊNCIAS
Obtida de "http://pt.wikipedia.org/wiki/Multin%C3%BAcleo"