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

       
 500.161 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

Temporizações

Por causa das temporizações, dois módulos de memória com mesma taxa de transferência máxima teórica podem apresentar desempenhos diferentes. Mas como isto é possível, já que ambos os módulos trabalham com o mesmo clock?

As temporizações medem o tempo em que o chip de memória demora para fazer algo internamente. Por exemplo, considere o mais famoso parâmetro, chamado “latência do CAS” (CAS Latency, CL ou “tempo de acesso”), que indica a quantidade de pulsos de clock que o módulo de memória leva para retornar um dado solicitado pelo processador. Um módulo de memória com um CL9 levará nove pulsos de clock para entregar um dado solicitado, enquanto que um módulo de memória com CL7 levará sete pulsos de clock para entregar o mesmo dado. Se ambos os módulos estiverem trabalhando com o mesmo clock, o segundo será mais rápido, já que ele consegue entregar o dado solicitado em menos tempo. Isto é conhecido como “latência”. O módulo de memória mostrado na página anterior (Figura 1) tem CL7.

As temporizações da memória são dadas através de uma série de números, como, por exemplo 4-4-4-8, 5-5-5-15, 7-7-7-21 ou 9-9-9-24. Estes números indicam a quantidade de pulsos de clock que a memória demora para fazer uma determinada operação. Quanto menor o número, mais rápida é a memória. O módulo mostrado na Figura 1 da página anterior tem temporizações 7-7-7-18, enquanto o módulo mostrado na Figura 2, abaixo, tem temporizações 8-8-8-24.

módulo de memória DDR3-1600
Figura 2: Um módulo de memória DDR3-1600/PC3-12800 com temporizações 8-8-8-24

As operações que estes números indicam são as seguintes: CL-tRCD-tRP-tRAS-CMD. Para entendê-los, tenha em mente que a memória é organizada internamente em forma de matriz, onde os dados são armazenados na interseção de linhas e colunas.

  • CL: CAS Latency. Tempo demorado entre um comando ter sido enviado para a memória e ela começar a responder. É o tempo demorado entre o processador pedir um dado da memória e ela devolver este dado.
  • tRCD: RAS to CAS Delay. Tempo demorado entre a ativação da linha (RAS) e a coluna (CAS) onde o dado está armazenado na matriz.
  • tRP: RAS Precharge. Tempo demorado entre desativar o acesso a uma linha de dados e iniciar o acesso a outra linha de dados.
  • tRAS: Active to Precharge Delay. O quanto a memória tem que esperar até que o próximo acesso à memória possa ser iniciado.
  • CMD: Command Rate. Tempo demorado entre o chip de memória ter sido ativado e o primeiro comando poder ser enviado para a memória. Algumas vezes este valor não é informado. Normalmente possui o valor T1 (1 clock) ou T2 (2 clocks).

Normalmente você tem duas opções: ou você configura seu computador para usar as temporizações padrão da memória – geralmente configuradas como “Auto” no setup –, ou você configura manualmente o seu computador para usar temporizações menores, que pode aumentar o desempenho do seu PC. Note que nem toda placa-mãe permite que você altere as temporizações da memória. Além disso, algumas placas-mães podem não funcionar com temporizações muito baixas e por isso a própria placa-mãe pode configurar o seu módulo de memória para rodar com temporizações maiores.

Setup
Figura 3: configuração das temporizações da memória no setup do computador

Quando você faz um overclock na memória, pode precisar aumentar suas temporizações de modo a fazer com que o computador trabalhe de forma estável. Aqui é onde algo muito interessante acontece. Devido ao aumento das temporizações, a memória pode obter um baixo desempenho, mesmo que agora ela tenha sido configurada para trabalhar com um clock maior, devido à latência que foi introduzida.

Essa é outra vantagem de módulos de memória vendidos especificamente para overclock. O fabricante, além de garantir que o seu módulo de memória atingirá o clock rotulado, garante também que você será capaz de manter as temporizações até o clock rotulado.

Por exemplo, embora você talvez consiga atingir 1.600 MHz (800 MHz x 2) com módulos DDR3-1333/PC3-10600, talvez seja necessário aumentar as temporizações da memória, enquanto nos módulos DDR3-1600/PC3-12800 o fabricante garante que você será capaz de obter 1.600 MHz mantendo as temporizações rotuladas.

Falaremos agora em detalhes sobre cada um desses parâmetros de temporização das memórias.

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