Moderne computers zijn strak geleide schepen. De overgrote meerderheid van de componenten werkt op een klok, en die klokken kunnen miljarden keren per seconde tikken. Het meest gecontroleerde stuk hardware in een computer is echter het RAM-geheugen. Er zijn tientallen primaire, secundaire en tertiaire timings die worden gebruikt om precies te configureren hoe snel elke RAM-stick kan zijn. Hoewel deze timings de prestaties van RAM bepalen, bepalen ze niet hoe het werkt, alleen hoe snel.
Een van de kritieke onderdelen van het gebruik van RAM is RAS. RAS is de afkorting van Row Access Strobe of Row Access Select. In de tijd van Asynchronous DRAM was RAS een flitser. Met moderne synchrone DRAM is dat echter niet langer het geval; de naam wordt nog steeds algemeen gebruikt als overblijfsel.
RAS is een elektrische verbinding tussen de geheugencontroller en de RAM-chips. Het is standaard hoog gelaten. Wanneer RAS laag wordt gebracht, geeft dit aan dat het adres op de adrespennen een rijadres is. Het RAM-geheugen start vervolgens het proces van het openen van de gedefinieerde rij. RAS moet dan laag blijven totdat de rij gesloten kan worden. Dit is nadat gegevens op de gegevenspinnen verschijnen.
Timings gerelateerd aan RAS
Er zijn veel timings gerelateerd aan RAS. De meest elementaire is tRAS wat het minimale aantal geheugenklokcycli definieert dat RAS laag moet worden gehouden. Dit is meestal het vierde getal als een set RAM-timings wordt gepresenteerd zonder labels. TRCD is een andere timing die de vertraging van RAS naar CAS definieert. Dit is het aantal geheugenklokcycli dat moet verstrijken tussen RAS die laag wordt getrokken instrueer de RAM om een rijadres te nemen en CAS wordt laag getrokken om de RAM te instrueren om een kolom te nemen adres. Gecombineerd specificeren deze twee adressen een geheugenadres, maar het openen van de rij moet voltooid zijn voordat een kolomadres kan worden gespecificeerd.
TRC is de rijcyclustijd. Dat is het minimale aantal geheugenklokcycli tussen het openen van een rij en het openen van een andere rij. Dit is een combinatie van de tijd dat RAS laag moet worden gehouden en de tijd dat het hoog moet worden gehouden om voor te laden nadat een rij is gesloten. TRP is de RAS-voorlaadtijd, die bepaalt hoe lang RAS hoog moet zijn voordat het weer laag kan worden gebracht om een andere rij te openen.
Voor welke functies wordt RAS gebruikt?
RAS wordt gebruikt voor elke RAM-bewerking. Er moet een rij- en kolomadres worden opgegeven om gegevens uit het RAM-geheugen te kunnen lezen. De dalende flank van RAS instrueert het RAM om de adrespennen te controleren om erachter te komen welke rij moet worden geopend. Dit proces is hetzelfde voor schrijfbewerkingen.
De geheugencellen waaruit het RAM-geheugen bestaat, moeten hun lading verversen omdat het regelmatig weglekt. Dit heet verversen. Er wordt een vernieuwingscyclus uitgevoerd om ervoor te zorgen dat elke cel wordt vernieuwd voordat gegevens verloren gaan. Hele rijen cellen worden in één keer ververst door ze te openen en weer te sluiten. De lees- of schrijfbewerking vernieuwt daarom een rij, wat betekent dat deze voor die cyclus kan worden overgeslagen. Er kan echter niet op worden vertrouwd dat lees- en schrijfbewerkingen elke rij regelmatig genoeg raken, dus specifieke vernieuwingsbewerkingen zijn vereist.
Een verfrissende aanpak
Er zijn twee hoofdbenaderingen voor het uitvoeren van een vernieuwing; beide vereisen het gebruik van RAS. De eerste is RAS Only Refresh of ROR. Dit omvat het naar beneden halen van RAS en het specificeren van de rij die moet worden vernieuwd. Er worden geen verdere acties ondernomen en de rij wordt gesloten zodra deze gereed kan zijn voor de volgende bewerking.
De tweede benadering is de CAS Before RAS refresh of CBR. Dit trekt CAS laag, dan RAS laag, maar specificeert nooit een adres op de adrespennen. Bij normale operaties moet RAS altijd eerst laag worden getrokken, wat een aparte operatie is. Het vertrouwt op het RAM-geheugen om bij te houden welke rijen zijn vernieuwd en welke nog moeten worden vernieuwd.
Omdat er geen rij is opgegeven, wordt een door de teller gespecificeerde rij geopend en vervolgens met één verhoogd, zodat de volgende rij de volgende keer wordt geopend. CBR heeft een licht voordeel ten opzichte van ROR, aangezien er geen stroom nodig is om een rijadres op te geven. CBR biedt echter mogelijk minder mogelijkheden voor bewustmakingsvergoedingen voor cel-voor-cel-ontlading, hoewel dit momenteel helemaal niet wordt geïmplementeerd, waardoor dat een puur theoretisch nadeel is.
Conclusie
RAS staat voor Row Address Strobe. Het kan ook Row Address Select worden genoemd, omdat het elektrische signaal niet langer een stroboscoop is. Wanneer RAS laag wordt gebracht, wordt een rijadres opgehaald van de adrespennen. Dit wordt gebruikt om een rij te openen, die open blijft zolang RAS laag wordt gehouden. Er is een minimale hoeveelheid tijd dat RAS laag moet worden gehouden, gedefinieerd als tRAS.
Er is ook een minimale hoeveelheid tijd dat RAS daarna hoog moet worden gehouden, tRP. Gecombineerd vormen deze twee timings de RAS-cyclustijd, tRC. Dit is geen harde limiet, maar een zachte limiet die ervoor zorgt dat rijen voldoende tijd hebben om goed te openen en om het voorladen te voltooien zodra de rij weer is gesloten.