Aktualności:

W MEDIA znajdziesz grafiki, banery i avatary

Menu główne

Czy taktowanie pamięci operacyjnej ma znaczenie?

Zaczęty przez Ufol, 06 Kwiecień 2011, 12:13

Ufol

Jeżeli tak, to w jakich projektach. W ostatnich latach ram mocno przyspiesza, czy dzięki temu mielenie jest bardziej wydajne?

AiDec

Z moich obserwacji wynika, ze taktowanie RAMu ma calkowicie marginalne znaczenie.



Bo jest paru kumpli :),
Bo jest parę w życiu dobrych chwil...


Moja wizytowka i sygnaturka

Agbar

Oczywiście, że ma znaczenie.
Samo taktowanie odpowiada za szybkość z jaką procesor dostaje dane z pamięci głównej. Drugi ważny parametr ramu to CL, czyli opóźnienie między żądaniem, a początkiem transferu. To jest podawane w ilości cykli, więc nieco trudniej porównywać różne kości, bez przeliczenia na milisekundy. Tutaj masz ładną tabelkę porównawczą.
Jeżeli porównasz kostki u producentów, najczęściej te najszybsze (CL) przy różnych taktowaniach mają prawie takie samo opóźnienie (first word).
Np. GeIL:

  • 1333 CL6 => 9,00 ns
  • 1600 CL7 => 8,75 ns
  • 1800 CL8 => 8,89 ns
  • 2000 CL9 => 9,00 ns
Samo taktowanie ma duże znaczenie przy dłuższych transferach.

W nowoczesnych procesorach problem oczekiwania na pamięć główną jest rozwiązany przez prefetching - procesor stara się zgadywać, do których komórek w pamięci program będzie się odwoływał - i cache. Właściwie to w odwrotnej kolejności. Najpierw łatwiejszy w implementacji cache, dopiero później dodano prefetching.
Dla porównania cache Nehalem ma opóźnienia:

  • L1: 4  cykle
  • L2: 10 cyli
  • L3: 35-40
Oczywiście tutaj to w cyklach procesora np. 2,5GHz w porównaniu do 666MHz DDR3-1333(sic).

Dodatkowo sprawa jest jeszcze trochę bardziej skomplikowana ze względu na sposób przetwarzania poleceń przez kontroler RAM. Opóźnienia prawie zawsze będą większe. No i jeszcze to, że nie tylko procesor ma dostęp do pamięci (DMA).

Krzysiak

W benchmarkach wszelkiej maści ma znaczenie XD
W teorii ma znaczenie

W pozostałych zastosowań Gry, Boinc, Montaż nieliniowy, Grafika zysk pomijalny mniejszy niż granica błędu  :boing: - tu znaczenia ma ilość  ;D


>>Moja szczegółowa sygnatur<< %)                                      >> Spis moich odkrytych liczb pierwszych << :whistle:

pszyklejony

Oczywiście ma znaczenie. W obliczeniach matematycznych (próbka superpi) to około 10% w porównaniu ze standardowymi ustawieniami.

lolek

Cytat: pszyklejony w 06 Kwiecień 2011, 15:07
Oczywiście ma znaczenie. W obliczeniach matematycznych (próbka superpi) to około 10% w porównaniu ze standardowymi ustawieniami.
Bo to benchmark a tam wszystko ma znaczenie. W BOINC niewielkie, często praktycznie żadne.

Troll81

projekty BOINC które mają gigantyczne próbki mogą to odczuć. Ale w praktyce większej różnicy niż w czasie zaczytywania próbki do pamięci nie będzie. Swego czasu spora dyskusja była na ten temat na forum overclockers i doszli do wyników że maks 3% da się uzyskać. To już lepiej przetaktować procka :D

TJM

W wielu projektach da się to odczuć i akurat wielkość zadań nie ma dużego znaczenia.
Polecam przetestować jakąś płytę ze starszym chipsetem Intela, np. P35 albo P45 z różnymi ustawieniami. Na tych chipsetach tryb synchroniczny z niskimi timingami (uzyskanymi rykoszetem jeśli ma się dobrą pamieć, która poniżej nominalnego zegara pozwala przyciaśnić timingi) działa najszybciej i naprawdę ciężko przebić to samym taktowaniem pamięci (w mojej konfiguracji na której robiłem testy potrzebowałbym pamięci 1600). Podczas eksperymentów 10-15% przyrost wydajności miałem praktycznie we wszystkim i dlatego tak zostało.


W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.