Definição
rápida: A sigla DDR vem de double data rate. A sigla indica justamente
a capacidade das memórias DDR transmitirem dados duas vezes por ciclo,
uma transferência no início do ciclo de clock e uma segundo
transferência no final do pulso. Um
módulo DDR de 266 MHz por exemplo, não trabalha a 266 MHz, mas sim a
apenas 133 MHz, entretanto, como são feitas duas transferências por
ciclo, o desempenho é equivalente ao que seria alcançado por um módulo
de 266 MHz.
Definição
detalhada: Apesar das otimizações, os módulos de memória SDRAM
continuam realizando apenas uma transferência por ciclo, da forma mais
simples possível. Depois de decorrido o longo ciclo inicial, as células
de memória entregam uma leitura de
dados por ciclo, que passa pelos buffers de saída e é despachada
através do barramento de dados. Todos os componentes trabalham na mesma
freqüência.
As
memórias DDR implementam um novo truque, que as torna capazes de
realizarem duas transferências por ciclo e serem quase duas vezes mais
rápidas que as memórias SDRAM, mesmo mantendo a mesma freqüência de
operação e a mesma tecnologia básica. Vem daí
o termo "DDR", que significa "Double Data Rate", ou duplo fluxo de
dados. Com o lançamento das memórias DDR, as SDRAM passaram a ser
chamadas de "SDR", ou "Single Data Rate".
Os
chips de memória DDR incluem circuitos adicionais, que permitem gerar
comandos de acesso e receber os dados referentes às leituras duas vezes
por ciclo de clock, executando uma operação no início do ciclo e outra
no final. Como são utilizadas as
mesmas trilhas para realizar ambas as transferências, não foi
necessário fazer grandes modificações nem nos módulos, nem nas
placas-mãe.
Apesar
disso, as células de memória propriamente ditas continuam operando na
mesma freqüência. Em um módulo DDR-266, por exemplo, elas operam a
apenas 133 MHz, da mesma forma que num módulo PC-133. O pulo do gato é
fazer com que cada um dos dois
comandos de leitura (ou gravação) sejam enviados para um endereço
diferente, na mesma linha. As duas leituras são enviadas através do
barramento de dados na forma de duas transferências separadas, uma
realizada no início e a outra no final do ciclo de
clock:
O
maior problema é que o ciclo inicial continua demorando o mesmo tempo
que nas memórias SDRAM, de forma que o ganho aparece apenas em leituras
de vários setores consecutivos e a taxa de transferência nunca chega
realmente a dobrar, variando bastante
de acordo com o tipo de aplicativo usado.
A
temporização para um burst de 8 leituras, usando memórias DDR, seria
5-½-½-½-½-½-½-½ (8.5 ciclos) ao invés de 5-1-1-1-1-1-1-1 (12 ciclos)
como num módulo SDR. A diferença é menor em bursts menores, de apenas
duas ou quatro leituras.
Apesar
disso, as memórias DDR acabaram sendo um excelente negócio, pois
tornaram possível obter ganhos perceptíveis de performance sem um
aumento considerável no custo. Justamente por isso elas se
popularizaram rapidamente, substituindo as memórias
SDRAM num espaço de menos de um ano.
Os módulos DDR podem ser vendidos tanto segundo sua freqüência de operação quanto segundo sua taxa de transferência.
DDR-200 (100 MHz) = PC1600
DDR-266 (133 MHz) = PC2100
DDR-333 (166 MHz) = PC2700
DDR-400 (200 MHz) = PC3200
DDR-466 (233 MHz) = PC3700
DDR-500 (250 MHz) = PC4000
Assim
como no caso dos módulos SDRAM, existem módulos de memória DDR CL2 e
CL3, sendo que nos CL2 o tempo do acesso inicial é reduzido em um
ciclo, resultando em um pequeno ganho de desempenho. Como as DDR
realizam duas operações por ciclo, surgiram
também os módulos CL2.5, que ficam no meio do caminho.
As
especificações dos módulos indicam a freqüência máxima para a qual seu
funcionamento foi comprovado. Nada impede que você use o módulo a uma
freqüência mais baixa que o especificado; você pode usar um módulo
DDR-400 em uma placa-mãe configurada para
trabalhar a 133 MHz, por exemplo, mas nesse caso não existe ganho de
desempenho com relação a um módulo DDR-266, com exceção de pequenas
diferenças relacionadas ao valor CAS ou à temporização dos dois módulos.
Quase
sempre, é possível também usar o módulo a freqüências um pouco mais
altas que o especificado, fazendo overclock. O módulo DDR-400 poderia
funcionar então a 215 MHz, por exemplo. Fazer overclock sem aumentar a
tensão da memória não traz perigo
para os módulos (mesmo a longo prazo), porém você também não tem
garantia de estabilidade. Normalmente os módulos CL2 ou CL2.5 suportam
melhor os overclocks, já que o controlador tem mais margem para
aumentar a temporização dos módulos para compensar o
aumento na freqüência.
Ao
misturar dois módulos de especificações diferentes, é necessário
nivelar por baixo, usando a freqüência suportada pelo módulo mais
lento. Justamente por isso, nem sempre é conveniente aproveitar os
módulos antigos ao fazer upgrade, pois você acaba
sub-utilizando o novo módulo.
Em
casos onde você tem, por exemplo, um módulo de 128 MB de memória
DDR-266, vale mais a pena vender o módulo antigo e comprar um módulo
DDR-400 ou DDR-466 de 512 MB ou mais, do que usar o antigo em conjunto
com um módulo novo. Verifique apenas se a
placa-mãe permite ajustar a freqüência de forma assíncrona, sem
aumentar junto a freqüência do FSB (de forma que você possa usar a
freqüência correta para o módulo, sem com isso alterar a freqüência dos
demais componentes).
Continuando,
quase todos os módulos de memória SDRAM ou DDR possuem um chip de
identificação chamado de "SPD" (Serial Presence Detect), que armazena
os códigos de identificação do módulo, detalhes sobre a freqüência,
tempos de acesso, CAS latency e
outras especificações. Estas informações são exibidas por programas de
identificação, como o CPU-Z e o Sandra. No Linux, você pode ler as
informações gravadas no chip usando o script "decode-dimms.pl" (você
pode encontrá-lo usando o comando "locate"), que
faz parte do pacote "lm-sensors". Ele retorna uma longa lista de
informações sobre cada um dos módulos instalados na máquina, como neste
exemplo:
Memory Serial Presence Detect DecoderPelas informações, podemos ver que se trata de um módulo DDR-400 (PC3200) de 512 MB da Kingston. Veja que o módulo suporta o uso de CAS 3, 2.5 ou 2, mas em seguida é especificado que o tempo mínimo de acesso usando CAS 3 são 5 ns e usando CAS 2 são 7.5 ns. Ou seja, o módulo só é capaz de usar CAS 2 em freqüências mais baixas. Ao operar a 200 MHz, sua freqüência nominal, ele passa automaticamente a usar CAS 3. Apesar das especificações serem um pouco confusas, elas indicam que na verdade tenho em mãos um módulo CL3.
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare and others
Version 2.10.1
Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0050
Guessing DIMM is in bank 1
---=== SPD EEPROM Information ===---
EEPROM Checksum of bytes 0-62 OK (0x8C)
# of bytes written to SDRAM EEPROM 128
Total number of bytes in EEPROM 256
Fundamental Memory type DDR SDRAM
SPD Revision 0.0
---=== Memory Characteristics ===---
Maximum module speed 400MHz (PC3200)
Size 512 MB
tCL-tRCD-tRP-tRAS 3-3-3-8
Supported CAS Latencies 3, 2.5, 2
Supported CS Latencies 0
Supported WE Latencies 1
Minimum Cycle Time (CAS 3) 5 ns
Maximum Access Time (CAS 3) 0.65 ns
Minimum Cycle Time (CAS 2.5) 6 ns
Maximum Access Time (CAS 2.5) 0.7 ns
Minimum Cycle Time (CAS 2) 7.5 ns
Maximum Access Time (CAS 2) 0.75 ns
---=== Manufacturing Information ===---
Manufacturer Kingston
Manufacturing Location Code 0x04
Part Number K
Manufacturing Date 0x001E
Assembly Serial Number 0x6B376D48
O SPD é um pequeno chip de memória EEPROM, com apenas 128 ou 256 bytes, que pode ser localizado facilmente no módulo.
Graças a ele, a placa-mãe pode utilizar automaticamente as configurações recomendadas para o módulo, facilitando a configuração. Mas, você pode desativar a configuração automática (By SPD) e especificar sua própria configuração através do Setup.
A maioria das placas atuais permitem que a memória opere de forma assíncrona com o clock da placa-mãe, permitindo que a placa-mãe opere a 166 MHz, enquanto a memória opera a 200 ou 233 MHz, por exemplo. Ao usar um módulo antigo, também é possível fazer o contrário, mantendo a placa-mãe a 200 MHz, mas configurando a memória para operar a 133 MHz, por exemplo.
Muitas placas vão além, permitindo que você ajuste manualmente o valor CAS da memória. Isso pode ser útil ao fazer overclock, pois um módulo DDR-400, pode não conseguir trabalhar estavelmente a 233 MHz (por exemplo), mantendo o CAS em 2 tempos, mas pode funcionar perfeitamente se o tempo for aumentado para 3 tempos. O inverso também é possível. Um módulo DDR-400 CAS3 poderia vir a trabalhar estavelmente com CAS 2 se a freqüência fosse reduzida para 166 MHz, por exemplo, oferecendo uma boa flexibilidade para quando você tem tempo disponível e quer chegar ao melhor desempenho possível. Algumas placas vão ainda mais longe, oferecendo conjuntos completos de ajustes.
Brincar com a freqüência e tempos de acesso da memória não oferece riscos para o equipamento. No máximo você pode precisar limpar o setup, para que o micro volte a inicializar depois de tentar usar uma configuração não suportada pelos módulos.
O maior risco está em aumentar a tensão usada pelos módulos (Memory Voltage). É comprovado que pequenos aumentos na tensão aumentam a possibilidade dos módulos trabalharem estavelmente a freqüências mais altas, sobretudo nos módulos DDR2, que dissipam mais calor. O problema é que isso também pode abreviar a vida útil dos módulos, por isso nem sempre é uma boa idéia.
Aumentos de até 5 a 6% estão dentro do limite de tolerância dos circuitos e não oferecem grandes riscos. Você pode usar 2.65v num módulo DDR ou 1.9v num módulo DDR2, mas a partir daí existe prejuízo para a vida útil. Aumentos a partir de 20% podem realmente queimar os módulos em poucas horas, por isso as opções normalmente não ficam disponíveis.
0 comentários:
Postar um comentário