Как
сообщили в компании Intel, пришла пора менять архитектуру внутрипроцесорной шины. Кольцевая шина ring bus отслужила свой срок и не может эффективно работать в многоядерном окружении. Она была представлена 9 лет назад вместе с архитектурой Nehalem. Процессоры Skylake-SP (Xeon и настольные высшей производительности) используют для обмена данных между ядрами ячеистую сеть, которая с ростом числа ядер долго обещает быть эффективной.

Блок-схема кольцевой процессорной шины Intel
Кольцевая шина, как вы можете знать, в максимальной конфигурации представляет собой четыре двунаправленных кольца (по два кольца на кластер из ядер), соединённых двумя двунаправленными коммутаторами с буферами. Дальнейшее наращивания числа ядер, кластеров и коммутаторов значительно увеличивает потребление и задержки при обмене данными между ядрами из разных кластеров. Выход найден в переходе на ячеистую сеть, в которой каждое ядро поддержано собственным коммутатором и возможностью координатной пересылки данных фактически напрямую любому другому ядру в процессоре.

Блок-схема ячеистой процессорной шины Intel
Ранее подобную сеть Intel реализовала в архитектуре процессоров Xeon Phi (Knights Landing и другие), так что разработка опробована на практике и показала свою эффективность, ведь в составе ускорителей и процессоров Xeon Phi может быть свыше 70 ядер.

Блок-схема процессорной шины AMD Infinity Fabric
В аналогичной ситуации компания AMD реализовала спорное решение. В архитектуре Ryzen связь между элементарными 4-ядерными блоками CCX осуществляется с помощью двунаправленной шины Infinity Fabric. В топологии интерфейса Infinity Fabric отсутствует перекрёстная схема передачи данных. Реализована только передача данных между двумя соседними блоками. В некотором роде это тоже кольцевая шина, от которой Intel на данном этапе вынуждена отказаться. Можно ожидать, что при отсутствии должной оптимизации программного обеспечения шина AMD Infinity Fabric по мере роста числа ядер (начиная с 12 штук) начнёт становиться узким местом для выполнения задач в многопоточных режимах.