stringtranslate.com

Intel QuickPath Interconnect

Intel QuickPath Interconnect ( QPI ) [1] [2] — это двухточечное процессорное соединение, разработанное Intel , которое заменило системную шину (FSB) в Xeon , Itanium и некоторых настольных платформах с 2008 года. Оно увеличило масштабируемость и доступную пропускную способность. До объявления названия Intel называла его Common System Interface ( CSI ). [3] Более ранние воплощения были известны как Yet Another Protocol ( 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 в своем Massachusetts Microprocessor Design Center (MMDC) членами того, что было Alpha Development Group, которую Intel приобрела у Compaq и HP и которая, в свою очередь, изначально принадлежала Digital Equipment Corporation (DEC). [8] О его разработке сообщалось еще в 2004 году. [9]

Intel впервые выпустила его для настольных процессоров в ноябре 2008 года на чипсетах Intel Core i7-9xx и X58 . Он был выпущен в процессорах Xeon под кодовым названием Nehalem в марте 2009 года и в процессорах Itanium в феврале 2010 года (кодовое название Tukwila). [10]

Начиная с 2017 года на платформах Xeon Skylake-SP его заменил Intel Ultra Path Interconnect . [11]

Выполнение

QPI — неосновной компонент микроархитектуры Nehalem компании Intel .

QPI — это элемент архитектуры системы, который Intel называет архитектурой QuickPath , реализующей то, что Intel называет технологией QuickPath . [12] В своей простейшей форме на однопроцессорной материнской плате один QPI используется для подключения процессора к концентратору ввода-вывода (например, для подключения Intel Core i7 к X58 ). В более сложных случаях архитектуры отдельные пары ссылок QPI соединяют один или несколько процессоров и один или несколько концентраторов ввода-вывода или концентраторов маршрутизации в сети на материнской плате, позволяя всем компонентам получать доступ к другим компонентам через сеть. Как и в случае с HyperTransport, архитектура QuickPath предполагает, что процессоры будут иметь интегрированные контроллеры памяти , и обеспечивает архитектуру неравномерного доступа к памяти (NUMA).

Каждый QPI состоит из двух 20-полосных каналов передачи данных точка-точка, по одному в каждом направлении ( полный дуплекс ), с отдельной парой тактовых импульсов в каждом направлении, всего 42 сигнала. Каждый сигнал представляет собой дифференциальную пару , поэтому общее количество контактов равно 84. 20 каналов данных разделены на четыре «квадранта» по 5 каналов в каждом. Основной единицей передачи является 80-битный Flit , который имеет 8 бит для обнаружения ошибок, 8 бит для «заголовка канального уровня» и 64 бита для данных. Один 80-битный Flit передается за два такта (четыре 20-битных передачи, две за такт). Пропускная способность QPI объявляется путем вычисления передачи 64 бит (8 байт) данных каждые два такта в каждом направлении. [8]

Хотя первоначальные реализации используют отдельные четырехквадрантные связи, спецификация QPI допускает другие реализации. Каждый квадрант может использоваться независимо. На серверах с высокой надежностью связь QPI может работать в ухудшенном режиме. Если один или несколько из 20+1 сигналов выходят из строя, интерфейс будет работать, используя 10+1 или даже 5+1 оставшихся сигналов, даже переназначая тактовую частоту сигналу данных, если тактовая частота выходит из строя. [8] Первоначальная реализация Nehalem использовала полный четырехквадрантный интерфейс для достижения 25,6 ГБ/с (6,4 ГТ/с × 1 байт × 4), что обеспечивает ровно вдвое большую теоретическую пропускную способность 1600 МГц FSB от Intel, используемой в чипсете X48.

Хотя некоторые высокопроизводительные процессоры Core i7 предоставляют QPI, другие «массовые» настольные и мобильные процессоры Nehalem, предназначенные для односокетных плат (например, LGA 1156 Core i3, Core i5 и другие процессоры Core i7 из семейств Lynnfield / Clarksfield и последующих) не предоставляют QPI наружу, поскольку эти процессоры не предназначены для участия в многосокетных системах.

Однако QPI используется внутри этих чипов для связи с « uncore », который является частью чипа, содержащей контроллеры памяти, PCI Express на стороне ЦП и графический процессор, если он присутствует; uncore может находиться или не находиться на том же кристалле, что и ядро ​​ЦП, например, он находится на отдельном кристалле в Clarkdale / Arrandale, базирующемся в Вестмере . [13] [14] [15] [16] : 3 

В односокетных чипах, выпущенных после 2009 года, начиная с Lynnfield, Clarksfield, Clarkdale и Arrandale, традиционные функции северного моста интегрированы в эти процессоры, которые, следовательно, взаимодействуют с внешним миром через более медленные интерфейсы DMI и PCI Express.

Таким образом, нет необходимости нести расходы на раскрытие (бывшего) интерфейса передней шины через сокет процессора. [17]

Хотя связь ядро-неядро QPI отсутствует в процессорах Sandy Bridge для настольных ПК и мобильных устройств (как, например, в Clarkdale), внутреннее кольцевое соединение между ядрами на кристалле также основано на принципах, лежащих в основе QPI, по крайней мере, в том, что касается когерентности кэша . [16] : 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-битном flit. Однако затем Intel удваивает результат, поскольку однонаправленная пара каналов отправки и получения может быть одновременно активна. Таким образом, Intel описывает 20-канальную пару каналов QPI (отправка и получение) с тактовой частотой 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-битный «фит». Физический уровень передает 20-битный «фит» с использованием одного фронта тактового сигнала на 20 полосах, когда все 20 полос доступны, или на 10 или 5 полосах, когда QPI перенастраивается из-за сбоя. Обратите внимание, что в дополнение к сигналам данных от передатчика к приемнику передается тактовый сигнал (что упрощает восстановление тактового сигнала за счет дополнительных контактов).
Связующий слой
Канальный уровень отвечает за отправку и получение 80-битных flit. Каждый flit отправляется на физический уровень как четыре 20-битных phit. Каждый flit содержит 8-битный CRC, сгенерированный передатчиком канального уровня, и 72-битную полезную нагрузку. Если приемник канального уровня обнаруживает ошибку CRC, приемник уведомляет передатчик через flit на обратном канале пары, и передатчик повторно отправляет flit. Канальный уровень реализует управление потоком с использованием схемы кредит/дебет, чтобы предотвратить переполнение буфера приемника. Канальный уровень поддерживает шесть различных классов сообщений, чтобы позволить более высоким уровням отличать flit с данными от сообщений, не содержащих данные, в первую очередь для поддержания согласованности кэша. В сложных реализациях архитектуры QuickPath канальный уровень может быть настроен для поддержки отдельных потоков и управления потоком для разных классов. Неясно, необходимо ли это или реализовано для реализаций с одним процессором и двумя процессорами.
Уровень маршрутизации
Уровень маршрутизации отправляет 72-битный блок, состоящий из 8-битного заголовка и 64-битной полезной нагрузки. Заголовок содержит пункт назначения и тип сообщения. Когда уровень маршрутизации получает блок, он проверяет свои таблицы маршрутизации, чтобы определить, достиг ли блок своего пункта назначения. Если да, он доставляется на следующий более высокий уровень. Если нет, он отправляется на правильный исходящий QPI. На устройстве только с одним QPI уровень маршрутизации минимален. Для более сложных реализаций таблицы маршрутизации уровня маршрутизации более сложны и изменяются динамически, чтобы избежать сбоев соединений QPI.
Транспортный уровень
Транспортный уровень не нужен и отсутствует в устройствах, предназначенных только для соединений точка-точка. Сюда входит Core i7. Транспортный уровень отправляет и получает данные по сети QPI от своих одноранговых устройств на других устройствах, которые могут быть не подключены напрямую (т. е. данные могли быть направлены через промежуточное устройство). Транспортный уровень проверяет полноту данных, и если нет, он запрашивает повторную передачу от своего однорангового устройства.
Уровень протокола
Уровень протокола отправляет и получает пакеты от имени устройства. Типичный пакет — это строка кэша памяти. Уровень протокола также участвует в поддержании согласованности кэша, отправляя и получая соответствующие сообщения.

Смотрите также

Ссылки

  1. ^ ab "Введение в Intel QuickPath Interconnect" (PDF) . Корпорация Intel. 30 января 2009 г. Получено 14 июня 2011 г.
  2. Отчет DailyTech Архивировано 17 октября 2013 г. на Wayback Machine , получено 21 августа 2007 г.
  3. Ева Гласс (16 мая 2007 г.). «Раскрыто имя Intel CSI: медленно, медленно, быстро, быстро, медленно». The Inquirer . Архивировано из оригинала 10 июня 2012 г. Получено 13 сентября 2013 г.{{cite news}}: CS1 maint: неподходящий URL ( ссылка )
  4. ^ Дэвид Кантер (2011-07-20). "Быстрый путь Intel эволюционировал". Realworldtech.com . Получено 21-01-2014 .
  5. ^ SoftPedia: Intel планирует заменить Xeon своей новой суперплатформой «Purley» на базе Skylake
  6. ^ Габриэль Торрес (25 августа 2008 г.). "Все, что вам нужно знать о QuickPath Interconnect (QPI)". Hardware Secrets . Получено 23 января 2017 г. .
  7. Чарли Демерджян (13 декабря 2005 г.). «Intel Intel получает трусики в повороте событий в Тэнглвуде». The Inquirer . Архивировано из оригинала 3 сентября 2010 г. Получено 13 сентября 2013 г.{{cite news}}: CS1 maint: неподходящий URL ( ссылка )
  8. ^ abc Дэвид Кантер (28 августа 2007 г.). "The Common System Interface: Intel's Future Interconnect". Real World Tech . Получено 14 августа 2014 г.
  9. Ева Гласс (12 декабря 2004 г.). «Intel's Whitefield принимает форму четырехъядерного процессора IA-32». The Inquirer . Архивировано из оригинала 24 мая 2009 г. Получено 13 сентября 2013 г.{{cite news}}: CS1 maint: неподходящий URL ( ссылка )
  10. Дэвид Кантер (5 мая 2006 г.). «Подтверждено, что Tukwila от Intel будет четырехъядерным». Real World Tech . Архивировано из оригинала 10 мая 2012 г. Получено 13 сентября 2013 г.
  11. ^ «Технический обзор семейства масштабируемых процессоров Intel® Xeon®».
  12. ^ "Intel демонстрирует первый в отрасли 32-нм чип и архитектуру микропроцессора Nehalem следующего поколения". Архивировано из оригинала 2008-01-02 . Получено 2007-12-31 .
  13. ^ Крис Анджелини (2009-09-07). "QPI, интегрированная память, PCI Express и LGA 1156 - Intel Core i5 и Core i7: мейнстримное творение Intel". Tomshardware.com . Получено 21-01-2014 .
  14. Опубликовано 25 января 2010 г. Ричардом Суинберном (25.01.2010). "Feature - Intel GMA HD Graphics Performance". bit-tech.net . Получено 21.01.2014 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  15. ^ "Проведено повторное тестирование 32-нм CPU-и GPU-чипа Intel Clarkdale (снова) - CPU - Feature". HEXUS.net. 2009-09-25 . Получено 2014-01-21 .
  16. ^ ab Oded Lempel (28.07.2013). "Семейство процессоров Intel Core 2-го поколения: Intel Core i7, i5 и i3" (PDF) . hotchips.org . Архивировано из оригинала (PDF) 29.07.2020 . Получено 21.01.2014 .
  17. ^ Лили Луи, Стефан Джордан, Переход микроархитектур Intel® следующего поколения (Nehalem и Westmere) в массовую практику. Архивировано 2 августа 2020 г. на Wayback Machine , Hot Chips 21, 24 августа 2009 г.

Внешние ссылки