SDRAM

Allikas: Vikipeedia

Sünkroonne dünaamiline muutmälu ehk SDRAM (inglise Synchronous Dynamic Random Access Memory) on dünaamiline muutmälu (DRAM), mida sünkroniseeritakse 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 ning hetkel veel valmimisel olev DDR4 (tuleb müüki oletatavalt 2012. aastal).

Ajalugu[muuda | redigeeri lähteteksti]

SDRAM.

SDRAM-i mõiste oli teada juba 1970-ndatest 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 4 mäluaadressi kasutada ühel hetkel.). 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-ed.

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

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

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 (100MHz 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. Jällegi see on püsinud suhteliselt konstantselt 10-15 ns juures DDR SDRAM-i generatsioonide vältel.

Operatsiooni ajal CAS-i latentsusaeg on spetsiifiline number 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 sellisetaktikiiruse 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 peale esimese aadressi andmist genereerib SDRAM järgnevad 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[muuda | redigeeri lähteteksti]

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 taktsitsü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 selle pä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[muuda | redigeeri lähteteksti]

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 impulss"). Hoolimata nimest ei ole see impulss, pigem lihtsalt käsu bit. Koos CAS'iga ja WE'ga valib see ühe kaheksast käsust.
  • CAS (Column Address Strobe "Veeruaadressi impulss"). Hoolimata nimest ei ole see impulss, pigem lihtsalt käsu bit. Koos RAS'iga ja WE'ga valib see ühe kaheksast käsust.
  • WE (Write enable "Luba lugemine"). Koos RAS'iga 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 sisend jalgadelt. Osad käsid, 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 hetkel 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 hetkel 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 eellaetud.
M M M M 0 0 režiim Lae režiimiregistri: A0 kuni A9 on laetud, 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 | redigeeri lähteteksti]

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

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

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

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

Automaatväskendus[muuda | redigeeri lähteteksti]

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

Kasutatud kirjandus[muuda | redigeeri lähteteksti]