Não existe nenhuma diferença
fundamental no tipo de memória RAM utilizado nas placas de vídeo.
Elas podem utilizar os mesmos chips de memória DDR, DDR2 ou DDR3 utilizados nos módulos de memória
regulares (muitas placas de baixo e médio custo realmente utilizam, para reduzir
os custos de produção), mas os fabricantes de placas 3D geralmente optam por
utilizar memórias GDDR3 ou GDDR5, tipos de memória especialmente otimizados
para placas de vídeo, capazes de operar à frequências mais altas.
de produção), mas os fabricantes de
placas 3D geralmente optam por utilizar memórias GDDR3 ou GDDR5, tipos de
memória especialmente otimizados para placas de vídeo, capazes de operar à
frequências mais altas.
O barramento com a memória é ainda
mais importante para a GPU do que é para oprocessador, já que ela trabalha com um volume muito maior de
dados (com destaque para as texturas), que precisam ser acessados rapidamente.
Em um processador, é possível remediar um barramento estreito com a memória
usando mais cache L2 ou L3, mas no caso da placa de vídeo nada substituiu um
barramento rápido.
Este é um dos fatores que dificulta o
desenvolvimento de placas 3D onboard de alto desempenho, já que,
por mais poderoso que fosse o chipset gráfico, o desempenho seria seriamente
penalizado pelo lento acesso à memória compartilhada.
Não existem muitos
segredos com relação a como aumentar a banda com a memória na placa de vídeo.
Existem basicamente duas opções: alargar o barramento com a memória, permitindo
que a GPU transfira mais bits de cada vez, ou utilizar chips de memória mais
rápidos, que suportem frequências de operação mais altas, ou realizem um número
maior de transferências por ciclo.
Alargar o
barramento é sempre a opção mais segura, já que o ganho de desempenho é
diretamente proporcional o número de trilhas de dados, sem muitas variações.
Dobrando o número de trilhas (de 256 para 512 bits, por exemplo), dobra-se a
taxa de transferência, sem nenhum efeito colateral do ponto de vista do
desempenho.
O grande problema é
que usar mais trilhas torna a produção da placa muito mais cara, influindo em
diversas etapas da produção. Não apenas a GPU precisa ser fisicamente maior
(para acomodar o maior número de contatos), mas são necessárias mais trilhas na
placa de circuito (o que encarece a placa) e um número maior de chips de
memória. Para complicar, as trilhas e chips adicionais também aumentam o
consumo elétrico, complicando ainda mais o projeto.
Um bom exemplo das dificuldades em
desenvolver placas com barramentos de 512 bits é o caso das GeForce GTX 280 e 285. Não apenas o chipset GT200 é enorme
(ele possui 1.4 bilhões de transístores e é quase 6 vezes maior que um Core 2
Duo baseado no Penryn) mas o layout da placa de circuito é bastante
dispendioso, com nada menos do que 16 chips de memória, e um grande volume de
outros circuitos de apoio:
Devido a todos
esses problemas, os fabricantes são bastante cautelosos com relação a
barramentos mais largos, preferindo o uso de chips mais rápidos sempre que
possível (evitando assim os grandes aumentos no custo). Isso explica por que os
fabricantes demoraram quase 10 anos para iniciar a mudança dos 128 bits (usado
desde placas de primeira geração, como as Riva 128) para os 256 e 512 bits. De
fato, depois de testar o uso de um barramento de 512 bits nas Radeon HD 2900
Pro e XT, a ATI recuou e voltou a utilizar barramentos de 256 bits nas placas
das séries 38xx e 48xx.
Chegamos então à
segunda possibilidade, que é usar chips de memória mais rápidos, migrando não
apenas para módulos que suportam frequências mais altas, mas também entre
diferentes tecnologias de memória.
Diferente dos desktops, onde tivemos uma escalada das memórias DDR para as DDR2 e em seguida para as DDR3, a evolução das placas 3D seguiu um caminho um pouco mais tortuoso, com mistura entre as memórias DDR e GDDR.
Diferente dos desktops, onde tivemos uma escalada das memórias DDR para as DDR2 e em seguida para as DDR3, a evolução das placas 3D seguiu um caminho um pouco mais tortuoso, com mistura entre as memórias DDR e GDDR.
Inicialmente, as
placas fizeram a migração das memórias SDR para as DDR, que com suas duas
transferências por ciclo ofereciam o dobro da banda por trilha de dados, o que
representava uma grande economia em relação a usar mais trilhas. No caso das
placas high-end, as memórias DDR aumentaram a sobrevida dos barramentos de 128
bits (como no caso das GeForce 3 e GeForce 4) e nas de baixo custo permitiram o
desenvolvimento de placas baratas, com barramentos de apenas 64 bits (como as
GeForce 2 MX200).
O passo seguinte
foram as memórias GDDR2, uma versão overclocada do padrão DDR2, onde os chips
de memória utilizam uma tensão de 2.5 volts, em vez de 1.8V. Assim como ao
fazer overclock da memória através do setup, o aumento da tensão permite que os
módulos suportem frequências mais altas, mas em troca aumenta o consumo e a
dissipação elétrica, resultando em uma configuração longe do ideal.
Com exceção da
tensão e das frequências, não existem diferenças entre as memórias DDR2 e
GDDR2. Ambas as tecnologias ao baseadas no uso de 4 transferências por ciclo,
novamente duplicando a taxa de transferência em relação às memórias DDR. Na
prática, o GDDR2 foi pouco usado, sendo logo substituído por chips DDR2
regulares, que além de mais baratos, ofereciam um consumo elétrico muito mais
baixo (uma diferença que era significativa sobretudo nas placas high-end, onde
é usado um número maior de chips). No final, a única a utilizar chips GDDR2 foi
a nVidia, com as GeForce FX 5700 e 5800, lançadas em 2003.
A evolução seguinte
foi o padrão GDDR3, que acabou sendo muito bem sucedido, se tornando o padrão
para placas de alto desempenho por quase 5 anos. O GDDR3 é um padrão aberto,
desenvolvido pela ATI em parceria com o JEDEC, como uma evolução do padrão DDR2
(e não do DDR3, que foi finalizado muito depois, em 2007). Ele foi finalizado
no início de 2004 e,
ironicamente, a
primeira a utilizá-lo foi a nVidia, que se apressou em lançar uma versão GDDR3
da GeForce FX 5700 Ultra.
Embora continue
utilizando apenas 4 transferências por ciclo, assim como nas memórias DDR2 e
GDDR2, o GDD3 implementa uma série de melhorias, que permitiram reduzir o uso
de corrente (permitindo assim o uso de frequências mais altas sem necessidade
de apelar para grandes aumentos de tensão, como no GDDR2) e aumentar a
estabilidade dos sinais.
Dois bons exemplos
são a adoção do uso de terminadores resistivos (que aumentam a estabilidade dos
sinais, impedindo que os impulsos voltem na forma de interferência ao atingirem
o final da trilha) e um sistema de calibragem de sinais, duas tecnologias que
viriam mais tarde a serem integradas ao padrão DDR3.
Embora modestas,
estas melhorias acabaram possibilitando um aumento muito grande na frequência
dos chips. Enquanto os chips DDR2 (e GDDR2) são tipicamente capazes de atingir
frequências de até 500 MHz (1000 MHz efetivos), os sucessivos aperfeiçoamentos
nas técnicas de fabricação permitiram aos fabricantes de memória produzir chips
GDDR3 com frequências de 900 MHz (1.8 GHz efetivos) ou mesmo 1000 MHz (2.0 GHz
efetivos).
Em 2005 surgiu o
padrão GDDR4, que implementou um sistema de prefetch de 8 bits, permitindo o
uso de 8 transferências por ciclo, assim como nos módulos DDR3. Entretanto,
dificuldades técnicas relacionadas à sinalização e interferência acabaram
limitando os chips a frequências de apenas 500 MHz (2.0 GHz efetivos) a 550 MHz
(2.2 GHz efetivos), resultando em ganhos muito pequenos em relação aos módulos
GDDR3, que já estavam bem estabelecidos.
A ATI chegou a
utilizar memórias GDDR4 em nas Radeon X1950 XTX e 2900 XT, esperando que os
fabricantes seriam logo capazes de produzir chips mais rápidos. Entretanto, as
promessas acabaram não se concretizando e a tecnologia foi logo abandonada,
levando à grande sobrevida do GDDR3.
Com o fracasso do
GDDR4, os fabricantes se concentraram no padrão seguinte, mantendo o uso de 8
transferências por ciclo mas adicionando refinamentos para atingir frequências
mais altas, o que legou ao desenvolvimento do GDDR5, que fez sua estreia em
2008, na Radeon HD 4870.
Uma das principais
melhorias é o Clock Data Recovery, que funciona como uma função de treinamento,
que permite ao controlador detectar pequenas diferenças de sincronismo entre os
sinais dos diferentes pinos, facilitando bastante o uso de frequências mais altas
e relaxando as especificações com relação ao comprimento das trilhas.
Ao usar memórias
GDDR3 (ou qualquer um dos padrões anteriores), todas as trilhas do barramento
da memória precisam ter o mesmo comprimento (já que diferenças no comprimento
levam à perda de sincronismo dos sinais), o que obriga os fabricantes a usarem
trilhas em zig-zag e outros remendos, que acabam aumentando o nível de
crosstalk.
Com as GDDR5 as
especificações são afrouxadas, simplificando bastante o layout das placas. Um
bom exemplo de comparação direta são as Radeon HD 4850 (GDDR3) e 4870 (GDDR5),
que utilizam o mesmo chipset e o mesmo barramento de 256 bits, mas se
diferenciam pelo tipo de memória usada. Você pode notar que o layout das
trilhas da 4850 é bem mais bagunçado:
No caso delas, uma
das melhores formas de reduzir o uso de memória e assim permitir que a GPU
mostre todo o seu potencial é reduzir a qualidade das texturas (elas são o
componente da imagem que mais consome memória), reduzir (ou desativar) o uso de
antialiasing (já que ele faz com que a placa precise renderizar a imagem em uma
resolução mais alta, o que também gasta mais memória).
Outro recurso
importante é o protocolo de detecção de erros de leitura e escrita, que aumenta
muito a margem de tolerância dos módulos a erros diversos, já que o chipset
pode simplesmente repetir as operações quando necessário. O percentual de erros
aumenta junto com a frequência de operação, de modo que com um nível de
tolerância maior, é possível atingir frequências muito mais altas. Ele é
complementado por recursos herdados do padrão GDDR4, como o DBI (Data Bus Inversion)
e o Multi-Preamble, que permitem reduzir os tempos de espera dos chips.
Combinadas todas as
melhorias, as memórias GDDR5 são capazes de operar à frequências muito
similares às GDDR3, o que resulta em um desempenho quase duas vezes maior, já
que temos 8 transferências por ciclo. A primeira geração de chips GDDR5 (usados
na Radeon HD 4870) são capazes de operar a 900 MHz (3600 MHz efetivos) e não
deve demorar muito para que tenhamos módulos de 1000 MHz ou mais.
Concluindo, temos a
velha discussão sobre a quantidade de memória nas placas. A memória de vídeo é
necessária para armazenar texturas, vértices e outras informações necessárias
para compor a imagem. Naturalmente, usar mais memória permite ativar mais
opções relacionadas à qualidade (texturas de maior resolução, por exemplo) e
evita que a placa de vídeo perca desempenho utilizando memória do sistema.
Entretanto, a partir de um certo ponto, adicionar mais memória não tem efeito
algum sobre o desempenho da placa, simplesmente porque o excesso não será
utilizado.
Isso é
especialmente verdade nas placas de baixo custo, onde o fraco desempenho impede
que você utilize resoluções mais altas e ative as opções mais pesadas
relacionadas ao uso de texturas, que seriam as opções que justificariam o uso
de mais memória. De nada adianta comprar uma Radeon 4650 com 1 GB de memória,
por exemplo.
Do outro lado da
moeda temos as placas com pouca memória (como as versões da GeForce 8800 GT com
apenas 256 MB), que acabam tendo seu desempenho penalizado quando obrigadas a
processar uma volume maior de dados que ela comporta.
0 comentários:
Postar um comentário