Hvad er Synchronous DRAM?

click fraud protection

Synchronous DRAM eller SDRAM er den nuværende standard for DRAM. Dens primære anvendelse er til system-RAM, selvom den også bruges i VRAM på grafikkort og hvor som helst DRAM bruges. Det er så dominerende inden for sit felt, at "S" typisk droppes, og det kaldes simpelthen DRAM. Synkroniseringen af ​​SDRAM er afgørende for dens ydeevne og var medvirkende til dens fremgang i forhold til sin forgænger, asynkron DRAM.

Arbejder synkroniseret

Synkron refererer til, at SDRAM har et internt ur, og at clockhastigheden er kendt af systemet. Det betyder ikke, at den kører med samme clockhastighed som CPU'en. Men den har et internt ur, og det ved CPU'en. Dette gør det muligt at optimere interaktioner med RAM, så I/O-bussen udnyttes fuldt ud i stedet for at blive efterladt inaktiv for at sikre, at ingen kommandoer forstyrrer andre kommandoer.

En del af problemet er, at når man skriver data til DRAM. Dataene skal gives samtidigt som kommandoen til at skrive dataene. Når data læses, læses dataene imidlertid tilbage to eller tre clock-cyklusser, efter at læsekommandoen er afgivet. Det betyder, at DRAM-controlleren skal give tilstrækkelig tid til, at læsehandlinger kan fuldføres, før der sker en skriveoperation. Med asynkron DRAM skete dette ved blot at give mere end nok tid til, at operationen blev fuldført. Denne praksis efterlod imidlertid I/O-bussen inaktiv. Samtidig ventede controlleren på nok for at være sikker, hvilket var en ineffektiv brug af ressourcer.

Synchronous DRAM bruger et internt ur til at synkronisere overførsel af data og udførelse af kommandoer. Dette lader hukommelsescontrollerens tidsoperationer udnytte I/O-bussen optimalt og sikrer højere ydeevne.

Forbedringer i forhold til asynkron DRAM

Ud over forbedringer i timing, der tillader forbedret kontrol, er den vigtigste forbedring af SDRAM evnen til at have flere hukommelsesbanker i DRAM. Hver bank opererer stort set uafhængigt internt. I en bank kan kun én række være åben på én gang. Alligevel kan en anden række åbnes i en anden bank, så læse- eller skriveoperationer kan pipelineres. Dette design forhindrer I/O-bussen i at sidde inaktiv. Samtidig sættes en ny læse- eller skriveoperation i kø, hvilket øger effektiviteten.

En måde at tænke over dette på er ved at tilføje en tredje dimension til et todimensionelt array. Du kan stadig kun læse eller skrive data fra ét sted ad gangen. Men du kan forberede endnu en række i en anden bank, mens der bliver interageret med en.

En anden fordel ved SDRAM kommer fra inkluderingen af ​​timingdata på en chip på hukommelsen. Nogle moderne RAM-sticks tillader ydeevne hurtigere end de officielle DRAM-standarder ved at kode deres specifikke timing-ydeevneoplysninger på den chip. Det kan også være muligt manuelt at tilsidesætte disse indstillinger, så RAM'en kan "overclockes". Dette er ofte meget dybdegående, da mange timingværdier kan konfigureres og har en tendens til at give en minimal ydeevne fordel. Overclocking af RAM kommer også i fare for ustabilitet, men kan give fordele i nogle arbejdsbelastninger.

Forbedringer over tid

Den faktiske hukommelsesurhastighed er ikke steget meget siden udgivelsen af ​​SDRAM. Den første iteration af SDRAM modtog retroonymet SDR. Dette er en forkortelse for Single Data Rate for at skelne den fra den senere DDR- eller Double Data Rate-hukommelse. Disse typer, såvel som mange andre former for DRAM, er alle eksempler på SDRAM. DRAM-chippens clock-cyklus styrer tiden mellem de hurtigste operationer af DRAM. For eksempel tager læsning af en kolonne fra en åben række en enkelt urcyklus.

Det er vigtigt at bemærke, at der er to forskellige clock-hastigheder for SDRAM, det interne ur og I/O-bus-uret. Begge kan styres uafhængigt og er blevet opgraderet over tid. Det interne ur er selve hukommelsens hastighed og har direkte indflydelse på latenstiden. I/O-uret styrer, hvor ofte data, der er blevet læst fra – eller vil blive skrevet til – SDRAM'et kan transmitteres. Denne klokhastighed kombineret med I/O-bussens bredde påvirker båndbredden. Begge ure er forbundet og er afgørende for den høje ydeevne af SDRAM.

Hvordan hastighederne er steget

Den officielle JEDEC-standard for den første generation af DDR SDRAM havde hukommelsesure mellem 100 og 200MHz. DDR3 tilbød stadig 100MHz hukommelsesure, selvom det også standardiserede clockhastigheder op til 266,6MHz. På trods af dette, interne ændringer af I/O-clockhastigheden og mængden af ​​data inkluderet i en læseoperation betød, at selv ved et 100MHz hukommelsesur blev båndbredden for en tidsenhed firedoblet.

DDR4 ændrede opgraderingsmønsteret og fordoblede hukommelsesuret med et interval mellem 200 og 400MHz, hvilket igen opnåede en fordobling af tilgængelig båndbredde, samtidig med at latensen blev reduceret. DDR5-standarden starter også med et hukommelsesur på 200MHz. Alligevel når den op til 450MHz, hvilket går tilbage til at fordoble mængden af ​​data, der overføres pr. cyklus for at fordoble båndbredden.

Konklusion

Synchronous DRAM er den primære type DRAM, der bruges i dag. Det er grundlaget for system-RAM og VRAM i grafikapplikationer. Ved at synkronisere handlinger fra DRAM'en med ure, kan den faktiske ydeevne af DRAM'en kendes, hvilket gør det muligt for operationer at blive effektivt stillet i kø til udførelse. Dette er meget mere effektivt end at efterlade mere end nok tid, fordi der ikke er nogen direkte måling eller måde at vide, hvornår en specifik kommando er blevet gennemført.

De ure, der styrer SDRAM, er afgørende for dens høje ydeevne. De styrer, hvor ofte kommandoer kan køres, og hvor hurtigt data kan læses fra eller skrives til DRAM'en. Ved at have disse timings kendt, kan de optimeres til maksimal ydeevne.