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