SDRAM

Allikas: Vikipeedia
Jump to navigation Jump to search

Sünkroonne dünaamiline muutmälu ehk SDRAM (ingl. Synchronous Dynamic Random Access Memory) on dünaamiline muutmälu (DRAM), mida sünkroonitakse süsteemisiiniga. Klassikalisel DRAM-il on asünkroonne liides, mis vastab nii kiiresti kui võimalik igasugustele muutustele juhtsisendites. Erinevalt DRAM-is on SDRAM-il sünkroonne liides, mis ootab enne juhtsisenditele vastamist ära taktsignaali. Takti kasutatakse sissetulevate käskude vastuvõtmisega (käsukonveierid) tegeleva sisemise lõpliku olekumasina (Finite State Machine ehk FSP) juhtimiseks. See annab kiibi kiirema töö soodustamiseks võimaluse teha palju keerulisemaid operatsioonijuppe.

Käsukonveiereid (instruction pipelines) kasutatakse protsessorites ühte käsujadasse kuuluvate kahe või enama masinakäsu rööbiti täitmiseks. Konveier koosneb sel juhul käsu erinevaid osi (aadresside dekodeerimine ja aritmeetika, registritest lugemine, puhvermälu poole pöördumine jne) täitvatest elementidest. Ajavahemikku mälu poole pöördumise hetkest kuni kirjutamise või lugemise lõppemiseni, mil mälu on valmis reageerima järgmisele pöördumisele, nimetatakse latentsusajaks.

SDRAM-i kasutatakse laialdaselt arvutites. Pärast SDRAM-i on ilmunud ka hilisemaid generatsioone, nagu DDR ehk DDR1 (Double Data Rate), DDR2, DDR3 ja DDR4.

Ajalugu[muuda | muuda lähteteksti]

SDRAM.

SDRAM-i mõiste oli teada juba 1970. aastatest ning oli kasutusel varajastes Inteli protsessorites. Üldise heakskiidu elektroonikatööstuses sai see alles aastal 1993, mil Samsung esitles SDRAM-i KM48SL2000. 2000. aastaks asendas SDRAM oma tõhususe tõttu kõik DRAM-mälud kõigis moodsetes arvutites.

SDRAM-i latentsus ei ole iseenesest madalam (kiirem) kui asünkroonse DRAM-i oma. Varasem SDRAM oli lisaloogika pärast mõnevõrra aeglasem kui samaaegne BEDO DRAM (ingl. Burst Extended Data Out Dynamic RAM) (valangedastusega/sähvatusega pikendatud väljundiga dünaamiline muutmälu. EDO DRAM-i tüüp, mis suudab korraga kasutada 4 mäluaadressi). SDRAM-i sisepuhverduse eelised tulevad võimest vahendada operatsioone mitmele mäluplokile (mälu osa, mille poole pöördutakse ühekorraga ja mille laius bittides on esisiiniga sama suur. Näiteks Pentium-klassi protsessorite esisiini laiuseks on 64 bitti, mistõttu sobib mäluplokiks kas üks DIMM-moodul või kaks 72 viiguga SIMM-moodulit.), suurendades sellega ribalaiust.

Tänapäeval toodetakse peaaegu kõik SDRAM-id vastavalt JEDEC-i (Joint Electron Devices Engineering Councilavatud standardeid kehtestav elektroonikatööstuse ühing) poolt kehtestatud standarditele. JEDEC avaldas oma esimese avaliku SDRAM-i standardi aastal 1993 ja samuti ka teisi SDRAM-i standardeid, nende hulgas DDR, DDR2 ja DDR3 SDRAM.

SDRAM on kättesaadav ka registreeritud variantidena suuremat mastaapsust nõudvatele süsteemidele, nagu serverid ja tööjaamad.

2007. aastast alates ei kasutata enam 168-klemmisseid SDRAM DIMM-e uutes arvutisüsteemides, kuna 184-klemmine DDR-mälu on edukam. DDR2 SDRAM on kõige levinum mälutüüp uuemates arvutites ning DDR3 SDRAM toega emaplaadid ja mälud on laialdaselt kättesaadavad ning palju odavamad kui ikka veel populaarsed DDR2-d.

Tänapäeva kõige suuremad SDRAM-ide tootjad on Samsung Electronics, Panasonic, Micron Technology ja Hynix.

SDRAM-i ajastus[muuda | muuda lähteteksti]

DRAM-i jõudlusel on mitmed piirangud. Kõige enam pannakse tähele lugemistsükli aega eduka lugemise operatsioonide avatud reani. See aeg on vähendatud 10 ns (100 MHz SDRAM) 5 ns-ni (DDR-400), kuid on siiski jäänud suhteliselt muutmata DDR2-800 ja DDR3-1600 generatsioonide seas.

Teine piirang on CAS-i (ingl. Column Address Strobe - veeruaadressi impulss ehk taktsignaal ridade ja veergudena organiseeritud mälukiibis, mida kasutatakse konkreetsele andmebitile vastava veerunumbri kindlakstegemiseks) latentsus. See on püsinud suhteliselt muutumatuna 10–15 ns juures DDR SDRAM-i generatsioonide vältel.

Operatsiooni ajal on CAS-i latentsusaeg spetsiifiline arv taktitsükleid, mis on programmeeritud SDRAM-i registrirežiimi ja oodatud DRAM-i kontrolleri poolt. Määratud võib olla suvaline väärtus, kuid SDRAM ei hakka liiga aeglase latentsi puhul korrektselt tööle. Kõrgemate taktikiiruste juures CAS-i latentsusaeg taktsitsüklites tõuseb. 10–15 ns on 2–3 tsüklit (CL 2–3) 200 MHz DDR-400 SDRAM-i kellal, CL4-6 on DDR2-800 ja CL8-12 on DDR3-1600 jaoks.

SDRAM-i moodulitel on omad ajastuse spetsifikatsioonid, mis võivad olla aeglasemad kui moodulis olevatel kiipidel. 100 MHz SDRAM-kiipide esmakordsel ilmumisel müüsid osad tootjad "100 MHz" mooduleid, mis ei oleks saanud sellise taktkiiruse juures usaldusväärselt töötada. Vastuseks avaldas Intel PC100 standardi, mis oli kooskõlas igasuguste nõudmistega ning sai töötada usaldusväärselt 100 MHz juures. See standard oli laialdaselt mõjukas ning termin "PC100" sai kiiresti üldiseks identifitseerijaks 100 MHz SDRAM-i moodulite puhul. Siiani kasutatakse "PC"- kui prefiksina koos numbritega (Näiteks PC66, PC100, PC133, kuigi tegelik numbrite tähendus on praeguseks muutunud).

Järjestikuste aadresside poole pöördumisel (mis on levinud juhtum, näiteks käskude lugemine programmist) genereerib SDRAM pärast esimese aadressi andmist järgmised ise. Seda nimetatakse “sähvatuseks” (inglise burst). Seejuures kulub esimesele pöördumisele sama palju aega kui FPM- ja EDO-mälu puhulgi, kuid järgnevad andmed on loetavad ja kirjutatavad juba siini sagedusega. “Sähvatuse” pikkuse ja muud parameetrid saab SDRAM-le vastava registri abil ette anda.

SDR SDRAM[muuda | muuda lähteteksti]

Alguses tuntud kui SDRAM (ingl. single data rate SDRAM ehk ühekordse kiirusega sünkroon-DRAM), aktsepteerib ühe käsu ja saadab ühe andmesõna ühe taktitsükli jooksul. Tüüpilised taktsagedused on 100 ja 133 MHz. Kiibid on valmistatud valiku andmesiini suurustest (levinumad on 4, 8 või 16 bitti), kuid kiibid on peamiselt kokku pandud 168-kontaktilistesse DIMM-idesse, mis loevad või kirjutavad üheaegselt 64 (non-ECC) või 72 (ECC) bitti.

Andmesiinide kasutamine on keerukas ja nõuab kompleksset DRAM-kontrolleri vooluringi, kuna DRAM-ile asuvad andmed peavad olema esitatud kirjutamiskäsuga sama tsükli ajal, kuid lugemine annab väljundi 2 või 3 tsüklit pärast lugemiskäsku. DRAM-kontroller peab jälgima, et andmesiini ei kasutataks samal ajal nii lugemiseks kui ka kirjutamiseks.

Tüüpiline SDR SDRAM-i kella sagedus on 66, 100 ja 133 MHz (perioodid 15, 10 ja 7,5 ns), kuid on saavutatud ka sagedust kuni 150 MHz.

SDRAM-i juhtsignaalid[muuda | muuda lähteteksti]

Kõik käsud on ajastatud sõltuvalt taktsignaali tõusvast servast. Lisaks kellale on 6 madalalt töötavat kontrollsignaali, mis on kogutud kella tõusva servale.

  • CKE (Clock Enable "Kell lubatud"). Kui see signaal on madalal, käitub kiip nagu oleks kell peatatud. Mingeid käske ei tõlgendata ja käsulatentsusaeg ei möödu. Teiste kontrollridade olek ei muuda midagi. Selle signaali efekt on ühe tsükli jagu viivitatud, mis tähendab, et käimasolev tsükkel jätkub tavapäraselt, kuid järgmist eiratakse (välja arvatud CKE sisendi kontrollimine). Normaal tegevus taastub kella tõusul juhul, kui CKE on kõrgel.
  • CS (Chip Select "Kiibi valik"). Kui see signaal on kõrgel, siis kiip eirab kõiki teisi sisendeid (välja arvatud CKE) ja käitub, nagu oleks saanud käsu NOP.
  • DQM (Data Mask "Andme mask"). Kui kõrgel, siis need signaalid lülitavad andmete sisend/väljundi välja. Kui antud signaal kaasneb kirjutatavate andmetega, siis tegelikult andmeid DRAM-ile ei kirjutata. Kui pandud kõrgeks kaks tsüklit enne lugemis tsüklit, siis andmeid kiibist ei väljastata. DIMM-il ja x16 mäludel on iga 8 biti kohta on üks DQM rada
  • RAS (Row Address Strobe – rea-aadressi strobeerimisimpulss). Hoolimata nimetusest ei ole see impulss, pigem lihtsalt käsu bit. Koos CAS-i ja WE-ga valib see ühe kaheksast käsust.
  • CAS (Column Address Strobe – veeruaadressi strobeerimisimpulss). Hoolimata nimetusest ei ole see impulss, pigem lihtsalt käsu bit. Koos RAS-i ja WE-ga valib see ühe kaheksast käsust.
  • WE (Write enable – 'luba lugemine'). Koos RAS-i ja WE-ga valib see ühe kaheksast käsust. Enamasti saab selle järgi eristada lugemis käske kirjutus käskudest.

SDRAM-seadmed on üldjuhul jagatud kaheks või neljaks sisemiseks andmepangaks. Üks või kaks aadressi sisendit (BA0 ja BA1) valivad, millisesse ossa signaal saadetakse.

Paljud käsud kasutavad ka aadresse aadressi sisendjalgadelt. Osad käsud, mis ei kasuta aadressi või esitavad tulpaadressi, kasutavad ka A10-t, et valida variante.

Käskude mõistekaart:

/CS /RAS /CAS /WE BAn A10 An Käsk
K x x x x x x Keelukäsk (midagi ei toimu)
M K K K x x x Midagi ei toimu
M K K M x x x Sähvatuse/ valangu termineerimine: peatada sähvatuse/ valangu lugemine/kirjutamine.
M K M K plokk M tulp Loe: Lugeda andmeid aktiivselt realt.
M K M K plokk K tulp Loe eellaadimisega: nagu enne, aga koos eellaadimisega (sulge rida), kui on valmis.
M K M M plokk M tulp Kirjuta: Kirjuta andmeid aktiivselt realt.
M K M M plokk K tulp Kirjuta eellaadimisega: nagu enne, aga koos eellaadimisega (sulge rida), kui on valmis.
M M K K plokk rida Aktiivne (aktiveeri): ava rida, et lugeda ja kirjutada.
M M K M plokk M x Eellaadimine: Deaktiveerida valitud ploki rea.
M M K M x K x Eellae kõike: Deaktiveeri kõigi plokkide hetkerida.
M M M K x x x Autovärskenda: värskenda iga ploki üks rida, kasutades sisemist kaunterit. Kõik plokid peavad olema eellaaditud.
M M M M 0 0 režiim Lae režiimiregistri: A0 kuni A9 on laaditud, et sätestada DRAM kiibi.
Kõige märkimisväärsem sätestus on CAS latentsus (2 või 3 tsüklit) ning sähvatuse pikkus (1, 2, 4 või 8 tsüklit)

SDRAM-i talitlus[muuda | muuda lähteteksti]

Käskude interaktsioon[muuda | muuda lähteteksti]

Valangu/sähvatuse lugemise katkestus[muuda | muuda lähteteksti]

SDRAM-i valangu/sähvatuse käsk[muuda | muuda lähteteksti]

SDRAM-i režiimiregister[muuda | muuda lähteteksti]

Automaatväskendus[muuda | muuda lähteteksti]

Energiasäästlik režiim[muuda | muuda lähteteksti]

Kirjandus[muuda | muuda lähteteksti]