Меморијски контролер

Из Википедије, слободне енциклопедије

Меморијски контролер је дигитално коло које управља протоком података који иду ка и од главне меморије. Може бити издвојен чип или интегрисан у други чип, као што је процесор. Ово се такође назива чип меморијског контролера (MCC).[1]

Историја[уреди]

Компјутери базирани на Интеловим процесорима су традиционално имали меморијски контролер интегрисан у северни мост чипсета матичне плоче, али многи модерни процесори, као што су DEC/Compaq Alpha 21364, AMD-ови Athlon 64 и Opteron процесори, IBM-ов POWER5, Sun Microsystems UltraSPARC T1, и у скорије време Интелови Core i7 и Core i5 процесори имају интегрисан меморијски контролер (IMC) на процесору ради смањења меморијског кашњења. Иако ово има потенцијал да повећа перформансе рачунара, ограничава процесор на специфичан тип меморије, захтевајући редизајнирање да би подржао нову меморијску технологију. Када је DDR2 SDRAM меморија представљена, AMD је лансирао свој Athlon 64 процесор. Ови нови модели са DDR2 контролером, користе другачије физичко подножје (познато као AM2), да би пасовали само у плоче дизајниране за нови тип RAM меморије. Када меморијски контролер није на чипу, исти процесор може бити инсталиран на нову плочу, са ажурираним северним мостом (чипсетом).

Интеграција меморијског контролера на чип процесора није нови концепт. Неки процесори из 1990их као што су DEC Alpha 21066 и HP PA-7300LC су имали интегрисани меморијски контролер, али не ради бољих перформанси, већ да би се смањила цена система елиминисањем екстерног меморијског контролера.

Сврха[уреди]

Меморијски контролери садрже логику неопходну за читање и уписивање у DRAM, и за освежавање DRAM-а. Без констатних освежавања, DRAM губи податке који су уписани, јер кондензатори испуштају своје наелектрисање у оквиру делића секунде (не мање од 64 милисекунде према JEDEC стандарду).

Читање и уписивање у DRAM се изводи одабиром адреса реда и колоне DRAM-а као улазну вредност мултиплексерског кола, где демултиплексер на DRAM меморији користи конвертоване улазе да одабере исправну меморијску локацију и достави податке, који се даље прослеђују назад кроз мултиплексер да би се консолидовали, те захтевали ужу магистралу за изведену операцију.

Ширина магистрале представља број паралелних линија доступних за комуникацију са меморијском ћелијом. Ширине магистрала меморијских контролера се крећу у распону од 8-битних у старијим системима, до 512-битних у компликованијим системима и графичким картицама (типично имплементираних као четири 64-битна симултана меморијска контролера који раде паралелно, с тим да су неки дизајнирани да раде и у "групном моду" где два 64-битна меморијска контролера могу бити коришћена за пристум 128-битној меморији).

Неки меморијски контролери, као онај интегрисан у PowerQUICC II процесор, могу бити истевремено повезани на више различитих типова уређаја -- SDRAM, SRAM, ROM, и меморијски-мапирани улаз/излаз -- од којих сваки захтева мало другачију контролну магистралу -- и постојећу системску магистралу ка процесору. Неки меморијски контролери, као онај интегрисан у PowerQUICC II процесор, садрже хардвер за детекцију и исправљање грешака. [2]

Неколико експерименталних меморијских контролера садржњ и други ниво превођења адресе -- као додатак првом нивоу превођења адресе који се изводи од стране јединице за управљање меморијом.[3]

Меморија са двоструком брзином преноса података[уреди]

Контролери меморије са двоструком брзином преноса података (DDR) се користе да контролишу DDR SDRAM, где се податци преносе и на узлазној и на силазној ивици меморијског радног такта система. DDR меморијски контролери су значајно компликованији од контролера за меморију са једноструким преносом података, али омогућују пренос и до дупло више података без повећања радног такта или ширине магистрале ка меморијској ћелији.

Двоканална меморија[уреди]

Двоканални меморијски контролери су контролери где су DRAM уређаји раздвојени на две различите магистрале да би два меморијска контролера могла да им приступају паралелно. Ово дуплира теоретску пропусну моћ магистрале. У теорији, више канала моше бити направљено (по један за сваку меморијску ћелију у идеалном случају), али због броја жица, капацитивности линија, и потребе да паралелне приступне линије имају идентичне дужине, више канала је јако тешко додати.

Потпуно баферисана меморија[уреди]

Системи са потпуно баферисаном меморијом имају меморијски бафер на сваком меморијском модулу (који се назива FB-DIMM када се потпуно баферисана RAM меморија корист), који за разлику од традиционалних меморијских уређаја, користи серијску везу података ка меморијском контролеру уместо паралелне везе коришћене код ранијих RAM имплементација. Ово смањује број жица потребних да се меморијски уређај смести на плочу (па се користи мање слојева, што значи да више меморијских уређаја може бити смештено на једну плочу), по цени већег кашњења (времена потребног да се приступи меморијској локацији). То повећање је услед времена потребног да се конвертује паралелна информација прочитана из DRAM ћелије у серијски формат коришћен од стране FB-DIMM контролера, и назад у паралелни формат у меморијском контролеру на матичној плочи. У теорији, меморијски бафер код FB-DIMM модула може бити направљен тако да приступи било којој DRAM ћелији, што омогућава дизајн меморијског контролера који је потпуно независан од меморијске ћелије, али ово није демонстрирано, јер је технологија још у раној фази развоја.

Контролери флеш меморије[уреди]

Пуно флеш меморијских уређаја укључује и меморијски контролер флеш меморија.

Референце[уреди]

  1. ^ Comptia A+ Certification Exam Guide, Seventh Edition, by Mike Meyers, in the glossary, bottom of page 1278: "Chip that handles memory requests from the CPU."
  2. ^
  3. ^ John Carter, Wilson Hsieh, Leigh Stoller, Mark Swansony, Lixin Zhang, et. al.

Спољашње везе[уреди]

  • Selecting Memory Controllers for DSP Systems A how-to article on evaluating memory controllers using the VisualSim virtual prototyping tool.
  • [1] Infineon/Kingston (a memory vendor) Dual Channel DDR Memory Whitepaper. Explains dual channel memory controllers, and how to best use use them.