Контроллер памяти
Контроллер оперативной памяти — цифровая схема, управляющая потоками данных между вычислительной системой и оперативной памятью. Может представлять собой отдельную микросхему или быть интегрирована в более сложную микросхему, например, в состав северного моста, микропроцессор или систему на кристалле.
Примеры и использование
Компьютеры, использующие микропроцессоры 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 SDRAM DDR2 и более новым. На более длительных периодах времени информация сохраняется лишь частично. При повышенной температуре (более 85 °C) может потребоваться более частое обновление памяти[4][3].
Кроме этого контроллер памяти может управлять режимами питания чипов памяти[3].
Многоканальная память
Полностью буферизованная память FB-DIMM
См. также
Примечания
- Чипсет Intel X58 под процессоры микроархитектуры Nehalem, IXBT, 1 декабря 2008 (рус.)
- Особенности контроллера памяти в процессорах для LGA1366
- Onur Mutlu. Scalable Many-Core Memory Systems Lecture 2, Topic 1: DRAM Basics and DRAM Scaling (англ.). HiPEAC ACACES Summer School (16 июля 2013). Дата обращения: 5 августа 2017.
- Onur Mutlu. Scalable Many-Core Memory Systems Lecture 1, Topic 1: DRAM Basics and DRAM Scaling (англ.). HiPEAC ACACES Summer School (16 июля 2013). Дата обращения: 5 августа 2017.