Moderne computere er stramt drevne skibe. Langt de fleste komponenter køres på et ur, og disse ure kan tikke milliarder af gange i sekundet. Det mest stramt kontrollerede stykke hardware i en computer er dog RAM. Der er snesevis af primære, sekundære og tertiære timings, der bruges til at konfigurere præcist, hvor hurtig hver stick af RAM kan være. Selvom disse timings definerer ydeevnen af RAM, styrer de ikke, hvordan det fungerer, bare hvor hurtigt.
En af de kritiske dele af at bruge RAM er RAS. RAS er en forkortelse for Row Access Strobe eller Row Access Select. I tiden med Asynkron DRAM var RAS en stroboskop. Men med moderne Synchronous DRAM er det ikke længere tilfældet; navnet bruges stadig almindeligvis som et holdover.
RAS er en elektrisk forbindelse mellem hukommelsescontrolleren og RAM-chipsene. Det efterlades som standard højt. Når RAS bringes lavt, indikerer dette, at adressen på adressestifterne er en rækkeadresse. RAM'en starter derefter processen med at åbne den definerede række. RAS skal så holde sig lavt, indtil rækken kan lukkes. Dette er efter data vises på datastifterne.
Tidspunkter relateret til RAS
Der er mange timings relateret til RAS. Det mest basale er tRAS som definerer det mindste antal hukommelsesklokcyklusser, som RAS skal holdes lavt. Dette er typisk det fjerde tal, hvis et sæt RAM-timinger præsenteres uden etiketter. tRCD er en anden timing, der definerer RAS til CAS forsinkelsen. Dette er antallet af hukommelsesurcyklusser, der skal gå mellem RAS trækkes lavt til instruer RAM'en til at tage en rækkeadresse, og CAS trækkes lavt for at instruere RAM'en til at tage en kolonne adresse. Kombineret angiver disse to adresser en hukommelsesadresse, men åbningen af rækken skal fuldføres, før en kolonneadresse kan angives.
tRC er rækkecyklustiden. Det er det mindste antal hukommelsesur-cyklusser mellem en række, der åbnes, og en anden række, der åbnes. Dette er en kombination af den tid, hvor RAS skal holdes lavt, og den tid, det skal holdes højt for at forlade efter en række er blevet lukket. tRP er RAS-foropladningstiden, der definerer hvor længe RAS skal være høj, før den kan bringes lavt igen for at åbne en anden række.
Hvilke funktioner bruges RAS til?
RAS bruges til hver RAM-operation. En række- og kolonneadresse skal angives for at kunne læse data fra RAM. Den faldende kant af RAS instruerer RAM'en til at kontrollere adressestifterne for at finde ud af, hvilken række der skal åbnes. Denne proces er den samme for skriveoperationer.
Hukommelsescellerne, der udgør RAM, skal genopfriske deres opladning, da den jævnligt lækker. Dette kaldes forfriskende. En opdateringscyklus køres for at sikre, at hver celle opdateres før ethvert datatab. Hele rækker af celler genopfriskes på én gang ved at åbne og lukke dem igen. Læse- eller skriveoperationen opdaterer derfor en række, hvilket betyder, at den kan springes over for den cyklus. Læse- og skriveoperationer kan dog ikke stole på at ramme hver række regelmæssigt nok, så specifikke opdateringsoperationer er påkrævet.
En forfriskende tilgang
Der er to hovedtilgange til at udføre en opdatering; begge kræver brug af RAS. Den første er RAS Only Refresh eller ROR. Dette involverer at trække RAS lavt og angive den række, der skal opdateres. Der foretages ingen yderligere handlinger, og rækken lukkes, så snart den kan være klar til næste operation.
Den anden tilgang er CAS Before RAS refresh eller CBR. Dette trækker CAS lavt, derefter RAS lavt, men angiver aldrig nogen adresse på adressestifterne. Ved normal drift skal RAS altid trækkes lavt først, hvilket er en særskilt operation. Den er afhængig af RAM'en til at holde en tæller for, hvilke rækker der er blevet opdateret, og hvilke der stadig mangler at blive opdateret.
Da der ikke er angivet nogen række, åbnes en række specificeret af tælleren og øges derefter med én, så den næste række åbnes næste gang. CBR har en lille strømeffektivitetsfordel i forhold til ROR, da der ikke kræves strøm for at angive en rækkeadresse. CBR kan dog tilbyde mindre mulighed for celle-for-celle oplysning om afgiftsfald, selvom dette slet ikke er implementeret i øjeblikket, hvilket gør det til en rent teoretisk ulempe.
Konklusion
RAS står for Row Address Strobe. Det kan også kaldes Row Address Select, da det elektriske signal ikke længere er en stroboskop. Når RAS bringes lavt, hentes en rækkeadresse fra adressestifterne. Dette bruges til at åbne en række, som forbliver åben, så længe RAS holdes lavt. Der er et minimum af tid, som RAS skal holdes lavt, defineret som tRAS.
Der er også et minimum af tid, som RAS skal holdes højt bagefter, tRP. Kombineret udgør disse to timinger RAS-cyklustiden, tRC. Dette er ikke en hård grænse, men en blød, der sikrer tilstrækkelig tid til, at rækkerne kan åbnes ordentligt, og at foropladningen kan fuldføres, når rækken er lukket igen.