stringtranslate.com

Контроллер памяти

Контроллер памяти , также известный как контроллер микросхемы памяти ( MCC ) или блок контроллера памяти ( MCU ), представляет собой цифровую схему, которая управляет потоком данных, поступающих в основную память компьютера и из нее . [1] [2] Когда контроллер памяти интегрирован в другую микросхему, например, как неотъемлемая часть микропроцессора , его обычно называют интегрированным контроллером памяти ( IMC ).

Контроллеры памяти содержат логику, необходимую для чтения и записи в динамическую память с произвольным доступом (DRAM), а также для обеспечения критического обновления памяти и других функций. Чтение и запись в DRAM выполняются путем выбора адресов данных строк и столбцов DRAM в качестве входов для схемы мультиплексора , где демультиплексор на DRAM использует преобразованные входы для выбора правильного расположения памяти и возврата данных, которые затем передаются обратно через мультиплексор для консолидации данных с целью уменьшения требуемой ширины шины для операции. Ширина шины контроллеров памяти варьируется от 8 бит в более ранних системах до 512 бит в более сложных системах, где они обычно реализуются как четыре 64-битных контроллера памяти, работающих одновременно параллельно, хотя некоторые работают с двумя 64-битными контроллерами памяти, используемыми для доступа к 128-битному устройству памяти.

Некоторые контроллеры памяти, например, интегрированные в процессоры PowerQUICC II, включают в себя аппаратные средства обнаружения и исправления ошибок . [3] Распространенной формой контроллера памяти является блок управления памятью (MMU), который во многих операционных системах реализует виртуальную адресацию .

История

Старые компьютеры на базе Intel и PowerPC имеют чипы контроллера памяти, которые отделены от основного процессора. Часто они интегрированы в северный мост компьютера, также иногда называемый концентратором контроллера памяти.

Большинство современных настольных или рабочих микропроцессоров используют интегрированный контроллер памяти ( IMC ), включая микропроцессоры Intel , AMD и те, что построены на архитектуре ARM . До K8 (около 2003 года) микропроцессоры AMD имели контроллер памяти, реализованный на северном мосту их материнской платы . В K8 и более поздних версиях AMD использовала интегрированный контроллер памяти. [4] Аналогично, до Nehalem (около 2008 года) микропроцессоры Intel использовали контроллеры памяти, реализованные на северном мосту материнской платы. Nehalem и позже перешли на интегрированный контроллер памяти. [5] Другие примеры архитектур микропроцессоров, которые используют интегрированные контроллеры памяти , включают Fermi от NVIDIA , POWER5 от IBM и UltraSPARC T1 от Sun Microsystems .

Хотя встроенный контроллер памяти может повысить производительность системы, например, за счет снижения задержки памяти , он привязывает микропроцессор к определенному типу (или типам) памяти, вынуждая перепроектировать его для поддержки новых технологий памяти. Когда была представлена ​​DDR2 SDRAM , AMD выпустила новые процессоры Athlon 64. Эти новые модели с контроллером DDR2 используют другой физический сокет (известный как Socket AM2 ), поэтому они подойдут только к материнским платам, разработанным для нового типа оперативной памяти. Если контроллер памяти не встроен в кристалл, тот же процессор можно установить на новую материнскую плату с обновленным северным мостом для использования новой памяти.

Некоторые микропроцессоры 1990-х годов, такие как DEC Alpha 21066 и HP PA-7300LC , имели встроенные контроллеры памяти; однако это было реализовано не для повышения производительности, а для снижения стоимости систем за счет устранения необходимости во внешнем контроллере памяти. [ необходима цитата ]

Некоторые процессоры разработаны так, чтобы контроллеры памяти были выделенными внешними компонентами, которые не являются частью чипсета. Примером является IBM POWER8 , который использует внешние чипы Centaur , которые монтируются на модули DIMM и действуют как буферы памяти, чипы кэша L4 и как фактические контроллеры памяти. Первая версия чипа Centaur использовала память DDR3, но позже была выпущена обновленная версия, которая может использовать DDR4. [6]

Безопасность

Несколько экспериментальных контроллеров памяти содержат второй уровень трансляции адресов в дополнение к первому уровню трансляции адресов, выполняемому блоком управления памятью ЦП, для улучшения производительности кэша и шины. [7]

Контроллеры памяти, интегрированные в некоторые процессоры Intel Core , обеспечивают скремблирование памяти как функцию, которая превращает пользовательские данные, записанные в основную память, в псевдослучайные шаблоны. [8] [9] Скремблирование памяти может предотвратить криминалистический и обратный инженерный анализ на основе остаточных данных DRAM , эффективно делая различные типы атак холодной загрузки неэффективными. В текущей практике это не было достигнуто; скремблирование памяти было разработано только для решения электрических проблем, связанных с DRAM. Стандарты скремблирования памяти конца 2010-х годов решают проблемы безопасности и не являются криптографически безопасными или открытыми для публичного пересмотра или анализа. [10]

ASUS и Intel имеют свои отдельные стандарты скремблирования памяти. Материнские платы ASUS позволяют пользователю выбирать, какой стандарт скремблирования памяти использовать (ASUS или Intel), или полностью отключить эту функцию. [ необходима цитата ]

Варианты

Память с двойной скоростью передачи данных

Контроллеры памяти с двойной скоростью передачи данных (DDR) используются для управления DDR SDRAM , где данные передаются как по восходящим, так и по нисходящим фронтам тактовой частоты памяти системы. Контроллеры памяти DDR значительно сложнее по сравнению с контроллерами с одинарной скоростью передачи данных [ необходима ссылка ] , но они позволяют передавать вдвое больше данных без увеличения тактовой частоты ячейки памяти или ширины шины.

Многоканальная память

Многоканальные контроллеры памяти — это контроллеры памяти, в которых устройства DRAM разделены на несколько различных шин, чтобы контроллер(ы) памяти могли получать к ним параллельный доступ. Это увеличивает теоретическую пропускную способность шины в разы больше числа каналов. Хотя канал для каждой ячейки DRAM был бы идеальным решением, добавление дополнительных каналов очень затруднительно из-за количества проводов, емкости линий и необходимости, чтобы линии параллельного доступа имели одинаковую длину.

Полностью буферизованная память

Полностью буферизованные системы памяти размещают буферное устройство памяти на каждом модуле памяти (называемое FB-DIMM , когда используется полностью буферизованная RAM), которое в отличие от традиционных устройств контроллера памяти использует последовательный канал передачи данных к контроллеру памяти вместо параллельного канала, который использовался в предыдущих конструкциях RAM. Это уменьшает количество проводов, необходимых для размещения устройств памяти на материнской плате (позволяя использовать меньшее количество слоев, что означает, что больше устройств памяти может быть размещено на одной плате), за счет увеличения задержки (времени, необходимого для доступа к ячейке памяти). Это увеличение связано со временем, необходимым для преобразования параллельной информации, считываемой из ячейки DRAM, в последовательный формат, используемый контроллером FB-DIMM, и обратно в параллельную форму в контроллере памяти на материнской плате.

Теоретически буферное устройство памяти FB-DIMM может быть создано для доступа к любым ячейкам DRAM, что позволит разработать контроллер памяти, независимый от ячеек памяти, однако это не было продемонстрировано, поскольку технология находится в зачаточном состоянии.

Контроллер флэш-памяти

Многие устройства флэш-памяти , такие как USB-флеш-накопители и твердотельные накопители , включают в себя контроллер флэш-памяти . Флеш-память по своей природе медленнее в доступе, чем ОЗУ, и часто становится непригодной для использования после нескольких миллионов циклов записи, что обычно делает ее непригодной для приложений ОЗУ.

Смотрите также

Ссылки

  1. ^ Руководство по сертификационному экзамену Comptia A+, седьмое издание, Майк Мейерс, в глоссарии, внизу страницы 1278: «Чип, который обрабатывает запросы памяти от ЦП».
  2. ^ Neat, Adam G. (2003-12-04). Максимизация производительности и масштабируемости с IBM WebSphere. Apress. ISBN 9781590591307. Получено 6 февраля 2015 г.
  3. ^ "Контроллер памяти"
  4. ^ Врис, Ханс де. «Архитектор чипов: Архитектура микропроцессоров нового поколения от AMD». www.chip-architect.com . Получено 17.03.2018 .
  5. ^ Торрес, Габриэль (2008-08-26). "Внутри микроархитектуры Intel Nehalem". Hardware Secrets . стр. 2. Получено 7 сентября 2017 г.
  6. ^ Прикетт Морган, Тимоти (17 октября 2016 г.). «IBM внедряет память DDR4 в системы электропитания». IT Jungle . стр. 1 . Получено 07 сентября 2017 г.
  7. ^ Джон Картер, Уилсон Хсие, Ли Столлер, Марк Свонсони, Лисинь Чжан и др. «Импульс: создание более интеллектуального контроллера памяти».
  8. ^ "2-е поколение процессоров Intel Core семейства настольных ПК, Intel Pentium семейства настольных ПК и Intel Celeron семейства настольных ПК" (PDF) . Июнь 2013 г. стр. 23. Получено 2015-11-03 .
  9. ^ "2-е поколение семейства процессоров Intel Core для мобильных устройств и семейства процессоров Intel Celeron для мобильных устройств" (PDF) . Сентябрь 2012 г. стр. 24. Получено 03.11.2015 г.
  10. ^ Игорь Скочинский (2014-03-12). "Секрет Intel Management Engine". SlideShare . стр. 26–29 . Получено 2014-07-13 .

Внешние ссылки