Hva er asynkron DRAM?

DRAM er en form for datamaskinminne som brukes som system-RAM. Alle moderne dataenheter bruker en eller annen variant av Synchronous DRAM som system-RAM. Den nåværende generasjonen er DDR4, selv om DDR5 nettopp har kommet på markedet.

Før DDR RAM var det imidlertid SDR RAM. Teknisk sett er SDR RAM et retronym, som det opprinnelig ble referert til som SDRAM, forkortelse for Synchronous Dynamic Random Access Memory. Dette gjorde det forskjellig fra tidligere former for DRAM, som var asynkrone.

I motsetning til i synkron DRAM, er ikke minneklokken synkronisert med CPU-klokken for asynkron DRAM. Dette betyr at CPU-en ikke er klar over hastigheten som RAM-en fungerer med. CPU-en gir instruksjoner og gir data som skal skrives til RAM like raskt som kommandoen og I/O busser tillater det, med forventning om at minnekontrolleren vil håndtere det på et passende tidspunkt hastighet. Det betyr også at CPU-en ber om data uten å vite hvor lenge den må vente på svaret.

Dette betydde at CPU-en trengte å sende kommandoer sjeldnere enn spesifikasjonen tillot. Hvis en annen kommando ble sendt for raskt, kan operasjonen påvirke den første. Denne typen situasjon ville ha ført til datakorrupsjon og urimelige reaksjoner. Systemet fungerte og var standarden for DRAM fra starten på 1960-tallet til synkron DRAM viste sin overlegenhet og ble den dominerende formen for DRAM.

Historien om asynkron DRAM

Den første iterasjonen av asynkron DRAM hadde en ineffektivitet i seg. All DRAM samhandles ved å gi en rad og kolonne med minneceller. Etter å ha gitt denne informasjonen, kan du enten skrive data til disse cellene eller lese data fra dem, avhengig av kommandoene som er gitt. For å samhandle med noen minneceller, må raden leveres først, i det som er den tregeste delen av lese- eller skriveprosessen. Først når raden er åpnet kan en kolonne velges for interaksjon med spesifikke minneceller.

Den første iterasjonen av asynkron DRAM krevde at radadressen ble oppgitt for hver interaksjon. Viktigere, dette betydde at den langsomme prosessen med å åpne raden måtte skje hver gang. Selv om interaksjonen var med samme rad. Den andre iterasjonen, kalt Page Mode RAM, gjorde det mulig for en rad å holdes åpen og flere lese- eller skriveoperasjoner utført på hvilken som helst av kolonnene i den raden.

Page Mode DRAM ble senere forbedret med Fast Page Mode DRAM. Sidemodus DRAM tillot kun å spesifisere en faktisk kolonneadresse etter å ha åpnet en rad. En egen kommando ble gitt som ga instruksjoner om å velge en kolonne. Fast Page Mode tillot at kolonneadressen ble oppgitt før instruksjonen om å velge en kolonne, noe som ga en mindre latensreduksjon.

EDO DRAM

EDO DRAM eller Extended Data Out DRAM la til muligheten til å velge en ny kolonne. Samtidig leses det fortsatt ut data fra den tidligere spesifiserte kolonnen. Dette tillot kommandoer å bli pipelinet og ga en ytelsesøkning på opptil 30 %.

Burst EDO RAM var den siste asynkrone DRAM-standarden. Da det kom på markedet, gjorde synkron DRAM allerede fremskritt mot å bli den dominerende formen for DRAM. Det tillot en serie med kolonneadresser å spesifiseres i en enkelt klokkesyklus ved å velge en adresse og deretter bestemme å lese fra opptil de følgende tre kolonnene i raden for redusert ventetid.

Konklusjon

Asynkron DRAM var en tidlig form for DRAM som ikke synkroniserte DRAM-klokken med CPU-klokken. Dette fungerte bra nok mens CPU-frekvensene var lave. Men etter hvert som de økte, begynte den å vise sin svakhet. Synchronous RAM ble etter hvert den dominerende aktøren på DRAM-markedet. Den økte effektiviteten og skalerbare ytelsen fortsetter å forbedres. For øyeblikket lages i hovedsak ingen asynkron DRAM aktivt, siden ingenting egentlig bruker den. Det er neppe noen gang et comeback.