Вы находитесь на странице: 1из 8

Arquiteturas Multicore

Giovani Chiachia
RA: 098362
Instituto de Computao
Universidade Estadual de Campinas
giovanichiachia@gmail.com

RESUMO Recentemente, o ritmo de evoluca o das maquinas paralelas


O ritmo de evolucao das m aquinas paralelas mudou drasti- mudou drasticamente com a adoca o por parte das grandes
camente com a adoca o por parte das grandes companhias ao companhias ao modelo de computaca o de multiplos n
ucleos.
modelo de computaca o de m ultiplos n
ucleos. Previsoes indi- Esta foi a forma encontrada por seus arquitetos para manter
cam que no ano de 2022 ser ao necessarios processadores com a taxa de aumento de desempenho estabelecida pela lei de
um desempenho 300 vezes maior que os atuais. Ate mesmo Moore e observada pelos consumidores. O paradigma de
em contextos mais restritos os processadores multicore est ao evoluca
o ate ent
ao baseava-se principalmente no aumento da
sendo exigidos. Isso faz com que eles sejam objeto de grande frequencia de operacao dos processadores de n ucleo unico.
interesse comercial e cientfico. Esse trabalho discorre sobre No entanto, o aumento no consumo de energia resultante
as muitas possibilidades de implementaca o das arquiteturas desta abordagem e proporcionalmente maior que o ganho de
multicore, ponderando as particularidades de cada uma de- desempenho. Em funca o disto, o superaquecimento destes
las e oferecendo um panorama sobre os modelos comerciais processadores tornou-se uma de suas principais limitaco es
as concebe. [2].

Na abordagem multicore, o aumento do desempenho est a


Palavras-chave relacionado com o aumento do n umero de n ucleos de pro-
Multicore, Arquitetura de Computadores, Computaca
o Pa- cessamento, e nao com a frequencia de operaca o dos n u-
ralela cleos. Embora isso seja uma grande vantagem, esta soluca o
traz consigo as complicac
oes inerentes `
a programaca o pa-
1. INTRODUO ralela. Em grande parte, estas complicaco
es s
ao resultantes
A historia da computaca o paralela pode ser contada a partir do gerenciamento hier
arquico das mem orias, nas quais os da-
de meados da decada de 1960, com o surgimento do com- dos armazenados precisam ser compartilhados por diferentes
putador Solomon [1]. Porem, a dificuldade em program a- processadores [2].
lo restringiu inicialmente seu uso a cientistas e engenheiros
que entendiam o domnio de suas aplicaco es e tinham re- De acordo com o roadmap ITRS [3], para atender as deman-
cursos e conhecimentos para tal. Nas decadas subsequentes, das crescentes, no ano de 2022 ser ao necess
arios processa-
esse mesmo motivo fez com que iniciativas de muitas com- dores com um desempenho 300 vezes maior que os atuais.
panhias na criacao de m aquinas paralelas fossem frustradas. Ate mesmo em contextos mais restritos os processadores
Uma das exceco es foi a maquina vetorial Cray. Porem, essas multicore de prop osito geral j
a est
ao sendo, e serao ainda
maquinas tambem possuam um processador escalar muito mais, exigidos. Em dispositivos como os smart phones, por
r
apido que podia ser programado de maneira convencional. exemplo, tais processadores vem de encontro com a neces-
Alem disso, o paradigma de programaca o vetorial nao era sidade de processar sinais digitais de forma simultanea com
t
ao intimidador quanto a programaca o paralela de prop o- aplicaco
es de outras naturezas. Essa perspectiva, aliada aos
sito geral [1]. desafios que ela representa, faz com que as arquiteturas mul-
ticore sejam objeto de grande interesse comercial e cientfico.
Trabalho 2 da disciplina de Arquitetura de Computa-
dores do Programa de P os-Graduaca
o do IC-UNICAMP Conforme veremos ao longo das pr oximas sec
oes, o obje-
http://www.ic.unicamp.br/~ducatte/mo401/1s2010/ tivo deste trabalho e apresentar uma vis ao geral sobre as
trabalho2.html arquiteturas multicore. Para isto, cobriremos na Sec ao 2 os
principais atributos que as caracterizam. Em seguida, na
Seca
o 3, apresentaremos uma serie de implementaco es co-
merciais de arquiteturas multicore. Ao final dessa mesma
seca
o, tres dessas arquiteturas, cada qual com suas particu-
laridades, ser ao apresentadas com maior refinamento. Por
fim, na Seca o 4 faremos algumas consideracoes finais sobre
o tema.
2. PRINCIPAIS ATRIBUTOS porte a execuca
o de vdeos, por exemplo, deve gastar pouca
As arquiteturas multicore podem ser classificadas de mui- energia para isso. Mesmo assim, a execuc ao do vdeo deve
tas maneiras. De acordo com Blake et al. [1], a classe de satisfazer certas caractersticas de qualidade.
aplicaca
o, a relaca
o consumo de energia/desempenho, os ele-
mentos de processamento e o sistema de mem oria est
ao entre O desempenho dos processadores sempre foi o principal ob-
os atributos mais importantes. jetivo dos projetistas. Porem, na u ltima decada, o baixo
consumo de energia tambem passou a ser tratado como um
2.1 Classe de Aplicao requisito de grande import ancia. Em grande parte, isto se
Se uma arquitetura e concebida para atender a um domnio deve ao crescimento do mercado de telefones celulares e de
especfico de aplicaca
o, ela pode ser desenhada para respon- computadores port ateis, onde o tamanho e a vida u til das
der melhor ` as caractersticas desse domnio. Como resul- baterias sao restrico
es crticas. Mais recentemente, o cres-
tado, espera-se que esta arquitetura seja eficiente para esse cimento dos data centers como suporte ` a computac
ao em
domnio, mas provavelmente ela ser a ineficiente para outros. nuvem fez com que o consumo de energia tambem se tor-
O ajuste de uma soluca o para um domnio especfico de apli- nasse um atributo importante no desenho de computadores
caca
o pode trazer muitas consequencias positivas. A mel- nao-portateis. O modelo de processamento de prop osito ge-
hor delas talvez seja a economia de energia. Processadores ral com m ultiplos nucleos se encaixa muito bem `as demandas
de Sinais Digitais (DSPs) s ao um bom exemplo disso. Os desses data centers, que j a consomem mais energia que as in-
domnios de aplicaca o podem ser divididos em duas grandes dustrias de base nos Estados Unidos [1]. Esses data centers
classses: Os dominados pelo processamento de dados e os s
ao tao grandes que o consumo de energia dos componentes
em que o processamento de controles prevalece. multicore sao crticos para os seus custos e sua operaca
o.

2.1.1 Processamento de Dados 2.3 Elementos de Processamento


Muitas aplicacoes s
ao dominadas pelo processamento de da- Sobre os elementos de processamento, podemos abord a-los
dos. Entre as mais conhecidas, podemos citar a rasteriza- em dois aspectos, sua arquitetura e sua microarquitetura. A
ca
o de gr
aficos, os processamentos de imagens e de audio e arquitetura esta relacionada ao conjunto de instruco
es (em
o processamento de comunicac oes wireless. Muitos algorit- ingles, ISA) e define a interface entre o hardware e o soft-
mos para processamento de sinais fazem parte deste grupo. ware. A microarquitetura, por sua vez, tem a ver com a
Nessas aplicacoes, a computaca o baseia-se tipicamente em implementac ao do conjunto de instruco
es.
uma sequencia de operacoes sobre um stream de dados onde
pouca ou nenhuma informaca o e reusada e um alto through- 2.3.1 Arquitetura
put e necess
ario. Estas operaco
es podem frequentemente ser Em processadores multicore convencionais, o ISA de cada
feitas em paralelo. Por isso, elas favorecem uma arquitetura nucleo e tipicamente um ISA legado dos processadores mais
que tenha tantos elementos de processamento quanto poss- antigos com pequenas modificaco es para suportar parale-
vel, mas sem exceder a relac ao entre consumo de energia e lismos, tal como a adica o de instruco
es at
omicas para sin-
desempenho almejada. cronizacao. A vantagem desses ISAs que mantem o legado
das instruco es e a sua compatibilidade tanto com as imple-
2.1.2 Processamento de Controles mentaco es quanto com as ferramentas de programaca o ja
As aplicaco es aonde o processamento de controles e domi- existentes.
nante incluem a compress ao/descompress ao de arquivos, os
processamentos em rede e a execuca o de operaco
es trans- Os ISAs podem ser classificados como reduzidos (RISC, em
acionais. Nesses tipos de aplicaca o, os programas tendem ingles) ou complexos (CISC, em ingles). No entanto, muitas
a possuir muitos desvios condicionais, dificultando o parale- maquinas CISC se parecem com suas correspondentes RISC
lismo. Alem disso, eles muitas vezes precisam manter uma uma vez que a decodificaca o das instruco
es complexas e feita.
serie de informaco
es sobre seu pr
oprio estado e normalmente Os c odigos em uma m aquina CISC s ao menores em funca o
fazem reuso de uma grande quantidade de dados. Por isso, da riqueza sem antica das instruco
es. Por outro lado, as m a-
essas aplicacoes favorecem um n umero modesto de elemen- quinas RISC facilitam o trabalho dos compiladores e sua mi-
tos de processamento de prop osito geral para lidar com a croarquitetura e mais f acil de ser implementada. Alem das
natureza desestruturada do seu c odigo devido aos controles. definico
es basicas do ISA, os fabricantes tem continuada-
mente melhorado o desempenho de operaco es mais comuns
Na maioria dos casos, nenhuma aplicac ao se ajusta exata- atraves de extens oes adicionadas ao conjunto. A Intel, por
mente a uma dessas duas divis oes. Em um codec de vdeo, exemplo, adicionou os subconjuntos MMX, MMX2 e SSE1-
por exemplo, o processamento pode ser dominado por da- 4 [4] para melhorar o desempenho dos processamentos mul-
dos ao se processar algum filtro sobre os quadros, mas pode timdia. De forma similar, outros fabricantes seguiram o
ser dominados por estruturas de controle quando o vdeo e mesmo caminho. Essas instruc oes permitiram melhorar a
comprimido ou descomprimido. No entanto, e interessante relaca
o entre consumo de energia e desempenho por empre-
pensar nessa divisao para entender como diferentes arquite- garem partes especializadas do hardware em sua execuca o
turas multicore podem afetar o desempenho de aplicaco es (e.g., obter a transposta de um vetor).
com caractersticas especficas.
2.3.2 Microarquitetura
2.2 Relao Consumo de Energia/Desempenho A microarquitetura dos elementos de processamento e res-
Muitos dispositivos possuem requisitos de consumo de ener- pons
avel, em muitos aspectos, pelo desempenho e pelo con-
gia e desempenho restritos. Um telefone celular com su- sumo de energia que podem ser esperados de um multicore.
Essa microarquitetura e normalmente associada ao domnio ao uso em netbooks e que emprega um conjunto de n
ucleos
de aplicaca
o para o qual o processador multicore e desen- fora-de-ordem.
hado. Apesar de grandes fabricantes como a Intel oferecem
ao mercado processadores multicore com n ucleos homoge- Ainda no intuito de melhorar o desempenho das arquiteturas
neos, muitas vezes e vantajoso combinar diferentes tipos de superescalares, mas desconsiderando a necessidade de lidar
elementos de processamento em uma mesma arquitetura. com a logica complexa necess aria para execuca
o apropriada
Uma forma de organizaca o heterogenea consiste no emprego de uma sequencia de instruco es, os conceitos de u
nica instru-
de um processador de controle para comandar as atividades c
ao sobre multiplos dados (SIMD, em ingles) ou de instru-
de um grupo de n ucleos mais simples dedicados ao proces- c
oes com palavras muito longas (VLIW, em ingles) podem
samento de dados. Um dos benefcios dessa organizaca o e ser empregados. A arquitetura SIMD faz uso de registra-
reduzir o consumo de energia sem perder desempenho. Po- dores maiores que s ao divididos em porco es de informacao
rem, o modelo de programac ao desse tipo de arquitetura e menores a serem processadas simultaneamente pela mesma
normalmente mais complicado. instruca
o. Um exemplo simples de utilizaca o do conceito e
no calculo do produto escalar entre dois vetores, onde cada
O tipo mais simples de elemento de processamento faz o par de elementos e processado em paralelo. Este tipo de
despacho das instruc
oes na ordem em que elas est ao no pro- arquitetura e muito aderente a aplicaco es onde o processa-
grama. Nele, os data forwarding e os hazards de controle s ao mento de dados e intensivo e independente. O processador
tratados dinamicamente. A partir desse modelo, h a duas IBM Cell [7] faz uso de m ultiplos n
ucleos SIMD talhados
frentes que podem ser trabalhadas para obter um desem- para execucao de aplicaco
es dominadas pelo processamento
penho superior. Primeiramente, m ultiplos pipelines podem de dados.
ser adicionados para ler e despachar mais de uma instruca o
em paralelo, criando um elemento de processamento super- Para evitar as limitacoes da arquitetura SIMD, onde ape-
scalar. No entanto, o aumento no n umero de instruco es nas uma instruca o pode operar sobre os dados, as instrucoes
despachadas requer uma l ogica extra para lidar com os data VLIW podem ser usadas. Nela, m ulitplos pipelines s
ao usa-
forwarding e as detecco
es de hazards necess arias para asse- dos. Porem, ao contr ario de um n ucleo superescalar tpico,
gurar a corretude da execucao. A complexidade dessa l ogica nao ha necessidade de se fazer forwarding, de agendar as
cresce mais do que o quadrado do n umero de pipelines e o instruco
es, ou ainda de detectar hazards, pois espera-se que
ponto em que os ganhos n ao sao compensadores e rapida- o compilador faca isso atraves do agrupamento das instru-
mente atingido. Experimentos com processadores de prop o- co
es em pacotes que possam ser executados em paralelo sem
sito geral sugerem que esse ponto seja em torno de tres a ferir restrico
es de dados ou de controle. Como se pode ob-
quatro pipelines, mas isso depende muito da aplicaca o [1]. servar, a complexidade nessa arquitetura e transferida para
A segunda frente de melhorias baseia-se no aumento do n u- o compilador e ela pode ser muito afetada caso o compilador
mero de estagios do pipeline, reduzindo a l ogica contida em nao consiga encontrar um nvel satisfatorio de paralelismo.
cada estagio. Isso permite que o perodo do clock seja re- As arquiteturas VLIW e SIMD resultam em boas relaco es
duzido, mas tambem faz com que a penalidade diante de entre desempenho e consumo de energia, mas normalmente
um desvio seja maior. Os elementos de processamento com sao adequadas somente para nichos especficos de aplicaca o
despacho em ordem s ao fisicamente menores, consomem me- com um grande n umero de operaco
es independentes que po-
nos energia e podem ser facilmente combinados em grandes dem ser exploradas pelo compilador ou pelo programador.
quantidades para atender aplicaco es que possuem alto pa-
ralelismo em nvel de thread (TLP, em ingles) e pequenos 2.4 Sistema de Memria
trechos de processamento sequencial. Como exemplo, a ar- Em arquiteturas monoprocessadas, o sistema de mem oria e
quitetura G200 da NVIDIA [5] implementa 240 n ucleos em relativamente simples, consistindo em alguns poucos nveis
ordem em funca o do processamento gr afico ser altamente de mem oria cache para alimentar o processador com dados
paralelo, com poucas seco
es de processamento sequencial. e instruco
es. Nas arquiteturas multicore, as memorias cache
s
ao apenas parte do sistema de mem oria. Os outros com-
Para explorar o tanto quanto possvel de paralelimo na exe- ponentes incluem o modelo de consistencia dos dados, os
cuc
ao de codigos sequenciais em n ucleos superescalares, a mecanismos para coerencia entre as caches e a forma de in-
execucao fora de ordem e empregada. Seu objetivo e en- terconex ao entre elas. Esses componentes determinam como
contrar dinamicamente uma sequencia em que as operaco es os n
ucleos se comunicam e impactam na programaca o, no de-
possam ser executadas de modo a manter o pipeline o mais sempenho das aplicaco es paralelas e no n
umero de nucleos
cheio possvel. Todavia, este agendamento din amico re- que o sistema comporta.
quer o emprego de circuitos complexos e que consomem
muito energia. Os n ucleos com execucao fora de ordem sao 2.4.1 Modelo de Consistncia
mais adequados a aplicaco es que possuem muitos tipos de
O modelo de consistencia define como as operacoes em memo-
comportamento e que demandam por alto desempenho. A
ria podem ser reordenadas enquanto o c odigo esta sendo
maioria dos processadores fora de ordem fazem o despacho
executado. Ele determina o quanto de esforco e requerido
de m ultiplas instruco
es simultaneamente. Pelo fato deles
do programador ao escrever c odigos paralelos. Modelos mais
serem maiores e consumirem mais energia, na pr atica, pou-
fracos exigem que o programador defina explicitamente como
cos nucleos fora de ordem podem ser combinados. Mesmo
o c
odigo deve ser agendado no processador e possui proto-
assim, eles sao preferveis para execuca
o de aplicaco
es que
colos de sincronizaca
o mais complexos. Por outro lado, os
sao dominadas por extruturas de controle com grandes por-
modelos mais robustos requerem menos esforco do progra-
co
es de c
odigo sequencial e que possuem um TLP moderado.
mador com relaca
o `as sincronizaco
es. O uso de um ou de ou-
Esse e o caso do processador ARM Cortex A9 [6], dirigido
tro tambem causa um impacto direto no desempenho. Por
mal. Para os acessos do tipo streaming, as caches podem dar
lugar `
as mem orias locais, que s
ao tipos n
ao gerenciados de
cache onde nao h a tags, o tempo de acesso e determinstico
e o controle e feito por software. A arquitetura Microsoft
Xenon [8] implementa este tipo de comportamento.

Normalmente, o tamanho das caches est a associado ao ta-


manho do circuito do qual ela faz parte e ao consumo de
energia a ela permitido. Esta tem sido uma tendencia na
elaboracao de arquiteturas de prop osito geral que deve lidar
com grande reuso de dados, como e o caso dos processadores
Intel Core i7 [9]. O numero de nveis de cache tem crescido a
medida que os elementos de processamento aumentam tanto
em quantidade quanto em velocidade. A principal conside-
rac
ao para determin a-lo e a dist
ancia, em ciclos, entre os
Figura 1: Ilustra
c
ao dos modelos de consist
encia [1]. nucleos e a mem oria principal. Quanto maior ela for, mais
nveis de cache s
ao desej
aveis [1]. O primeiro nvel de cache e
normalmente pequeno, r apido e particular de cada elemento
restringirem a ordem como o sistema de mem oria e auto- de processamento. Os nveis subsequentes v ao crescendo
rizado a propagar leituras e escritas aos processadores, os em tamanho e latencia e passam a ser compartilhados por
modelos mais robustos impactam consideravelmente o de- diferentes n ucleos. Em arquiteturas multicore embarcadas,
sempenho da aplicaca o. No modelo de consistencia sequen- pelo fato da dist ancia entre ciclos ser normalmente menor,
cial, por exemplo, todos os processadores do sistema devem um nvel de cache e muitas vezes suficiente, o que tambem
enxergar todas as leituras e escritas tal como elas ocorrem contribui na reduca o do tamanho e do consumo de energia
globalmente e no programa. J a nos modelos mais fracos, da arquitetura.
os processadores n ao precisam necessariamente enxergam as
leituras e escritas feitas por outros processadores na ordem 2.4.3 Interconexo e Coerncia
em que elas acontecem. Em funca o dessa baixa consisten- A interconex ao entre os diferentes nveis na hierarquia da
cia, os modelos mais fracos requerem que os programadores mem oria e respons
avel pela comunicaca o geral entre os ele-
facam uso de primitivas conhecidas como barriers e fences mentos de processamento e tambem pela coerencia (se pre-
para forcar a consistencia quando ela e necess aria. Os mo- sente) entre as caches. H a muitas formas de se fazer esta
delos de consistencias est ao ilustrados na Figura 1. Nela, interconex ao. Podemos faze-la por meio de um barramento,
cada um dos processadores P1-P4 est ao despachando escri- de um anel, de um crossbar ou mesmo atraves do conceito
tas (e.g., X = 1) e leituras (e.g., R(Z) = 0). O modelo de de network-on-chip (NoC). Cada um dos tipos de interco-
consistencia sequencial determina que todas as leituras e es- nexao tem suas vantagens e desvantagens. O barramento,
critas para todos os enderecos sejam vistas na mesma ordem por exemplo, e simples de implementar, mas quando em-
por todos os processadores. Isso e o que ocorre, por exemplo, pregado entre um grande n umero de n ucleos, rapidamente
quando P2 le Z e o valor retornado e o que foi escrito previa- se torna proibitivo tanto em termos de largura de banda
mente por P4. Essa comunicaca o e tipicamente forcada por quanto de latencia. O NoC, por outro lado, tem boa escala-
uma mediaca o estabelecida atraves da rede de interconex ao. bilidade, mas e mais difcil de conceber.
No caso do modelo de consistencia fraca, P2 le Z e o resul-
tado retornado e zero. Neste caso, o modelo de consistencia Os mecanismos para manter a coerencia dos dados s ao fun-
permite que n ucleos diferentes enxerguem diferentes ordens damentais na definica o do modelo de programaca
o que deve
globais de execuca o. Por relaxarem a sincronizaca o, esses ser usado na arquitetura. Atraves deles, uma unica imagem
modelos s ao mais faceis de serem implementados, deixando da mem oria e mantida automaticamente para o acesso de
o esforco por conta do programador. J a os modelos mais ro- todos os processadores. Portanto, esses mecanismos s ao es-
bustos, alem de complicados, tambem s ao lentos pelo fato de senciais entre aplicaco
es que compartilham informaca
o. Eles
nao obterem as vantagens do acesso fora de ordem ` a mem o- s
ao muito comuns em processadores de prop osito geral, tal
ria. como o ARM Cortex A9 [6]. Dois modelos de coerencia po-
dem ser implementados: o baseado em broadcast e o baseado
2.4.2 Configurao da Cache em diretorio.
As mem orias caches sao muito importantes nas arquiteturas
multicore, onde muitos elementos de processamento tentam O modelo de coerencia baseado em broadcast e simples. Ele
acessar a mem oria principal, que e lenta por definica
o. O ta- a obtem atraves do aviso a todos os elementos de processa-
manho que os diferentes nveis devem possuir depende muito mento de que um determinado n ucleo precisa fazer uso de
da aplicaca
o. Caches maiores oferecem melhor desempenho uma informaca o de uso global. Esses avisos s
ao tratados um
ate certo ponto. A partir de um determinado tamanho, seu por vez e os conflitos s
ao resolvidos atraves de sua sequen-
desempenho comeca a decair. Mem orias cache grandes tam- cializac
ao. De uma forma geral, essa abordagem e aplic avel
bem podem n ao contribuir para o desempenho de aplicaco es para um pequeno n umero de processadores, como e o caso
que usam os dados apenas uma vez, tal como a decodificaca o do Intel Core i7 [9].
de vdeo. Neste caso, e desejavel que a cache trabalhe com
modos de operaco es diferentes. Ou seja, ora para acessos do A coerencia baseada diret
orio, por outro lado, permite que
tipo streaming e hora para acessos com comportamento nor- um grande n umero de elementos de processamento sejam in-
Tabela 1: Resumo dos pr
os e contras considerados na concep
c
ao de um sistema de mem
oria.

MEMORIA NO CHIP PROS CONTRAS
Caches Prov e acesso `
a mem oria principal com baixa lat encia, pode ser Nao e possvel garantir respostas em tempo
facilmente configurado em m ultiplos nveis real, uma parte do chip e dedicada `
as TAGS
Armaz. local Pode armazenar mais dados por area que a cache, e possvel Deve ser controlado por software
garantir respostas em tempo real

COERENCIA PROS CONTRAS
Sim Prov e o comportilhamento de dados entre os processadores, Difl de implementar
suporta todos os modelos de programa c
ao
Nao Facil de implementar Restringe os modelos de programa c
ao

INTERCONEXAO PROS CONTRAS
Barramento Facil de implementar, todos os processadores t em a mesma Baixa escalabilidade, suporte um pequeno
lat
encia ao comunicar-se com os outros e com a mem oria n
umero de processadores
Anel Suporta um n umero maior de processadores em compara ca
o ao Latencias n
ao-uniformes, requer l
ogica de
barramento roteamento
NoC Suporta muitos processadores, e as lat encias n
ao-uniformes s ao Requer logica de roteamento sofisticado
menos variantes do que no modelo Anel
Crossbar o mais escal
E avel, suporte um n umero muito grande de n ucleos, Requer uma l
ogica de arbitragem sofisticada e
lat
encias uniformes requer uma grande
area no chip

terligados pelo fato dela possibilitar que m ultiplas aco


es de tante apropriados para aplicaco
es dominadas por estruturas
coerencia sejam tomadas simultaneamente. Esse diret orio e de controle. Nesse contexto, o consumo de energia e muito
normalmente distribudo em n os e possui informacoes sobre importante pelo fato de que eles serao alimentados por ba-
quais caches contem quais enderecos de mem oria. Cada en- terias.
dereco e atribudo a um n o do diret
orio. Quando um acesso
e requerido, o processador consulta o n o em que o ende- Na Figura 3, as arquiteturas s ao mais especializadas, e di-
reco esta armazenado para saber quais processadores est ao rigidas a computac ao de alto desempenho. Neste sentido,
fazendo uso daquela informaca o. Dessa forma, esse proces- elas empregam um n umero expressivo de n ucleos. Como
sador pode negociar com os demais para obter as permiss oes podemos observar, nas arquiteturas AMR R700 e NVIDIA
de acesso que ele deseja. A coerencia baseado em diret orio G200, esse n umero e na casa das centenas. A arquitetura
e mais apropriada para modelos de consistencia fracos e sis- IBM Cell e heterogenea, com um n umero modesto de n u-
tema com muitos n ucleos, tal como o Tilera TILE 64 [10]. cleos altamente especializados. Normalmente, essas soluco es
consomem bastante energia, variando entre 100W e 180W.
comum encontrar arquiteturas multicore que omitem os
E Na Figura 4, podemos observar arquiteturas especficas para
mecanismos de coerencia entre as caches para reduzir sua determinados domnios de aplicaca o. A maioria dessas apli-
complexidade. Muitos processadores multicore atuais n ao cacoes s
ao dominadas pelo processamento de dados, como e
possuem esse mecanismos, incluindo o IBM Cell [7]. Essa o caso das comunicaco es wireless e dos codecs de
audio e v-
ausencia implica que a coerencia dos dados deve ser garan- deo, onde paralelismos intrnsecos s ao explorados. As carac-
tida pelo software durante sua execucao. Isto limita o mo- tersticas das redes de interconex ao tambem costumam ser
delo de programaca o a variantes do modelo de passagem ajustadas diante das especificidades da aplicaca o. A combi-
de mensagens. Para domnios de aplicaca o que compartil- nacao desses fatores resulta em arquiteturas com altas taxas
ham pouca informaca o, essa pode ser uma boa opca o. As de operaco es por ciclo e sem um consumo excessivo de ener-
decis
oes a serem tomadas ao definir o sistema de mem oria gia. A seguir, abordaremos tres desses modelos com maiores
est
ao resumidas na Tabela 1. detalhes.

3. MODELOS COMERCIAIS 3.1 Silicon Hive HiveFlex CSP2x00 Series -


Nos dias de hoje, ha uma grande quantidade de arquitetu- Processamento de Sinais Digitais
ras multicore sendo oferecidas no mercado e direcionadas O HiveFlex CSP2x00 Series [11] e uma arquitetura com nu-
a todos os nichos, desde o segmento de sistemas embar- cleos soft poderosos e que operam na faixa de um quarto de
cados, passando pelo de desktops de prop osito geral ate o watt. Seu diagrama de blocos pode ser visto na Figura 5.
segmento de servidores. Conforme j a mencionado, isto se
deve `
a necessidade de aumentar o desempenho sem aumen- Para obter baixo consumo, uma coleca o heterogenea, e apro-
tar muito o consumo de energia. Para oferecer um pano- priada para o desempenho almejado, de n ucleos e empre-
rama geral dos modelos oferecidos, n os fizemos um recorte gada. A arquitetura consiste de um n ucleo de controle, des-
do recente trabalho de Blake et al. [1], onde alguns dos tinado ao processamento de prop osito geral. Este n ucleo
principais modelos s
ao destacados. As quatro primeiras lin- baseia-se no conceito VLIW e pode fazer despachos simult a-
has da Figura 2 representam uma selec ao feita pelos au- neos de duas instruco
es. Quando submetido a operaco es com
tores de multicores de prop
osito geral. Todos esses modelos dados, ele repassa o processamento aos chamados n ucleos
empregam um n umero limitado de processadores identicos complexos. Esses n ucleos complexos tambem s ao VLIW,
com caches grandes. Essas arquiteturas sao direcionadas aos fazem ate cinco despachos simult aneos e contam com ALUs
mercados de desktops e de servidores onde o baixo consumo especficas conectadas a uma grande mem oria RAM local.
de energia n
ao e um fator priorit
ario. As demais linhas da Os n ucleos complexos n ao suportam desvios, ou seja, eles
Figura 2 tambem apresentam arquiteturas multicore, porem devem ser alimentados com trechos lineares de c odigo pelo
destinadas ao mercado de computaca o m ovel e embarcada. nucleo de controle. Essa caracterstica faz com que os n u-
Elas tambem apresentam n ucleos de prop osito geral bas- cleos complexos sejam simplificados, o que permite econo-
Figura 2: Arquiteturas multicore de prop
osito geral para servidores, desktops e aplica
c
oes embarcadas/m
oveis. Tabela e refer
encias de [1].

Figura 3: Arquiteturas multicore de alto desempenho. Para obten


c
ao das refer
encia dos modelos, consulte [1].
ao as de [1].
encias dos modelos s

Figura 5: Concep
cao em blocos da arquitetura Hi-
veFlex CSP2x00 Series [1].
Figura 4: Arquiteturas multicore para processamento de sinais e especficos. As refer

mia tanto em area fsica quanto em consumo de energia.


Alem disso, o CSP2x00 possui uma hierarquia de mem oria
bastante simples. A coerencia e a consistencia dos dados
devem ser controladas pelo software em execuca o no n u-
cleo de controle. O barramento que prove a interconex ao
e usado basicamente para transferir comandos entre o n u-
cleo de controle e os n ucleos complexos, que por sua vez
comunicam-se entrei si atraves atraves da mem oria RAM
local. Todas essas caractersticas fazem com que essa arqui-
tetura consuma muito pouca energia, porem, que obtenha
alto desempenho. No entanto, criar softwares eficientes para
ela n
ao deixa de ser um desafio.

3.2 ARM Cortex A9 - Propsito geral mvel


A arquitetura ARM Cortex A9 [6] foi concebida para com-
putacao movel de prop osito geral e pode ser customizada
antes de ser produzida. Na Figura 6 podemos observar seu
diagrama de blocos. As configuraco es mais usuais conso-
mem pouco energia, em torno de 1W ou menos. Seu pro-
jeto foi concebido para atender desde smart phones ate net-
books cheio de recursos. Isso implica em uma arquitetura
que consiga processar bem aplicaco es dominadas pelo pro-
cessamento de estruturas de controle. O processamento nos
nucleos do A9 s ao fora de ordem podendo ser despacha-
das ate tres instrucoes simultaneamente, garantindo bom
desempenho de prop osito geral. A interconex ao do sistema
de mem oria e feita atraves de um barramento e h a coerencia
entre os elementos de mem oria. Pelo fato do n
umero de pro-
cessadores ser pequeno, a coerencia e baseada em broadcast.
As caches s ao relativamente grandes para um processador
voltado ao mercado de aplicaco es moveis ou embarcadas.
Isso e necess ario para proporcionar clocks mais r apidos e
explorar bem processamentos em threads u nicas. Em fun-
ca
o dessas caractersticas, aplicaco es onde o processamento
de dados e dominante n ao seriam muito bem exploradas por
essa arquitetura.

3.3 Intel Core i7 - Propsito geral


O Intel Core i7 e um processador de prop osito geral em to-
dos os aspectos. Sua concepca o tem por objetivo fazer tudo
bem feito. Isto e obtido ao preco de um grande consumo de
energia, podendo chegar aos 140W. Ele pode ser implemen-
tado com ate oito n ucleos, cada qual despachando fora de
4. CONCLUSES
Conforme pudemos observar neste trabalho, a arquitetura
multicore e hoje um paradigma de projeto de processadores
fundamental. E atraves dela que os projetistas das grandes
empresas pretendem manter a lei de Moore sem esbarrar
nas limitac
oes fsicas impostas pela abordagem de n ucleo
u
nico. Muitas s ao as possibilidades ao implementar arquite-
turas multicore, sendo determinante saber as caractersticas
das aplicaco
es para o qual ela e projetada, tais como o tipo
de processamento demandado e as restrico es no consumo de
energia. Tambem vimos que o sistema de mem oria e parte
fundamental do desenho de um processador multicore. E ele
que ir
a ditar o modelo de programaca o e o n
umero de n ucleos
comportados pela arquitetura. Essa talvez seja a frente que
mereca mais atenca o por parte dos projetistas para satisfa-
zer as demandas crescentes pelo aumento de desempenho.
` medida que mais aplicaco
A es conseguirem extrair as van-
Figura 6: Diagrama de blocos da arquitetura ARM tagens do processamento paralelo, novas configuraco es mul-
Cortex-A9 [1]. ticore deverao ser propostas para atende-las.

5. REFERNCIAS
[1] G. Blake, R. G. Dreslinski, and T. Mudge, A survey
of multicore processors, Signal Processing Magazine,
IEEE, vol. 26, pp. 2637, October 2009.
[2] J. E. Savage and M. Zubair, A unified model for
multicore architectures, in IFMT 08, (New York,
NY, USA), pp. 112, ACM, 2008.
[3] International technology roadmap for
semiconductors-system drivers, tech. rep., ITRS.
disponvel em 11/06/2010
http://www.itrs.net/Links/2007ITRS/2007 Chap-
ters/2007 SystemDrivers.pdf.
[4] Intel 64 and ia-32 architectures software developers
manual, tech. rep., Intel, November 2008.
[5] Nvidias 1.4 billion transistor gpu: Gt200 arrives as
the geforce gtx 280 & 260, tech. rep., A. L. Shimpi
and D. Wilson, 2008. disponvel em 11/06/2010
Figura 7: Diagrama de blocos do Intel Core i7 [1]. http://www.anandtech.com/video/show-
doc.aspx?i=3334.
[6] The arm cortex-a9 processors, tech. rep., ARM Ltd.,
ordem ate quatro instruco es em simult aneo. Alem disso, ele September 2007. disponvel em 11/06/2010
faz uso do conceito de symmetric multithreading, conforme http://www.arm.com/pdfs/ARMCortexA-
pode ser observado na Figura 7. Esses n ucleos contem uma 9Processors.pdf.
serie de aprimoramentos complexos para que possam o ex- [7] M. Gschwind, H. P. Hofstee, B. Flachs, M. Hopkins,
trair o maximo de paralelismo possvel na execuca o de uma Y. Watanabe, and T. Yamazaki, Synergistic
u
nica thread. Eles tambem possuem uma unidade SIMD processing in cells multicore architecture, IEEE
de 128-B para obter as vantagens de eventuais paralelismos Micro, vol. 26, no. 2, pp. 1024, 2006.
sobre os dados. Para continuar compatvel com a maioria [8] J. Andrews and N. Baker, Xbox 360 system
dos processsadores Intel, seu conjunto de instruco es e ba- architecture, IEEE Micro, vol. 26, no. 2, pp. 2537,
seado no CISC x86. A concepc ao do Intel Core i7 permite 2006.
que ele faca muitas coisas bem, mas arquiteturas especiali-
[9] Intel core i7-940 processor, tech. rep., Intel Corp.,
zadas em determinados domnios de aplicaca o podem obter
2009. disponvel em 11/06/2010
desempenho equivalente ou melhor consumindo menos ener-
http://ark.intel.com/cpu.aspx?groupId=37148.
gia. O sistema de mem oria e tpico de arquiteturas multi-
[10] Tilepro64 processor, tech. rep., Tilera Corp., 2008.
core de prop osito geral com poucos n ucleos. As caches s ao
disponvel em 11/06/2010
grandes e ha total coerencia entre elas. A coerencia e do tipo
http://www.tilera.com/pdf/ProductBrief TILEPro-
broadcast, que e suficiente para o n umero de n ucleos proje-
64 Web v2.pdf.
tados. Esse conjunto de caractersticas reunidas d a origem a
um chip que e bom para uma grande variedade de aplicaco es, [11] Hiveflex csp2000 series: Programmable ofdm
desde que o consumo de energia n ao seja um problema. communication signal processor, tech. rep., Silicon
Hive, 2007. disponvel em 11/06/2010
http://www.siliconhive.com/Flex/Si-
te/Page.aspx?PageID=8881.

Вам также может понравиться