Введение

Intel QuickPath Interconnect (QPI) — это межпроцессорное соединение типа «точка-точка», разработанное Intel, которое заменило системную шину (FSB) в процессорах Xeon, Itanium и некоторых настольных платформах, начиная с 2008 года. Это повысило масштабируемость и доступную пропускную способность. До официального объявления названия Intel именовала его Common System Interface (CSI). Более ранние версии были известны как Yet Another Protocol (YAP) и YAP+. QPI 1.1 — это значительно переработанная версия, представленная вместе с Sandy Bridge EP (платформа Romley). QPI был заменен Intel Ultra Path Interconnect (UPI) в процессорах Skylake SP Xeon, использующих сокет LGA 3647.

Предыстория

Хотя QPI иногда называют "шиной", это межсоединение типа "точка-точка". Он был разработан как конкурент HyperTransport, который компания Advanced Micro Devices (AMD) использовала с примерно 2003 года. Intel разработала QPI в своем Массачусетском центре разработки микропроцессоров (MMDC) сотрудниками бывшей Alpha Development Group, которую Intel приобрела у Compaq и HP, а ранее она принадлежала Digital Equipment Corporation (DEC). Впервые QPI был представлен для настольных процессоров в ноябре 2008 года в составе Intel Core i7 9xx и чипсета X58. Он был выпущен для процессоров Xeon под кодовым названием Nehalem в марте 2009 года и для процессоров Itanium в феврале 2010 года (под кодовым названием Tukwila). Начиная с 2017 года на платформах Xeon Skylake SP, QPI был заменен Intel Ultra Path Interconnect.

Реализация

QPI является элементом системной архитектуры, которую Intel называет архитектурой QuickPath, реализующей технологию QuickPath от Intel. В простейшей конфигурации на материнской плате с одним процессором, QPI используется для соединения процессора с IO Hub (например, для подключения Intel Core i7 к X58). В более сложных архитектурах отдельные пары каналов QPI соединяют один или несколько процессоров и один или несколько IO Hub или маршрутизирующих узлов в сети на материнской плате, обеспечивая доступ всех компонентов к другим компонентам через эту сеть. Как и в случае с HyperTransport, архитектура QuickPath предполагает наличие интегрированных контроллеров памяти в процессорах и поддерживает архитектуру неравномерного доступа к памяти (NUMA). Каждый QPI состоит из двух 20-полосных двунаправленных каналов передачи данных (full duplex), по одному в каждом направлении, с отдельной парой тактовых сигналов в каждом направлении, что в сумме составляет 42 сигнала. Каждый сигнал представляет собой дифференциальную пару, поэтому общее количество контактов составляет 84. 20 полос передачи данных разделены на четыре "квадранта" по 5 полос в каждом. Базовой единицей передачи является 80-битный флит, содержащий 8 бит для обнаружения ошибок, 8 бит для заголовка канального уровня и 64 бита для данных. Один 80-битный флит передается за два тактовых цикла (четыре 20-битные передачи, по две на каждый такт). Пропускная способность QPI указывается путем расчета передачи 64 бит (8 байт) данных каждые два тактовых цикла в каждом направлении. Хотя первоначальные реализации используют одиночные четырехквадрантные каналы, спецификация QPI допускает и другие реализации. Каждый квадрант может использоваться независимо. На серверах с повышенной надежностью канал QPI может работать в режиме пониженной производительности. Если один или несколько из 20+1 сигналов выходят из строя, интерфейс продолжит работу, используя 10+1 или даже 5+1 оставшихся сигналов, и даже переназначит тактовый сигнал на сигнал данных в случае отказа тактового генератора. Начиная с 2009 года, в однопроцессорных чипах, начиная с Lynnfield, Clarksfield, Clarkdale и Arrandale, традиционные функции северного моста интегрированы непосредственно в эти процессоры, которые, следовательно, взаимодействуют с внешними устройствами через более медленные интерфейсы DMI и PCI Express. Таким образом, отпадает необходимость в дополнительных затратах на вывод (бывшего) интерфейса системной шины через процессорный сокет. Хотя QPI-соединение между ядрами и кэшем отсутствует в настольных и мобильных процессорах Sandy Bridge (как, например, в Clarkdale), внутренняя кольцевая шина между ядрами также основана на принципах QPI, по крайней мере, в части обеспечения когерентности кэша.