Строка IMC0 в выводе системных утилит на сервере или рабочей станции с процессором Intel Xeon E5 v3 (Haswell-EP) означает первый из двух встроенных контроллеров памяти, и именно его состояние чаще всего объясняет ошибки инициализации DIMM, исчезновение части ОЗУ или отказ POST. В архитектуре Haswell-EP классического отдельного «северного моста» в виде чипа на материнской плате уже нет: его функции — контроллеры памяти, линии PCI Express, шины QPI — интегрированы непосредственно в кристалл процессора и в так называемый uncore (системный агент).

Понимание того, что скрывается за обозначениями IMC0 и IMC1, помогает грамотно диагностировать проблемы с памятью, расшифровывать логи EDAC в Linux и сообщения BIOS, а также правильно распределять модули DIMM по каналам. Разберём устройство этого блока, типичные неисправности и безопасные способы проверки.

Что такое северный мост в архитектуре Haswell-EP

Исторически северный мост — отдельная микросхема чипсета, отвечавшая за связь процессора с оперативной памятью и видеокартой. Начиная с поколения Nehalem, Intel перенесла контроллер памяти в сам процессор, а к Haswell-EP (2014 год, серверная платформа Grantley с чипсетом C610) от отдельного северного моста на плате осталось только название.

В Haswell-EP функции бывшего северного моста распределены внутри кристалла CPU:

  • 🧠 IMC (Integrated Memory Controller) — два независимых контроллера памяти DDR4, каждый обслуживает два канала, итого до четырёх каналов на процессор
  • 🔌 Контроллер PCI Express 3.0 — до 40 линий на процессор для слотов расширения
  • 🔗 QPI (QuickPath Interconnect) — две линии для связи процессоров в двухсокетных конфигурациях
  • 📡 Home Agent и кэш-агенты — логика когерентности кэша LLC между ядрами и сокетами

Южный мост при этом остался отдельным чипом — это PCH C610 series (Wellsburg), отвечающий за SATA, USB, сеть и низкоскоростные интерфейсы. Поэтому, когда в документации или логах встречается «северный мост Haswell-EP», речь фактически идёт о uncore процессора.

IMC0 и IMC1: как устроены контроллеры памяти

Каждый процессор Haswell-EP содержит два контроллера памяти. IMC0 обслуживает каналы A и B, IMC1 — каналы C и D. Каждый канал поддерживает до трёх слотов DIMM (в зависимости от платы), что даёт до 12 модулей на один сокет в максимальных конфигурациях.

В Linux-утилитах, например в выводе edac-util или dmidecode, контроллеры отображаются как отдельные устройства. Посмотреть привязку можно так:

edac-util --status

ls /sys/devices/system/edac/mc/

dmidecode -t memory | less

Каталоги вида mc0, mc1 в подсистеме EDAC соответствуют контроллерам памяти. Точное сопоставление номеров mc с физическими IMC зависит от конкретной платы и версии ядра, поэтому перед выводами стоит свериться с документацией на материнскую плату — там указано, какие слоты к какому каналу относятся.

💡

IMC0 — это не отдельный чип, а первый из двух контроллеров памяти DDR4 внутри процессора Xeon E5 v3. Ошибки по IMC0 указывают на каналы A/B конкретного сокета.