Контроллер оперативной памяти — цифровая схема, управляющая потоками данных между вычислительной системой и оперативной памятью. Может представлять собой отдельную микросхему или быть интегрирована в более сложную микросхему, например, в состав северного моста, микропроцессор или систему на кристалле.
Примеры и использование
правитьКомпьютеры, использующие микропроцессоры Intel до 2009 года[1][2] традиционно имели контроллер памяти, встроенный в чипсет (северный мост, MCH), но многие процессоры, такие как DEC/Compaq Alpha 21364, AMD Athlon 64 и Opteron, IBM POWER5, Sun Microsystems UltraSPARC T1 и процессоры Intel Core i7[2] имеют интегрированный контроллер памяти, расположенный на том же кристалле, для уменьшения задержки доступа в память. Хотя интеграция увеличивает производительность системы — происходит привязка микропроцессора к какому-то одному типу памяти, не позволяющая сочетать процессоры и память разных поколений и для использования новых типов памяти требуется выпуск новых процессоров и изменение их разъёма. Например, после появления DDR2 SDRAM, AMD выпустила процессоры Athlon 64, использовавшие новый сокет Socket AM2.
Интеграция контроллера памяти с процессором не является новой технологией: так, ещё в 1990-х DEC Alpha 21066 и HP PA-7300LC[англ.] использовали встроенные контроллеры для снижения стоимости системы.
Задачи
правитьКонтроллер памяти содержит логические цепи, необходимые для проведения операций чтения и записи в DRAM, с соблюдением всех необходимых задержек, например, между чтением и записью. Поток входящих запросов преобразуется в последовательности DRAM-команд, при этом отслеживаются различные конфликты по банкам, шинам и каналам. Для увеличения производительности входящие запросы могут буферизоваться и переупорядочиваться[3].
Также контроллер памяти выполняет периодическое обновление хранимых в DRAM данных[англ.]. Без периодических обновлений чипы памяти DRAM постепенно теряли бы информацию, так как разряжаются токами утечки конденсаторы, хранящие биты. Типичное время надежного хранения информации составляет доли секунды, но не менее 64 миллисекунд (согласно стандартам JEDEC для DDR2 SDRAM и более новым). На более длительных периодах времени информация сохраняется лишь частично. При повышенной температуре (более 85 °C) может потребоваться более частое обновление памяти[4][3].
Кроме этого контроллер памяти может управлять режимами питания чипов памяти[3].
Многоканальная память
правитьМногоканальная память (Multi-channel) — технология, увеличивающая скорость обмена данными между оперативной памятью (ОЗУ) и процессором за счет параллельного использования нескольких каналов. Это удваивает (в двухканальном режиме) или утраивает (трехканальный) пропускную способность, значительно повышая производительность системы в играх и тяжелых приложениях.
Контроллер, способный выполнять несколько операций параллельно, называется многоканальным.
Полностью буферизованная память FB-DIMM
правитьСм. также
править- Контроллер ПДП (Прямой Доступ к Памяти; напр. микросхема Intel 8237[англ.])
- Иерархия памяти
- Блок управления памятью
- Менеджер памяти
- Менеджер виртуальной памяти
- Микроконтроллер
Примечания
править- ↑ Чипсет Intel X58 под процессоры микроархитектуры Nehalem Архивная копия от 5 августа 2017 на Wayback Machine, IXBT, 1 декабря 2008 (рус.)
- ↑ 1 2 Особенности контроллера памяти в процессорах для LGA1366. Дата обращения: 5 августа 2017. Архивировано 6 августа 2017 года.
- ↑ 1 2 3 Onur Mutlu. Scalable Many-Core Memory Systems Lecture 2, Topic 1: DRAM Basics and DRAM Scaling (англ.). HiPEAC ACACES Summer School (16 июля 2013). Дата обращения: 5 августа 2017. Архивировано 25 марта 2015 года.
- ↑ Onur Mutlu. Scalable Many-Core Memory Systems Lecture 1, Topic 1: DRAM Basics and DRAM Scaling (англ.). HiPEAC ACACES Summer School (16 июля 2013). Дата обращения: 5 августа 2017. Архивировано 25 марта 2015 года.