As GPUs móveis

 

Depois da memória, temos a questão da GPU, que não apenas determina os formatos e resoluções de vídeo que poderão ser decodificados via hardware, mas também o desempenho em jogos e diversos tipos de aplicativos.

AS GPUs móveis se dividem basicamente em quatro famílias. A primeira delas é composta pelas GPUs da linha Adreno, que foram inicialmente desenvolvidas pela Imageon, que depois de uma rápida passagem pela AMD foi comprada pela Quallcomm, que continuou a desenvolver as GPUs e as utilizar em seus produtos. A segunda é a PowerVR, desenvolvida pela Imagination Technologies e licenciada para diferentes fabricantes, como a Texas Instruments, Samsung, Apple, Intel (que usa as GPUs em alguns modelos do Atom), entre vários outros fabricantes. A terceira é a linha Mali, desenvolvida pela ARM e também licenciada para diversos fabricantes, usada especialmente pela Samsung. A quarta são as GPUs da nVidia, encontradas nos SoCs da linha Tegra.

Assim como as GPUs para desktop, todas as GPUs móveis recentes oferecem suporte ao OpenGL 2.0 (que é tradicionalmente a a API mais usada no ambiente móvel, preferida tanto no Android quanto no iOS), com muitas já oferecendo suporte também ao DirectX 10.1, que vem ganhando espaço no mercado móvel devido ao Windows Phone.

Por ser usada apenas nos chips da Quallcomm, a família Adreno foi bastante popular entre os aparelhos Android de primeira e segunda geração, devido à grande popularidade dos SoCs da família Snapdragon, mas com a entrada dos SoCs da Samsung, Texas Instruments, nVidia e outros, eles acabaram perdendo espaço, embora ainda sejam usados em muitos aparelhos.

O Adreno 200 é a mais antiga entre as GPUs encontradas nos aparelhos atuais, ela foi usada por exemplo no Nexus One. Ele suporta frequências de operação modestas, de até 128 MHz, frequência na qual ele é capaz de desenhar 22 milhões de triângulos por segundo, com um throroughput de 133 megapixels, um desempenho bastante baixo dentro dos padrões atuais.

Em seguida temos o Adreno 205, que implanta suporte à aceleração via hardware para o Adobe Flash e melhor suporte a shaders, com suporte frequências de até 200 MHz e um desempenho bruto de 40 milhões de triângulos e 432 megapixels por segundo. O Adreno 220 representa um grande salto em relação aos dois chipsets anteriores, com uma grande melhora tanto no processamento matemático, quanto nas unidades de renderização. Ele oferece um desempenho 3D competitivo em relação ao PowerVR SGX 540 usado no Samsung Hummingbird. Ele é usado no SoC Quallcomm MSM8x60, usado por exemplo no HTC Evo 3D. Em seguida temos o Adreno 225, que é capaz de operar a frequências mais altas (até 400 MHz, contra os 266 MHz do Adreno 200), além de oferecer suporte a memória em dual-channel, oferecendo mais um ganho de desempenho considerável em relação ao 220.

A família Adreno oferece uma curva de evolução bastante acentuada. Apesar da pequena diferença na numeração, o Adreno 205 oferece o dobro do desempenho do Adreno 200, enquanto o Adreno 220 novamente dobra o desempenho do anterior. O Adreno 225 por sua vez é uma evolução um pouco menos dramática, que mantém a mesma arquitetura, mas opera a um clock mais alto, oferecendo um ganho de mais 50% em relação ao Adreno 220, cerca de 6 vezes mais rápido que o Adreno 200 original.

A linha PowerVR é descendente das placas Kyro e Kyro II para desktops, que na virada do milênio, desafiaram momentaneamente o reinado da ATI e da nVidia, oferecendo um sistema de renderização de superfície (tile based) que renderiza apenas as camadas visíveis da imagem, sem desperdiçar ciclos de clock renderizando objetos e superfícies que não são visíveis para a câmera. Esta é uma técnica que permite melhorar bastante a eficiência do chip, resultando em mais frames por cada unidade de processamento disponível, mas que em troca resultou em muitos problemas de compatibilidade nos desktops. No ramo móvel por sua vez, a empresa encontrou um terro muito mais fértil, pois a arquitetura se tornou uma vantagem técnica importante, ajudando a reduzir o consumo e melhorar a eficiência dos chips.

A linha atual é composta por chips das séries 5 e 5XT, que estão duas gerações à frente das antigas placas para desktop e foram cuidadosamente miniaturizados para ocuparem pouco espaço nos SoCs.

A base da pirâmide é a SGX520, que oferece um desempenho modesto, com apenas um pipeline USSE e um desempenho bruto de 125 megapixels a 100 MHz. A SGX535 (usada no iPhone 3GS e em diversos outros aparelhos) dobra o desempenho por clock, trazendo dois pipelines e oferecendo um fill-rate de 250 megapixels a 100 MHz, ou 500 megapixels a 200 MHz, ao mesmo tempo em que quadruplica o poder de cálculo do chip, desenhando até 28 milhões de triângulos por segundo (a 200 MHz). O modelo seguinte é o SGX540, que utiliza 4 pipelines, novamente dobrando o poder bruto de renderização, com 1 gigapixel e 7.2 gigaflops a 200 MHz. A frequência usada na prática entretanto pode variar de acordo com o aparelho, de acordo com o projeto e a autonomia de bateria desejada pelo fabricante.

O topo de linha enquanto escrevo é o SGX543, que mantém o mesmo projeto básico do SGX540, com 4 pipelines e 1 gigapixel e 7.2 gigaflops a 200 MHz. A grande mudança é a inclusão de suporte à combinação de várias GPUs no mesmo SoC, multiplicando o desempenho. O iPhone 4S, bem como o iPad 2 utilizam o SGX543MP2, com dois núcleos, enquanto o iPad 3 usa o SGX543MP4, de 4 núcleos. Graças à combinação da GPU poderosa com o alto clock de operação, estes modelos da Apple têm dominado os benchmarks 3G entre os dispositivos móveis a algum tempo.

Entre as GPUs da ARM, a mais proeminente é a Mali-400 MP, usada especialmente pela Samsung nos SoCs da família Exynos (Galaxy S II, etc.). Assim como o SGX543, a Mali-400 MP é uma GPU modular, que permite que o fabricante escolha quantos núcleos deseja combinar para atingir o desempenho desejado. O mais comum é que sejam combinados 4 núcleos (Mali-400 MP4), chegando a uma GPU capaz de oferecer 7.2 gigaflops a 200 MHz, com um desempenho consideravelmente superior ao de uma SGX540. A Samsung usou o Mali-400 MP4 no Galaxy S II, superando todos os smartphones da época em desempenho, até que a Apple respondeu incluindo o SGX543MP2 no iPhone 4S que (embora operando a um clock mais baixo) superou o Galaxy S II em 3D por uma boa margem, apenas para voltar a ser superada pelo Galaxy S III, que trouxe uma implementação bem mais rápida do Mali-400 MP, operando a um clock muito mais alto (devido à nova técnica de fabricação) com um barramento mais largo com a memória. Isso mostra como a mesma GPU pode apresentar grandes diferenças de desempenho em diferentes implementações, de acordo com o clock, barramento com a memória e técnica de produção emprega. Este gráfico no Anandtech ilustra bem este ponto, mostrando a diferença de desempenho 3D do Galaxy S II e do S III:

Finalmente temos a nVidia, que equipa os SoCs da linha Tegra com diferentes gerações da GeForce ULV. Elas possuem muitas semelhanças com as GPUs usadas em desktops, mas utilizam um volume muito menor de unidades de execução e implementam mudanças na arquitetura (como a redução no número de estágios de pipeline) com o objetivo de reduzir o consumo. O Tegra 2 inclui uma GPU com 8 unidades de processamento de shaders (4 para pixel shaders e 4 para vertex shaders), que, operando a 333 MHz oferece um desempenho em 3D similar ao da PowerVR SGX540 usada no Samsung Hummingbird. O Tegra 3, por sua vez, usa 8 unidades de processamento de pixel shaders e 4 de vertex shaders (12 no total), privilegiando o desempenho em jogos, bem como oferece suporte a frequências de operação mais altas. Devido a essas melhorias, o Tegra 3 fica no meio do caminho entre o desempenho da SGX540 e da SGX543MP2 do iPad 2, o que é um desempenho forte, mas não algo conclusivo como muitos esperavam da nVidia. Este outro benchmark do Anandtech ilustra bem esse ponto:

A verdade é que em se tratando de GPUs móveis o desempenho é limitado mais pelo consumo elétrico do que pela arquitetura, por isso fabricantes que começaram com projetos de extremo baixo consumo e a partir deles começaram a desenvolver projetos de GPUs mais poderosas, como a Imagination acabam tendo mais facilidade que fabricantes que começaram com GPUs maiores e passaram a tender desenvolver projetos de baixo consumo a partir delas, como a nVidia.

Uma última observação é que o desempenho da GPU é diretamente influenciado pela resolução da tela (já que uma resolução mais altas significa mais pixels a renderizar por frame), de forma que um aparelho com uma tela HD 720 (1280×720) vai precisar de uma GPU bem mais poderosa apenas para oferecer o mesmo despenhoso que outro equipado com uma tela WVGA (800×480).

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X