A Memória

A memóriaelemek rendeltetés szerint két fő csoportra - RAM (Random Access Memory, azaz tetszőleges hozzáférésű, a processzor által írható-olvasható) és ROM (Read-Only Memory, azaz csak olvasható memória) - oszthatók. A két csoporton belül további - gyártás és felhasználás szerinti - típusok különböztethetők meg. Itt most csak a RAM(DRAM)-al fogok foglalkozni mivel a központi memóriánál ezt a fajtát használjuk.

A számítógép memóriája a processzor mellett alapvető fontosságú alkatrész. A RAM főbb feldata az ideiglenes adatok tárolása: például a programok utasításai, adatok, a CPU munkájának eredményeinek a tárolása. Mivel a valóságban a RAM jóval lassabb mint a processzor, ezért a processzorban is saját, gyors memória van, a cache. Ezen még a merevlemez egy részét is használjuk memóriának, ez a virtuális memória. Erre akkor van szükség, ha a rendelkezésre álló fizikai memória betelik, ebben az esetben a számítógép úgy hidalja át ezt a nehézséget, hogy a merevlemez egy elkülönített részét használja adattárnak. Előnye hogy így jelentősen megnövelhetjük a memória méretét, de ezért jelentős sebességbeli árat kell fizetnünk mivel a merevlemez jóval lassabb mint a memória.

 

A RAM-on belül is két fő memóriatípust különböztetünk meg, ezek a DRAM és az SRAM. A DRAM-ot dinamikus az SRAM-ot statikus memóriának hívjuk.

DRAM felépítése egyszerű, azonban ez okozza legnagyobb hátrányát is. A töltéseket apró kondenzátorok tárolják, melyek egy idő után elvesztik töltésüket, és az így tárolt információt is. Azért, hogy ez ne következzen be a memóriákat a gyártó által megadott időközönként (a másodperc ezredrészei alatt) frissíteni kell. Ez természetesen időt vesz igénybe, ami alatt a memóriát nem lehet sem írni, sem olvasni. Egyes DRAM típusok a frissítést elrejtik egy olvasási ciklusba. Így ugyan a ciklus hosszabb lesz egy kissé, azonban ez rövidebb, mint ha megvárnánk a frissítést. Rendszermemóriának ezt a típust használjuk.

SRAM minden memóriacellát egy kétállapotú tároló alkot, amelyet több tranzisztor alkot, ezért bonyolultabb, és drágább kivitelű, ezen kívül ugyan akkora helyen kb. ötöd akkora tárhely érhető el vele mint a DRAM-al. Előnye viszont hogy nagyobb a sebessége, ezért főleg gyorsítótárakban (Cache) alkalmazzák.

A DRAM-ok többféle kialakításban léteznek, sokféle ezek közül már nem kapható. A legrégebbi (1990) DRAM típus az FPM(Fast Page Mode) SIMM kialakítással. A SIMM(Single In-Line Memory Module) kialakítás lényege, hogy az áramköri lapka alján lévő csatlakozók csak az egyik oldalon kerülnek kialakításra. 1994-ben megjelenő EDO (Enhanced Data Output), vagyis kiterjesztett adatkimenetű memóriák esetében némi sebességnövekedésről beszélhetünk, ugyanis az egyszerű pipeline megoldás révén folyamatos írás, vagy olvasás közben nőtt a memóriasávszélesség. Az egyszerű pipeline kialakítás az EDO RAM esetében egyébként azt jelenti, hogy még mielőtt az egyik adat elindul a CPU felé, addig a következő adat máris elérhető, ami értelemszerűen bizonyos sebességnövekedéssel jár. Az FPM és az EDO RAM memóriák annyiban megegyeznek, hogy aszinkron működési elvvel rendelkeznek, vagyis a cím és az adatvonal nem ugyanazzal az órajellel működik. Az FPM és EDO memóriákat a régebbi Pentiumos, 486-os és még ősibb számítógépekben használtak.

Egy EDO memória modul

Most azok a memóriák következnek soron, melyek működési elve szinkron, melyből következik az elnevezés: SDRAM, vagyis Synchronous DRAM. Az SDRAM memóriák világát napjainkban éljük, hiszen a ma kapható és használatban levő számítógépek legnagyobb hányada ilyen memóriát használ.

Az SDR DRAM (SDRAM) 1996-ban jelent meg és ez már a DIMM(Dual In-Line Memory Modul) kialakítást használta, ami abban különbözött a SIMM-től, hogy a lapka mindkét oldalán voltak csatlakozók. Forradalmi újításnak számított, hogy a memória a processzor órajelével, majd az FSB órajelével szinkronizálta magát. Ennek az az előnye, hogy többé nem kellet a processzornak a  memóriátol kapott adatokra várnia, szinkronizáltan kapta azokat, így a processzor mindig tudta, hogy a várt adatnak mikor kell megérkeznie, így optimalizáltabb működést nyújtott.Az SDRAM memóriák esetében a sebességet a gyártók a PC66, PC100, PC133-as jelzések alkalmazásával adják meg, mely jelzésekben a szám a memóriamodul által elviselt maximális működési frekvenciát adják meg, MHz-ben A 133Mhz-es modul 1066MB/s-os sávszélességet biztosított.

Egy SDRAM memória modul

Direct Rambus DRAM vagy DRDRAM (általában csak Rambus DRAM vagy RDRAM-ként hivatkoznak rá) is szinkron DRAM, és a  Rambus Corporation tervezte. Az első RDRAM támogatású alaplap 1999-ben jelent meg. Először a PC800-as jelzésű memóriák jelentek meg amik valós órajele 400 Mhz, de képesek 1 órajel alatt a ciklus elején és végén is adatot szolgáltatni, így az effektív órajelük 800Mhz, és sávszélességük 1600MB/s. Az RDRAM 16 bites adatutat biztosít (az SDRAM 64 bites), ezért többnyire párosával használják, hogy a 32 bites processzorok kiszolgálásakor ne alakuljon ki szűk keresztmetszet. Az RDRAM néhány jelentős hátránnyal rendelkezik, ezek a megnövekedett válaszidő, melegedés, bonyolult gyártás, és magas előállítási ár. A memóriákat hűtőbordával lehetett csak üzemeltetni, minden memóramodulra külön memóriavezérlő kellett (az SDRAM-nál elég volt az alaplap északi hidjába beépíteni egyet), az előállítási költsége is 2-3-szorosa volt PC133 SDRAM-énak, és a licencelés sem volt kedvező. Ráadásul egy évvel később kiadott DDR SDRAM 266Mhz effektív órajelen is 2100MB/s-os sávszélességet biztosított 64 biten és még olcsóbb is volt. Még az első Pentium 4-es processzorok és a hozzájuk levő alaplapok Rambus memóriára támaszkodtak, ráadásul bevezették a kétcsatornás üzemmódot ami PC800-as memóriáknál 3200MB/s-ot, a PC1066-os memóriáknál pedig 4200MB/s-os sávszélességet biztosított 32 biten. Aztán a 2003-ban az Intel is átállt a DDR memóriákra, amik 6400MB/s-ot biztosítottak kétcsatornás DDR400 esetén.

Rambus DRAM "Vigyázz! Forró Felület" felirattal a hűtőbordán

DDR SDRAM (Double Data Rate) 
Double Data Rate, ami annyit jelent, hogy dupla adatmennyiség, legalábbis az SDR-DRAM-hoz képest. A DDR memóriák ezt úgy érik el, hogy az órajel mindkét (fel-le) ága hordoz információt, így az SDR-hez képest azonnal duplaakkora a sávszélesség. Ezért is duplázódik az effektív órajel, azaz 200 MHz-es DDR memória esetén DDR400-as modulokról beszélünk. A memóriák (nagyon leegyszerűsítve) két főbb komponensből állnak, a memóriacellákból, és az IO-pufferekből. A memóriacella órajele az első DDR esetében 100 és 200 MHz között váltakozott (DDR200 esetén 100, DDR400 esetén 200 MHz), tehát ahhoz, hogy a memóriamodul órajelenként (400 MHz) 1 bit átmozgatására legyen képes, a belső adatbuszon 2 bitnek kellett átutazni a memóriacellákból (200 MHz) az IO-pufferbe
ezt elnevezték 2n-prefetch-nek.

A jelölés változott az SDRAM-hoz képest hiszen míg az esetében a számérték a működési frekvenciát jelöli pl:. PC133, addig a DDR memóriák esetében a PC utáni számérték a maximális memóriasávszélességet jelöli, még pedig MBps-ban megadva. Ezek szerint egy 266 MHz-es (2 x 133 MHz) DDR frekvencián üzemelő DDR memóriamodul a PC2100-as jelölést viseli magán, ugyanis 8 byte (64 bit) x 2 x 133 MHz egészen pontosan 2133 MBps-os sávszélességet eredményez. A DDR memóriák esetében a JEDEC 400 MHz-es effektív órajelnél húzta meg a határt, ezért a gyártóknak különböző módon kellett növelniük a memóriák sebességét. Először a késleltetések csökkentése jött számításba (DDR400 esetén 3-3-3-8-ról 2-2-2-5-re), majd megjelentek a magasabb órajelű DDR modulok is (DDR500, DDR566, DDR600, stb), azonban ezek már nem feleltek meg a JEDEC által támasztott követelményeknek, főleg azért nem, mert gyárilag specifikált feszültségük jóval meghaladta a DDR esetében szabványosított 2,5 V-ot (ami miatt gyári hűtőbordákra volt szükség, illetve gyakoribbá vált a memóriák túlmelegedése, elhalálozása stb). Ekkor a gyártók kénytelenek voltak más módon növelni tovább a memóriák sebességét, így került képbe a DDR2.

Memória típusa

Memóriacellák órajele

Adat prefetch-ek száma

IO-puffer órajele

Külső órajel

Elérhető sávszélesség

Modul név

DDR200

100MHz

2

100MHz

200 MHz

1600 MB/s

PC-1600

DDR266

133MHz

2

133MHz

266MHz

2128 MB/s

PC-2100

DDR333

166MHz

2

166MHz

333MHz

2656 MB/s

PC-2700

DDR400

200MHz

2

200MHz

400MHz

3200 MB/s

PC-3200

Kétcsatornás üzemmód esetén a sávszélesség duplázódik, de ahhoz 2 db ugyanolyan modul kell

Egy DDR memóriamodul

DDR2
 
A DDR2-t úgy fejlesztették ki, hogy a leglogikusabb és legegyszerűbb módon nőjön tovább a külső órajel (azaz a modul órajele): megfelezték a memóriacellák órajelét, viszont a belső adatbusz órajelét megduplázták, vagyis elérték, hogy órajelenként már ne 2, hanem 4 bit vándorolhasson át a memóriacellákból az IO-pufferbe (ezt pedig elnevezték 4n-prefetch-nek). Mivel továbbra is DDR-ről van szó, azaz minden egyes órajel esetében oda-vissza vándorol az információ, a sávszélesség megduplázódott (azonos órajelet feltételezve).

Például a DDR2-800 esetében a memóriacellák órajele a DDR400-hoz hasonlóan 200 MHz, viszont az IO-puffer órajele immár 400 MHz (a DDR esetében 200 MHz), ám mivel DDR-ről van szó, vagyis ezt szorozni kell kettővel, a memória külső órajele már 800 MHz, azaz DDR2-800-ról beszélünk. A módszernek természetesen vannak előnyei és hátrányai. Egyrészt mivel a memóriacellák órajele végeredményben nem nőtt a DDR-hez képest (elvégre megfelezték azt), csökkenhetett a fogyasztás, hiszen pl. egy DDR400-as modulhoz 200 MHz-es chipekre van szükség, míg egy DDR2-400-ashoz 100 MHz-es chipek kellenek, miközben a sávszélesség változatlan marad (3200 MB/s). Ugyanakkor a belső adatbusz sebességének megduplázásából adódóan viszont azonos belső órajelű chipek esetében a DDR2 kétszer akkora sávszélességgel kecsegtet: a belső adatbusz 200 MHz a DDR400 és a DDR2-800 esetében is, előbbi 3200, utóbbi 6400 MB/s-os sávszélességet kínál. Azonban van a módszernek hátulütője is. Mivel azonos sávszélességet feltételezve a DDR2-es memóriacelláinak órajele feleakkora, mint elődjéé, az elérési idő megnőtt.

Memória típusa

Memóriacellák órajele

Adat prefetch-ek száma

IO-puffer órajele

Külső órajel

Elérhető sávszélesség

Modul név

DDR2-400

100MHz

4

200MHz

400 MHz

3200 MB/s

PC-3200

DDR2-533

133MHz

4

266MHz

533MHz

4256 MB/s

PC-4300

DDR2-667

166MHz

4

333MHz

667MHz

5312 MB/s

PC-5300

DDR2-800

200MHz

4

400MHz

800MHz

6400 MB/s

PC-6400

Kétcsatornás üzemmód esetén a sávszélesség duplázódik, de ahhoz 2 db ugyanolyan modul kell

Idővel azonban a DDR2-re is az a sors várt, ami anno a DDR-re: a gyártók a sebességet ezúttal is olyan módszerekkel tornázták feljebb, melyek már nem fértek bele a JEDEC követelményrendszerébe. Először csökkentek a késleltetési értékek, pl. a bevezetés után a DDR2-800-as modulok jórészt magas, 5-5-5-15-ös késleltetéssel rendelkeztek, ma pedig már találunk 4-3-3-10-es modulokat is egyes gyártók kínálatában (ugyanez lejátszódott az alacsonyabb órajelű DDR2-esekkel is). Az extrém alacsony késleltetések mellett a moduloknak magasabb gyári feszültségre volt szüksége, majd a technológia fejlődésével megjelentek a még magasabb órajelű DDR2-memóriák is (DDR2-1200-1300), melyek még extrémebb feszültséget igényelnek (2,3-2,4V az 1,8V helyett). Ezeknek külső hőelvezető hűtőbordára van szüksége a stabil működéshez, így elkerülhetetlenné és szükségessé vált a DDR memóriaszabvány harmadik generációjának kifejlesztése.

Egy normál DDR2 memóriamodul

És egy extrém tuningos DDR2

DDR3
Miután láttuk, hogy a DDR2 hogyan volt képes a DDR-hez képest megnövelni órajeleit, nem nehéz kitalálni, hogy mi játszódott le a DDR3 esetében: gyakorlatilag ugyanez. Megfelezték a memóriacellák órajelét, viszont a belső adatbusz sebességét megduplázták, vagyis a DDR3 memóriacellái órajelenként 8 adatbitet továbbítanak az IO-pufferbe (8n-prefetch).

Az új memóriaszabvány ott kezdi el az órajelhajhászást, ahol a DDR2 abbahagyta, azaz DDR3-800-as értéken, és a JEDEC DDR3-1600-ban határozta meg a maximumot, persze az általuk jegyzett specifikációk határain belül, aminek legfontosabb idevonatkozó része a gyári feszültség, ami a DDR3 esetében 1,5V. Az előnyök-hátrányok is megegyeznek a DDR-DDR2 váltásnál megismertekkel: azonos sávszélesség eléréséhez a DDR3-nak fele olyan gyors memóriacellákra van szüksége, vagyis csökken a fogyasztás (ami különösen notebookok esetében nyer értelmet). Ugyanakkor azonos memóriacella-órajelekkel duplaakkora sávszélesség érhető el, természetesen a DDR3 javára (DDR2-800 vs. DDR3-1600, mindkettő 200 MHz-es memóriacellákat használ). Immár a hátrányok is kézenfekvőek: a DDR3 késleltetési értékei a DDR2-höz képest tovább romlottak, ami már eleve komoly hátrányban volt a DDR-hez képest, így az elérési idő nőtt. Összességében és lényegében a DDR2 és a DDR3 elődjénél magasabb elérhető sávszélességet biztosít alacsonyabb működési feszültség és rosszabb késleltetési értékek mellett (jelenleg 7-7-7-20, 8-8-8-24, 9-9-9-27 a legjellemzőbb értékek, idővel talán lesznek alacsonyabbak is ahogy a DDR és DDR2 esetében is volt).

Memória típusa

Memóriacellák órajele

Adat prefetch-ek száma

IO-puffer órajele

Külső órajel

Elérhető sávszélesség

Modul név

DDR3-800

100MHz

8

400MHz

800 MHz

6400 MB/s

PC3-6400

DDR3-1066

133MHz

8

533MHz

1066 MHz

8512  MB/s

PC3-8500

DDR3-1333

166MHz

8

666MHz

1333 MHz

10624  MB/s

PC3-10600

DDR3-1600

200MHz

8

800MHz

1600 MHz

12800  MB/s

PC3-12000

A legújabb Core i7-es processzorok már 3 csatornás memória kezelést is támogatják értelemszerűen 3 db ugyanolyan modul esetén és egyenlőre csak max 1066-os memóriákkal

A 20%-kal alacsonyabb működési feszültség mellett további újításként lehet felfogni a memóriacellák sűrűségének megnövekedését, aminek egyenes következménye a nagyobb memóriamodulok megjelenése (akár 8 GB-os is, ha a gyártók is úgy akarják), illetve újítás még a jeltovábbítási algoritmus megváltozását. A DDR3 modulok a DDR2-vel ellentétben úgynevezett "fly-by" topológiát alkalmaznak; ennek lényege, hogy a parancsokat/címzési műveleteket a memóriachipek egymás után kapják meg, és nem egyazon időben, mint a DDR2 esetén. Ezzel a módszerrel erősödik a jelátvitel, amire lényegében a magas órajelek elérése miatt van szükség, ám nő a késleltetés. Érdemes még megemlíteni, hogy a DDR3 modulokon megjelenhetnek a hőmérő szenzorok is (opcionális), amit főleg a tuningosok fognak örömmel fogadni. Bár a DDR3 modulok is 240 érintkezővel rendelkeznek, a DDR2-től fizikailag eltérő kialakításuk miatt nem mennek bele a DDR2 foglalatba.

A jelátviteli különbség

Habár a JEDEC szabvány 1600MHz-en maximalizálta a DDR3 órajelét a legtöbb gyártó már most kihozott olyan memóriákat amik átlépik ezt a sebességet, persze ez esetben is plusz feszültség emeléssel és hűtőbordákkal tudták elérni ezeket az eredményeket:

Memória típusa

Memóriacellák órajele

Adat prefetch-ek száma

IO-puffer órajele

Külső órajel

Elérhető sávszélesség

Modul név

DDR3-1800

225MHz

8

900MHz

1800 MHz

14400 MB/s

PC3-14400

DDR3-1866

233MHz

8

933MHz

1866 MHz

14928 MB/s

PC3-14900

DDR3-2000

255MHz

8

1000MHz

2000 MHz

16000 MB/s

PC3-16000

DDR3-2400

300MHz

8

1200MHz

2400 MHz

19200 MB/s

PC3-19200

Ebben a táblázatban szereplő memóriák már nem szabványok csak a gyártók tuningolt változatai

Egy normál DDR3 memóriamodul

És egy tuningos DDR3

 

Kezdőlap

Memória gyártók oldalai

A-Data

Corsair

CSX

Geil

G.Skill

Hynix

Infineon

Kingston

OCZ

Qimonda

Rambus

Samsung

SanDisk