Relația dintre RAM și lățimea de bandă VRAM și latența lor

Relația dintre RAM și lățimea de bandă VRAM

Când vine vorba de măsurarea performanței RAM și VRAM, vorbim de obicei despre doi parametri de performanță, care sunt lățimea de bandă și latența. Dar care este relația dintre aceste două caracteristici și le putem clasifica drept constante?

Una dintre problemele cu specificațiile tehnice este că acestea tind să ofere date care rulează la 100% performanță în condiții perfecte. În cazul memoriei, acest lucru nu se întâmplă, deoarece nu toate datele sunt la aceeași latență și lățimea de bandă nu este niciodată 100%.

Mai multă lățime de bandă nu înseamnă o latență mai mică

Ancho de banda

Înțelegem ca latență între o unitate de procesare și memoria sa asociată, timpul necesar pentru a primi informațiile solicitate sau pentru a primi semnalul că s-a făcut o modificare în memorie. Deci, latența este într-adevăr un mod de măsurare a timpului.

Lățimea de bandă este în schimb cantitatea de date care este transmisă în fiecare secundă, deci este o rată de viteză. Deci, prin logică directă, putem ajunge să credem că la o viteză mai mare atunci când căutăm date, apoi în mai puțin timp Procesor, GPU sau orice altă unitate de procesare va primi datele.

Realitatea este că acest lucru nu este cazul, în plus, există particularitatea că cu cât o memorie are mai multă lățime de bandă, atunci de obicei are mai multă latență în comparație cu altele. Acest fenomen are o explicație, ceea ce vă vom explica în următoarele secțiuni ale acestui articol.

Căutarea datelor adaugă latență

Eliberează RAM

Aproape toate unitățile de procesare de astăzi au o ierarhie de cache-uri, în care procesorul le va cere mai întâi pe fiecare dintre ele înainte de a accesa memoria RAM. Acest lucru se datorează faptului că latența directă dintre procesor și RAM este suficient de mare pentru a duce la o pierdere de performanță față de procesorul ideal.

Imaginați-vă că sunteți în căutarea unui anumit produs, primul lucru pe care îl faceți este să căutați în magazinul local, apoi într-un magazin puțin mai mare și în cele din urmă într-un magazin universal. vizita la fiecare unitate nu se face imediat, ci necesită timp de călătorie. Același lucru se întâmplă în ierarhia cache, aceasta se numește „cache miss”, astfel încât să putem rezuma timpul după cum urmează:

Timp de căutare = Căutare timp în prima memorie cache + perioadă de pierdere a memoriei cache + ... timp de căutare în ultima memorie cache.

Dacă timpul de căutare a cache-ului este mai lung decât timpul necesar pentru a merge la memoria RAM principală, atunci sistemul cache va fi prost conceput pe un procesor, deoarece sfidează scopul pentru care cache-ul ar fi fost creat.

Acum, problema latenței este mai complexă, deoarece la timpul de acces adăugat de căutarea cache trebuie să adăugăm latența care este adăugată pentru a căuta datele în RAM dacă nu sunt găsite în RAM. Cu ce ​​probleme ne putem găsi? Ei bine, de exemplu, toate canalele de memorie sunt ocupate și se creează dispută, care apare atunci când RAM a ocupat canale de memorie și primește sau livrează alte date.

Cum afectează latența lățimea de bandă?

Curva Latencia Ancho de Banda

După cum se vede în grafic, latența nu este aceeași pentru toată lățimea de bandă a memoriei.

  • Regiune constantă: Latența rămâne constantă la 40% din lățimea de bandă susținută.
  • Regiune liniară: Între 40 și 80% din lățimea de bandă susținută, latența crește liniar. Acest lucru se întâmplă datorită faptului că există o suprasaturare a cererilor de memorie care s-au acumulat la sfârșit din cauza contestației.
  • Regiune exponențială: În ultimii 20% din secțiunea de lățime de bandă, latența datelor crește exponențial, toate cererile de memorie care nu au putut fi rezolvate în perioada anterioară se acumulează în această parte, creând contesiuni între ele.

Acest fenomen are o explicație foarte simplă, primele solicitări de memorie la care se răspund sunt cele care se găsesc mai întâi, cele mai multe dintre ele se află în cache atunci când acesta are o copie, dar cele care nu sunt în cache se acumulează. Una dintre diferențele dintre cache și RAM este că prima poate suporta mai multe accesări simultane, dar atunci când căutarea datelor are loc în RAM, latența este mult mai mare.

Avem tendința să ne imaginăm RAM-ul ca un fel de torent de apă în care datele nu încetează să circule la viteza specificată, atunci când RAM nu va muta cu adevărat datele decât dacă are o cerere. Cu alte cuvinte, latența afectează randamentul și, prin urmare, lățimea de bandă.

Modalități de reducere a latenței

3DIC

Odată ce știm că disputa în accesul la date creează latență și aceasta afectează lățimea de bandă, trebuie să ne gândim la soluții. Cel mai clar este faptul că crește numărul de canale de memorie cu RAM, tocmai aceasta este una dintre cheile prin care memoria HBM are o latență de acces mai mică decât GDDR6, întrucât 8 canale de memorie permit o contenție mai mică decât cu 2 canale de GDDR6.

Cea mai bună modalitate de reducere a latenței ar fi crearea de memorie cât mai aproape de procesor ca o memorie cache, dar este imposibil să creați memorie RAM cu suficientă capacitate de stocare pentru a fi pe deplin funcțional. Putem plasa un cip de memorie și îl putem conecta prin TSV, dar din moment ce memoria este atât de aproape pentru a evita înecul termic și cu acesta lățimea de bandă eficientă.

În acest caz, deoarece latența afectează lățimea de bandă, datorită apropierii dintre memorie și procesor, atunci efectul latenței asupra memoriei ar fi mult mai mic. Schimbarea implementării unui procesor sau GPU cu 3DIC? Ar dubla costurile PC-ului, iar procesul de fabricație mai complex ar face să ajungă la noi mai puține unități, să înregistreze mai puține rate și, prin urmare, prețuri chiar mai scumpe.