
Установка нескольких видеокарт давно перестала быть экзотикой для персональных платформ. Причин для этого много: удобство многомониторных систем, масштабирование мощности графической подсистемы. Не последнее в этом ряду и распространение технологий, связанных с использованием графического процессора в качестве вычислителя общего назначения: например, Mining Bitcoins.
Известно достаточно много системных плат, оборудованных двумя и более разъемами PCIe x16. Но при детальном рассмотрении таких платформ выясняется, что только немногие из них обеспечивают функционирование нескольких видеокарт в режиме полной разрядности PCI Express x16. Выясним, как с этим обстоит дело на анонсированной вчера платформе ASUS Z87-K с процессорным сокетом 1150, использующей набор системной логики Intel Z87.
Предисловие
Никакой тайны в использовании нескольких видеокарт PCI Express x16 на платформах с ограниченными возможностями нет. Рассмотрим два вида технических трюков, позволяющих решить эту задачу.
- Один порт PCI Express x16 разделяется между несколькими видео адаптерами. В результате адаптеры используют пониженную разрядность шины. Например, при установке двух видеокарт, каждая из них работает в режиме PCI Express x8.
- Для установки видеокарт используются PCI Express порты, находящиеся в составе южного моста, иначе говоря – «далеко от контроллера памяти», и ориентированные на низкоскоростной трафик. При этом обмен видеоданными не только замедляется, но и загружает шину Direct Media Interface. Подробно эта ситуация рассмотрена в статье «Камни преткновения в архитектонике персональных платформ».
Объект тестирования: что можно ожидать от ASUS Z87-K?
Рассматривая плату ASUS Z87-K, подсчитывая количество керамических конденсаторов, включенных в сигнальных цепях PCI Express и прослеживая маршруты печатных проводников, мы сделали следующее предположение.
Первый (желтый) разъем способен обеспечить обмен данными с полосой пропускания 8.0 GT/s в режиме PCI Express x16 и подключен к процессорному сокету. На плате ASUS Z87-K он обозначен, как PCIEX16_1.
Второй (черный) разъем поддерживает режим PCI Express x4. Он обеспечивает полосу до 5.0 GT/s и обслуживается системной логикой – контроллером, входящим в состав микросхемы PCH (Platform Controller Hub). На снимке вверху отчетливо видно, что разъем содержит только половинное количество контактов, хотя для работы по PCI Express x4 хватило бы и четверти. На плате разъему соответствует шелкографическое обозначение PCIEX16_2.
Практика – критерий истины
Оценим производительность слотов PCI Express с помощью технологии Link Training и диагностических утилит, разработанных в нашей тестовой лаборатории (см. «Эскиз к диагностике шины PCI Express»). Результаты экспериментов будем выводить на POST-карту, а не экран монитора, чтобы избежать пауз, возникающих в процессе запуска процедуры Link Training для PCI Express порта. Два младших разряда 16-битного POST-индикатора будут отображать текущую ширину шины PCI Express на основании значения поля Negotiated Link Width в регистре Link Status Register, а два старших – установленную полосу пропускания на основании значения поля Current Link Speed в том же регистре. В качестве подопытного кролика мы используем видео адаптер Sapphire HD7970, поддерживающий PCI Express 3.0 с полосой пропускания 8.0 GT/S.
Сначала ознакомимся с содержимым PCI-пространства. В этом на нам поможет утилита, разработанная лабораторией IC Book, которая называется ICDiag:
При установке видеокарты в желтый слот, адрес PCI Express Bridge, который ее обслуживает Bus=0, Device=1, Function=0. Этот узел входит в состав процессора.
Тестирование с помощью процедуры Link Training дает следующие результаты: полоса пропускания – 8.0 GT/s, разрядность соединения – 16 бит.
При установке видеокарты в черный слот, адрес PCI Express Bridge, который ее обслуживает Bus=0, Device=1Ch, Function=4. Этот узел входит в состав микросхемы PCH.
Разрядность соединения – 4 бит, полоса пропускания – 5.0 GT/s. Как видим, прогноз, сделанный после визуального осмотра платы, оправдался: при установке в слот, подключенный к микросхеме PCH, полоса пропускания снижается.
Примечание.
Экспериментируя с видеокартами NVidia (в частности, GV-N65TOC-1GI и MS-V034 NX6500-TD128E) мы наблюдали, что текущая полоса пропускания устанавливается равной 2.5 GT/S, несмотря на то, что видеоадаптер и мост PCI Express декларируют поддержку режимов 5.0 GT/S и выше. Для уточнения информации мы проанализировали содержимое битового поля Max Link Speed в регистре Link Capabilities Register.
Возможно, данная ситуация связана с использованием динамического реконфигурирования полосы пропускания шины PCI Express в зависимости от загрузки графического процессора. Не исключаем и версию о неполной совместимости исследуемых моделей видео адаптеров и системной платы.
Послесловие
Глубокой болью отзывается каждое понижение разрядности интерфейса PCI Express в сердцах энтузиастов и истинных ценителей технической эстетики. Но, если серьезно, то необходимо понимать следующее: функционирование любого устройства, в том числе и видео адаптера не состоит из одних только шинных операций чтения и записи. Например, технологии, связанные с использованием графических процессоров в качестве вычислителей общего назначения, предусматривают загрузку блоков-заданий в локальную память видео адаптера, после чего графический процессор видеокарты достаточно долго выполняет вычисления, работая со «своей» локальной памятью и практически не используя шину PCI Express. Очевидно, разрядность и полоса пропускания соединения PCI Express практически не повлияют на производительность вычислительной платформы при решении такой задачи. Так достигается компромисс при экономии аппаратных средств. А экономия, как известно, – путь к богатству.