Tudo o que você precisa saber sobre as temporizações das memórias RAM

       
 499.887 Visualizações    Tutoriais  
 15 comentários

Aprenda em detalhes o que quer dizer as temporizações tipo 7-7-7-21, 8-8-8-24 e 9-9-9-24 das memórias RAM.

Gabriel Torres Editor executivo do Clube do Hardware

Introdução

As memórias DDR, DDR2, DDR3 e DDR4 são classificadas de acordo com a velocidade máxima que conseguem operar, bem como suas temporizações. Temporizações são números como 3-4-4-8, 5-5-5-15, 7-7-7-21 ou 9-9-9-24. Quanto menor forem esses números, melhor. Neste tutorial explicaremos a você o significado de cada um desses números.

As memórias construidas com tecnologia DDR (quando falarmos “tecnologia DDR”, aplica-se para todas as suas variações, como DDR4, DDR3, etc.) seguem a seguinte classificação: DDRxxx/PCyyyy. A propósito, se você está interessado em saber a diferença entre as memórias DDR, DDR2, DDR3 e DDR4, não deixe de ler nosso tutorial sobre o assunto.

O primeiro número (xxx) indica o clock máximo que os chips da memória suportam. Por exemplo, as memórias DDR3-1333 podem trabalhar a até 1.333 MHz e as memórias DDR4-2133 podem trabalhar até 2.133 MHz. É importante notar que este não é o clock real das memórias. O clock real das memórias com tecnologia DDR é metade do clock rotulado. Por exemplo, o clock real das memórias DDR3-1333 é 666 MHz, não 1.333 MHz, e o clock real das memórias DDR4-2133 é 1.067 MHz e não 2.133 MHz.

O segundo número (yyyy) indica a taxa de transferência máxima teórica da memória (também conhecida como largura de banda), medida em MB/s. A taxa de transferência de dados das memórias DDR400 é de no máximo 3.200 MB/s, e por isso que elas são rotuladas como PC3200. A taxa de transferência das memórias DDR2-800 é de 6.400 MB/s, e por isso que elas são rotuladas como PC2-6400. Já a taxa de transferência das memórias DDR3-1333 é de 10.664 MB/s, e por isso elas são rotuladas como PC3-10600 ou PC3-10666. E a largura de banda das memórias DDR4-2133 é de 17.064 MB/s e elas são rotuladas como PC4-17000. Como você pode ver, usamos os números “2”, “3” ou “4” após os nomes “DDR” ou “PC” para indicar que estamos falando das memórias DDR2, DDR3 ou DDR4, e não das memórias DDR.

A primeira parte da classificação, DDRxxx, é o padrão usado para classificar os chips de memória, enquanto que a segunda parte, PCyyyy, é usada para classificar os módulos de memórias. Na Figura 1 você pode ver um módulo de memória PC3-10666, que utiliza chips DDR3-1333. Preste atenção nas temporizações (7-7-7-18) e na tensão de alimentação (1,5 V).

Memória DDR3-1333
Figura 1: um módulo de memória DDR3-1333/PC3-10666

A taxa de transferência máxima teórica dos módulos de memórias pode ser calculada através da seguinte fórmula:

Largura de banda = clock x Número de Bits / 8

Como os módulos de memória DIMM transferem 64 bits por vez, o “número de bits” da fórmula é 64. Como 64 / 8 é igual a 8, podemos simplificar esta fórmula para:

Largura de banda = clock x 8

Se você instalar um módulo de memória em um computador onde o seu barramento de memória esteja rodando com um clock inferior, a taxa de transferência que o módulo de memória alcançará será menor do que a sua taxa de transferência máxima teórica. Aliás, este é um erro de interpretação muito comum.

Por exemplo, digamos que você comprou um par de memórias DDR3-2133/PC3-17000. Apesar de elas serem rotuladas como DDR3-2133 isto não significa que elas trabalharão efetivamente a 2.133 MHz em seu computador. Este é o clock máximo suportado pelos chips de memória. Se você instalar essas memórias em um computador comum com suporte para memórias DDR3, pode ser que elas sejam acessadas a 1.333 MHz (DDR3-1333) – que é a velocidade máxima oficial das memórias DDR3 –, obtendo uma taxa de transferência máxima teórica de 10.664 MB/s (ou 21.328 MB/s se elas estiverem trabalhando no modo de dois canais, leia o nosso tutorial sobre o assunto para mais informações). Logo, pode ser que essas memórias não trabalharão a 2.133 MHz e muito menos alcançarão a taxa de transferência de 17.000 MB/s.

Por que alguém compraria esses módulos? Para overclock: como o fabricante garante que esses módulos trabalham a até 2.133 MHz, você sabe de antemão que pode aumentar o clock do barramento de memória para até 1.066 MHz para aumentar o desempenho do seu computador. No entanto, sua placa-mãe deve suportar este tipo de overclock (leia nosso tutorial sobre o assunto para mais informações). Por isso, comprar um módulo de memória com um clock rotulado maior do que o barramento de memória do seu computador suporta é inútil se você não pretende fazer um overclock.

Para a maioria dos usuários, isto é tudo o que temos que saber sobre as memórias DDR, DDR2, DDR3 e DDR4. Para usuários avançados, existe ainda outra característica: a temporização da memória, também chamada latência, que é o assunto principal deste tutorial.

Editado por

Compartilhar

3 pessoas curtiram isso



Comentários de usuários


Excelente artigo!

 

Mas fiquei com uma dúvida. Memórias com mesmo clock, mas a que tiver menor latência ela possui mais "largura de banda"?

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@Japz não. Ambas terão a mesma velocidade máxima teórica (largura de banda). A com menor latência começará a entregar os dados antes. É mais ou menos como comparar dois carros a 100 km/h, mas um saiu antes do outro. O que saiu antes chegará primeiro, mesmo ambos tendo a mesma velocidade.

5 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Meio atrasado para discutir sobre o artigo. hehe
Muito bom as explicações, me tirou algumas dúvidas sobre como funcionam as memórias.
Então pode se dizer que o CL da RAM seria como um IPC do processador? E neste caso, devido a limitação de frequência que pode haver na placa-mãe, que por exemplo limitaria para 1333Mhz, seria melhor um pente de 1333Mhz CL 9 do que um pente 1600Mhz CL 10? E na mesma situação, o segundo pente se tornaria na prática 1333Mhz CL 10?

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Depende das temporizações "programadas" na memória. Pode ser que o segundo, rodando a 1333Mhz rode CL9.

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@Walpurgis Knight Cada módulo de memória tem uma "tabelinha" de frequencias e temporizações. Então uma memória de 1600 MHz e CL10 pode ser que rode a 1333 MHz com CL9. O CL não é fixo para todas as frequências. O CL divulgado é para a frequência rotulada do módulo. Foi isso que o @Japz tentou explicar acima. Espero ter esclarecido.

4 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Só exemplificando o que foi dito acima, eu tenho memórias 1866MHz CL10 que estão rodando em 1333Mhz CL8.

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

 Olá Gabriel, estou impressionado com a qualidade e a profundidade que você fez este artigo, trabalho com computadores a muitos anos mas esta explicação foi sem dúvida a melhor que já li! Mas tenho uma pergunta, já que você é o portador de um conhecimento vasto em memorias, neste artigo, gostaria de saber o seguinte, temos clocks maiores e timings menores, eu li a muito tempo atrás que deveríamos nos atentar com o aumento do clock e o atraso causado pelos timings da memória, pois pode valer mais a pena ter uma memoria com clock baixo mas timings rapidos. Qual seria uma equação ou uma formula para que eu possa achar o ponto de equilíbrio entre os dois aspectos, se aplicar mesmo este conhecimento!

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
1 hora atrás, ferreguetti disse:

 Olá Gabriel, estou impressionado com a qualidade e a profundidade que você fez este artigo, trabalho com computadores a muitos anos mas esta explicação foi sem dúvida a melhor que já li! Mas tenho uma pergunta, já que você é o portador de um conhecimento vasto em memorias, neste artigo, gostaria de saber o seguinte, temos clocks maiores e timings menores, eu li a muito tempo atrás que deveríamos nos atentar com o aumento do clock e o atraso causado pelos timings da memória, pois pode valer mais a pena ter uma memoria com clock baixo mas timings rapidos. Qual seria uma equação ou uma formula para que eu possa achar o ponto de equilíbrio entre os dois aspectos, se aplicar mesmo este conhecimento!

 

Se me permite a intromissão, a resposta é: depende.

 

Tem arquiteturas e aplicações que se beneficiam de clocks maiores, outros que se beneficiam de latências mais baixas, e outros que não ligam pra isso.

Tem que ver caso a caso..

Por exemplo, programas de compactação e descompactação de arquivos usam as memórias com grande intensidade e avidez, já jogos não costumam ter tanta influencia no desempenho por causa disso.

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@ferreguetti Obrigado pelos elogios. O Evandro respondeu aí acima a parte prática da coisa. Expandindo o que o Evandro falou, o Rafael Coelho já fez alguns testes sobre o assunto:

Disto isto, a parte teórica que você pergunta é simples.

 

A latência é medida em pulsos de clock. O período de cada pulso de clock é o inverso da frequência usada, pela fórmula:

 

T = 1/f

 

Assim, basta multiplicar o período pelo número de pulsos de clock (ex: CL=9, multiplicar o valor por nove) para ter o valor do atraso.

 

Agora, respondendo exatamente ao que você pergunta, você poderia pegar este valor do atraso e invertê-lo (f  = 1/T) para obter o clock equivalente, isto é, para ver a que clock o atraso equivale. Seguindo esta linha de pensamento, a memória na verdade, por conta do atraso, teria um desempenho equivalente a uma memória rodando a este clock. Porém esta linha de raciocínio está errada. Pois a latência só existe para o acesso ao primeiro dado da primeira linha da memória (internamente a memória organiza suas células em linhas e colunas). O acesso aos demais dados sequenciais, armazenados na mesma linha, é feito imediatamente, sem latência (ou melhor, latência de apenas um pulso de clock). Então esta coisa de atraso causado pela latência é relativa: só há atraso no acesso ao primeiro dado de uma linha, os demais dados sequenciais na mesma linha são entregues sem atraso.

 

Bem, não sei se consegui explicar, e para um entendimento mais aprofundado recomendo ler o meu livro...  (Ele está esgotado no momento mas será re-editado em maio)

 

Abraços!

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@Gabriel Torres esse tempo de atraso é o "tempo de resposta" de uma memória?

Porque eu não consigo entender como uma memória dobra o clock e dobra a latência junto (onde ambas fariam as operações no mesmo tempo, no final das contas) e é mais rápida.

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@Evandro Isso, latência, atraso, tempo de acesso e tempo de resposta são sinônimos. Como eu expliquei, o tempo de atraso só entra em ação na leitura do primeiro dado da linha, acessos subsequentes não têm atraso, então mesmo aumentando a latência, o aumento de clock acaba sendo mais importante e daí o maior desempenho.

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites


Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar agora