• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Timings das memórias

H

helldanger1

Visitante
Com certeza que a expressão Timing não é estranha ao leitor. Muito menos será, se já souber fazer Overclock há algum tempo e se for minimamente interessado na matéria. No entanto, sabe realmente do que se trata? Sabe realmente o que são Timings das memórias? Não se assuste se não souber, pois por vezes os melhores Overclockers não sabem o que é e para que serve cada parâmetro.

Posto isto e visto que se tem levantado por aí muitas dúvidas acerca da matéria vamos procurar responder às mais variadas questões acerca do tema.

Timings: O que são e para que servem?

Os Timings mencionados nas especificações das memórias são na verdade "latências" ou tempos de espera entre várias acções. De forma simplificada podemos dizer que a latência é o tempo de espera entre o envio de um comando e a recepção de uma resposta. Naturalmente, quanto mais rápida for a resposta, mais rápido será o sistema, sendo portanto necessário que as latências sejam, na sua generalidade, baixas.

Para compreender correctamente como funcionam os Timings é necessário explicar primeiro a organização dos dados nos chips das memórias para que o leitor possa entender para que serve cada parâmetro. Basicamente, os dados são organizados numa tabela com linhas e colunas onde o controlador de memória solicita os dados necessários. Nesta altura o controlador começa por indicar a linha a ser aberta e depois a coluna, de modo a conseguir encontrar qualquer endereço.

Para que o leitor possa compreender de forma mais eficaz e prática, vamos dar um excelente exemplo:

Imagine um tabuleiro de batalha naval com todas as coordenadas. Normalmente dizemos a coordenada que queremos "atingir" e esperamos pela resposta. No caso das memórias passa-se exactamente o mesmo, pois quando o controlador "manda vir" dados, indica as coordenadas e espera pela resposta (no caso da batalha naval, normalmente seria "água"). A indicação das coordenadas é feita como se escreve no mundo ocidental, ou seja, da esquerda para a direita e depois de cima para baixo. Como normalmente se pedem valores consecutivos, muda-se muitas vezes de coluna e muito menos vezes de linha, sendo aí que as latências fazem o seu trabalho.

tRAS ou Active to Precharge Delay

A primeira latência a considerar é o tRAS ou "Active to Precharge Delay". Esta é algo diferente das outras pois não é concretamente um tempo de reposta mas sim o tempo que a linha vai ficar aberta e disponível para leitura, não se podendo mudar de linha antes de passar este tempo. No entanto este parâmetro é pouco importante uma vez que as mudanças de linha são menos frequentes que as de coluna.

Se o leitor pretende alterar este parâmetro convém ter bastante cuidado uma vez que reduzi-lo bastante pode não aumentar a performance e pior que isso, pode originar uma corrupção de dados inclusivamente no disco. Isto acontece devido aos chamados "Burst Transfers" que é nada mais, nada menos que a capacidade da memória enviar uma série de dados consecutivos sem reiniciar toda a sequência de endereçamentos para cada palavra. Como exemplo disso é a memória em vez de requisitar os dados como "dá-me o byte 1, agora o byte 2, agora o byte 3, agora o 4", fazê-lo em sequência do tipo "dá-me 4bytes começando no 1". Isto pode parecer fácil, no entanto o problema de baixar em demasia o tRAS está em fechar a linha antes do bloco estar completamente transferido, originando aí a corrupção dos dados.

Normalmente, o tRAS calcula-se da seguinte forma:

tRAS = CAS + tRCD + 2

tRP ou Row Access Strobe Precharge e tRCD ou Row Access Strobe do CAS Delay

Estes dois parâmetros estão bastante ligados uma vez que actuam um a seguir ao outro. Basicamente, o tRP é o tempo de espera entre o fecho de uma linha e a abertura de uma diferente, e o tRCD é o tempo de espera entre a abertura da nova linha e a indicação da nova coluna. Como já tinha dito anteriormente, as mudanças de linha são bastante menos frequentes que as de coluna, pois estes dois parâmetros acabam por ser relativos, no entanto nunca devendo ser desprezados, como é obvio. Em sistemas multi-processador ou que possuam Hyperthreading , estas indicações já não são tão verdadeiras, no entanto ainda se mantém.

CAS ou Column Access Strobe

Depois da indicação da coluna, vem a latência mais importante, o CAS. Esta latência acaba por ser o tempo que a memória leva após ter recebido as coordenadas até responder. Como referimos, visto que as linhas mudam muito menos vezes que as colunas, percebe-se porque é que a velocidade de acesso às colunas acaba por ser tão importante e um factor determinante na performance das memórias. Por este motivo, muitas memórias vêm com indicações do tipo "CAS 2" ou "CAS 3" que é efectivamente o tempo de resposta da memória. Geralmente quanto mais baixo for o CAS, mais cara será a memória, pois será consequentemente mais rápida.

Benchmarks e resultados

De modo a que o leitor possa ter uma noção do real aumento de performance, realizamos alguns Benchmarks à velocidade de escrita, leitura, latência e cálculo do CPU com Timings mais altos e mais baixos


Sistema Usado

CPU AMD Athlon 64 3500+ Clawhammer
Motherboard DFI LanParty NForce 4 SLI
RAM 2x512MB G-Skill LA
Placa Gráfica GeForce 6800 Ultra
Drivers da Grafica Nvidia ForceWare 52.16
Sistema Operativo Windows XP Professional + SP2
DirectX 9.0c

Everest Ultimate Edition 2005

-Velocidade de Escrita

writing5-2-2-2_small.jpg
writing5-2-2-2_small.jpg


-Velocidade de Leitura
reading8-4-4-3_small.jpg
reading5-2-2-2_small.jpg


Latência da Memória
lats5-2-2-2_small.jpg
lats5-2-2-2_small.jpg


-Velocidade de Cálculo - Super PI 1MB
SPI8-4-4-3_small.jpg
SPI5-2-2-2_small.jpg


Como podemos ver, os ganhos nos Benchmarks apesar de serem pequenos são notórios e algumas vezes até significativos como na latência da memória que reduz substancialmente de 61.0ns para 48.5ns. O aumento de performance é notório em todos os Benchmarks, por este motivo é realmente vantajoso manter as latências sempre o mais baixo possível, mas dentro dos parâmetros aceitáveis, pois baixar demasiadamente uma latência pode causar a corrupção de dados.

Provavelmente o leitor agora pergunta-se se é vantajoso gastar mais dinheiro numas memórias só porque têm "CAS 2". A resposta, mesmo olhando para os Benchmarks, não é assim tão obvia. Tendo em conta que os ganhos com a diminuição das latências são de facto notórios, é também um facto que esses ganhos não são nada de extraordinário. Há também uma outra perspectiva para se verem as coisas: o Overclock.

Muitas memórias value, ou seja, com uma excelente relação qualidade/preço, que de origem vêm designadas para "CAS 3" conseguem facilmente fazer CAS 2.5 ou mesmo 2, basta um pequeno Overclock e um jeito em termos de voltagens. Um exemplo destas memórias são de facto as Kingston Value Ram que conseguem grandes Overclock's a preços bastante reduzidos. Por este motivo, se anda à procura de memórias, é uma questão de pesquisar correctamente pelo que mais lhe convém, pois muitas vezes paga-se muito por pouco...
cumpts
hell
 
Última edição:

ahramis

GF Bronze
Membro Inactivo
Entrou
Set 23, 2006
Mensagens
68
Gostos Recebidos
0
Bom post...Parabéns!

Este tipo de posts é altamente benéfico, pois, além do mais, evita gastar fortunas em hardware que, por vezes, não compensa...

Por mim, fiquei definitivamente esclarecido!
 
Topo