Sítio do Piropo

B. Piropo

< Coluna em Fórum PCs >
Volte
17/01/2011

< Fusion III: Acrescentando núcleos >


 

Levando-se em conta que esta série de colunas é sobre o Fusion, o processador de uma nova classe cujo primeiro exemplar foi lançado no início deste mês pela AMD, há leitores estranhando que até agora falou-se de tudo, menos do Fusion.
E, certamente, não estarão errados. Na verdade, o comentário mais recente à primeira coluna desta série é de um leitor que, com boa dose de razão, se declara ludibriado justamente por isto.
Por outro lado, quem tem pressa em conhecer detalhes sobre as especificações técnicas do novo chip, basta fazer uma pesquisa com a expressão “AMD fusion” em qualquer dispositivo de busca que se preze para encontrar uma pilha de informações, já que se trata de lançamento recente e importante (o Google retorna quase dez milhões de resultados). Portanto, notícia sobre o Fusion é que não falta.
O que falta é um texto que explique o que há por detrás deste lançamento. Porque, por mais importantes que sejam (e são) as características do chip e de toda a família Fusion que o sucederá, a mudança de paradigma que elas representam é tão drástica que quem se interessa por tecnologia talvez pretenda ter uma ideia mais ampla das circunstâncias que levaram a indústria de processadores (tanto a AMD quanto a Intel) a tomar este rumo.
Ou seja: sim, a grande novidade do Fusion é que ele integra unidades de processamento gráfico e de dados em um único encapsulamento. É claro que isto é importante – tanto é assim que a Intel, há alguns meses, lançou sua própria UCP com capacidade gráfica. Mas por que é importante?
E por que agora, justamente agora, os dois grandes fabricantes de processadores para computadores decidiram, praticamente juntos, que este é o momento de fazer esta integração?
Afinal, é uma mudança radical. Que razões teriam levado a ela?
Pois o objetivo desta série de colunas, mais que descrever características técnicas de produtos, é tentar responder estas perguntas.
Aos que esperavam – repito: com razão – que eu já tivesse iniciado a análise das especificações do novo Fusion, peço desculpas. E, além das desculpas, (mais) um pouco de paciência.
Prometo fazer o possível para não decepcioná-los. Mais que isto: prometo que, quando esta análise for feita, cada um dos que leram as colunas iniciais da série estará em melhores condições de interpretar seu significado.
Pois, afinal, enquanto os artigos se dedicam à descrição pura e simples das características técnicas dos produtos, é para ajudar a interpretá-las que servem as colunas.
Então vamos em frente, ainda examinando as condições que propiciaram a eclosão desta nova geração de microprocessadores capazes de lidarem tanto com dados quanto com gráficos.

PCI-E: um barramento misto
O padrão de barramento mais rápido hoje disponível para vídeo, que veio para desbancar o AGP (de “Accelerated Graphics Port”, uma evolução do PCI com maior frequência de operação) é o PCI-E, de “PCI Express”.
Ele é mais que uma evolução, é uma revolução, já que não somente se aproveita da tendência moderna de mudança da transmissão de dados paralela para serial, como se dá ao luxo de combinar os dois tipos, usando “trilhas” (ligações ponto a ponto com transmissão serial de dados) combinadas em paralelo.
Vejamos como isto funciona.
O padrão PCI-E, ou PCI Express é um padrão de barramento serial de alto desempenho para uso geral. Como o AGP, é um barramento “ponto-a-ponto”, ou seja, não é compartilhado: cada conector PCI-E corresponde a uma conexão independente, ou uma “trilha”. Como o padrão é bidirecional (permite comunicação simultânea em ambos os sentidos), o desempenho é bastante acelerado. Na versão inicial, uma trilha PCI-E suportava uma taxa de transmissão de 250 Mb/s (Megabits por segundo), mas a versão corrente é a 2.0, que dobra esta taxa de transmissão para 500 Mb/s. E está a caminho do mercado a versão 3.0, que dobrará novamente a taxa, suportando a transmissão de 1 Gb/s por trilha. A Figura 1 mostra uma placa receptora de TV padrão PCI-E que encaixa em um conector (“slot”) PCI-E de apenas uma trilha.


Figura 1: Controladora de TV PCI-E de uma trilha

A grande sacada do padrão PCI-E é o fato dele permitir que um número arbitrário de trilhas sejam usadas em paralelo, o que acaba configurando uma transmissão mista.
Esta característica foi explorada em benefício das transmissões de sinais de vídeo. Um único conector PCI-E destinado a uma controladora de vídeo combina dezesseis dessas trilhas.
Como dito acima, há três diferentes versões do padrão. Como em um conector PCI-E 1.x de 16 trilhas trafegam 250 Gb/s por trilha, o fluxo total de dados chega a 4 GB/s (gigabytes por segundo). Já na 2.x, com seus 500 Gb/s por trilha, transitam 8 GB/s. E quando se disseminar a recentemente liberada versão 3.0, um conector de 16 trilhas transportará assombrosos 16 GB/s (atenção: falamos aqui de gigabytes por segundo, não mais de MB/s como quando discutíamos os padrões PCI e AGP).
Parece muito?
Talvez por enquanto. Senão vejamos.
Tenho diante de mim neste momento três monitores ligados à mesma controladora de vídeo, uma Radeon HD 6870 (veja como foi feita esta configuração na série de colunas sobre as Radeon HD 6800 que começa < http://blogs.forumpcs.com.br/bpiropo/2010/10/24/a-serie-radeon-6800-i-as-placas/ > aqui) , cada um deles recebendo um “pedaço” de uma imagem que forma minha área de trabalho. Este tipo de placa renova a imagem 70 vezes por segundo. Os monitores são ligeiramente diferentes, mas usam resoluções muito próximas de 1.600 x 900 pixels, todos trabalhando na configuração “true color”.
Qual é o fluxo de dados necessário para gerar uma imagem com estas características e renová-la na frequência de 70 Hz?
Vejamos: 3 (monitores) x 1600 x 900 (pontos em cada tela) x 4 (bytes por ponto para o padrão “true color”) x 70 (telas por segundo). Feitas as contas conclui-se que cada um dos monitores exige um fluxo de 384,5 MB/s. O fluxo total de dados será então o triplo disto, 1,125 GB/s, que ainda é suportado pelo padrão PCI-E 1.x.  
Mas ele corresponde à minha configuração doméstica. Um pouco mais exigente que a média, com certeza, mas ainda assim uma simples configuração doméstica em monitores de 24”. Para uso comercial adotam-se monitores bem maiores, de resolução muito mais alta, que podem ser combinados em até seis unidades por máquina (como mencionado na coluna acima citada). Portanto, os 8 GB/s do padrão PCI-E 2.x definitivamente não são exagerados (o padrão 3,0 ainda é muito recente e, tanto quanto eu saiba, não há controladoras no mercado).
E mais: considerando o “andar da carruagem”, logo logo serão insuficientes – e está aí a versão 3.0 para não me deixar mentir.
Mas, pelo menos por enquanto, com o padrão PCI-E, acabou o “gargalo” das transmissões de dados entre a UCP e a controladora de vídeo.
Um dos obstáculos à geração de imagens na própria UCP foi, portanto, vencido.
Falta aumentar o desempenho dos processadores para que possam arcar com a carga adicional de trabalho.

Apressando e afinando
Isto porque não adiantaria muito oferecer grande capacidade de transmissão se não houver uma quantidade de dados suficiente para justificá-la. Seria como, em uma grande cidade, construir uma adutora de dois metros de diâmetro para transportar a água de um riacho.
Para encher a adutora e aproveitá-la em plena capacidade, é preciso captar água em um rio de grande porte.
No que toca à transmissão de vídeo, isto significa que pouca serventia terá um barramento PCI-E capaz de transmitir até 8GB/s de dados se não forem gerados dados com a rapidez suficiente para produzir este fluxo.
E estamos falando de uma conexão entre UCP e controladora de vídeo. Portanto, para que a rapidez da conexão seja explorada em toda sua plenitude, é preciso que a UCP tenha uma capacidade de processamento compatível e seja capaz não apenas de dar conta do processamento de dados do sistema como também de gerar as imagens que exibirão na tela os resultados deste processamento, como nos velhos tempos do XT.
Durante décadas o aumento da capacidade de processamento das UCPs vinha se dando de acordo com a Lei de Moore, segundo a qual o número de transistores utilizados em um microprocessador tenderia a dobrar a cada 18 meses. E o número de transistores, juntamente com sua frequência de operação, são indicadores da capacidade de processamento de um microprocessador. Por isto, ao longo dos anos, para satisfazer a demanda do mercado por microprocessadores mais e mais rápidos, os fabricantes vinham aumentando paulatinamente não somente o número de transistores como também sua frequência de operação.
Foi assim que passaram dos menos de 30 mil transistores do 8086, que operavam a menos de 5 MHz, para os 125 milhões de transistores operando a mais de 4 GHz do Pentium 4 Extreme Edition, o mais rápido processador de núcleo único fabricado pela Intel para o mercado doméstico. O que corresponde a aumentar mais de quatro mil vezes o número de transistores e mais de oitocentas vezes a frequência de operação.

Mas, para fazer valer a Lei de Moore, os fabricantes de processadores tinham que resolver um problema sério. Pois acontece que o que faz um processador funcionar, queiram ou não, é a corrente elétrica que atravessa seus transistores. Ora, para que uma corrente elétrica atravesse um circuito gasta-se certa energia. Que é dissipada para o ambiente sob a forma de energia térmica ou, simplesmente, calor. Uma forma complicada – mas rigorosamente técnica – de dizer que processadores “esquentam”.
Energia dissipada na unidade de tempo chama-se potência, que é medida em Watts. A potência dissipada sob a forma de calor por um 8086 mal passava dos 2,5 Watts. A de um P4 Extreme passa dos cem. Um aumento de 40 vezes.
Sendo a frequência de operação um dos três fatores responsáveis pela dissipação de calor de um microprocessador, como se justifica que um aumento de 800 vezes na frequência tenha acarretado um aumento de apenas 40 vezes na potência dissipada?
Bem, os fabricantes tiveram que fazer um bocado de ginástica para alcançar este objetivo. Mesmo porque, se não fizessem, o núcleo do processador, literalmente, derreteria.
Pois acontece que, como eu disse, a frequência de operação é apenas um dos fatores responsáveis pela quantidade de calor gerada por um processador. Os outros dois são tensão de alimentação (o de maior influência, já que o aumento da potência dissipada é diretamente proporcional ao quadrado do aumento da tensão) e resistência interna.
Então, para lograr um aumento tão desproporcional entre a frequência de alimentação e a potência dissipada, foi necessário reduzir os outros dois fatores, a tensão de operação e a resistência interna.
E assim foi feito.
A tensão de alimentação dos microprocessadores reduziu-se dos 5 V que alimentavam o 8086/8088 do velho PC XT para algo muito próximo de 1V, tensão adotada nos processadores atuais.
E daí para baixo, ao que parece, não dá mais para prosseguir. Tudo indica que este é o limite. Com menos que isto, não há diferença de potencial elétrico suficiente para “empurrar” os elétrons através dos transistores que formam a estrutura interna da UCP. Portanto, para aumentar o desempenho dos processadores, não dá para reduzir ainda mais a tensão.
A alternativa é reduzir a resistência interna.


Figura 2: Reduzindo a camada de silício

A resistência interna oferecida por um microprocessador à passagem da corrente elétrica é diretamente proporcional à espessura da camada de silício na qual são “desenhados” os microscópicos transistores que constituem o circuito.
O 8086/8088, que quando foi lançado causou assombro pela pequena espessura de sua camada de silício que media, imaginem, “apenas” um centésimo de milímetro (10 micra), para os padrões modernos seria considerado, literalmente, um “grosso”, já que as últimas gerações dos processadores – tanto da Intel quanto da AMD – apresentam uma espessura de 32 nm (nanômetros, ou milionésimos de milímetro), ou seja, são trezentas vezes mais finos.
A Figura 2 (imagem de divulgação da Intel) mostra a microfotografia de diversos transistores inseridos em modelos de processadores fabricados de 1999 até 2007, com a previsão (cumprida) de fabricação de transistores em camadas de 32 nm para 2009.
Então, combinando-se a redução de cinco vezes da tensão (que deve ser elevada ao quadrado) com a de 300 vezes da espessura da camada de silício, chega-se a uma redução global de 7.500 vezes na capacidade de gerar calor. Como o aumento da frequência de operação foi da ordem de 800 vezes e o aumento do numero de transistores de quatro mil vezes, há uma aparente discrepância.
Isto quer dizer que, apesar de todas as providências tomadas para não aumentar exageradamente a dissipação de potência, um P4 HT Extreme deve gerar muito mais calor que o gerado por um 8086.
E é verdade. Cansei do botar o dedo sobre processadores de XT e AT (que usava o 80286) para verificar se estavam esquentando durante a montagem (eles não usavam dissipadores de calor nem ventoinha). Hoje alguém se atreveria a fazer o mesmo sobre um processador moderno sem o sistema de arrefecimento (isto, se fosse possível liga-lo sem este sistema)? Pois é...

Mais núcleos
Então em que ponto estamos?
Bem, no que toca ao aumento da capacidade do processamento, parece que não dá para ir muito longe trilhando os caminhos convencionais, ou seja, aumentando a frequência de operação. Pois no que toca à tensão de alimentação, parece que já se chegou ao limite.
E no que diz respeito à redução da espessura da camada de silício, hoje em 32 nm, se está a um passo dele. Pois especula-se que em camadas de silício menos espessas que 25 nm seria impossível fabricar transistores, já que as distâncias entre “portas” internas seria tão pequena (inferior a 5 nm, ou seja, pouco maior que uma molécula) que o silício existente entre elas não seria suficiente para prover o isolamento necessário (veja detalhes na coluna < http://blogs.forumpcs.com.br/bpiropo/2005/03/13/lei-de-moore-ate-quando-v-a-razao-do-limite/ > “Lei de Moore: até quando? – V A razão do limite”)
Ora, se chegamos ao limite da redução da tensão e da redução da camada de silício, então é impossível aumentar o desempenho dos microprocessadores aumentando sua frequência de operação, posto que seus valores máximos já foram alcançados nas últimas gerações de UCPs, pois não?


Figura 3: Esquema de um processador de quatro núcleos

Sim, de fato, a prática tem mostrado isto. Após alguns modelos que operavam em 4 GHz, a indústria recuou e os microprocessadores atuais “de topo de linha” operam em frequências que pouco ultrapassam os 3 GHz.
O que não quer dizer que é impossível aumentar o desempenho, apenas que é impossível aumentar a frequência de operação.
Pois existe outra possibilidade.
Lembram-se do velho problema do curso colegial? Aquele que se tinha que resolver quando se aprendia “razões e proporções” e cujo enunciado era mais ou menos assim: “Se um pedreiro constrói vinte metros de muro em dez dias quantos pedreiros serão necessários para construir cem metros de muro em cinco dias?”
Pois a ideia é essa: para aumentar a produção, contratar um ajudante.
Ou seja: se a tecnologia não permite aumentar ainda mais a capacidade de processamento de um processador de um só núcleo, vamos criar microprocessadores com mais de um núcleo (que funcionariam quase que como processadores independentes) e distribuir as necessidades de processamento entre eles.
É por isto que os processadores mais poderosos existentes atualmente no mercado possuem seis núcleos funcionando no mesmo encapsulamento. Isto, na prática, significa que no interior daquilo que continuamos a chamar de “processador” existem, na verdade, seis núcleos (“cores”, em inglês) quase independentes.
O que tudo isto tem a ver com o Fusion?
Tudo.
Porque se é possível adicionar mais núcleos para aumentar a capacidade de processamento de dados, por que não adicionar um ou mais dedicados ao processamento gráfico?
E este é justamente o assunto da próxima coluna, a última (prometo) desta série.
Que vai se dedicar exclusivamente à análise do Fusion e das características das novas famílias de processadores gráficos e de dados

 

B. Piropo