Latência de endereço de coluna, também chamada de latência CAS ou CL, é o atraso em ciclos de clock entre o comando READ (leitura) e o momento em que os dados ficam disponíveis. Na DRAM assíncrona, o intervalo é especificado em nanossegundos (tempo absoluto). Na DRAM síncrona, o intervalo é especificado em ciclos de clock. Como a latência depende de um número de pulsos de clock em vez de tempo absoluto, o tempo real para um módulo SDRAM responder a um evento CAS pode variar entre usos do mesmo módulo se a frequência de clock diferir.
Contexto da operação da RAM
A DRAM dinâmica é organizada em uma matriz retangular. Cada linha é selecionada por uma linha de palavra horizontal. Enviar um sinal lógico alto ao longo de uma determinada linha ativa os MOSFETs presentes nessa linha, conectando cada capacitor de armazenamento à sua linha de bit vertical correspondente. Cada linha de bit é conectada a um amplificador de sentido que amplifica a pequena mudança de tensão produzida pelo capacitor de armazenamento. Este sinal amplificado é então emitido do chip DRAM e também realimentado pela linha de bit para atualizar a linha. Quando nenhuma linha de palavra está ativa, a matriz fica inativa e as linhas de bit são mantidas em um estado de pré-carga, com uma tensão no meio do caminho entre alta e baixa. Este sinal indeterminado é desviado para alto ou baixo pelo capacitor de armazenamento quando uma linha é ativada. Para acessar a memória, uma linha deve primeiro ser selecionada e carregada nos amplificadores de sentido. Esta linha torna-se então ativa, e as colunas podem ser acessadas para leitura ou escrita. A latência CAS é o atraso entre o momento em que o endereço da coluna e o sinal strobe de endereço de coluna (CAS) são apresentados ao módulo de memória e o momento em que os dados correspondentes são disponibilizados pelo módulo de memória. A linha desejada já deve estar ativa; se não estiver, tempo adicional é necessário. Como exemplo, um módulo de memória SDRAM típico de 1 GiB pode conter oito chips DRAM separados de 1 gibibit, cada um oferecendo 128 MiB de espaço de armazenamento. Cada chip é dividido internamente em oito bancos de 227=128 Mibits, cada um dos quais compõe uma matriz DRAM separada. Cada banco contém 214=16384 linhas de 213=8192 bits cada. Um byte de memória (de cada chip; 64 bits no total de todo o DIMM) é acessado fornecendo um número de banco de 3 bits, um endereço de linha de 14 bits e um endereço de coluna de 13 bits.[carece de fontes]?
Efeito na velocidade de acesso à memória Com a DRAM assíncrona, a memória era acessada por um controlador de memória no barramento de memória com base em uma temporização definida, e não em um clock, sendo separada do barramento do sistema. A DRAM síncrona (SDRAM), no entanto, tem uma latência CAS que depende da frequência do clock. Assim, a latência CAS de um módulo de memória SDRAM é especificada em pulsos de clock em vez de tempo absoluto.[carece de fontes]? Como os módulos de memória têm múltiplos bancos internos, e os dados podem ser emitidos de um durante a latência de acesso de outro, os pinos de saída podem ser mantidos 100% ocupados independentemente da latência CAS através de pipeline; a largura de banda máxima atingível é determinada unicamente pela velocidade do clock. Infelizmente, esta largura de banda máxima só pode ser atingida se o endereço dos dados a serem lidos for conhecido com antecedência suficiente; se o endereço dos dados sendo acessados não for previsível, podem ocorrer paralisações de pipeline, resultando em perda de largura de banda. Para um acesso de memória completamente desconhecido (acesso aleatório), a latência relevante é o tempo para fechar qualquer linha aberta, mais o tempo para abrir a linha desejada, seguido pela latência CAS para ler os dados dela. Devido à localidade espacial, no entanto, é comum acessar várias palavras na mesma linha. Neste caso, a latência CAS sozinha determina o tempo decorrido. Como as latências CAS dos módulos DRAM modernos são especificadas em pulsos de clock em vez de tempo, ao comparar latências em diferentes velocidades de clock, as latências devem ser traduzidas em tempos absolutos para fazer uma comparação justa; uma latência CAS numericamente maior pode ainda ser menor em tempo se o clock for mais rápido. Da mesma forma, um módulo de memória que está com clock reduzido pode ter sua contagem de ciclos de latência CAS reduzida para preservar o mesmo tempo de latência CAS. A memória de taxa de dados dupla (DDR) realiza duas transferências por ciclo de clock, e é geralmente descrita por essa taxa de transferência. Como a latência CAS é especificada em ciclos de clock, e não em transferências (que ocorrem tanto na borda de subida quanto na borda de descida do clock), é importante garantir que seja a frequência do clock (metade da taxa de transferência) que está sendo usada para calcular os tempos de latência CAS.[carece de fontes]? Outro fator complicador é o uso de transferências em rajada. Um microprocessador moderno pode ter um tamanho de linha de cache de 64 bytes, exigindo oito transferências de uma memória de largura de 64 bits (oito bytes) para preencher. A latência CAS só pode medir com precisão o tempo para transferir a primeira palavra da memória; o tempo para transferir todas as oito palavras depende também da taxa de transferência de dados. Felizmente, o processador normalmente não precisa esperar por todas as oito palavras; a rajada é geralmente enviada na ordem palavra crítica primeiro, e a primeira palavra crítica pode ser usada pelo microprocessador imediatamente. Na tabela abaixo, as taxas de dados são fornecidas em milhões de transferências – também conhecidas como megatransferes – por segundo (MT/s), enquanto as frequências de clock são fornecidas em MHz, milhões de ciclos por segundo.
Exemplos de temporização de memória A tabela a seguir apresenta alguns exemplos representativos de latência CAS para diferentes gerações de memória. Os valores são ilustrativos; para uma lista completa, consulte a documentação dos fabricantes.
Ver também Memória de acesso aleatório Tempos de memória High Bandwidth Memory
Referências
Ligações externas Planilha Google: Comparações de temporização de memória inseridas pelo usuário e exemplos de temporização de memória (apenas latência CAS) Planilha Google: Grade completa de comparação de temporizações reais de RAM DDR4 PCSTATS: Largura de banda vs. Latência de memória Como funciona o acesso à memória Tom's Hardware Guide: Temporizações apertadas vs. altas frequências de clock Entendendo as temporizações da RAM AnandTech: Tudo o que você sempre quis saber sobre a memória SDRAM, mas tinha medo de perguntar