Entendendo as Temporizações das Memórias RAM
Por Gabriel Torres e Cássio Lima em 25 de maio de 2011

Introdução

As memórias DDR, DDR2 e DDR3 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 DDR, DDR2 e DDR3 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 e DDR3 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 DDR-400 trabalham a, no máximo, 400 MHz, enquanto que as memórias DDR2-800 trabalham a até 800 MHz e as memórias DDR3-1333 podem trabalhar a até 1.333 MHz. É importante notar que este não é o clock real das memórias. O clock real das memórias DDR, DDR2 e DDR3 é metade do clock rotulado. Por exemplo, o clock real das memórias DDR-400 é 200 MHz e não 400 MHz, como você poderia imaginar. O mesmo é válido para as memórias DDR2: o clock real das memórias DDR2-667 é 333 MHz, não 667 MHz, e das memórias DDR3-1333 é 666 MHz, não 1.333 MHz.

O segundo número (yyyy) indica a taxa de transferência máxima da memória, 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. Como você pode ver, usamos o número “2” ou “3” após os nomes “DDR” ou “PC” para indicar que estamos falando das memórias DDR2 ou DDR3, 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).


clique para ampliar
Figura 1: Um módulo de memória DDR3-1333/PC3-10666

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

Taxa de Transferência Máxima Teórica = 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:

Taxa de Transferência Máxima Teórica = Clock x 8.

Se você instalar um módulo de memória em um micro onde o seu barramento de memória esteja rodando com um clock menor, 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 micro. Este é o clock máximo suportado pelos chips de memória. Se você instalar essas memórias em um micro comum com suporte para memórias DDR3, elas provavelmente serão acessadas a 1.333 MHz (DDR3-1333) – que é a velocidade máxima padrão 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 Memórias DDR Dual Channel para mais informações sobre o assunto). Dessa forma 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 micro. No entanto, sua placa-mãe deve suportar este tipo de overclock (leia nosso tutorial sobre overclock da memória para mais detalhes). Por isso, comprar um módulo de memória com um clock rotulado maior do que o do barramento de memória do seu micro é 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 e DDR3. Para usuários avançados, existe ainda outra característica: a temporização da memória, também chamada latência. Falaremos sobre isto agora.

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. Como ambos os módulos podem trabalhar 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”. Como você pode ver na Figura 1, o módulo mostrado 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 tem temporizações 7-7-7-18, enquanto o módulo mostrado na Figura 2 tem temporizações 8-8-8-24.


clique para ampliar
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 micro para usar as temporizações padrão da memória – geralmente configuradas como “Auto” no setup do micro –, ou você configura manualmente o seu micro para usar temporizações menores, que pode aumentar o desempenho do seu micro. 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.


clique para ampliar
Figura 3: Configuração das temporizações da memória no setup do micro

Quando você faz um overclock na memória você pode precisar aumentar suas temporizações de modo a fazer com que o micro 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.

Esta é 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 rotuladas 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.

Latência do CAS (CL)

Como mencionamos, a latência do CAS (CL) é o parâmetro mais famoso da memória. Ele indica a quantidade de pulsos de clock que a memória leva para retornar um dado solicitado. Uma memória com CL=7 demora sete pulsos de clock para entregar um dado, enquanto que uma memória com CL=9 demora nove pulsos de clock para realizar a mesma operação. Dessa maneira dois módulos trabalhando com o mesmo clock o que tiver a menor latência do CAS será o mais rápido.

Note que o clock aqui é o clock real que o módulo de memória está rodando – ou seja, metade do clock rotulado. Como as memórias DDR, DDR2 e DDR3 podem entregar dois dados por pulso de clock, elas são rotuladas com o dobro de seus clocks reais.

Na Figura 4 você pode ver como o CL funciona. Demos dois exemplos: um módulo de memória com CL=7 e um módulo de memória com CL=9. O comando em azul seria uma operação de leitura (“read”).


clique para ampliar
Figura 4: Latência do CAS (CL)

Uma memória com CL=7 tem uma melhoria de 22,2% na latência da memória em relação a uma memória com CL=9, considerando que as duas estejam rodando com o mesmo clock.

Você pode até mesmo calcular o tempo que a memória demora até começar entregar os dados. O período de cada pulso de clock pode ser facilmente calculado através da fórmula:

T = 1 / f

Assim o período de cada pulso de clock de uma memória DDR3-1333 trabalhando a 1333 MHz (666,66 MHz) é de 1,5 ns (ns = nanossegundo; 1 ns = 0,000000001 s). Tenha em mente que você precisa usar o clock real, que é metade do clock rotulado. Dessa forma esta memória DDR3-1333 demoraria 10,5 ns para começar entregar os dados, caso ela tivesse um CL=7, ou 13,5 ns, caso ela tivesse um CL=9, por exemplo.

As memórias SDRAM, DDR, DDR2 e DDR3 implementam o modo burst (rajada), onde um dado após o primeiro solicitado demora apenas um pulso de clock para ser entregue pela memória, desde que este dado esteja localizado em um endereço logo após o endereço do dado atual. Com isso, enquanto o primeiro dado demoraria a quantidade de pulsos de clock da latência do CAS para ser entregue, o próximo dado seria entregue logo após o dado que acabou de sair da memória, não tendo de esperar outro ciclo de latência do CAS. Além disso, as memórias DDR, DDR2 e DDR3 fornecem dois dados por pulso de clock, e por isso que elas são rotuladas com o dobro do seu clock real.

RAS to CAS Delay (tRCD)

Cada chip de memória é organizado internamente como uma matriz. Na interseção de cada linha e coluna temos um pequeno capacitor responsável por armazenar um “0” ou “1” – o dado. Internamente o processo de acessar um dado armazenado é feito ativando-se a linha onde ele está localizado e, em seguida, a coluna. Esta ativação é feita por dois sinais de controle chamados RAS (Row Address Strobe) e CAS (Column Address Strobe). Quanto menor for o tempo entre esses dois sinais, melhor, já que o dado será lido mais rapidamente. O parâmetro RAS to CAS Delay ou (tRCD) mede este tempo. Na Figura 5 ilustramos isto, mostrando uma memória com tRCD=3.


clique para ampliar
Figura 5: RAS to CAS Delay (tRCD)

Como você pode ver, o parâmetro RAS to CAS Delay é também o número de pulsos de clock entre o comando “Active” (“Ativar”) e um comando “read” (“leitura”) ou “write” (“escrita”).

Assim como acontece com a latência do CAS, o parâmetro RAS to CAS Delay funciona com o clock real da memória (que é metade do clock rotulado), e quanto menor for este parâmetro, mais rápido a memória será, já que ela começará ler ou escrever dados mais rapidamente.

RAS Precharge (tRP)

Após o dado ter sido entregue pela memória, um comando chamado Precharge precisa ser executado para desativar a linha da memória que estava sendo usada e para permitir que uma nova linha seja ativada. O tempo RAS Precharge (tRP) é o tempo entre o comando Precharge e o próximo comando “Active” (“Ativar”). Como vimos na página anterior, o comando “Active” inicia um ciclo de leitura ou de escrita.


clique para ampliar
Figura 6: RAS Precharge (tRP).

Na Figura 6 damos um exemplo de uma memória com tRP=3.

Como acontece com outros parâmetros, o RAS Precharge funciona com o clock real da memória (que é metade do clock rotulado), e quanto menor for este parâmetro, mais rápida a memória será, já que o comando “active” será enviado mais cedo.

Somando-se tudo o que vimos até o momento, o tempo decorrido entre o envio do comando Precharge e a obtenção do dado será tRP + tRCD + CL.

Outros Parâmetros

Vamos dar uma olhada em outros dois parâmetros, o Active to Precharge Delay (tRAS) e o Command Rate (CMD). Assim como acontece com os outros parâmetros, esses dois parâmetros trabalham com o clock real da memória (que é metade do clock rotulado), e quanto menor forem esses parâmetros, mais rápida será a memória.

  • Active to Precharge Delay (tRAS): Após um comando “Active” ter sido enviado, um outro comando “Precharge” não pode ser iniciado até que o tempo tRAS tenha decorrido. Em outras palavras, este parâmetro limita quando a memória pode iniciar a leitura (ou escrita) em uma linha diferente.
  • O parâmetro Command Rate (CMD): Tempo demorado entre o chip de memória ter sido ativado (através do seu pino CS – Chip Select) e qualquer comando poder ser enviado para a memória. Este parâmetro leva a letra “T” e normalmente possui o valor T1 (1 pulso de clock) ou T2 (2 pulsos de clock).

Originalmente em http://www.clubedohardware.com.br/artigos/Entendendo-as-Temporizacoes-das-Memorias-RAM/968

© 1996-2012, Clube do Hardware. Todos os direitos reservados.

É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998.

Não nos responsabilizamos por danos materiais e/ou morais de qualquer espécie promovidos pelo uso das informações contidas no Clube do Hardware.

Quantcast