Memóriavezérlő - Memory controller

A memóriavezérlő egy digitális áramkör, amely kezeli a számítógép fő memóriájába érkező és onnan érkező adatáramlást . A memóriavezérlő lehet különálló chip vagy integrálható egy másik chipbe, például ugyanazon szerszámra helyezve, vagy mikroprocesszor szerves részeként ; az utóbbi esetben általában integrált memóriavezérlőnek ( IMC ) nevezik . A memóriavezérlőt néha memóriachip -vezérlőnek ( MCC ) vagy memóriavezérlő egységnek ( MCU ) is nevezik .

A memóriavezérlők gyakori formája a memóriakezelő egység (MMU), amely számos operációs rendszerben, például a Unixban , virtuális címzést valósít meg .

Történelem

A legtöbb modern asztali vagy munkaállomás mikroprocesszor integrált memóriavezérlőt (IMC) használ , beleértve az Intel , az AMD és az ARM architektúra köré épített mikroprocesszorokat .

A K8 előtt (2003 körül) az AMD mikroprocesszorok memóriavezérlővel rendelkeztek az alaplap északi hídján . A K8 -ban és később az AMD integrált memóriavezérlőt alkalmazott. Hasonlóképpen, Nehalemig (2008 körül) az Intel mikroprocesszorok az alaplap északi hídján megvalósított memóriavezérlőket használták. Nehalem és később integrált memóriavezérlőre váltottak.

További példák a mikroprocesszorok , hogy használat integrált memória vezérlők közé tartoznak az IBM „s POWER5 , és a Sun Microsystems ” s UltraSPARC T1 .

Míg az integrált memóriavezérlő növelheti a rendszer teljesítményét, például csökkentheti a memória késését , lezárja a mikroprocesszort egy bizonyos típusú (vagy típusú) memóriához, és kényszeríti az újratervezést az újabb memóriatechnológiák támogatása érdekében. A DDR2 SDRAM bevezetésekor az AMD új Athlon 64 processzorokat adott ki. Ezek az új modellek DDR2 vezérlővel egy másik fizikai foglalatot ( Socket AM2 néven ismert ) használnak, így csak az új típusú RAM -hoz tervezett alaplapokba illeszkednek. Ha a memóriavezérlő nincs bekapcsolt állapotban, akkor ugyanaz a CPU telepíthető egy új alaplapra, frissített északi híddal .

Néhány mikroprocesszor az 1990-es években, mint például a DEC Alpha 21066 és a HP PA-7300LC , beépített memóriavezérlőkkel rendelkezett; a teljesítménynövekedés helyett azonban ezt a rendszerek költségeinek csökkentése érdekében hajtották végre úgy, hogy nincs szükség külső memóriavezérlőre.

Néhány CPU -t úgy terveztek, hogy a memóriavezérlőik dedikált külső komponensek legyenek, amelyek nem része a lapkakészletnek. Példa erre az IBM POWER8 , amely külső Centaur chipeket használ, amelyek DIMM modulokra vannak felszerelve, és memóriapufferként, L4 gyorsítótár -chipként és tényleges memóriavezérlőként működnek . A Centaur chip első verziója DDR3 memóriát használt, de később megjelent egy frissített verzió, amely DDR4 -et is használhat.

Célja

A memóriavezérlők tartalmazzák a DRAM olvasásához és írásához , valamint a DRAM "frissítéséhez" szükséges logikát . Állandó frissítések nélkül a DRAM elveszíti a hozzá írt adatokat, mivel a kondenzátorok a másodperc töredéke alatt (a JEDEC szabványok szerint nem haladják meg a 64 milliszekundumot ) töltik ki töltésüket .

A DRAM -ba történő olvasás és írás a DRAM sor- és oszlopadat -címeinek kiválasztásával történik a multiplexer áramkör bemeneteként , ahol a DRAM -on található demultiplexer a konvertált bemenetek segítségével kiválasztja a megfelelő memóriahelyet, és visszaadja az adatokat. egy multiplexeren keresztül visszavezetve az adatok konszolidálásához a művelethez szükséges buszszélesség csökkentése érdekében.

A busz szélessége a memóriacellával való kommunikációhoz rendelkezésre álló párhuzamos vonalak száma. A memóriavezérlők buszszélessége a korábbi rendszerek 8 bittől az 512 bitesig terjed a bonyolultabb rendszerekben és videokártyákban (jellemzően négy párhuzamosan működő 64 bites egyidejű memóriavezérlőként vannak megvalósítva, bár egyesek „band” módban való működésre vannak tervezve) "ahol két 64 bites memóriavezérlővel lehet elérni egy 128 bites memóriaeszközt).

Néhány memóriavezérlő, például a PowerQUICC II processzorokba integrált vezérlő, tartalmaz hibafelismerő és -javító hardvert.

Biztonság

Néhány kísérleti memóriavezérlő (főleg a szerverpiacot célozza meg, ahol az adatvédelem törvényileg megkövetelt) tartalmazza a címfordítás második szintjét a CPU memóriakezelő egysége által végrehajtott első címfordítás mellett .

Bizonyos Intel Core processzorokba integrált memóriavezérlők memória-kódolást is biztosítanak, mint olyan funkciót, amely ál-véletlenszerű mintákká alakítja a fő memóriába írt felhasználói adatokat .

A memória kódolásának (a kriptográfiai elméletben) állítólag meg kell akadályoznia a DRAM-adatok remanenciáján alapuló törvényszéki és fordított mérnöki elemzést azáltal, hogy hatékonyan eredménytelenné teszi a különféle típusú hidegindítási támadásokat . A jelenlegi gyakorlatban ezt nem sikerült elérni.

A memória kódolását azonban csak a DRAM-mal kapcsolatos elektromos problémák kezelésére tervezték. A 2010 -es évek végi memória kódolási szabványok nem javítják ki vagy akadályozzák meg a biztonsági problémákat vagy problémákat. A 2010 -es évek memória -kódolási szabványai nem titkosítással biztonságosak, vagy szükségszerűen nyílt forráskódúak, vagy nyilvános felülvizsgálatra vagy elemzésre nyitottak.

Az ASUS és az Intel saját memória -kódolási szabványokkal rendelkezik. Jelenleg az ASUS alaplapok lehetővé teszik a felhasználó számára, hogy kiválassza, melyik memória -kódolási szabványt használja [ASUS vagy Intel], vagy teljesen kikapcsolja a funkciót.

Változatok

Dupla adatsebességű memória

Kettős adatsebességű (DDR) memóriavezérlőket használnak a DDR SDRAM meghajtására , ahol az adatok a rendszer memóriaórájának emelkedő és csökkenő peremén is továbbítódnak. A DDR memóriavezérlők lényegesen bonyolultabbak, mint az egyes adatsebesség -vezérlők, de lehetővé teszik az adatok kétszeres átvitelét anélkül, hogy növelnék a memóriacella órajelét vagy buszszélességét.

Többcsatornás memória

A többcsatornás memóriavezérlők olyan memóriavezérlők, ahol a DRAM -eszközöket több különböző buszra osztják szét, hogy a memóriavezérlő (k) párhuzamosan hozzáférhessenek hozzájuk. Ez a busz sávszélességének elméleti mennyiségét a csatornák számának tényezőjével növeli. Bár egy csatorna minden DRAM cella számára az ideális megoldás lenne, további csatornák hozzáadása nagyon nehéz a vezetékszám, a vonalkapacitás és a párhuzamos hozzáférési vonalak azonos hosszúsága miatt.

Teljesen pufferelt memória

A teljesen pufferelt memóriarendszerek memóriapuffer eszközt helyeznek minden memóriamodulra ( FB-DIMM-nek nevezik, amikor teljesen pufferelt RAM-ot használnak), amely a hagyományos memóriavezérlő eszközökkel ellentétben soros adatkapcsolatot használ a memóriavezérlőhöz a párhuzamos link helyett. korábbi RAM tervek. Ez csökkenti a memóriaeszközök alaplapra helyezéséhez szükséges vezetékek számát (lehetővé teszi a kisebb rétegek használatát, azaz több memóriaeszközt lehet elhelyezni egyetlen táblán), a növekvő késleltetés rovására memóriahely eléréséhez szükséges). Ez a növekedés annak az időnek köszönhető, amely a DRAM cellából olvasott párhuzamos információknak az FB-DIMM vezérlő által használt soros formátumba való konvertálásához és az alaplap memóriavezérlőjében lévő párhuzamos formába való visszaállításához szükséges időnek köszönhető.

Elméletileg az FB-DIMM memóriapuffer eszköze felépíthető bármely DRAM cella elérésére, lehetővé téve a memóriacellák agnosztikus memóriavezérlőjének kialakítását, de ezt nem sikerült bizonyítani, mivel a technológia gyerekcipőben jár.

Flash memória vezérlő

Sok flash memóriaeszköz , például az USB memóriakártya, tartalmaz flash memóriavezérlőt a chipen. A flash memória eredendően lassabban érhető el, mint a RAM, és gyakran használhatatlanná válik néhány millió írási ciklus után, ami általában alkalmatlanná teszi a RAM alkalmazásokhoz.

Lásd még

Hivatkozások

Külső linkek