Hvad er RAM-timinger?

click fraud protection

De fleste computerbrugere vil ikke specielt bekymre sig om ydeevnen for meget, når de køber en computer. Så længe det er hurtigt og billigt nok, er det godt nok. De køber en computer med en nuværende eller tidligere generations CPU og leder efter den rigtige mængde lagerplads til nærmeste halve terabyte.

Nogle kigger måske efter CPU-hastighed, kerneantal eller RAM-kapacitet, men det plejer at være det. Hvis du er en teknologientusiast, kan du være mere opmærksom på disse ting, så du ved, hvad du får, og om det virkelig er en god handel.

En af måderne til at få mest muligt ud af din computers ydeevne er at få højtydende RAM. Det betydelige prangende salgstal er clockhastigheden af ​​RAM, såsom DDR4-3200 eller DDR5-6400. Teknisk set er det andet tal ikke urhastigheden. Det er overførselshastigheden. Dette er det dobbelte af clockhastigheden, fordi DDR RAM er Double Data Rate. Alligevel lyder det højere tal bedre på markedsføringsmaterialet.

Denne overførselshastighed er et mål for RAM'ens båndbredde, så højere tal er bedre. Båndbredde er dog ikke den eneste faktor i RAM-ydeevne. Latency er lige så vigtig, hvis ikke mere.

Hvad er latency?

Latency er et mål for forsinkelsen mellem en proces, der startes, og den faktisk sker. Et simpelt eksempel er "ping" af din internetforbindelse. Hvis du nogensinde har kørt en hastighedstest, har du set din downloadhastighed og ping. Downloadhastigheden er din internetbåndbredde, og ping er latensen mellem du laver en anmodning og serveren, der modtager den. Som mange spillere ved, er det lige meget, hvor hurtigt dit internet er. Du vil ikke få en god oplevelse, hvis du har høj latenstid.

Højtydende RAM vil altid annoncere dens hastighed. Det vil ofte annoncere mindst ét ​​specifikt mål for latenstid. Det mest almindelige og vigtige mål for latens er CAS-latens, nogle gange forkortet til CL. Ved at se lidt dybere ind i produktspecifikationerne er det generelt muligt at finde de fire primære timings. Disse er tCL/tCAS (CAS-latensen), tRCD, tRP og tRAS. Disse timings kan lejlighedsvis efterfølges af et femte tal, en kommandohastighed, men det er lidt anderledes og generelt ligegyldigt.

Grundlæggende om RAM-drift

Før vi definerer disse primære timings, vil det være vigtigt at forstå det grundlæggende i, hvordan RAM faktisk fungerer. Data i RAM er gemt i kolonner, og der kan kun interageres med én til enhver tid. For at kunne læse fra eller skrive til en kolonne, skal du først åbne den række, hvor den pågældende kolonne er placeret. Kun én række kan være åben på én gang. RAM kan komme med flere banker. I dette tilfælde kan kun én række være tilgængelig pr. bank. Mens der kun kan interageres med én kolonne på én gang, gør det at have en anden række åben i en anden bank det muligt at sætte den næste læse- eller skriveoperation i kø effektivt.

Det er vigtigt at forstå, at timings ikke er absolutte værdier. De er faktisk multipla af RAM I/O-uret, da de er enheder af urcyklusser. Igen er RAM Double the Data Rate, hvilket er halvdelen af ​​den annoncerede hastighed. Du er nødt til at lave noget matematik for at bestemme den faktiske latenstid for specifik timing. Du kan gøre 1/(annonceret overførselshastighed i Ts/2) for at få længden af ​​en enkelt urcyklus i sekunder og derefter gange det med det timingforhold, du vil kende værdien af. Antag alternativt, at du ønsker en lettere tid. I så fald kan du lave en 2000/advertised overførselshastighed i MT'er for at få længden af ​​en enkelt urcyklus i nanosekunder og gange det med timingforholdet.

For eksempel, hvis vi har to sæt RAM, DDR4-3000 CL15 og DDR4-3200 CL16, kan vi gøre (2000/3000)*15 og (2000/3200)*16 for at opdage, at den absolutte CAS-latens for begge typer RAM er 10 nanosekunder.

Primære tidspunkter

De primære timings af RAM præsenteres typisk som et sæt af fire tal adskilt af bindestreger. Lejlighedsvis vil disse blive ledsaget af enten en "1T" eller "2T" på enden. Til de følgende eksempler vil vi bruge de primære timings fra to poster i vores seneste artikel om bedste gaming RAM i 2022: det G.Skill Trident Z Royal DDR4 3200 CL16-18-18-38 og G.Skill Trident Z5 RGB DDR5 6400 CL32-39-39-102. For disse eksempler er de primære timings henholdsvis 16-18-18-38 og 32-39-39-102. Tiden for en enkelt urcyklus er henholdsvis 0,625 nanosekunder og 0,3125 nanosekunder.

Bemærk: Alle disse tidspunkter påvirker enhver handling, læs eller skriv, men i nedenstående eksempler vil vi blot henvise til læseoperationer for at holde tingene enkle.

CAS latens

Det første tal i de primære timings er CAS-latensen. Dette er typisk den primære timing, der skal forbedres, hvis du forsøger at overclocke RAM'en. CAS-latenstiden kan også angives ved CL, tCAS eller tCL, med de to sidstnævnte mere tilbøjelige til at blive fundet i BIOS og andre konfigurationsværktøjer. CAS er en forkortelse for Column Address Strobe. Det er teknisk set ikke en stroboskop længere. Men kommandoen læser data fra en kolonne i en åben række i det, der er kendt som et "sidehit".

tCL er et mål for, hvor mange cyklusser efter en CAS-instruktion er blevet sendt, at svaret begynder at blive returneret over I/O-bussen. Så for vores DDR4-eksempel er CAS-latenstiden 10 nanosekunder; for vores DDR5-eksempel er CAS-latenstiden også 10 nanosekunder.

RAS til CAS forsinkelse

Den anden indtastning i de primære timings er RAS til CAS-forsinkelsen. Dette vil generelt blive betegnet som tRCD og er en minimumsværdi, ikke en nøjagtig værdi. Hvis der ikke er nogen åbne rækker, når en læseinstruktion kommer ind, er dette kendt som en "sidemiss". En række skal først åbnes for at få adgang til en kolonne for at læse dens data. RAS står for Row Access Strobe. Ligesom CAS er det ikke længere en stroboskop med navnet som tømmermænd, men det er navnet på den kommando, der er udstedt for at åbne en række.

RAS til CAS-forsinkelsen er det mindste antal urcyklusser, der tages for at åbne rækken, forudsat at ingen er åben. Tiden til at kunne læse data i det scenarie er tRCD + tCL. Vores DDR4-eksempel har en tRCD på 18, hvilket er 11,25 nanosekunder, mens vores DDR5-eksempel har en tRCD på 39, hvilket giver 12,1875 nanosekunder.

Rækkeforopladningstid

Den tredje primære timing er Row Precharge Time, generelt forkortet til tRP. Denne værdi er vigtig, når der er en anden type sidemiss. I dette tilfælde er den højre række ikke åben, men en anden række er. For at åbne den højre række skal den anden række først lukkes. Processen med at færdiggøre en række kaldes foropladning. Dette indebærer at skrive værdierne til den række, der blev læst fra, da den åbnede.

Rækkeforopladningstiden er det mindste antal urcyklusser, der kræves for at fuldføre foropladningsprocessen på en åben række. Den samlede tid til at kunne læse data fra en celle i dette scenarie ville være tRP + tRCD + tCL. Da værdierne af tRP er de samme som tRCD i begge vores eksempler, er det let at se, at de ville ende op med de samme værdier: 11,25 nanosekunder for DDR4 tRP og 12,1875 nanosekunder for DDR5 tRP.

Rækkeaktiveringstid

Den fjerde primære timing er Row Activate Time, generelt forkortet til tRAS. Dette er det mindste antal urcyklusser mellem kommandoen for at åbne en række og foropladningskommandoen for at lukke den igen. Det er den tid, der kræves til internt at opdatere rækken. Dette er den eneste primære timing, der overlapper med en anden, specifikt tRCD. Værdier varierer, men er typisk omtrent tRCD + tCL, selvom de kan variere op til omkring tRCD + (2* tCL).

Vores DDR4-eksempel har en tRAS på 38 cyklusser, hvilket giver en samlet tid på 23,75 nanosekunder. Vores DDR5-eksempel har en rRAS-værdi på 102 cyklusser, hvilket giver en samlet tid på 31.875 nanosekunder.

Historisk set for synkroniseret DRAM har værdier været meget tæt på tRCD + tCL, som det ses i vores eksempel DDR4-timing. tRCD + (2* tCL) scenariet blev traditionelt brugt til asynkron DRAM, da hukommelsescontrolleren skulle give mere end nok tid til, at operationen kunne fuldføres. Interessant nok bruger DDR5 i øjeblikket også tRCD + (2* tCL) summen. Det er uklart, om det er forårsaget af en ændring i standarden, eller om det er et begyndende problem med tidlige DDR5-produkter, der vil blive strammet, efterhånden som platformen modnes.

Interessant nok er der nogle beviser på, at det er muligt at starte med en tRAS lavere end tRCD + tCL. Teoretisk set burde dette ikke rigtig fungere. Det er uklart, om dette skyldes, at denne værdi, som de fleste andre timings, er et minimum, og hukommelsescontrolleren vælger at bruge løsere timings i praksis. Eller hvis indstillingerne kun var delvist stabile. Af de primære timings har dette sandsynligvis den mindste effekt på den faktiske ydeevne, men det kan være værd at justere, hvis du er ude efter topydelse, især med de høje værdier, der ses i den nuværende DDR5.

Kommandohastighed

Kommandohastigheden er antallet af cyklusser mellem en valgt DRAM-chip og en kommando, der udføres på denne chip. Der findes mange akronymer for denne værdi, såsom CR, CMD, CPC og tCPD. Den nemmeste måde at fortælle på er, at talværdien typisk efterfølges af et "T". På trods af T-notationen er dette stadig et mål i clock-cyklusser.

Det meste RAM, du finder, vil køre ved 2T, selvom nogle kan køre ved 1T. Der vil være en minimal forskel, da dette er forskellen på en enkelt urcyklus, mindre end et nanosekund.

Sekundære og tertiære timings

Der er masser af andre sekundære og tertiære timings, der kan ændres. Det er dog meget komplekst at gøre det. Selv erfarne hukommelsesoverclockere kan tage en dag eller mere at ringe til stabile indstillinger. Nogle er nemmere at justere end andre og har større indvirkninger. For eksempel tREFI og tRFC. Disse styrer, hvor ofte hukommelsescellerne opdateres, og hvor lang tid opdateringsprocessen tager. Under opdateringsprocessen skal banken ellers sidde inaktiv. Så at have så stor afstand mellem opdateringer og så kort en opdateringsperiode som muligt betyder, at din RAM kan fungere i længere tid.

Justering af disse værdier viser en bestemt værdi, når din RAM-konfiguration har et utilstrækkeligt antal banker. Det er vigtigt at forstå, at hvis disse værdier bliver forkerte, vil det forårsage storstilede hukommelseskorruptionsfejl, da cellerne ikke bliver opdateret ofte nok. Disse indstillinger er også modtagelige for RAM-temperatur, da dette direkte påvirker, hvor hurtigt opladningen i en celle henfalder og dermed hvor ofte den skal genopfriskes.

Hukommelsescontrollerforhold

Seneste generationer af CPU'er kan give dig mulighed for at konfigurere hukommelsescontrollerforholdet. Dette er typisk kendt som Gear 1, 2 og 4. Gear 1 får hukommelsescontrolleren til at køre i et forhold på 1:1 med hukommelsen. Dette resulterer dog i for stort strømforbrug over 3600MTs, hvilket påvirker systemets stabilitet. For en vis stigning i ventetiden kører skift til Gear 2 hukommelsescontrolleren i et 1:2-forhold, med halvdelen af ​​hukommelsens hastighed. Dette giver i sidste ende kun nogen fordel fra omkring 4400MT'er og opefter. Gear 1 er bedre, men Gear 2 kan give stabilitet ved højere hastigheder.

Selvom dette er vigtigt for DDR4 RAM, kører DDR5 RAM i øjeblikket altid i Gear 2, da det starter hurtigere. Selvom det i øjeblikket er unødvendigt, da teknologien ikke er moden nok til at bruge, ville Gear 4 betjene hukommelsescontrolleren i et 1: forhold med hukommelsen ved en fjerdedel af hastigheden. Igen er dette kun nødvendigt ved høje hastigheder. Det er dog uklart, præcis hvor denne overgang ville være, da hardwaren ikke er der endnu.

Konklusioner

RAM-timinger tilbyder utrolig konfigurerbarhed for dit system-RAM. De er dog også et dybt kaninhul, hvis du kommer i fuld RAM-overclocking. For at hjælpe med at gøre det nemmere at få de fleste fordele giver XMP-standarden hukommelsesproducenter mulighed for at specificere deres anbefalede timings uden for JEDEC-standarderne. Dette kan tilbyde ekstra ydeevne i en næsten plug-and-play implementering.

I nogle tilfælde bliver XMP-profilen aktiveret som standard. Alligevel vil det ofte være nødvendigt at vælge det manuelt i BIOS. Dette anvender automatisk de højere leverandørens anbefalede hastigheder og strammer timingen til de leverandørtestede indstillinger. Hvis du beslutter dig for at konfigurere dine RAM-timinger, er det vigtigt at vide, hvad de er, og hvad de gør.