Введение
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.
The Intel QuickPath Interconnect (QPI) is a point to point processor interconnect developed by Intel which replaced the front side bus (FSB) in Xeon, Itanium, and certain desktop platforms starting in 2008. It increased the scalability and available bandwidth. Prior to the name's announcement, Intel referred to it as Common System Interface (CSI). Earlier incarnations were known as Yet Another Protocol (YAP) and YAP+. QPI 1.1 is a significantly revamped version introduced with Sandy Bridge EP (Romley platform). QPI was replaced by Intel Ultra Path Interconnect (UPI) in Skylake SP Xeon processors based on LGA 3647 socket.
Предыстория
Хотя 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, по крайней мере, в части обеспечения когерентности кэша.