Контроллеры памяти процессоров
Интерфейс памяти является одним из важнейших компонентов любого высокопроизводительного процессора и тем более мультиядерного процессора, поскольку он является общим ресурсом для всех ядер на чипе. В недавних высокопроизводительных чипах как от AMD, так и от Intel, контроллер памяти был перенесен на чип и отделен от интерфейсов ввода-вывода для того, чтобы увеличить пропускную способность памяти и для того, чтобы предоставить параллельный доступ как к устройствам ввода-вывода, так и к памяти.
Особый интерес представляет контроллер динамического ОЗУ, в центре внимания которого течение последних нескольких лет было обеспечение увеличения пропускной способности, а не низкой задержки. Планировщики запроса динамического ОЗУ не поддерживают порядок FIFO («первым пришел – первым обслужен») от процессоров к динамическому ОЗУ. Вместо этого они пытаются объединить доступы к той же странице памяти динамического ОЗУ, если это возможно, для того, чтобы наилучшим образом использовать открытые страницы и избежать ненужного переключения памяти динамического ОЗУ. Для мультиядерной системы можно получить и синергию, а также вмешательство в работу этих агрессивных планировщиков динамического ОЗУ.
Можно было бы ожидать синергетического эффекта в случае параллельных программ, которые разделяют работу в контексте параллельных данных. В таких программах потоки, занятые на разных ядрах, как правила, работают в соответствии с одними и теми же инструкциями и данными, расположенными близко к другим потокам рабочей области, и, следовательно, вероятность того, что они получат доступ к тем же страницам динамического ОЗУ, увеличивается. С другой стороны, когда мультиядерные процессоры становятся многоядерными, можно увидеть пространство обмена в сочетании с системой разделения времени, которая имеет место быть в современных операционных системах. Это также происходит, если мультиядерные процессоры используются для вычисления пропускной способности с несколькими последовательными приложениями, а не с применением параллелизма. В этих случаях различные приложения будут бороться за общие ресурсы и могут серьезно мешать друг другу. Контроллер памяти также является тем местом, где реализуются сложные механизмы предвыборки. С другой стороны, более полное использование повышенной пропускной способности памяти также приводит к увеличению теплового развития в общей памяти динамического ОЗУ. Поэтому последние достижения продвинули специализированные модули памяти с двухсторонним расположением микросхем динамического ОЗУ для улучшения производительности энергопотребления контроллеров и контроллеры памяти с динамическим ОЗУ для снижения слишком высокой температуры.