Введение
Закон Мура гласит, что количество транзисторов на кристалле кремния, который выгодно производить, удваивается каждые пару лет. Но не нужно думать, что скорость процессора тоже удваивается каждые пару лет. Подобное заблуждение встречается у многих, и пользователи часто ожидают масштабирования производительности ПК по экспоненте.
Впрочем, как вы наверняка заметили, топовые процессоры на рынке застряли на уровне между 3 и 4 ГГц уже лет шесть. И компьютерной индустрии пришлось искать новые способы увеличения производительности вычислений. Наиболее важный из этих способов заключается в поддержании баланса между компонентами платформы, которые используют шину PCI Express – открытый стандарт, который позволяет скоростным видеокартам, картам расширения и другим комплектующим обмениваться информацией. И интерфейс PCI Express не менее важен для масштабирования производительности, чем многоядерные процессоры. Если двуядерные, четырёхъядерные и шестиядерные процессоры можно нагрузить только с помощью приложений, оптимизированных под многопоточность, любая программа, установленная на вашем компьютере, так или иначе взаимодействует с компонентами, подключёнными через PCI Express.
![]() |
Нажмите на картинку для увеличения.
Многие журналисты и специалисты ожидали, что материнские платы и чипсеты с поддержкой интерфейса PCI Express 3.0 следующего поколения появятся в первом квартале 2010. К сожалению, проблемы с обратной совместимостью отсрочили выход PCI Express 3.0, и сегодня прошло уже полгода, но мы до сих пор ждём официальной информации по поводу публикации нового стандарта.
Впрочем, мы пообщались с группой PCI-SIG (Special Interest Group, которая отвечает за стандарты PCI и PCI Express), что позволило нам получить некоторые ответы.
PCI Express 3.0: планы
Эл Янс (Al Yanes), президент и председатель PCI-SIG, и Рамин Нешати (Ramin Neshati), председатель PCI-SIG Serial Communications Workgroup, поделились текущими планами по поводу внедрения PCI Express 3.0.
![]() |
Нажмите на картинку для увеличения.
23 июня 2010 вышла версия 0.71 спецификации PCI Express 3.0. Янс утверждал, что версия 0.71 должна устранить все проблемы с обратной совместимостью, которые привели к первоначальной задержке. Нешати отметил, что основная проблема с совместимостью заключалась в функции «DC wandering», которую он объяснил так, что устройства PCI Express 2.0 и более ранние «не давали нужных нуликов и единичек», чтобы соответствовать интерфейсу PCI Express 3.0.
Сегодня, когда проблемы с обратной совместимостью решены, PCI-SIG готова представить базовую версию 0.9 «позднее этим летом». И за этой базовой версией ожидается уже версия 1.0 в четвёртом квартале этого года.
Конечно, самый интригующий вопрос заключается в том, когда материнские платы PCI Express 3.0 появятся на прилавках магазинов. Нешати отметил, что он ожидает появления первых продуктов в первом квартале 2011 года (треугольник «FYI» на картинке с планом).
Нешати добавил, что между версиями 0.9 и 1.0 не должно произойти изменений на уровне кристалла кремния (то есть все изменения будут затрагивать только программное обеспечение и прошивку), так что некоторые продукты должны выйти на рынок ещё до появления финальной спецификации 1.0. И продукты уже могут сертифицироваться для списка PCI-SIG «Integrator’s List» (треугольник «IL»), который является вариантом логотипа соответствия PCI-SIG.
Нешати в шутку назвал третий квартал 2011 как дату «Fry’s and Buy» (вероятно, ссылаясь на сайты Frys.com, Buy.com или Best Buy). То есть в этот период мы должны ожидать появление большого количества продуктов с поддержкой PCI Express 3.0 в розничных магазинах и в интернет-магазинах.
PCI Express 3.0: разработан для скорости
Для конечных пользователей основное отличие между PCI Express 2.0 и PCI Express 3.0 будет заключаться в значительном увеличении максимальной пропускной способности. У PCI Express 2.0 сигнальная скорость передачи составляет 5 GT/s, то есть пропускная способность равняется 500 Мбайт/с для каждой линии. Таким образом, основной графический слот PCI Express 2.0, который обычно использует 16 линий, обеспечивает двунаправленную пропускную способность до 8 Гбайт/с.
У PCI Express 3.0 мы получим удвоение этих показателей. PCI Express 3.0 использует сигнальную скорость 8 GT/s, что даёт пропускную способность 1 Гбайт/с на линию. Таким образом, основной слот для видеокарты получит пропускную способность до 16 Гбайт/с.
На первый взгляд увеличение сигнальной скорости с 5 GT/s до 8 GT/s не кажется удвоением. Однако стандарт PCI Express 2.0 использует схему кодирования 8b/10b, где 8 бит данных передаются в виде 10-битных символов для алгоритма устранения ошибок. В итоге мы получаем 20% избыточность, то есть снижение полезной пропускной способности.
PCI Express 3.0 переходит на намного более эффективную схему кодирования 128b/130b, устраняя 20% избыточность. Поэтому 8 GT/s – это уже не «теоретическая» скорость; это фактическая скорость, сравнимая по производительности с сигнальной скоростью 10 GT/s, если бы использовался принцип кодирования 8b/10b.
![]() |
Нажмите на картинку для увеличения.
PCI-SIG утверждает, что выбор такого принципа устранения избыточности вместо перехода на 10 GT/s был обусловлен тем, что «8 GT/s является наиболее оптимальным компромиссом между затратами, возможностями производства, энергопотреблением и совместимостью». Группа также отмечает, что переход на 10 GT/s приводит к появлению «запретительных штрафов», включая «сложность дизайна, увеличенный размер кристалла кремния и повышенное энергопотребление». Эл Янс из PCI-SIG добавил: «Вся магия кроется в электрической составляющей работы. Инженеры действительно сделали для нас прорыв.»
Мы поинтересовались у Янса насчёт устройств, которые потребуют повышение в скорости. Он ответил, что они будут включать «коммутаторы PLX, контроллеры Ethernet 40 Гбит/с, InfiniBand, твёрдотельные устройства, которые становятся всё популярнее, и, конечно, видеокарты». Он добавил «Мы не исчерпали инновации, они появляются не статически, это непрерывный поток», они открывают путь для дальнейших улучшений в будущих версиях интерфейса PCI Express.
Анализ: где мы будем использовать PCI Express 3.0?
Накопители
AMD уже интегрировала поддержку SATA 6 Гбит/с в свою 8-ю линейку чипсетов, да и производители материнских плат добавляют контроллеры USB 3.0. Intel в этой области немного отстаёт, поскольку не поддерживает в чипсетах USB 3.0 или SATA 6 Гбит/с (у нас в лаборатории уже появились предварительные образцы материнских плат на P67, и у них присутствует поддержка SATA 6 Гбит/с, но USB 3.0 в этом поколении мы не получим). Впрочем, как мы уже неоднократно видели в противостоянии AMD и Intel, инновации AMD часто вдохновляют Intel. Учитывая скорости интерфейса накопителей следующего поколения и периферии, пока нет необходимости переносить любую из технологий на PCI Express 3.0. И для USB 3.0 (5 Гбит/с), и для SATA 6 Гбит/с (пока ещё не появилось накопителей, которые бы подошли к пределам этого интерфейса) будет достаточно одной линии PCI Express второго поколения.
Конечно, когда дело касается накопителей, то взаимодействие между приводами и контроллерами – это только часть вопроса. Представьте себе массив из нескольких SSD с интерфейсом SATA 6 Гбит/с у чипсета, когда массив RAID 0 потенциально может нагрузить одну линию PCI Express второго поколения, которую большинство производителей материнских плат используют для подключения контроллера. Так что определиться с тем, могут ли интерфейсы USB 3.0 и SATA 6 Гбит/с действительно требовать поддержки PCI Express 3.0, можно после несложных подсчётов.
![]() |
Нажмите на картинку для увеличения.
Как мы уже упоминали, интерфейс USB 3.0 даёт максимальную скорость 5 Гбит/с. Но и как стандарт PCI Express 2.1, USB 3.0 использует кодирование 8b/10b, то есть фактическая пиковая скорость составляет 4 Гбит/с. Поделите биты на восемь, чтобы преобразовать в байты, и вы получите пиковую пропускную способность 500 Мбайт/с – как раз такую же, что и у одной линии нынешнего стандарта PCI Express 2.1. SATA 6 Гбит/с работает со скоростью 6 Гбит/с, но здесь тоже используется схема кодирования 8b/10b, в результате которой теоретические 6 Гбит/с превращаются в фактические 4,8 Гбит/с. Опять же, преобразуйте это значение в байты, и вы получите 600 Мбайт/с или на 20% больше, чем может обеспечить линия PCI Express 2.0.
Впрочем, проблема кроется в том, что даже самые быстрые SSD сегодня не могут полностью загрузить подключение SATA 3 Гбит/с. Периферия и близко не подходит к нагрузке интерфейса USB 3.0, то же самое можно сказать и про последнее поколение SATA 6 Гбит/с. По крайней мере, сегодня интерфейс PCI Express 3.0 не является необходимым для активного его продвижения на рынке платформ. Но будем надеяться, что по мере перехода Intel на производство флэш-памяти NAND третьего поколения, тактовые частоты будут возрастать, и мы получим устройства, способные превысить уровень 3 Гбит/с у портов SATA второго поколения.
Видеокарты
Мы проводили собственные исследования влияния пропускной способности PCI Express на производительность видеокарт – после выхода на рынок PCI Express 2.0, в начале 2010 года, а также и совсем недавно. Как мы обнаружили, очень сложно нагрузить пропускную способность x16, которая на данный момент доступна у материнских плат PCI Express 2.1. Вам потребуется конфигурация на нескольких GPU или экстремальная high-end видеокарта на одном GPU, чтобы вы смогли обнаружить разницу между подключениями x8 и x16.
Мы попросили AMD и Nvidia прокомментировать потребность в PCI Express 3.0 — потребуется ли эта скоростная шина для раскрытия всего потенциала производительности видеокарт следующего поколения? Представитель AMD сообщил нам, что пока не может давать комментарии.
![]() |
Нажмите на картинку для увеличения.
Представитель Nvidia оказался более сговорчивым: «Nvidia играла одну из ключевых ролей в индустрии при разработке PCI Express 3.0, который должен в два раза увеличить пропускную работу стандарта текущего поколения (2.0). Когда происходят подобные существенные увеличения пропускной способности, то появляются приложения, которые могут их использовать. От нового стандарта выиграют потребители и профессионалы, благодаря увеличенной производительности графики и вычислений в ноутбуках, настольных ПК, рабочих станциях и серверах, где есть GPU».
Возможно, ключевой можно назвать фразу «появятся приложения, которые могут их использовать». Похоже, в мире графики ничего не уменьшается. Дисплеи становятся больше, высокое разрешение выходит на смену стандартному разрешению, текстуры в играх становятся всё более детализованными и интригующими. Сегодня мы не считаем, что даже у новейших топовых видеокарт есть потребность в использовании интерфейса PCI Express 3.0 с 16 линиями. Но энтузиасты из года в год наблюдают повторение истории: прогресс технологии прокладывает путь для новых способов задействовать «более толстые трубы». Возможно, мы получим взрывной рост приложений, которые сделают вычисления на GPU более массовыми. Или, возможно, падение производительности, которое наблюдается при выходе за пределы памяти видеокарты, когда начинается подкачка из системной памяти, будет уже не таким ощутимым у массовых и low-end продуктов. В любом случае, нам предстоит увидеть инновации, которые PCI Express 3.0 позволит реализовать AMD и Nvidia.
Подключения компонентов материнской платы
AMD и Intel всегда очень неохотно делятся информацией по поводу интерфейсов, которые они используют для связи компонентов чипсета или логических «кирпичиков» в северном/южном мостах. Мы знаем скорость, с которой работают эти интерфейсы, а также и то, что они разрабатываются так, чтобы, по возможности, не создавать «узких мест». Иногда мы знаем, кто произвёл определённую часть системной логики, например, AMD использовала в SB600 контроллер SATA на основе разработки Silicon Logic. Но технологии, используемые для наведения мостиков между компонентами, часто остаются «белыми пятнами». PCI Express 3.0, конечно, кажется весьма привлекательным решением, наподобие интерфейса A-Link, который использует AMD.
Недавнее появление контроллеров USB 3.0 и SATA 6 Гбит/с на большом количестве материнских плат тоже позволяет оценить ситуацию. Поскольку чипсет Intel X58 не предоставляет «родную» поддержку ни одной из двух технологий, компаниям, таким как Gigabyte, приходится интегрировать на материнские платы контроллеры, используя для их подключения доступные линии.
У материнской платы Gigabyte EX58-UD5 нет поддержки ни USB 3.0, ни SATA 6 Гбит/с. Однако у неё есть слот x4 PCI Express.
![]() |
Нажмите на картинку для увеличения.
Gigabyte заменила материнскую плату EX58-UD5 новой моделью X58A-UD5, которая имеет поддержку двух портов USB 3.0 и двух портов SATA 6 Гбит/с. Где Gigabyte нашла пропускную способность, чтобы поддержать две этих технологии? Компания взяла под одной линии PCI Express 2.0 для каждого контроллера, урезав возможности по установке карт расширения, но вместе с тем обогатив функциональность материнской платы.
Помимо добавления USB 3.0 и SATA 6 Гбит/с, единственное заметное отличие между двумя материнскими платами касается удаления слота x4.
![]() |
Нажмите на картинку для увеличения.
Позволит ли интерфейс PCI Express 3.0, как стандарты до него, добавлять на материнские платы будущие технологии и контроллеры, которые не будут присутствовать в текущих поколениях чипсетов в интегрированном виде? Как нам кажется, так и будет.
CUDA и параллельные вычисления
Мы вступаем в эпоху настольных суперкомпьютеров. В наших системах работают графические процессоры с интенсивной параллельной обработкой данных, а также блоки питания и материнские платы, способные поддерживать одновременную работу до четырёх видеокарт. Технология Nvidia CUDA позволяет преобразовать видеокарту в инструмент для программистов по расчётам не только в играх, но и в научных сферах, и в инженерных приложениях. Интерфейс программирования уже прекрасно зарекомендовал себя при разработке разнообразных решений для корпоративного сектора, включая обработку изображений в медицине, математику, работы по разведыванию месторождений нефти и газа.
![]() |
Нажмите на картинку для увеличения.
Мы поинтересовались мнением программиста OpenGL Терри Велша (Terry Welsh) из компании Really Slick Screensavers насчёт PCI Express 3.0 и вычислений на GPU. Терри сообщил нам, что «PCI Express получил хороший рывок, и мне нравится, что разработчики удваивают пропускную способность когда захотят — как с версией 3.0. Однако в проектах, над которыми мне приходится работать, я не ожидаю увидеть какую-либо разницу. Большая часть моей работы связана с авиасимуляторами, но они, как правило, упираются в память и производительность ввода/вывода жёсткого диска; графическая шина не является «узким местом» вообще. Но я могу с лёгкостью предвидеть, что шина PCI Express 3.0 обусловит существенное продвижение вперёд для сферы вычислений на GPU; для людей, которые выполняют научную работу с большими массивами данных».
![]() |
Нажмите на картинку для увеличения.
Возможность удвоить скорость передачи данных при работе с нагрузками, интенсивно использующими математику, безусловно, мотивирует разработки CUDA и Fusion. И в этом заключается одна из самых обещающих сфер для грядущего интерфейса PCI Express 3.0.
Чипсеты по приемлемой цене
Любой геймер с чипсетом Intel P55 может рассказать о преимуществах и недостатках Intel P55 по сравнению с чипсетом Intel X58. Преимущество: большинство материнских плат на чипсете P55 стоят более разумно, чем модели на Intel X58 (в целом, конечно). Недостаток: у P55 минимальные возможности по подключению PCI Express, основная задача возложена на процессоры Intel Clarkdale и Lynnfield, которые обладают 16 линиями PCIe второго поколения в самом CPU. Между тем, X58 может похвастаться 36 линиями PCI Express 2.0.
Для покупателей P55, которые желают использовать две видеокарты, их придётся подключать через x8 линий каждую. Если вы захотите добавить к платформе Intel P55 третью видеокарту, то придётся использовать линии чипсета — но они, к сожалению, ограничены скоростью первого поколения, да и чипсет может выделить, максимум, четыре линии для слота расширения.

Когда мы поинтересовались у Эла Янса из PCI-SIG тем, сколько линий можно ожидать в чипсетах с поддержкой PCI Express 3.0 от AMD и Intel, то он ответил, что это «частная информация», которую он «не может раскрыть». Конечно, мы не ожидали получить ответ, но вопрос всё равно задать стоило. Впрочем, вряд ли AMD и Intel, которые входят в состав PCI-SIG Board of Directors, стали бы инвестировать время и деньги в PCI Express 3.0, если бы они планировали использовать новый стандарт PCI Express просто как средство снижения числа линий. Как нам кажется, в будущем чипсеты AMD и Intel будут по-прежнему сегментироваться так, как мы наблюдаем сегодня, у high-end платформ будет достаточно возможностей для подключения пары видеокарт с полным интерфейсом x16, а у чипсетов для массового рынка число линий будет урезано.
Представьте себе чипсет, подобный Intel P55, но с 16 доступными линиями PCI Express 3.0. Поскольку эти 16 линий работают в два раза быстрее PCI Express 2.0, то мы получим эквивалент 32 линиям старого стандарта. В такой ситуации от Intel будет зависеть, пожелает ли она сделать чипсет совместимым с конфигурациями 3-way и 4-way GPU. К сожалению, как мы уже знаем, чипсеты следующего поколения Intel P67 и X68 будут ограничены поддержкой PCIe 2.0 (а процессоры Sandy Bridge будут точно так же ограничены поддержкой 16 линий на кристалле).

Помимо параллельных вычислений CUDA/Fusion, мы также видим рост возможностей систем для массового рынка благодаря повышению скорости связи компонентов PCI Express 3.0 — здесь, как нам кажется, тоже скрыт немалый потенциал. Вне всякого сомнения, PCI Express 3.0 улучшит возможности недорогих материнских плат, которые в предыдущем поколении были доступны только high-end платформам. А high-end платформы, получившие в своё распоряжение PCI Express 3.0, позволят нам поставить новые рекорды по производительности благодаря инновациям в графике, подсистеме хранения данных и сетевых технологиях, которые смогут использовать доступную пропускную способность шины.








