Несмотря на то что выход в свет спецификаций USB 3.0 был с большим энтузиазмом встречен пользователями, производители компьютеров пока его в основной своей массе не разделяют. Главными «тормозами прогресса» являются разработчики чипсетов, коих осталось фактически всего двое (NVIDIA и VIA продолжают поставлять эту продукцию, однако заметного влияния на рынок не оказывают, а SiS так и вовсе исчез), все еще не желающие поддерживать новый стандарт даже в перспективных продуктах. Вот к SATA600 их отношение куда лучше — AMD уже внедрила поддержку данного интерфейса в часть чипсетов, а Intel планирует сделать это не позднее начала следующего года. С другой стороны, такие темпы экспансии хоть и неплохи (SATA150 и SATA300 выходили на рынок медленнее), однако все равно не позволяют предполагать, что в течение ближайшей пары лет поддержка нового интерфейса появится в каждом компьютере.

Для SATA600, предназначенного для внутренних накопителей, это менее критично — достаточно обеспечить поддержку в «своей» системе и ей можно будет полноценно пользоваться. Для USB 3.0 ситуация уже хуже — допустим, портативный ВЖД с таким интерфейсом у вас есть, и на отдельно взятом компьютере работает быстро — ну и что? Эти устройства предполагают высокую степень мобильности, а какой смысл переплачивать, если в большинстве мест оный ВЖД будет работать ничуть не лучше простых и дешевых моделей, рассчитанных на USB 2.0? Именно это и мешает широкому распространению новых продуктов — пока в них не так уж много смысла. Потенциально — очень интересны, а реально пока негде этот потенциал реализовывать. Пользователи давно готовы к USB 3.0 — им производительности более ранних внешних интерфейсов не хватает. Производители, в принципе, тоже готовы — продуктов анонсировано много, так что их массовый выпуск можно начать в любой момент. Но пока не будет подходящей инфраструктуры, не начнут. Массовый, естественно, не начнут — так-то уже можно найти в продаже новые решения. Но надо искать, да и стоят дорого.

Дополнительные контроллеры: проблемы…

Таким образом, все упирается в инфраструктуру. А пока производители чипсетов не могут или не хотят заниматься решением данного вопроса, обеспечение поддержки USB 3.0 да и SATA600 (пусть в меньшей степени) в основном возможно только при помощи дополнительных контроллеров. На первый взгляд, тут все просто — покупаем контроллер при необходимости, и все. Однако если приглядеться, сразу видны проблемы — контроллер быстрого внешнего интерфейса не имеет смысла при отсутствии для него быстрого внутреннего интерфейса. Вот ранее таких проблем не было — шина PCI появилась более 10 лет назад и обеспечивает пропускную способность чуть более 100 МБ/с, чего долгое время было более чем достаточно. В частности, этого хватало на каждом этапе усовершенствования PATA — АТА66 или АТА100 тоже не сразу пришли в чипсеты, но соответствующий PCI-контроллер легко решал проблему. Чего уж говорить про USB 2.0 или FireWire с их скоростями порядка 40 МБ/с — PCI для этого необходимо и достаточно.

Внедрение SATA150 было первым тревожным звоночком — этому дисковому интерфейсу «классической» PCI уже недостаточно даже для обеспечения работы всего одного устройства, не говоря уже о нескольких. Спасало лишь то, что дисковые накопители, долгое время диктовавшие моду, сами по себе росли в производительности медленнее прогресса в электронике. Ну а потом произошел переход на PCIe, так что возможной оказалась и поддержка SATA300. Однако вот SATA600 или USB 3.0 стали чересчур быстрыми даже для этого интерфейса. Впрочем, если бы самыми быстрыми устройствами продолжали оставаться винчестеры, проблем бы не было — они лишь недавно дотянулись до 150 МБ/с. Но на рынке появились уже накопители на флэш-памяти, способные на достижение скоростей в несколько сотен мегабайт в секунду.

Способ решить эту проблему в рамках PCIe теоретически есть — нужно использовать несколько линий. Например, слот PCIe x4 даже в первоначальной версии стандарта может передавать 1 ГБ/с в каждом направлении одновременно, чего вполне достаточно. К сожалению, практика несколько расходится с теорией. На данный момент на рынке доступен ровно один массовый контроллер USB 3.0 (NEC µPD720200) и одно семейство практически неотличимых друг от друга массовых же контроллеров Marvell (88SE9128 поддерживает два порта и возможность создания RAID-массивов, младшие модели проще по функциональности). Пара контроллеров USB 3.0 анонсирована и компанией Fresco Logic: однопортовый FL1000 еще в прошлом году, двухпортовый FL1009 — совсем недавно, так что со временем мы увидим их в готовых продуктах.

Общее между всеми этими чипами то, что все они рассчитаны на PCIe x1. Версий PCIe на данный момент две. Одна линия PCIe 2.0 позволяет передавать по 500 МБ/с в каждом направлении, чего недостаточно даже для одного «полноскоростного» порта SATA600. C другой стороны, 500 МБ/с (пусть даже на практике превращающиеся, скорее, в 400) — это больше, чем обеспечивает SATA300, так что есть за что побороться. А вот одной линии PCIe 1.x недостаточно даже для одного быстрого устройства с интерфейсом SATA300, что мы уже установили. Таким образом, для контроллера Marvell жизненно необходимо использование PCIe 2.0. С продуктом NEC дела обстоят еще печальнее, что мы тоже установили — при подключении к PCIe 1.x он сам по себе «плохо работает», и близко не подходя к ограничениям шины. Впрочем, и такой вариант все равно лучше, чем USB 2.0, но… Если уж тратиться на новую версию (а потратить придется немало), так и получить хочется по максимуму. Как ведут себя продукты Fresco Logic, мы пока вообще не знаем, однако очевидно, что даже если у них нет присущих NEC «детских болезней», использование PCIe 1.x все равно может оказаться (и окажется) сдерживающим фактором при использовании наиболее скоростных устройств с USB 3.0.

Итак, как бы то ни было, для полноценного использования что SATA600, что USB 3.0 требуется PCIe 2.0 — в противном случае первый интерфейс в принципе бесполезен, а второй дает меньший прирост, чем мог бы. А что у нас с наличием таковых слотов на современных платах? Не очень-то… Первый чипсет Intel с поддержкой PCIe 2.0 появился весной 2007-го года (в единственном числе — массовой поддержка стала лишь в «четвертой» серии, т. е. во второй половине 2008-го года), а у AMD — осенью того же года. Используются ли еще более ранние платы сейчас, когда на дворе уже 2010-й? Странный вопрос — еще как! Ведь подавляющее большинство плат на P35 (последний массовый чипсет Intel без поддержки PCIe 2.0) и даже немалое количество на 965Р прекрасно работает с любыми моделями Core 2 Quad, а эти процессоры и по сей день остаются вполне актуальными с точки зрения производительности. Они уже не являются самыми быстрыми, конечно, но для очень многих сфер применения (отнюдь не исчерпывающихся офисными работами и просмотром сайтов в интернете) более чем достаточны. Но вот модернизировать «старую» систему (пусть и превосходящую по производительности многие «новые») до полноценной поддержки новых интерфейсов «в лоб» невозможно.

И даже если не учитывать пользователей материнских плат двух-трехлетней давности (в конце концов, купленные три года назад компьютеры свое, в основном, отработали — примерно через такое время многие систему и меняют), оказывается, что положение дел это не сильно улучшает. В плюсе только те, кто ориентировался на чипсеты AMD — компания освоила поддержку PCIe 2.0 чуть позже конкурентов, зато этой версии спецификаций соответствуют абсолютно все линии. Таким образом, проблем не будет ни у кого из владельцев плат на чипсетах седьмой серии (за исключением 740G, на практике являющегося всего лишь переносом старого 690G на более тонкий процесс производства) — пара слотов PCIe x1 2.0 для новых контроллеров найдется на любой плате, где вообще найдется пара свободных слотов х1. Разумеется, восьмой серии чипсетов это тоже касается, только там проблема стои́т еще менее остро — приобретение платы с южным мостом SB850 (который встречается не только совместно с топовыми 890FX/GX, как ему положено, но и на платах на более дешевом 880G, поскольку его официальный компаньон SB810 несколько задерживается) обеспечивает пользователя шестью чипсетными портами SATA600, так что нужно лишь добавить поддержку USB 3.0.

Неплохо дело обстоит и во все еще встречающихся на рынке продуктах на чипсетах NVIDIA GeForce последней «четырехзначной серии» (9000 для Intel и 8000 для AMD) — здесь тоже все линии PCIe соответствуют второй версии спецификаций. А вот «трехзначные» nForce поддерживают PCIe 2.0 только «для видеокарт» (в кавычках, поскольку, на самом деле, PCIe — стандарт универсальный), т. е. в слотах х16. И абсолютно то же самое касается всех чипсетов Intel, вплоть до самой современной «пятой серии»! Точнее, в теории, в каком-нибудь Р55 все линии формально 2.0, однако полноскоростными являются только те, которые подключены к процессору — чипсетные соответствуют данной версии лишь на бумаге, имея пропускную способность 250 МБ/с (чего Intel не скрывает).

Обычно скоростные линии используются для установки видеокарт, что приводит к очень неприятному эффекту. Во-первых, при установке максимально поддерживаемого количества видеокарт «свободных» линий PCIe 2.0 в принципе не остается. И не сто́ит думать, что эта проблема касается только владельцев multi-GPU: для большинства массовых чипсетов это самое «максимальное количество» видеокарт равно… ровно одной. Таким образом, за бортом мгновенно остаются такие чипсеты, как Р43, причем навсегда — интегрированного видео в них нет, а «разделять» 16 линий PCIe они не умеют. И с интегрированными чипсетами, вроде G45 или более новых Н55/Н57, не все гладко — у Intel вечно то гвозди не завезли, то у чертей партсобрание: одновременное использование слота PCIe x16 и интегрированной графики на некоторых платах вообще невозможно в принципе, а на некоторых в такой конфигурации работают только аналоговые видеовыходы.

В платах на P45 или P55 при наличии одной видеокарты все несколько лучше — у нее можно «отобрать» восемь линий PCIe для использования вторым «длинным» слотом, куда воткнуть как раз контроллер, поддерживающий один из новых интерфейсов. Но только один, поскольку слот свободный один, да и идея уменьшить вдвое пропускную способность шины для видеоадаптера нравится далеко не всем пользователям. Первая проблема решается на самых современных платах с интегрированными контроллерами SATA600 и USB 3.0 — например, на уже изученной нами Gigabyte P55A-UD6, но только для этих самых интегрированных контроллеров. Вторая не решается вообще нигде — на упомянутой плате, например, при таком подходе впустую пропадают шесть линий PCIe 2.0, а видеокарта работает в режиме х8. А если установить на ту же UD6 две видеокарты, то дополнительные контроллеры автоматически будут переключены на чипсетные линии PCIe 1.1.

В общем, все плохо. За исключением, конечно, топовых чипсетов, типа Х38, Х48 или Х58. У последнего линий вообще вполне достаточно для всего: их 36, чаще всего распределенных по трем слотам. Т. е. при установке всего одной видеокарты можно поставить два дополнительных адаптера и использовать их на полной скорости, а при установке двух видеокарт — хотя бы один есть куда подключить. При этом никто никому не мешает. У более старых чипсетов все чуть хуже — там х16+х16, так что при двух видеокартах линий свободных не остается, да и при одной придется ограничиться одним дополнительным контроллером (которым, скорее всего, будет USB 3.0 — это актуальнее пока, чем SATA600). В плюсе также те, кто приобрел одну из плат, снабженных дополнительными мостами типа nForce 200, способными сделать из 16 линий PCIe 2.0 — 32 этих самых линии. Разумеется, такое решение не совсем полноценно, поскольку от контроллера PCIe до моста пропускная способность не увеличивается, однако это, по крайней мере, ликвидирует проблемы NEC. К тому же ситуации, когда полностью загружены работой все линии PCIe, являются чисто гипотетическими — в противном случае и от 36 линий в Х58 не было бы никакого толку (для обмена данными с процессором или памятью приходится использовать интерфейс QPI, пропускная способность которого хоть и велика, однако в самом лучшем случае не превышает возможности 25 линий PCIe 2.0). Однако объемы продаж плат на всех перечисленных монстрах куда меньше, чем у массовых моделей, со всеми вытекающими для владельцев последних.

Итак, технологический тупик. Есть ли из него выход? Если бы его не было, то не было бы и этой статьи :) Интерфейс PCIe, благодаря своей организации, вещь достаточно гибкая, так что позволяет сделать многое. В частности, выше уже были упомянуты мосты, удваивающие число линий. Аналогичным образом их количество можно уменьшить вдвое, но с попутным удвоением пропускной способности. Именно так работает уже изученный нами коммутатор PLX PEX8613: на выходе у него две линии PCIe с пропускной способностью 500 МБ/с, а на входе — любые четыре. Очевидно, что делать из четырех линий PCIe 2.0 две — не очень интересно (хотя ниже мы опишем случай, когда полезно), зато «проапгрейдить» PCIe 1.x — вполне разумно. Как раз в нашем случае — когда используются контроллеры, рассчитанные на подключение к одной линии, но нормально работающие лишь в том случае, когда эта самая линия имеет пропускную способность в 500 МБ/с. Именно этот мост компания ASUS использует в своей новой линейке системных плат, в частности — изученной нами P7P55D-E Premium, и не только в ней.

Конечно, это решение заметно уменьшает количество линий для подключения периферии, однако с этим особых проблем нет — Р55 и Н57 поддерживают их аж восемь штук, что больше, чем допустимое по стандарту ATX число слотов на плате :) Причем одно-два посадочных места всегда заняты слотами для видеокарт, одно-два — устаревшими слотами PCI, так что для слотов PCIe х1 остается пара-тройка мест. Отдав четыре линии коммутатору и поставив два слота, производитель все равно сохраняет еще пару линий для сетевых интерфейсов, а больше даже на топовой плате устанавливать нечего — дополнительный SATA-контроллер (причем в самом совершенном варианте) и USB 3.0 будут подключены как раз к исходящим портам PEX8613, а для поддержки eSATA можно и один из чипсетных портов наружу вывести. Н55 поддерживает всего шесть линий, но в бюджетной системе и требования к возможностям расширения ниже. Да и нет пока особого смысла «прикручивать» новомодные интерфейсы к недорогим платам — они от этого рискуют быстро перестать быть недорогими :) Тем более, при использовании таких вот продвинутых способов.

В общем, компания ASUS из тупика выход нашла, и достаточно изящный. На упомянутой плате (и некоторых других моделях этого производителя) новые интерфейсы остаются полноскоростными (в той степени, в которой это вообще можно сегодня обеспечить) даже при установке двух видеокарт, а когда используется только одна — никак ей не мешают. На первый взгляд, это, в лучшем случае, повод порадоваться за ASUS и за ее клиентов, причем только за тех, кто приобретает плату сейчас. Однако на самом деле все еще лучше, чем кажется на первый взгляд.

По материалам IXBT.ru