Forholdet mellom RAM og VRAM båndbredde og deres forsinkelse

Forholdet mellom RAM og VRAM båndbredde

Når det gjelder å måle ytelsen til RAM og VRAM snakker vi vanligvis om to ytelsesparametere, som er båndbredde og ventetid. Men hva er forholdet mellom disse to egenskapene, og kan vi klassifisere dem som konstante?

Et av problemene med tekniske spesifikasjoner er at de pleier å gi dataene som kjører med 100% ytelse under perfekte forhold. Når det gjelder minne, skjer ikke dette, siden ikke alle data har samme ventetid og båndbredden aldri er 100%.

Mer båndbredde betyr ikke mindre ventetid

Ancho de banda

Vi forstår som ventetid mellom en prosesseringsenhet og dens tilknyttede minne, tiden det tar å motta forespurt informasjon eller å motta signalet om at det er gjort en endring i minnet. Så ventetid er virkelig en måte å måle tid på.

Båndbredden er i stedet mengden data som overføres i hvert sekund, så det er en hastighet. Så ved direkte logikk kan vi tenke at i høyere hastighet når vi leter etter data, så på kortere tid prosessor, GPU eller andre behandlingsenheter vil få dataene.

Virkeligheten er at dette ikke er tilfelle, dessuten er det det særegne at jo mer båndbredde et minne har, så har det vanligvis mer ventetid sammenlignet med andre. Dette fenomenet har en forklaring, og det er det vi skal forklare deg i de følgende avsnittene i denne artikkelen.

Å søke etter data legger til ventetid

Frigjør RAM

Nesten alle prosesseringsenheter i dag har et hierarki av cacher, der prosessoren vil spørre hver av dem først før han får tilgang til RAM. Dette er fordi den direkte ventetiden mellom prosessoren og RAM er stor nok til å resultere i tap av ytelse i forhold til den ideelle prosessoren.

Tenk deg at du leter etter et bestemt produkt, det første du gjør er å se i den lokale butikken, deretter i en litt større butikk og til slutt i et varehus. besøket til hver bedrift blir ikke gjort umiddelbart, men krever reisetid. Det samme skjer i hurtigbufferhierarkiet, dette kalles en "hurtigbuffer" slik at vi kan oppsummere tiden slik:

Søketid = Søk tid i første hurtigbuffer + tidsperiode for hurtigbuffer + ... søketid i siste hurtigbuffer.

Hvis hurtigbufferoppslagstiden er lengre enn tiden det tar å gå til hoved-RAM, vil hurtigbuffersystemet være dårlig utformet på en prosessor, da det trosser formålet som hurtigbufferen ville blitt opprettet for.

Nå er latensproblemet mer komplekst, siden til tilgangstiden som er lagt til ved hurtigbuffersøket, må vi legge til latensen som legges til for å søke i dataene i RAM hvis den ikke finnes i RAM. Hvilke problemer kan vi finne oss i? Vel, for eksempel er alle minnekanaler okkupert og det opprettes strid, som oppstår når RAM har okkupert minnekanaler og mottar eller leverer andre data.

Hvordan påvirker latens båndbredde?

Curva Latencia Ancho de Banda

Som vist i grafen er ikke ventetid den samme for all minnebåndbredde.

  • Konstant region: Latens forblir konstant ved 40% av vedvarende båndbredde.
  • Lineær region: Mellom 40 og 80% av den vedvarende båndbredden øker ventetiden lineært. Dette skjer på grunn av det faktum at det er en overmetting av minneforespørsler som har samlet seg på slutten på grunn av strid.
  • Eksponentiell region: I de siste 20% av båndbreddeseksjonen vokser datalatens eksponentielt, alle minneforespørsler som ikke kunne løses i forrige periode, akkumuleres i denne delen, og skaper strid mellom dem.

Dette fenomenet har en veldig enkel forklaring, de første minneforespørslene som blir besvart er de som blir funnet først, de fleste av dem er i hurtigbufferen når dette har en kopi, men de som ikke er i hurtigbufferen akkumuleres. En av forskjellene mellom cacher og RAM er at førstnevnte kan støtte flere samtidige tilganger, men når søket etter data skjer i RAM, er ventetiden mye høyere.

Vi pleier å forestille oss RAM som en slags strøm av vann der data ikke slutter å sirkulere med den hastigheten som er spesifisert, når RAM egentlig ikke skal flytte data med mindre den har en forespørsel om det. Med andre ord påvirker ventetid gjennomstrømning og derfor båndbredde.

Måter å redusere ventetid

3DIC

Når vi vet at strid om tilgang til data skaper ventetid og dette påvirker båndbredden, må vi tenke på løsninger. Det klareste av det er det faktum at du øker antall minnekanaler med RAM, nettopp dette er en av tastene som HBM-minne har lavere tilgangsforsinkelse enn GDDR6, siden 8 minnekanaler tillater en mindre strid enn med 2 kanaler med GDDR6.

Den beste måten å redusere ventetid er å skape minne så nær prosessoren som en cache, men det er umulig å lage RAM med nok lagringskapasitet til å være fullt funksjonell. Vi kan plassere en minnebrikke og koble den til via TSV, men siden minnet er så nært å unngå termisk drukning og dermed effektiv båndbredde.

I dette tilfellet, siden latens påvirker båndbredden på grunn av nærheten mellom minne og prosessor, vil effekten av latens på minnet være mye lavere. Kompromissen med å implementere en CPU eller GPU med 3DIC? Det vil doble kostnadene ved PC-en, og den mer komplekse produksjonsprosessen vil føre til at færre enheter når oss, ergo mer knapphet og dermed enda dyrere priser.