[DRAM] Existe diferença de desempenho entre usar dois ou quatro módulos? – Testes e resultados

Fala pessoal, beleza?

Desde o lançamento dos Ryzen de terceira geração, que apresentam controlador de memória muito mais “forte” que as gerações anteriores em termos das frequências obtidas, tem surgido comentários de usuários evidenciando ganhos de desempenho ao se utilizar memórias “dual rank” (DR), que normalmente são aqueles pentes com chips dos dois lados, ou mesmo quatro pentes “single rank” (SR), que normalmente são aqueles que apresentam chips apenas em um lado.

Esses ganhos devem-se a um recurso chamado “Memory Interleaving”, que basicamente aloca os endereços de memória dividos por “banks”, “ranks” e “channels” de forma que em enquanto um desses elementos estiver em “refresh”, o próximo pode realizar uma leitura/escrita (e vice-versa), aumentando assim o desempenho de memória por eliminar o “tempo de espera” que existiria caso houvesse apenas um “bank”, “rank” ou “channel”, conforme pode ser visto nesses diagramas postados pelo der8auer que ilustram bem essa questão.

Mas ai vocês podem questionar: Mas se usar quatro pentes SR ou dois DR trás ganhos no desempenho, então porque a maior parte dos kits de memória DDR4 voltados para entusiastas são SR e várias placas-mãe voltadas a uso em overclock extremo tem apenas dois slots de memória? Bom, isso ocorre porque usar memórias DR ou mesmo quatro pentes (2DPC, Two DIMM per Channel) colocam maior estresse sobre o controlador de memória, o que implica em menores frequências de trabalho em relação a uma configuração 1DPC (One DIMM per Channel) com pentes SR e normalmente essa queda na frequência costumava ser algo significativo, por exemplo, a imagem abaixo ilustra a frequência máxima (stock) suportada pelos Ryzen de primeira geração em cada uma dessas configurações.

Isso de certa forma mudou com os Ryzen de terceira geração, que mesmo uma amostra bem regular com uma placa-mãe minimamente razoável, são capazes de chegar ao menos nos 3600MHz enquanto usando quatro pentes de memória DR, entretanto, para isso ainda é necessário fazer alguns ajustes manuais naquilo que diz respeito ao ProcODT, RTT e CAD, que são ajustes que se referem a terminações resistivas ligadas ao controlador de memória e o seu ajuste tem como função fazer o “casamento” da impedância entre o receptor (memórias, passando pelas trilhas na placa-mãe) e transmissor (controlador de memória) com o objetivo de diminuir o ruído e efeitos adversos como reflexão de sinal, melhorando a estabilidade e permitindo atingir frequências mais elevadas.

Naturalmente esse ajuste varia de acordo com a memória utilizada, design do PCB da placa-mãe/memória, se a mesma é SR ou DR e também com a geração do CPU, no caso do ProcODT, os CPU de 3ª geração trabalham com algo na casa dos 36.9Ω~40Ω para uma configuração 1DPC “single rank” e em até 53.3Ω para configurações 2DPC ou usando memórias “dual rank”, enquanto que para os RTT/CAD, os valores utilizados permanecem praticamente os mesmos dos CPUs de primeira e segunda geração para configurações 1DPC “single rank” enquanto que 2DPC ou usando memórias “dual rank”, sugiro fortemente que sigam as recomendações do 1usmus feitas nesse artigo sobre os Threadripper de terceira geração pois elas também são válidas para os Ryzen AM4.

Outra coisa que é necessário de se observar é a questão da temperatura das memórias, algo que não costuma ser um problema enquanto usando a máquina em bancada e apenas dois pentes SR, entretanto, mesmo para essa configuração quando montada em um gabinete sem fluxo de ar adequado na região das memórias e com uma VGA high-end irradiando calor por ali, pode acabar encontrando problemas de estabilidade com overclock de memória em alguns chips um pouco mais sensíveis a temperatura, algo que verifiquei na prática na minha máquina de uso diário, onde fiquei limitado a 3466MHz nas memórias que na bancada fazem 3533MHz. Portanto recomendo atenção especial nessa parte, especialmente em configurações 2DPC e módulos DR e caso alguém queira se aprofundar mais nesse tópico, recomendo esse vídeo do Buildzoid, que trata sobre esse assunto.

Então vamos as configurações utilizadas e aos resultados obtidos! 🙂

Configurações utilizadas

CPU: AMD Ryzen 7 3800X (Obrigado AMD!)

MOBO: ASUS ROG Crosshair VII HERO

RAM: 2x8GB G.Skill Flare X 3200CL14 + 2x8GB Patriot Viper Steel 4400CL19 (chips Samsung B-Die, single rank, com pcb idêntico)

VGA: ASRock RX5700 XT Challenger (Obrigado Terabyteshop!)

STORAGE: SSD Crucial BX300 120GB

SO/Driver: Windows 10 x64 1909 (Adrenalin 20.2.1), Geekbench 3.4.2, 3DMark11 1.0.1, AIDA64 6.20.5300 e TM5 0.12 v3

Objetivo dos testes

Verificar a diferença no desempenho da máquina em benchmarks competitivos enquanto utilizando dois pentes de memória (16GB) em relação a quatro pentes (32GB) e também verificar a temperatura das memórias enquanto submetidas a um teste de estabilidade (TM5). Explicações acerca da metodologia adotada ou de como os testes foram conduzidos estão contidas nos textos que acompanham os resultados a seguir.

Resultados

Para garantir que os resultados não fossem influenciados pelos timings, foram utilizados exatamente os mesmos ajustes para as três configurações de teste mudando apenas o ProcODT, RTT, CAD e VDIMM, que influenciam apenas na estabilidade e não tem impacto no desempenho. Nesse artigo, usei três ajustes distintos (16GB @ 3600MHz, 16GB @ 3733MHz e 32GB @ 3600MHz) justamente para verificar se a frequência mais alta já é o suficiente para compensar a diferença para a configuração 2DPC. Os benchmarks utilizados também não se beneficiam da capacidade extra de memória instalada, apresentando resultados dentro da margem de erro mesmo quando limitando a memória do sistema em 3.5GB via “msconfig”. Para os testes com 16GB foi utilizado o kit da G.Skill e na tabela abaixo, é possivel ver os ajustes que foram feitos.

Temperatura / FLIR

Como disse anteriormente, a temperatura das memórias em alguns casos pode acabar por influenciar na estabilidade com overclock, sendo assim, escalei a FLIR One LT para dar uma olhada no que acontece com a temperatura enquanto rodando um teste de estabilidade (TM5 0.12 v3) especialmente exigente com as memórias. Assim, rodei o teste por cerca de 10 minutos com um fan soprando diretamente sobre a região (ver foto nas configurações utilizadas), posteriormente refiz o teste sem o fan e registrei as termográfias abaixo para configurações 16GB @ 3600MHz e 32GB @ 3600MHz. A temperatura ambiente na sala no dia dos testes foi de 32.10ºC.

Como é possível ver nas imagens, o fluxo de ar extra fez uma grande diferença na temperatura da região com as memórias apresentando queda de até 11,3ºC na configuração 2DPC 32GB e de até 7.7ºC 1DPC 16GB, o que é algo considerável, porém, sem impacto na estabilidade pois foi possível completar o TM5 com qualquer uma dessas configurações mesmo sem auxilio do fan. De todo modo, esses casos se referem a uso em bancada com a VGA em idle, sendo necessário considerar que para um gabinete fechado com GPU high-end, essas temperaturas devem ficar em níveis mais elevados.

Houve também grande diferença na temperatura do VRM das memórias, que chegou a bater 76.7ºC na configuração 2DPC 32GB, o que está dentro de uma margem considerada bastante segura e tenham em mente que essa placa está isolada com plastidip permanentemente e isso provavelmente deve contribuir negativamente nesse caso.

Benchmarks

E aqui, visando verificar os ganhos em benchmarks competitivos, optei por utilizar alguns softwares que são especialmente sensíveis a ajustes de memória como o 3dmark11 e o Geekbench 3.

No AIDA64, a diferença entre os ajustes foi pequena com vantagem dos 16GB 3733MHz muito provavelmente por conta do FCLK um pouco mais alto, em compensação, tanto no Geekbench 3 quanto no 3dmark11, a configuração 2DPC apresentou vantagem de cerca de 6.6% no GB3 e de 5.3% no 3dmark11 Physics Test em relação a configuração 1DPC 3733MHz. Já em igualdade de condições, no que diz respeito a frequência, a configuração 2DPC chega abrir pouco mais de 10% de vantagem no GB3, o que é significativo, especialmente se formos considerar o cenário de benchmarks e overclocking competitivo.

Conclusão

O uso de quatro módulos de memória (2DPC) de fato trás beneficios do ponto de vista do desempenho em relação a configuração com dois módulos (1DPC) SR, apresentando ganhos de pouco mais de 10% em um dos benchmarks enquanto operando com os mesmos parâmetros de latência e frequência, o que é significativo.

A respeito da temperatura, como era de se esperar, houve uma queda considerável na temperatura das memórias ao usar um fan soprando naquela região, porém, mesmo no pior caso (2DPC e sem fan) não se excedeu a marca dos 56ºC e muito menos foram reportados erros no TM5. De todo modo, esses testes foram realizados em bancada e com a VGA em idle sendo que esses números poderiam ser um tanto piores em um gabinete fechado com um GPU high-end trabalhando a todo vapor, sendo assim, considero boa coisa manter algum fluxo de ar nas memórias se estiver a operar nessas condições e for “brincar” de overclock.

Leia Mais
Mineradores conseguem desbloquear 70% da performance de placas LHR