Tendo em vista as várias dúvidas sobre configuração memórias que todos temos, e que é facilmente percebida navengando pelos tópicos do Forum "Memórias" resolvi criar este tópico para unir todas as dúvidas sobre as configurações das várias memórias existentes no mercado.
É a oportunidade que faltava para todos, afinal, até mesmo os usuários do forum mas instruídos podem aprender, mas claro, o principal objetivo é tirar as dúvidas daqueles que estão em busca de conhecimento sobre o assunto.
Logo abaixo está uma lista de configurações existentes nas BIOS das Placas Mãe mais recentes, lógicamente em alguma ou outra pode ter algo mais ou não ter algo.
Aí é que entram os que são mais instruídos sobre o assunto, esplanando sobre as configurações de cada comando, informando qual é que obtem mais desempenho e estabilidade, para que assim, todos possam obter respostas que levem particularmente a melhor configuração que for possível para seu micro: Jogos, Aplicativos, Estabilidade do Sistema, etc. Aqui está a lista e suas devidas opções:
1- DRAM Timing Configuration - [safe/Normal/Fast/Ultra]
2- SDR/DDR Cas Latency - [2T/2.5T/3T]
3- SDR/DDR RAS Active Time - [6T/7T]
4- SDR/DDR RAS Precharge Time - [3T/4T]
5- Auto Detect DIMM/PCI Clk - [Enable/Disable]
6- CLR Gen Spread Spectrum - [Enable/Disable]
7- DOS Flat Mode - [Enable/Disable]
8- DRAM Driver Slen Rating - [Normal/Fast]
9- S2K I/O Compensation - [Enable/Disable]
Qualquer contribuição será bem vinda.
COMPARTILHEM O CONHECIMENTO
* A lista de configuração foi tirada da Placa Mãe ECS K7S5A v. 3.1, portanto, alguns modelos de placas podem apresentar outras opções, bem como poderão existir estas mesmas configurações com nomenclaturas diferentes.
Informação Adicionada em 22 Out 2003 com a contribuição do nosso colega de forum N803:
Cada módulo de memória tem uma especificação de latência, que não é nada mais do que uma medida de atraso ou tempo para completar uma operação. Se tomarmos por exemplo os números 2-3-2-7 do meu exemplo, cada número desses indica um determinado tempo em ciclos de clock. Um "2" significa um tempo de 2 clocks e assim por diante. Essas latências medem, a grosso modo, o tempo que sua CPU leva para escrever ou ler da memória, e portanto via de regra quanto menores forem essas latências, menos tempo sua CPU "espera" pelos dados, implicando melhor desempenho. Como nada é de graça, quanto mais "agressivos" (menores) forem esses números, mais difícil será obter um sistema estável.
A memória DRAM é organizada em linhas (rows) e colunas (columns) de bits. Cada interseção de uma linha e uma coluna representa um bit de dados. Para acessar dados, um endereço é criado, formado por um endereço de linha e um de coluna. Numa leitura, primeiro a linha correspondente ao endereço de linha é acessada e todos os bits dessa linha ficam "disponíveis". A seguir as colunas são acessadas e os bits vão para a saída. Muitas vezes, multiplas colunas são acessadas em sequência no chamado "burst mode", usado para grandes blocos de dados.
Numa operação de leitura, depois que o controlador de memória enviou o endereço de leitura, as operações que se seguem são:
1. Módulo DRAM decodifica o endereço em endereço de linha e endereço de coluna;
2. Ativa o endereço de linha, detecta e armazena todos os dados da linha
3a. Ativa o endereço de coluna e disponibiliza os dados na saída ou
3b. No caso de acesso a múltiplas colunas (burst) uma sequência de colunas é disponibilizada na saída
4. Restaura os dados para as células de memória e se "recarrega" (precharge) para a próxima operação.
O número de ciclos necessários para se efetuar o passo 2 é chamado de tRCD ou RAS-to-CAS Latency/Delay. Tipicamente varia entre 2 e 3 ciclos.
O número de ciclos necessários para se efetuar o passo 3a é o famoso CAS ou CAS Latency. No caso do passo 3b, a latência total é N x CAS, onde N é o número de colunas. Essa é a razão do CAS ser considerado o parâmetro mais importante. Tipicamente o CAS varia entre 2 e 3 ciclos.
O número de ciclos necessários para se efetuar o passo 4 é chamado de tRP ou RAS Precharge Delay ou ainda Precharge to Active. Tipicamente varia de 2 a 3.
Portanto a latência total de uma operação de escrita numa memória DRAM é
tRCD + N x CAS + tRP,
onde tipicamente N = 1 ou 4 ou 8 (ou mais).
tRAS ou Active to Precharge Delay é o mínimo tempo para se realizar um acesso aos dados, logo tRAS >= tRCD + CAS. No caso de DDR, como explicado na minha mensagem anterior, deveríamos ter tRAS >= tRCD + CAS + 2 para evitar erros.
Alguns fabricantes de memória nem especificam o tRAS por entender que ele é uma decorrência dos demais. No entanto, ele aparece como uma opcão programável na BIOS e deve-se tomar cuidado para não programá-lo errado (muito curto).
Infelizmente cada fabricante especifica esses números numa ordem um pouco diferente, imagino que a mais comum seja:
CAS - tRCD - tRP - tRAS
Que eu me lembre a Asus especifica a ordem diferente:
CAS - tRAS - tRCD - tRP