O que é DRAM síncrona?

DRAM síncrona ou SDRAM é o padrão atual para DRAM. Seu uso principal é para a RAM do sistema, embora também seja usado na VRAM em placas gráficas e onde quer que a DRAM seja usada. É tão dominante em seu campo que o “S” normalmente é descartado e é simplesmente chamado de DRAM. A sincronização da SDRAM é fundamental para seu desempenho e foi fundamental para sua ascensão em relação ao seu antecessor, a DRAM assíncrona.

Trabalhando em sincronia

Síncrono refere-se ao fato de que a SDRAM possui um clock interno e que a velocidade do clock é conhecida pelo sistema. Isso não quer dizer que ele roda na mesma velocidade de clock que a CPU. Mas tem um clock interno, e a CPU sabe disso. Isso permite que as interações com a RAM sejam otimizadas para que o barramento de E/S seja totalmente utilizado em vez de ficar ocioso para garantir que nenhum comando interfira com outros comandos.

Parte do problema é que ao gravar dados na DRAM. Os dados devem ser fornecidos simultaneamente como o comando para gravar os dados. Ao ler os dados, no entanto, os dados são lidos de volta dois ou três ciclos de clock após o comando de leitura ser emitido. Isso significa que o controlador DRAM precisa permitir tempo suficiente para que as operações de leitura sejam concluídas antes que uma operação de gravação aconteça. Com a DRAM assíncrona, isso aconteceu simplesmente permitindo tempo mais do que suficiente para a conclusão da operação. Essa prática, no entanto, deixou o barramento de E/S ocioso. Ao mesmo tempo, o controlador esperava o suficiente para ter certeza, o que era um uso ineficiente de recursos.

A DRAM síncrona usa um relógio interno para sincronizar a transferência de dados e a execução de comandos. Isso permite que as operações de tempo do controlador de memória façam uso otimizado do barramento de E/S e garantam níveis de desempenho mais altos.

Melhorias na DRAM assíncrona

Fora as melhorias no tempo que permitem um controle aprimorado, a principal melhoria da SDRAM é a capacidade de ter vários bancos de memória dentro da DRAM. Cada banco opera essencialmente de forma independente internamente. Dentro de um banco, apenas uma linha pode ser aberta por vez. Ainda assim, uma segunda linha pode ser aberta em um banco diferente, permitindo que as operações de leitura ou gravação sejam canalizadas. Esse design evita que o barramento de E/S fique ocioso. Ao mesmo tempo, uma nova operação de leitura ou gravação está sendo enfileirada, aumentando a eficiência.

Uma maneira de pensar sobre isso é adicionar uma terceira dimensão a uma matriz bidimensional. Você ainda só pode ler ou gravar dados de um lugar por vez. Mas você pode preparar outra linha em um banco diferente enquanto estiver interagindo com uma.

Outro benefício da SDRAM vem da inclusão de dados de tempo em um chip na memória. Alguns pentes de RAM modernos permitem um desempenho mais rápido do que os padrões oficiais de DRAM, codificando suas informações de desempenho de tempo específicas nesse chip. Também pode ser possível substituir manualmente essas configurações, permitindo que a RAM seja “overclockada”. Isto é muitas vezes muito aprofundado, pois muitos valores de tempo podem ser configurados e tendem a fornecer um desempenho mínimo beneficiar. O overclock da RAM também apresenta o risco de instabilidade, mas pode oferecer vantagens em algumas cargas de trabalho.

Melhorias ao longo do tempo

A velocidade real do clock da memória não aumentou muito desde o lançamento da SDRAM. A primeira iteração de SDRAM recebeu o retrô SDR. Isso é abreviação de Single Data Rate para distingui-lo da memória DDR ou Double Data Rate posterior. Esses tipos, assim como muitas outras formas de DRAM, são exemplos de SDRAM. O ciclo de clock do chip DRAM controla o tempo entre as operações mais rápidas da DRAM. Por exemplo, ler uma coluna de uma linha aberta leva um único ciclo de clock.

É importante notar que existem duas velocidades de clock distintas para SDRAM, o clock interno e o clock do barramento de E/S. Ambos podem ser controlados de forma independente e foram atualizados ao longo do tempo. O clock interno é a velocidade da própria memória e influencia diretamente na latência. O relógio de E/S controla com que frequência os dados que foram lidos – ou serão escritos – na SDRAM podem ser transmitidos. Essa velocidade de clock, combinada com a largura do barramento de E/S, influencia a largura de banda. Ambos os clocks estão vinculados e são críticos para o alto desempenho da SDRAM.

Como as velocidades aumentaram

O padrão oficial JEDEC para a primeira geração de SDRAM DDR tinha clocks de memória entre 100 e 200MHz. DDR3 ainda oferecia 100MHz clocks de memória, embora também padronizou velocidades de clock de até 266,6 MHz. Apesar disso, mudanças internas na velocidade do clock de E/S e no A quantidade de dados incluída em uma operação de leitura significava que, mesmo em um clock de memória de 100 MHz, a largura de banda para uma unidade de tempo era quadruplicada.

O DDR4 mudou o padrão de atualização e dobrou o clock da memória com um intervalo entre 200 e 400MHz, novamente alcançando uma duplicação da largura de banda disponível e reduzindo a latência. O padrão DDR5 também começa com um clock de memória de 200MHz. Ainda assim, atinge até 450MHz, voltando a dobrar a quantidade de dados transferidos por ciclo para dobrar a largura de banda.

Conclusão

A DRAM síncrona é o principal tipo de DRAM em uso atualmente. É a base para a RAM e VRAM do sistema em aplicativos gráficos. Ao sincronizar as ações da DRAM com os relógios, o desempenho real da DRAM pode ser conhecido, permitindo que as operações sejam enfileiradas com eficiência para execução. Isso é muito mais eficiente do que deixar tempo mais do que suficiente, porque não há medida direta ou maneira de saber quando um comando específico foi concluído.

Os clocks que controlam a SDRAM são críticos para seu alto desempenho. Eles controlam a frequência com que os comandos podem ser executados e a rapidez com que os dados podem ser lidos ou gravados na DRAM. Ao ter esses tempos conhecidos, eles podem ser otimizados para desempenho máximo.