SDRAM
See artikkel ootab keeletoimetamist. |
Arvutimälutüübid |
---|
Haihtuvad ehk hävimälud |
Muutmälu (RAM) |
Kavandatavad, väljatöötamisel |
Mittehaihtuvad ehk säilmälud |
Püsimälu (ROM) |
Ajaloolised |
Sünkroonne dünaamiline muutmälu ehk SDRAM (inglise keeles 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 aga sünkroonne liides, mis tähendab seda, et ta ootab taktsignaali ära enne, kui vastab juhtsisenditele. Takti kasutatakse selleks, et juhtida sisemist lõplikku olekumasinat (Finite State Machine ehk FSP), mis omakorda võtab vastu sissetulevaid käske (käsukonveierid). See annab kiibile võimaluse teha palju keerulisemaid operatsioonijuppe, mis soodustab kiiremat tööd.
Käsukonveierid (instruction pipelines) on kasutusel protsessorites ning võimaldavad ühte käsujadasse kuuluvate kahe või enama masinakäsu paralleelset täitmist. 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 hetkeni, mil kirjutamine või lugemine on lõppenud ja 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
SDRAM-i mõiste oli teada juba 1970. aastatest ning oli kasutusel varajastes Inteli protsessorites. Üleüldist heakskiitu elektroonika tööstuses sai ta aga alles aastal 1993, mil Samsung esitles oma KM48SL2000 SDRAM-i. 2000. aastaks asendas SDRAM kardinaalselt oma tõhususe tõttu kõik DRAM tüüpi mälud kõigis moodsetes arvutites.
SDRAM-i latentsus ei ole iseenesest madalam (kiirem) kui asünkroonse DRAM-i oma. Tõepoolest varasem SDRAM oli lisaloogika pärast mõnevõrra aeglasem kui samaaegne BEDO DRAM (inglise 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 tema oskusest vahendada operatsioone mitmele mäluplokile (mälu osa, mille poole pöördutakse ühekorraga ja mille laius bittides on sama suur kui esisiinil. Näiteks Pentium-klassi protsessorite esisiini laiuseks on 64 bitti, seega sobib mäluplokiks kas üks DIMM-moodul või kaks 72 viiguga SIMM-moodulit.), suurendades sellega ribalaiust.
Tänapäeval, peaaegu kõik SDRAM-id toodetakse vastavalt standarditele, mis on kindlaksmääratud JEDEC-i (Joint Electron Devices Engineering Council) poolt. JEDEC on elektroonika tööstuse ühing, mis paneb paika avatud standardid (Avalikuks kasutamiseks kättesaadavad riist- ja tarkvarastandardid. Avatud standardid tähendavad seda, et paljud erinevad müüjad saavad omavahel konkureerida otseselt oma toodete funktsionaalsuse ja jõudluse alusel. See tähendab ka, et olemasoleva avatud süsteemi võib asendada teise müüjalt ostetud avatud süsteemiga ilma suuremate pingutuste ja märkimisväärsete töökatkestusteta.), et hõlbustada infovahetusvõimet elektroonikakomponentide vahel. JEDEC avalikult määras oma esimese SDRAM-i standardi aastal 1993 ja samamoodi määras ka teisi SDRAM-i standardeid, nende hulgas DDR, DDR2 ja DDR3 SDRAM.
SDRAM on kättesaadav ka registreeritud variantidena nendele süsteemidele, mis nõuavad suuremat mastaapsust, nagu serverid ja tööjaamad.
2007. aastast alates 168-pinniseid SDRAM DIMM-e enam ei kasutata uutes arvutisüsteemides, kuna 184-pinnine DDR mälu on edukam. DDR2 SDRAM on kõige levinum mälutüüp uuemates arvutites ning DDR3 SDRAM toega emaplaadid ja mälu 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
DRAM-i jõudlusel on erinevaid piiranguid. 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. k. > Column Address Strobe) (veeruaadressi impulss) (taktsignaal ridade ja veergudena organiseeritud mälukiibis, mida kasutatakse konkreetsele andmebitile vastava veerunumbri kindlakstegemiseks) latentsus. Seegi on püsinud suhteliselt konstantselt 10–15 ns juures DDR SDRAM-i generatsioonide vältel.
Operatsiooni ajal CAS-i latentsusaeg on spetsiifiline arv taktitsükleid, mis on programmeeritud SDRAM-i registrirežiimi ja oodatud DRAM-i kontrolleri poolt. Suvaline väärtus võb olla programmeeritud, kuid SDRAM ei hakka töötama korrektselt, kui see on liiga aeglane, Kõrgemate taktikiiruste juures, CAS latentsusaeg taktsitsüklites tõuseb loomulikult. 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 need, mis on kiipidel moodulis. Kui esimest korda ilmusid 100 MHz SDRAM-i kiibid, siis osad tootjad müüsid "100 MHz" mooduleid, mis ei oleks saanud usaldusväärselt töötada sellise taktkiiruse juures. 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).
Kui on vaja pöörduda järjestikuste aadresside poole, ja see on üsna tavaline situatsioon (näiteks käskude lugemine programmist), siis pärast esimese aadressi andmist genereerib SDRAM 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/ kirjutatavad juba siini sagedusega. “Sähvatuse” pikkuse ja muud parameetrid saab SDRAM-le vastava registri abil ette anda.
SDR SDRAM
Alguses tuntud kui SDRAM (inglise single data rate SDRAM ehk ühekordse kiirusega sünkroon-DRAM) aktsepteerib ühe käsu ja saadab üht andmesõna ühe taktitsükli jooksul. Tüüpilised taktsagedused on 100 ja 133 MHz. Kiibid on valmistatud valiku andmesiini suurustest (enim levinud on 4, 8 või 16 bitti), kuid kiibid on peamiselt pandud kokku 168-pinnilistesse DIMM-idesse, mis loevad või kirjutavad 64 (non-ECC) või 72 (ECC) bitte samal ajal.
Andmesiinide kasutamine on keerukas ja nõuab kompleksset DRAM-i kontrolleri vooluringi. See on nii sellepärast, et need andmed, mis on kirjutatud DRAM-i, peavad olema esitatud sama tsükli ajal kui kirjutamiskäsk, kuid lugemine annab väljundi 2 või 3 tsükli pärast lugemiskäsu. DRAM kontroller peab alati jälgima, et andmesiini poleks vaja ühel ja samal ajal nii lugemiseks kui ka kirjutamiseks.
Tüüpilise SDR SDRAM-i kella kiirus on 66, 100 ja 133 MHz (perioodid 15, 10 ja 7,5 ns). Kella kiirus, mis oli pea 150 MHz, oli kättesaadud esinemisentusiastidele.
SDRAM-i juhtsignaalid
Kõik käsud on ajastatud sõltuvalt taktsignaali tõusvast servast. Lisaks kellale on seal ka 6 kontrollsignaali, töötavad madalalt, mis on kogutud kella tõusva servale.
- CKE (Clock Enable "Kell lubatud"). Kui see signaal on madalal, kiip käitub nii, nagu kell oleks peatatud. Mingeid käske ei tõlgendata ja käsulatentsusaeg ei möödu. Teiste kontroll ridade 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 ignoreeritakse(väljaarvatud 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 ignoreerib kõiki teisi sisendeid(välja arvatud CKE) ja käitub, nagu oleks saanud NOP käsu
- DQM (Data Mask "Andme mask"). Kui kõrgel, siis need signaalid lülitavad andmete I/O välja. Kui antud signaal kaasneb kirjutatavate andmetega, siis tegelikult andmeid DRAM-i 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 "Reaaadressi strobeerimisimpulss"). Hoolimata nimest 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 nimest 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 kahte või nelja sisemiseks andmepangaks. Üks või kaks aadressi sisendit (BA0 ja BA1) valivad, millisesse osasse 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) |