Vad är asynkront DRAM?

click fraud protection

DRAM är en form av datorminne som används som system-RAM. Alla moderna datorenheter använder en eller annan variant av Synchronous DRAM som deras system-RAM. Den nuvarande generationen är DDR4, även om DDR5 precis har kommit ut på marknaden.

Innan DDR RAM fanns det dock SDR RAM. Tekniskt sett är SDR RAM en retronym, som det från början kallades SDRAM, förkortning för Synchronous Dynamic Random Access Memory. Detta gjorde det skilt från tidigare former av DRAM, som var asynkrona.

Till skillnad från i synkront DRAM är minnesklockan inte synkroniserad med CPU-klockan för asynkron DRAM. Detta betyder att CPU: n inte är medveten om hastigheten med vilken RAM-minnet fungerar. CPU: n utfärdar instruktioner och tillhandahåller data som ska skrivas till RAM lika snabbt som kommandot och I/O bussar tillåter, med förväntningen att minneskontrollern kommer att hantera det på lämpligt sätt fart. Det betyder också att CPU: n frågar efter data utan att veta hur länge den kommer att behöva vänta på svaret.

Detta innebar att processorn behövde skicka kommandon mer sällan än vad specifikationen tillät. Om ett andra kommando skickades för snabbt, kan dess funktion påverka det första. Denna typ av situation skulle ha lett till datakorruption och meningslösa svar. Systemet fungerade och var standarden för DRAM från starten på 1960-talet tills synkron DRAM visade sin överlägsenhet och blev den dominerande formen av DRAM.

Historik för asynkront DRAM

Den första iterationen av asynkront DRAM hade en ineffektivitet i sig. Allt DRAM interageras med genom att tillhandahålla en rad och kolumn med minnesceller. Efter att ha tillhandahållit denna information kan du antingen skriva data till dessa celler eller läsa data från dem, beroende på de angivna kommandona. För att interagera med minnesceller måste raden tillhandahållas först, i det som är den långsammaste delen av läs- eller skrivprocessen. Först när raden har öppnats kan en kolumn väljas för interaktion med specifika minnesceller.

Den första iterationen av asynkront DRAM krävde att radadressen angavs för varje interaktion. Viktigt, detta innebar att den långsamma processen att öppna raden måste ske varje gång. Även om interaktionen var med samma rad. Den andra iterationen, kallad Page Mode RAM, gjorde det möjligt för en rad att hållas öppen och flera läs- eller skrivoperationer utförda på någon av kolumnerna i den raden.

Page Mode DRAM förbättrades senare med Fast Page Mode DRAM. Sidläge DRAM tillät endast att en faktisk kolumnadress anges efter att en rad öppnats. Ett separat kommando utfärdades som gav instruktioner för att välja en kolumn. Snabbt sidläge gjorde det möjligt att tillhandahålla kolumnadressen före instruktionen att välja en kolumn, vilket gav en mindre latensreduktion.

EDO DRAM

EDO DRAM eller Extended Data Out DRAM lade till möjligheten att välja en ny kolumn. Samtidigt läses data fortfarande ut från den tidigare angivna kolumnen. Detta gjorde det möjligt för kommandon att pipelineas och gav en prestandaökning på upp till 30 %.

Burst EDO RAM var den sista asynkrona DRAM-standarden. När det kom ut på marknaden gjorde synkront DRAM redan framsteg mot att bli den dominerande formen av DRAM. Det gjorde det möjligt att specificera en skur av kolumnadresser i en enda klockcykel genom att välja en adress och sedan bestämma att läsa från upp till följande tre kolumner i raden för minskade latens.

Slutsats

Asynkront DRAM var en tidig form av DRAM som inte synkroniserade DRAM-klockan med processorns klocka. Detta fungerade tillräckligt bra medan CPU-frekvenserna var låga. Men när de ökade började den visa sin svaghet. Synchronous RAM blev så småningom den dominerande aktören på DRAM-marknaden. Dess ökade effektivitet och skalbara prestanda fortsätter att förbättras. För närvarande görs i princip inget asynkront DRAM aktivt eftersom ingenting verkligen använder det. Det är osannolikt att det någonsin kommer att göra comeback.