Межсоединений Intel QuickPath ( QPI ) [1] [2] является точка-точка процессора межсоединений , разработанный Intel , который заменил передней стороне шины (FSB) в Xeon , Itanium и некоторых настольных платформ , начиная с 2008 г. Это увеличило масштабируемость и доступная пропускная способность. До объявления названия Intel называла его Common System Interface ( CSI ). [3] Более ранние версии были известны как еще один протокол (YAP) и YAP +.
QPI 1.1 - это значительно переработанная версия, представленная в Sandy Bridge-EP ( платформа Romley ). [4]
QPI был заменен на Intel Ultra Path Interconnect (UPI) в процессорах Skylake -SP Xeon на базе сокета LGA 3647 . [5]
Задний план
Хотя QPI иногда называют «шиной», это соединение точка-точка. Он был разработан, чтобы конкурировать с HyperTransport, который использовался Advanced Micro Devices (AMD) примерно с 2003 года. [6] [7] Intel разработала QPI в своем Массачусетском Центре проектирования микропроцессоров (MMDC) членами группы Alpha Development Group. , которую Intel приобрела у Compaq и HP и, в свою очередь, исходила от Digital Equipment Corporation (DEC). [8] О его разработке было сообщено еще в 2004 году. [9]
Intel первым передал его для настольных процессоров в ноябре 2008 года на i7-9xx Intel Core и X58 чипсете . Он был выпущен на процессорах Xeon под кодовым названием Nehalem в марте 2009 года и на процессорах Itanium в феврале 2010 года (кодовое имя Tukwila). [10]
Выполнение
QPI - это элемент системной архитектуры, которую Intel называет архитектурой QuickPath, которая реализует то, что Intel называет технологией QuickPath . [11] В простейшей форме на однопроцессорной материнской плате один QPI используется для подключения процессора к концентратору ввода-вывода (например, для подключения Intel Core i7 к X58 ). В более сложных экземплярах архитектуры отдельные пары каналов QPI соединяют один или несколько процессоров и один или несколько концентраторов ввода-вывода или концентраторов маршрутизации в сети на материнской плате, позволяя всем компонентам получать доступ к другим компонентам через сеть. Как и в случае с HyperTransport, архитектура QuickPath предполагает, что процессоры будут иметь встроенные контроллеры памяти , и обеспечивает архитектуру неоднородного доступа к памяти (NUMA).
Каждый QPI состоит из двух 20-полосных двухточечных каналов передачи данных, по одному в каждом направлении ( полнодуплексный ), с отдельной парой тактовых импульсов в каждом направлении, всего 42 сигнала. Каждый сигнал представляет собой дифференциальную пару , поэтому общее количество выводов равно 84. 20 дорожек данных разделены на четыре «квадранта» по 5 дорожек в каждом. Базовая единица передачи - это 80-битный flit , который имеет 8 бит для обнаружения ошибок, 8 бит для «заголовка канального уровня» и 64 бита для данных. Один 80-битный флит передается за два тактовых цикла (четыре 20-битных передачи, две за такт). Пропускная способность QPI объявляется путем вычисления передачи 64-битных (8 байтов) данных каждые два тактовых цикла в каждом направлении. [8]
Хотя первоначальные реализации используют одиночные четырехквадрантные ссылки, спецификация QPI допускает другие реализации. Каждый квадрант можно использовать независимо. На высоконадежных серверах канал QPI может работать в пониженном режиме. Если один или несколько из 20 + 1 сигналов выйдут из строя, интерфейс будет работать с оставшимися сигналами 10 + 1 или даже 5 + 1, даже переназначая синхронизацию на сигнал данных, если часы не работают. [8] Первоначальная реализация Nehalem использовала полный четырехквадрантный интерфейс для достижения 25,6 ГБ / с, что обеспечивает вдвое большую теоретическую пропускную способность, чем у Intel 1600 МГц FSB, используемой в наборе микросхем X48.
Хотя некоторые высокопроизводительные процессоры Core i7 имеют QPI, другие «основные» настольные и мобильные процессоры Nehalem, предназначенные для однопроцессорных плат (например, LGA 1156 Core i3, Core i5 и другие процессоры Core i7 из семейств Lynnfield / Clarksfield и последующих) не раскрывайте QPI извне, потому что эти процессоры не предназначены для участия в многопроцессорных системах.
Однако QPI используется внутри этих микросхем для связи с « uncore », который является частью микросхемы, содержащей контроллеры памяти, PCI Express на стороне ЦП и графический процессор, если они есть; Uncore может или не может быть на том же кристалле, что и ядро процессора, например , он находится на отдельном кристалле в Westmere основанное Clarkdale / Arrandale . [12] [13] [14] [15] : 3
В односокетных микросхемах после 2009 года, начиная с Lynnfield, Clarksfield, Clarkdale и Arrandale, традиционные функции северного моста интегрированы в эти процессоры, которые, следовательно, обмениваются данными извне через более медленные интерфейсы DMI и PCI Express.
Таким образом, отпадает необходимость в расходах на доступ к (бывшему) интерфейсу передней шины через сокет процессора. [16]
Хотя связь QPI между ядром и ядром отсутствует в процессорах Sandy Bridge для настольных ПК и мобильных устройств (как, например, в Clarkdale), внутреннее кольцевое соединение между ядрами на кристалле также основано на принципах QPI, по крайней мере, до что касается согласованности кеша . [15] : 10
Частотные характеристики
QPI работает с тактовой частотой 2,4 ГГц, 2,93 ГГц, 3,2 ГГц, 3,6 ГГц, 4,0 ГГц или 4,8 ГГц (частоты 3,6 ГГц и 4,0 ГГц были введены с платформой Sandy Bridge-E / EP и 4,8 ГГц с Haswell-E / Платформа EP). Тактовая частота для конкретного канала зависит от возможностей компонентов на каждом конце канала и характеристик сигнала пути прохождения сигнала на печатной плате. Неэкстремальные процессоры Core i7 9xx ограничены частотой 2,4 ГГц при штатных эталонных тактовых частотах.
Передача битов происходит как по нарастающему, так и по спадающему фронту тактовой частоты, поэтому скорость передачи в два раза выше тактовой частоты.
Intel описывает пропускную способность данных (в ГБ / с), считая только 64-битные полезные данные в каждом 80-битном флите. Однако затем Intel удваивает результат, поскольку пара однонаправленных каналов передачи и приема может быть активна одновременно. Таким образом, Intel описывает пару каналов QPI с 20 полосами (отправка и получение) с тактовой частотой 3,2 ГГц как имеющую скорость передачи данных 25,6 ГБ / с. Тактовая частота 2,4 ГГц обеспечивает скорость передачи данных 19,2 ГБ / с. В более общем смысле, по этому определению двухканальный 20-полосный QPI передает восемь байтов за такт, по четыре в каждом направлении.
Ставка рассчитывается следующим образом:
- 3,2 ГГц
- × 2 бит / Гц (удвоенная скорость передачи данных)
- × 16 (20) (бит данных / ширина канала QPI)
- × 2 (однонаправленная передача и прием работают одновременно)
- ÷ 8 (бит / байт)
- = 25,6 ГБ / с
Уровни протокола
QPI определяется как пятиуровневая архитектура с отдельными физическим, канальным, маршрутизационным, транспортным и протокольным уровнями. [1] В устройствах, предназначенных только для использования QPI точка-точка без пересылки, таких как процессоры Core i7-9xx и Xeon DP, транспортный уровень отсутствует, а уровень маршрутизации минимален.
- Физический слой
- Физический уровень включает в себя фактическую проводку и дифференциальные передатчики и приемники, а также логику самого низкого уровня, которая передает и принимает модуль физического уровня. Единицей физического уровня является 20-битный «phit». Физический уровень передает 20-битный «фит» с использованием одного фронта тактового сигнала на 20 дорожках, когда доступны все 20 дорожек, или на 10 или 5 дорожках, когда QPI перенастраивается из-за сбоя. Обратите внимание, что в дополнение к сигналам данных от передатчика к приемнику пересылается тактовый сигнал (что упрощает восстановление тактовой частоты за счет дополнительных выводов).
- Связующий слой
- Канальный уровень отвечает за отправку и получение 80-битных сигналов. Каждый флит отправляется на физический уровень как четыре 20-битных фита. Каждый flit содержит 8-битный CRC, сгенерированный передатчиком канального уровня, и 72-битную полезную нагрузку. Если приемник канального уровня обнаруживает ошибку CRC, приемник уведомляет передатчик посредством flit на обратном канале пары, и передатчик повторно отправляет flit. Канальный уровень реализует управление потоком с использованием схемы кредита / дебета, чтобы предотвратить переполнение буфера получателя. Канальный уровень поддерживает шесть различных классов сообщений, чтобы позволить более высоким уровням отличать всплывающие данные от сообщений, не относящихся к данным, в первую очередь для поддержания согласованности кэша. В сложных реализациях архитектуры QuickPath канальный уровень может быть настроен для поддержки отдельных потоков и управления потоками для разных классов. Неясно, нужно ли это или реализовано для однопроцессорных или двухпроцессорных реализаций.
- Слой маршрутизации
- Уровень маршрутизации отправляет 72-битный блок, состоящий из 8-битного заголовка и 64-битной полезной нагрузки. Заголовок содержит пункт назначения и тип сообщения. Когда уровень маршрутизации получает объект, он проверяет свои таблицы маршрутизации, чтобы определить, достиг ли объект своего пункта назначения. Если это так, он передается на следующий, более высокий уровень. В противном случае он отправляется по правильному исходящему QPI. На устройстве только с одним QPI уровень маршрутизации минимален. Для более сложных реализаций таблицы маршрутизации уровня маршрутизации более сложны и динамически модифицируются, чтобы избежать сбоев в ссылках QPI.
- Транспортный уровень
- Транспортный уровень не нужен и отсутствует в устройствах, предназначенных только для двухточечных соединений. Это включает в себя Core i7. Транспортный уровень отправляет и принимает данные через сеть QPI от своих одноранговых узлов на других устройствах, которые не могут быть напрямую подключены (т. Е. Данные могли быть маршрутизированы через промежуточное устройство). Транспортный уровень проверяет полноту данных, и если нет, он запрашивает повторную передачу от своего партнера.
- Уровень протокола
- Уровень протокола отправляет и принимает пакеты от имени устройства. Типичный пакет - это строка кэша памяти. Уровень протокола также участвует в поддержании согласованности кэша, отправляя и получая сообщения согласованности кеша.
Смотрите также
- Эластичная интерфейсная шина
- Фронтальный автобус
- Гипертранспорт
- Список пропускной способности устройства
- PCI Express
- RapidIO
Рекомендации
- ^ a b «Введение в Intel QuickPath Interconnect» (PDF) . Корпорация Intel. 30 января 2009 . Проверено 14 июня 2011 года .
- ^ Отчет DailyTech архивации 2013-10-17 в Wayback Machine , извлекаться 21 августа 2007
- ^ Ева Гласс (16 мая 2007 г.). «Название Intel CSI раскрыто: медленно, медленно, быстро, быстро, медленно» . Спрашивающий . Проверено 13 сентября 2013 года .
- ^ Дэвид Кантер (2011-07-20). «Быстрый путь развития Intel» . Realworldtech.com . Проверено 21 января 2014 .
- ^ SoftPedia: Intel планирует заменить Xeon своей новой суперплатформой Purley на базе Skylake
- ^ Габриэль Торрес (25 августа 2008 г.). «Все, что вам нужно знать о межсоединении QuickPath (QPI)» . Аппаратные секреты . Проверено 23 января 2017 года .
- ^ Чарли Демерджян (13 декабря 2005 г.). «Intel Intel получает преимущество над Тэнглвудом» . Спрашивающий . Проверено 13 сентября 2013 года .
- ^ а б в Дэвид Кантер (28 августа 2007 г.). «Общий системный интерфейс: будущее межсоединения Intel» . Real World Tech . Проверено 14 августа 2014 года .
- ^ Ева Гласс (12 декабря 2004 г.). «Intel Whitefield принимает форму четырехъядерного IA-32» . Спрашивающий . Проверено 13 сентября 2013 года .
- ^ Дэвид Кантер (5 мая 2006 г.). «Intel Tukwila подтвердила, что является четырехъядерным процессором» . Real World Tech . Архивировано из оригинального 10 мая 2012 года . Проверено 13 сентября 2013 года .
- ^ «Intel демонстрирует первый в отрасли 32-нм чип и микропроцессорную архитектуру нового поколения Nehalem» . Архивировано из оригинала на 2008-01-02 . Проверено 31 декабря 2007 .
- ^ Крис Анджелини (07.09.2009). «QPI, встроенная память, PCI Express и LGA 1156 - Intel Core i5 и Core i7: Mainstream Magnum Opus» . Tomshardware.com . Проверено 21 января 2014 .
- ^ Опубликовано 25 января 2010 г. Ричардом Суинберном (25 января 2010 г.). «Особенность - Производительность графики Intel GMA HD» . bit-tech.net . Проверено 21 января 2014 .
- ^ «Тестирование 32-нм процессоров и графических процессоров Intel Clarkdale (снова) - CPU - Feature» . HEXUS.net. 2009-09-25 . Проверено 21 января 2014 .
- ^ а б Одед Лемпель (28.07.2013). «Семейство процессоров Intel Core 2-го поколения: Intel Core i7, i5 и i3» (PDF) . hotchips.org . Проверено 21 января 2014 .
- ^ Лили Луи, Стефан Журдан, Переход микроархитектур Intel® следующего поколения (Nehalem и Westmere) в массовое производство , Hot Chips 21, 24 августа 2009 г.
Внешние ссылки
- Введение в Intel QuickPath Interconnect
- Обзор Intel QuickPath Interconnect (PDF)
- Что вам нужно знать о процессоре Intel Nehalem , Ars Technica , 9 апреля 2008 г., Джон Стоукс
- Первый взгляд на микроархитектуру Nehalem: автобус QPI , 2 ноября 2008 г., Илья Гавриченков
- Общий системный интерфейс: будущее межсоединения Intel , 28 августа 2007 г., Дэвид Кантер.