Тестирование производительности различных USB-хостов

Во времена оны о скорости USB-контроллеров задумываться было не принято. Точнее, в кругах инженеров и техноманьяков эта тема как-то обсуждалась, а простые пользователи не утруждали себя даже необходимостью мало-мальского знания о том, что у данной шины есть несколько версий. В общем-то, это было вполне разумным — фактически в окончательном виде стандарт был сформирован еще в районе версии спецификаций 0.7. Именно тогда «высокие стороны» договорились о протоколах работы разных устройств и жестко распределили их на два скоростных класса. Первый (Low Speed) предназначался для периферии, работающей со скоростью не более 1,5 Мбит/с: мыши, клавиатуры и все такое прочее. Кроме скоростного ограничения, данным устройствам также «не положено» слишком часто «надоедать» контроллеру шины своим присутствием (из-за этого, кстати, штатная частота опроса USB-мышей 125 Гц, хотя шина позволяет получить до 1 кГц, чем некоторые и пользуются). А для относительно низкоскоростных, но все же более требовательных к пропускной способности интерфейса устройств был предназначен «полноскоростной» режим (Full Speed) со скоростью 12 Мбит/с. Тоже немного, конечно, но на момент своего появления и это было хорошим результатом — даже дорогой SCSI когда-то начинал с того же порядка скоростей (5 Мбайт/с), а массовые недорогие внешние интерфейсы на подобное были просто неспособны. В принципе, такой скорости достаточно даже для некоторых категорий накопителей (MO, CD-ROM/R/RW со скоростью до 6х, «старые» носители на базе флэш-памяти), что и обеспечило позднее быстрый рост популярности USB. Именно USB, поскольку, повторяю, пользователю задумываться о деталях реализации было незачем — его все равно особо никто не спрашивал :)

За несколько лет спецификации USB были окончательно доработаны, появилась конечная версия с номером 1.0, ее попробовали уже реализовать на практике. Оказалось, правда, что гладко было на бумаге, да забыли про овраги, в результате чего USB 1.0 так и остался теоретическим стандартом. То, что удалось внедрить, постфактум было стандартизовано под именем USB 1.1. Разница в версиях только в одном — 1.0 теория, 1.1 то, что из нее вышло ;) Так что если видите в ТТХ какого-либо устройства фразу о том, что оно соответствует спецификации 1.0, можете не верить глазам своим — на деле это 1.1. Впрочем, когда нет разницы… Можно просто говорить об «USB-устройствах» и «USB-контроллерах»: от этого никому хуже не станет.

Дальнейшее развитие USB не планировалось — шина так и должна была остаться другом низкоскоростных устройств, а для высокоскоростных вовсю продвигалась FireWire. Однако в конце 90-х Intel сделал поворот оверштаг и… будущее FireWire мгновенно оказалось под большим вопросом. Чего в этом было больше — маркетинга или технических особенностей, вопрос отдельный. Думаю, вскоре мы его спокойно и подробно обсудим в рамках отдельной статьи :) На данный момент же достаточно сказать, что теперь шина USB стала позиционироваться и как массовый интерфейс для высокоскоростной периферии. Для этого в рамках спецификации USB 2.0 был предложен третий скоростной режим, а именно High Speed, с теоретической пропускной способностью в 480 Мбит/с. Если бы это удалось реализовать на практике, то коммунизм бы, конечно, не наступил ;), но жить производителям и пользователям точно стало бы веселее ;) На деле получить столько не удается до сих пор, но даже первые HS-контроллеры и устройства резко подняли скоростную планку более чем на порядок: с 1 Мбайт/с до примерно 15 Мбайт/с. Очень неплохой рывок, причем практически уникальный в рамках компьютерной индустрии — обычно мы сталкивались с тем, что скорости оборудования по мере улучшения технологий возрастали на несколько процентов, ну максимум — раза в два, а тут 40 раз в теории и порядка 15 сразу на практике. Единственное, с чем можно сравнивать — Ethernet, где каждая следующая ступенька ровно на порядок выше предыдущей, а тут еще больше. И вот с этого-то момента началась путаница со скоростями работы.

Каюсь, сам некогда грешил рассуждениями о скорости «USB 2.0» и «USB 1.1». В качестве оправдания могу лишь сказать, что не я один такой :) На деле же в стандарт просто добавился еще один скоростной режим: было два, стало три. Причем в целях обеспечения совместимости разработчики приняли несколько правильных, но усиливающих путаницу решений:

  • Спецификации 2.0 полностью включили в себя 1.1. Соответственно, любое устройство, соответствующее первым версиям спецификации, автоматически становится соответствующим второй. Просто новые возможности оно по-определению не использует.
  • Все устройства, рассчитанные на два младших режима USB 2.0 полностью соответствуют и предыдущим версиям спецификации. Проще всего получилось с Low Speed — вообще ничего не изменилось и не могло. Да и в случае Full Speed тоже.
  • А вот HS-устройства явно не попадают в рамки спецификаций 1.х. Но для совместимости со старыми хостами было принято решение, что в данном случае они должны уметь работать как FS-устройства, если уж поддержка «родного» режима по каким-то причинам недоступна.
  • Чтобы не плодить сложностей, режим был добавлен всего один. И ограничена была, как и ранее, лишь максимальная скорость. Минимальная — это уж как получится. Фактически, никто не запрещал производителям выпускать «Full Speed»-устройства с реальной скоростью в сотню килобайт/с или «High Speed» в пределах мегабайта-полутора.

И что во всем этом плохого? Например, появление устройств, в ТТХ которых было заявлено о поддержке «USB 2.0 Full Speed». Очевидно, что цифры «2.0» в данном случае лишь маркетинговый крючок — Full Speed он уже лет 10 как Full Speed. А если эти два слова написать мелким шрифтом, да еще и в примечаниях где-нибудь, то получится красивая замануха — «USB 2.0 устройство». Разумеется, работающее с абсолютно той же скоростью, что и «USB 1.1 устройство». А потом начинаются разговоры, о «честной» и «нечестной» поддержке USB 2.0. На деле-то она всегда «честная», вот только режимы разные ;)

Но, с учетом четвертого пункта, даже знание точного режима мало что давало пользователю. Вполне может попасться такой HS, который на практике неотличим от FS. А еще и учтите пункт №3, который, вместе с №4, дал нам вполне стандартные устройства (сам в руках такое держал), которые в «родном» режиме действительно вполне могли быть отнесены к HS, а при подключении к старым хостам выдавали нечто непотребное — в рамках ограничений LS (хотя относились к тем классам устройств, которые в таком исполнении в принципе существовать не могут).

А можно ли было просто махнуть на все это рукой и продолжать жить как раньше? Можно, но никому не хотелось. Скорость начала иметь значение. Во-первых, потому что вообще возможность выбора появилась. Ну, действительно, во времена господства USB 1.1 между чем и чем можно было выбирать? Между 500 Кбайт/с и 1 Мбайт/с? Да, второе, конечно, лучше аж в два раза, вот только все равно чаще всего получалось так, что и то и другое либо оказывалось достаточно быстрым (например, флэш-карта емкостью 32 Мбайт полностью считывается/записывается даже в первом случае в районе минуты — без секундомера разницу искать сложно), либо очень уж медленным (ни одного, ни другого недостаточно для просмотра видеофильма с внешнего DVD-накопителя, почему последних в те времена и не выпускалось). Новый скоростной режим во второй версии спецификаций возможность выбора пользователям дал, причем весьма немалую. Скорости работы различных устройств стали иметь разный порядок. Сразу же. И тут, согласитесь, уже обидно было покупать медленное устройство. Да и далеко не всегда рационально — вышеприведенный пример с DVD это показывает. И даже в рамках исключительно USB HS разница нередко начала ощущаться. Например, на «неудачный» внешний винчестер со скоростью работы порядка 5 Мбайт/с DVD-образ будет записываться порядка 15-30 минут, а вот если взять его собрата со скоростью работы в районе 15 Мбайт/с, то вполне можно уложиться и в 5-10 минут. Чтобы почувствовать разницу, секундомер в руки брать необязательно :)

Итак, скорость стала иметь значение. Другой вопрос, какая скорость? Самое лучшее оборудование может быть поставлено в коленно-локтевую позу недоработками в ПО (ситуацию с Total Commander мы уже описывали, а ведь и более клинические случаи — без установки сервис-паков Windows XP и, тем более, 2000 вообще ничего не знают о существовании High Speed), а поскольку количество различного программного обеспечения в наше время учету попросту не поддается, «реальную» скорость любого устройства на компьютере любого пользователя в любой момент времени предсказать попросту невозможно. Можно лишь утверждать, что окажется она в каком-то интервале. Минимум ясен — если устройство вообще не заработает, то она нулевая. Максимум — идеальный случай: когда все прекрасно — и устройство, и хост, и программное обеспечение, и настройки ОС, и прочее окружение, в котором устройство трудится. Собственно, над определением этой самой максимальной скорости мы обычно и работаем, и именно она оказывается «выходным параметром» всех тестирований. Есть только одна тонкость — получить эти самые идеальные условия на практике крайне сложно, если вообще возможно. Нивелировать ограничения программного обеспечения можно нормальной настройкой «чистой» операционной системы и использованием специальных тестовых программ. Сказать просто — сделать сложнее. Как показывает практика, даже специально «заточенные» под определение максимально возможной скорости работы тестовые утилиты на практике грешат определенными ошибками. Например, если говорить про дисковые утилиты, то и сейчас встречаются программы, работающие с блоками данных в 32 Кбайт или меньше. Все бы ничего, однако, как показывают практические испытания, на максимальную скорость USB-накопители выходят только начиная с блоков в 64 Кбайт. Вот есть такая особенность у данной шины, и ничего с ней не сделать. Никак. Блоки больше — скорость работы одинакова в не зависимости от их размера и определяется устройством, меньше — разная и зависит от размера блока сильнее, чем от устройства. Причем сама Windows нормально работает с 64-х килобайтными блоками, так что «нормальные» результаты вполне достижимы, а вот какую ценность имеют полученные при помощи некоторых некорректно работающих тестовых программ (не будем показывать пальцем) догадайтесь сами. Особенно весело становится, когда такие программы используются для сравнения накопителей с разными интерфейсами — если учесть, что для FireWire точкой перегиба является размер блока 16 Кбайт, а для АТА он еще меньше. С другой же стороны, бывает «реальное», а не синтетическое программное обеспечение, работающее как раз с небольшими блоками, и для него это критично — максимальную скорость, демонстрируемую тестами, мы просто не получим (это к вопросу о достижимой производительности в условиях реального окружения).

Ладно, допустим, с программным обеспечением мы управились как-то. Как — на данный момент неважно. В конце-концов для сравнительного тестирования достаточно лишь зафиксировать условия и точно указать, в каких условиях сравнение производилось (насколько полезными для него лично такие результаты будут, решать читателю — универсальных рецептов здесь не бывает). В общем, прикладное программное обеспечение считаем «хорошим», системное настроено оптимальным образом и т.п. Но и в данном случае нельзя априори утверждать, что в результате тестирования мы легко и непринужденно получим максимальную скорость устройства. USB, как и всякая шина, соединяет два устройства, следовательно скорость ее работы от обоих и зависит — и от устройства, и от хоста шины. А вот хост бывают разные. Как я уже сказал выше, первые разработки позволяли достигнуть лишь 15–20 Мбайт/с, технический прогресс позволил увеличить скорость еще примерно в два раза. Но происходило это не одномоментно, да и, в отличие от эволюции в «живой природе» шел процесс не всегда в одном направлении. В результате на данный момент на руках пользователей находится масса оборудования, выпущенного в течение достаточно длинного промежутка времени, и имеющего разные скоростные характеристики. Какие — без тестов определить невозможно.

Тестирование скорости работы USB-хостов сложнее, нежели тестирование производительности USB-устройств. В последнем случае мы просто можем зафиксировать платформу (подобрав тестовую конфигурацию так, чтобы ограничивающее влияние всех компонентов было минимальным) и не менять ее в течение более-менее значимого промежутка времени. Протестировать на одном стенде хоть 150 USB-устройств, использующих унифицированные драйверы (что ко всем современным накопителям относится) не так и сложно (пусть и муторно): подключаем одно, тестируем, отключаем, подключаем новое… Тестирование же производительности хостов, по сути, заключается в постоянной смене именно тестовой платформы. Причем редко когда удается заменять только один компонент — это легко реализуемо для «дискретных» USB-контроллеров, однако мы не можем просто взять и заменить южный мост чипсета. Как правило, меняются процессоры, нередко приходится ставить другую оперативную память, да и настройки BIOS различных материнских плат также различны. Накладные временные расходы на такое тестирование тоже заметно больше, нежели на «обычное». Однако заниматься им смысл есть, поскольку иначе теряет смысл и тестирование оборудования — если окажется, что тестовым результатам можно верить лишь в случае одного конкретного компьютера (который и применялся для тестов), но распространять эти результаты на остальной парк вычислительной техники нельзя, то кому они нужны, по большому счету? :)

Производительность USB-контроллеров, равно как и их FireWire-собратьев, я пару раз измерял. Однако было это достаточно давно — во времена господства относительно низкоскоростного периферийного оборудования. Да и слишком уж узок был круг изученных систем. Теперь настало время поработать над этим вопросом более плотно.

Методика тестирования

Ранее полученные результаты позволяют априори предполагать, что скоростные показатели существенным образом зависят от тестовых утилит, операционной системы, USB хост-контроллера и, собственно, внешнего устройства, но обычно не зависят от прочего оборудования. Для того чтобы разобраться с данным вопросом, я решил пойти «от противного» — не пытаясь стараться подбираться максимально близкие конфигурации стендов. Пусть у нас будут разные процессоры, разный объем разной памяти, разные системные винчестеры — тем лучше. В идеале полезным окажется некоторое дублирование результатов — пусть у нас один и тот же хост поучаствует в тестах в составе разных чипсетов на материнских платах, используемых совместно с процессорами разной производительности или даже (при наличии таковой возможности) разной архитектуры — тем лучше. Впрочем, это дело будущего. Пока же я ограничился восемью различными конфигурациями тестовых компьютеров, которые будут описаны ниже.

Программное обеспечение, разумеется, должно быть одинаковым — что его влияние заметно мы уже точно знаем. В качестве тестовой утилиты я, как обычно в последнее врем, взял Lavalys Everest Ultimate Edition 2006 2.80, а точнее входящий в его состав тест дисковых накопителей (если быть совершенно точным, то версия данного плагина 2.00.28 и не меняется он достаточно давно — как минимум с версии пакета 2.80 и до 3.50 включительно). С операционной системой вопросов тоже возникло — Windows XP SP2 как наиболее распространенная на данный момент (не только среди версий Windows ;)).

Теперь об устройстве. Сначала хотелось взять внешний жесткий диск и измерять скорость чтения данных из его буфера. Современные мосты USB- IDE вряд ли станут узким местом, сам жесткий диск в данном тесте не используется, так что на результаты как-то влиять не будет (или почти не будет; но поскольку он один на всех, результаты вполне можно сравнивать друг с другом — влияние на них будет одинаковым) — это плюсы. Главных же минуса три. Во-первых, в данном случае мы получим лишь предельную скорость интерфейса, однако и при меньших скоростях могут быть какие-то особенности (по крайней мере, теоретически). Во-вторых, это только скорость в одном направлении — делать по ней одной какие-то выводы о скорости записи данных с компьютера, по меньшей мере, не осторожно. В-третьих, данный параметр достаточно синтетичен, как и методики его измерения. Поэтому я подошел к вопросу проще — взял картовод и три высокоскоростных карты памяти:

Модель Apacer Mega Steno AM230, как мы уже убедились, при чтении данных с одной из них практически упирается в скорость шины. Остальные две медленнее, но достаточно быстры, а на операциях записи вообще быстрее, нежели тестовая MMCplus. Соответственно, в данном случае мы получим интересные результаты и в плане максимальной скорости чтения, и оценим влияние (или его отсутствие) хоста при меньших скоростях работы и на время доступа при операциях как чтения, так и записи. А потом посмотрим — какие же выводы из полученных результатов можно будет сделать.

Тестовые конфигурации

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

Компьютер №1

  • ECS RS485 M-M на базе чипсета ATI Radeon Xpress 1150 (северный мост RS485 и южный SB460)
  • AMD Athlon 64 X2 4600+
  • 1 Гбайт РС 6400 DDR2 SDRAM
  • системный винчестер Samsung SP1213C
  • USB-контроллер: встроен в южный мост чипсета; 8 портов USB 2.0

Интегрированный чипсет ATI Radeon X200 сразу после выхода сумел завоевать немалую популярность ввиду уникальности (на тот момент) характеристик: он оказался одним из первых чипсетов для процессоров линейки К8 с поддержкой PCI-E, а интегрированное видеоядро долгое время было вне конкуренции среди чипсетов для всех платформ. Xpress 1150 является его модификацией, однако сегодня уже пригоден лишь для плат начального уровня, типа используемой, поскольку за прошедшее время у чипсета появилось немало сильных конкурентов — более функциональных и производительных. Но, если северный мост в сегмент бюджетных решений опустился лишь в результате сильной конкуренции, то на южные мосты от ATI нарекания были с самого начала их выпуска. В основном ругали их за низкую функциональность и производительность, в том числе и самого интересного для нас компонента — USB-контроллера. Долгое время производители материнских плат обходили эту проблему, используя в качестве компаньона северного моста «южник» от ULi, однако, после объединения последней компании с NVIDIA, ATI пришлось-таки форсировать работы над собственным чипом, отвечающим современным реалиям.

Компьютер №2

  • Sapphire Pure Element (PE-AM2RS485M) на базе чипсета ATI Radeon Xpress 1150 (северный мост RS485 и южный SB600)
  • AMD Athlon 64 X2 4600+
  • 1 Гбайт РС 6400 DDR 2 SDRAM
  • системный винчестер Samsung SP1213C
  • USB-контроллер: встроен в южный мост чипсета; 10 портов USB 2.0

От предыдущего стенда отличается лишь двумя вещами — конкретным производителем материнской платы (что, впрочем, практического влияния на производительность периферийных контроллеров не оказывает) и как раз таки использованием нового южного моста. Последний по заявленным характеристикам выглядит вполне соответствующим современному уровню, чуть уступая по количеству «шашечек» конкурентам от NVIDIA, зато несколько обгоняя Intel и VIA (впрочем, сравнивать современные чипсеты, имеющие разное назначение и, соответственно, весьма отличающуюся функциональность достаточно сложно). А что там с производительностью — посмотрим на практике.

Компьютер №3

  • Gigabyte GA-8I945GMF на базе чипсета Intel 945G (северный мост 945G GMCH и южный ICH7)
  • Intel Pentium 4 631
  • 1 Гбайт РС 5400 DDR 2 SDRAM
  • системный винчестер Western Digital WD1200JS
  • USB-контроллер: встроен в южный мост чипсета; 8 портов USB 2.0

Типичная такая «рабочая лошадка» на базе чипсета из самой массовой на сегодня линейки от Intel, относительно недорогого процессора, с средним количеством памяти и небольшим (уже; по современным меркам) винчестером. В общем, недорогой массовый компьютер в чистом виде. Для игр, кстати, многие фирмы тоже нечто подобное предлагают, только заменив 945G на 945P и установив дискретную видеокарту, а для офиса оно сейчас как раз в самый раз. Впрочем, это к делу не относится — нас сейчас интересует только одно: южный мост ICH7.

Компьютер №4

  • ASUS P5W DH Deluxe на базе чипсета Intel 975X (северный мост i975X MCH и южный ICH7R)
  • Intel Core 2 Duo E6600
  • 2 Гбайт РС 6400 DDR2 SDRAM
  • системный винчестер Western Digital WD1600JS
  • USB-контроллер: встроен в южный мост чипсета; 8 портов USB 2.0

На сегодняшний день это не совсем топовое решение, поскольку есть и более производительные процессоры, но оно очень близко к тому. Фактически мощь новейшей платформы от Intel в чистом виде. Но при этом южный мост в чипсете почти идентичен примененному в предыдущем компьютере — ICH7R вместо ICH7. Официально магическая буковка «R» оказывает влияние только на SATA-контроллер — заодно и проверим.

Компьютер №5

  • Gigabyte 965G-DS3 на базе чипсета Intel G965 (северный мост G965 GMCH и южный ICH8)
  • Intel Pentium 4 670
  • 1 Гбайт РС 5400 DDR2 SDRAM
  • системный винчестер Seagate ST3200822AS
  • USB-контроллер: встроен в южный мост чипсета; 10 портов USB 2.0

Чипсет принадлежит к самой «свежей» линейке от Intel. Особенно интересен как раз G965, имеющий достаточно «продвинутое» графическое ядро не в ущерб прочей функциональности, но и дискретный P965 продолжает набирать популярность. Несмотря на то, что топовым решением остается упомянутый выше 975Х, новые северные мосты кое в чем и его переплюнули :) Южные тоже, но вот «плевок» в данном случае не все расценивают как сделанный в правильном направлении — увеличение количества портов USB и SATA однозначный плюс, а вот полное отсутствие поддержки РАТА… Пока рынок не стонет от избытка оптических накопителей с последовательным интерфейсом, производители материнских плат вынуждены использовать дополнительные РАТА-контроллеры, не всегда ведущие себя адекватно. В результате чего, несмотря на выход новой относительно недорогой и весьма функциональной линейки чипсетов, многие предпочитают либо дорогостоящие топовые платы на 975Х, либо бюджетные, но более медленные на 945P/945G. Южный мост последних (либо ICH7, либо ICH7R) хотя бы один канал РАТА, но поддерживает, чего часто необходимо и достаточно. Иногда даже жаль становится, что Intel придерживается столь жесткой политики в плане продажи южных и северных мостов — очень многие бы, думаю, не сумели пройти мимо связки G965+ICH7R ;) Но все это лирика, не имеющая непосредственного отношения к нашей сегодняшней теме. Нам как раз более интересно, что поменялось в ICH8 (если поменялось) по сравнению с предыдущей разработкой.

Компьютер №6

  • ASUS M2NPV-VM на базе чипсета NVIDIA GeForce 6150 (северный мост GeForce 6150 и южный nForce 430)
  • AMD Athlon 64 X2 3600+
  • 1 Гбайт РС 5400 DDR2 SDRAM
  • системный винчестер Western Digital WD740GD
  • USB-контроллер: встроен в южный мост чипсета; 8 портов USB 2.0

Уделив немного внимания платформе Intel, возвращаемся в стан процессоров AMD :) Начнем мы с весьма удачной платы на более чем удачном чипсете — появление линейки GeForce 61x0 быстро уничтожило монополию ATI на качественную интегрированную графику на данной платформе, предложив пользователю как еще более качественную графику, так и вполне современную функциональность. В общем-то, в том, что NVIDIA сумела выйти на первое место среди поставщиков чипсетов для AMD и на второе «в общем зачете», немалая заслуга именно этих чипсетов. А что там с контроллером USB, который долгое время был головной болью для продуктов данной компании, точнее, для их пользователей (прошедших все стадии — от кошмара времен nForce2 через ужас nForce3 к не всегда сносной работе nForce4 :)), как раз и настало время выяснить.

Компьютер №7

  • EpoX 8 NPA SLI на базе чипсета nForce4 SLI (одночиповое решение)
  • AMD Athlon 64 3200+ (512K L2)
  • 1 Гбайт РС3200 DDR SDRAM
  • системный винчестер Western Digital WD1600JS
  • USB-контроллер: встроен в чипсет; 10 портов USB 2.0

Здесь рассказывать особо нечего — уже более полугода данная конфигурация является стандартным тестовым стендом для USB-накопителей. За это время мы уже были свидетелями недостаточной (скажем так) совместимости данного контроллера с некоторыми контроллерами устройств, однако эти случаи, к счастью, встречаются не так часто. Во всяком случае используемый в данном тестировании картовод подобным проблемам не подвержен, что, во многом, и обусловило его выбор.

Компьютер №8

  • PC Partner A3MSA-275U на базе чипсета ATI A3 (северный мост Radeon IGP-320(M) и южный ALi M1535)
  • AMD Duron 1600
  • 512 Мбайт РС2100 DDR SDRAM
  • системный винчестер Samsung SP0812N
  • USB-контроллер: VIA VT6214L на дополнительном PCI-адаптере; 4 порта USB 2.0

С ATI начали — ATI и закончим :) Для большинства наших читателей чипсеты этой компании начались с Radeon 9100 IGP, а вот более ранние A3 и A4 (для К7 и Р4 соответственно) прошли практически незамеченными. А произошло так «благодаря» тому, что не заметило первый опыт компании и большинство производителей материнских плат. На А3, например, мне лично известно всего три идентичные друг другу платы, на А4 — вообще совсем одна. А жаль — чипсеты на тот момент имели необходимую и достаточную для большинства функциональность, встроенное видеоядро (на базе Radeon 7000) чудес в играх не демонстрировало, но во многие поиграть давало, качество 2 D просто отличное для интегрированного видео того времени, а еще и на всех платах присутствовал TV-выход, что и для дискретных видеокарт все еще не было стандартным явлением. К этому можно добавить также «нордический характер» чипсета — у меня, например, он трудится без единого радиатора, не говоря уже о вентиляторах, прекрасно перенося такое издевательство даже при сильной нагрузке в виде 3D-игр! Это при всем при том, что гораздо более примитивный i440BX за несколько лет до этого радиатором практически всегда комплектовался, а на более новых чипсетах нередко уже встречалось и активное охлаждение ;) В общем, жаль, что на тот момент концепция HTPC еще не успела обрести большого количества сторонников — для подобного применения чипсеты подходили практически идеально.

Однако никто не будет спорить с тем, что на сегодняшний день платформа безбожно устарела. Я это знаю, но от апгрейда воздерживаюсь. Просто потому, что поэтапно тут уже улучшать нечего (кроме всего вышеописанного, кстати, в машинке присутствует также AGP-видеокарта на базе X700 Pro), так что любая попытка модернизации выльется в тотальную замену практически всего. Т.е. по-хорошему придется купить новую материнскую плату, процессор, память и видеокарту. Причем для того, чтобы не получилась классическая ситуация замены шила на мыло, выбирать самые бюджетные решения не получится, так что речь идет минимум о 300 долларах (что логично — по сути получится новый компьютер, в котором от старого останется только корпус, винчестер, звуковая карта и DVD-RW), а лучше — больше. Нельзя сказать, что это такие уж страшные деньги, однако тратить их пока не хочется — компьютер справляется со своими обязанностями. Постепенно перестает, так что апгрейд не за горами, но тут уж «спасибо» 3D-играм: последние шедевры уже просто нет смысла пытаться запускать, а не последние скоро надоедят. Если же играми не увлекаться (или увлекаться не самыми требовательными к производительности компьютера, а таких крайне много), то стимулов глобально апгрейдить эту и сходные с ней конфигурации вообще не возникает, почему компьютеры такого уровня до сих пор крайне часто встречаются. Но вот мириться с медлительной работой с USB-накопителями уже совсем не хочется, тем более, что цена решения вопроса примерно те же три сотни, но уже рублей — соответствующие PCI-адаптеры в продаже встречаются весьма часто ;)

Что собой представляет сам VT6214? Для этого опять придется немного обратиться к истории. На этапе переходного периода от USB 1.1 к 2.0 на рынке активно встречались PCI-адаптеры на чипах от NEC, ALi и VT6202 от VIA. Свою задачу, а именно обеспечение самых нетерпеливых пользователей поддержкой Hi Speed до освоения новых спецификаций производителями чипсетов, они выполняли, но не более того — работали достаточно медленно. Со временем актуальность их уменьшилась, две фирмы с этого рынка ушли, а VIA решила, что рынок остается не таким и маленьким (поскольку «морально устаревшие» компьютеры нередко практического смысла менять не было, как и в случае данной тестовой конфигурации, не говоря уже о ноутбуках, срок жизни которых обычно больше настольных решений), так что можно на нем еще немного поработать. Сначала компанией был выпущен VT6212, отличающийся от VT6202 увеличенной скоростью работы — обещана была производительность на уровне чипсетных USB-контроллеров самой VIA, что очень даже неплохо. Позднее появился и модифицированный вариант — VT6214. С точки зрения поддержки USB он эквивалентен предыдущему чипу, но поддерживает работу в составе комбинированных плат (весьма полезно, поскольку «чистые» USB-контроллеры стали менее актуальными). Так, например, в данном случае этот чип соседствует с VT6306, обеспечивающим поддержку трех портов FireWire — совсем неплохой вариант, особенно при том, что занят всего один слот PCI. Видел я и комбинированные контроллеры USB+SATA+PATA, а также USB+FW+Ethernet, построенные на базе VT6214 и еще одного-двух чипов от VIA. Среди производителей различных адаптеров такие наборы достаточно популярны, поскольку проблем совместимости как правило не бывает (чипы от одной компании, которая обо всем и позаботилась заранее), себестоимость получается невысокой, а спрос среди владельцев старых компьютеров неплохой. Мне же более всего интересно было могут ли «доработанные» контроллеры VIA конкурировать по скорости с современными встроенными решениями — у 6202 и его ровесников таковое не выходило. Если не совсем смогут, то насколько велики потери.

На этом пока все. Понимаю, что список достаточно куцый — одного взгляда достаточно, чтобы понять, что не хватает в нем достаточно многого. Например, упомянутого контроллера от NEC — а то я пишу о том, что производительность его была невысокой, но вдруг обманываю? :) Нет также и самых «свежих и горячих» чипсетов NVIDIA 500-й и 600-й серий для процессоров AMD и Intel, а в случае Intel сильно не хватает как раз более старых, но весьма распространенных решений, таких как ICH5. Но все это можно будет сделать и потом — в процессе накопления результатов. Главное хотя бы проверить — есть смысл их накапливать, или, как было в рекламе, все Колы одинаковые :)

Результаты тестирования

Тесты на чтение

Ругань в адрес ATI звучала совсем недаром — старые южные мосты компании действительно скоростными показателями похвастаться не могут. Даже до 15 Мбайт/с скорость не дотягивает. В принципе, пользователь бюджетного компьютера (а для других подобные платы уже и не предназначены, да и из этих исчезают) вряд ли будет обращать большое внимание на экстремальные накопители на флэш-памяти, однако внешний винчестер он вполне может приобрести, а там средние скорости давно уже превосходят возможности контроллера. В то же время новый южный мост уже «ведет себя прилично», пусть и демонстрируя результаты чуть хуже среднего уровня, но именно что совсем чуть — без тестовых утилит на практике такую разницу заметить не удастся.

На другом конце итоговой таблицы ICH8 и nForce4. Кто из них лучше, а кто хуже сказать сложно — максимально-достигнутая скорость выше на первом, но вот карта CompactFlash быстрее читалась на втором. Да, именно так — и в случае других платформ видно, что скорости отличаются не только в том случае, когда они упираются в ограничения хоста. Столь же плотной группой следуют оставшиеся четыре платформы. Впрочем, лидером среди них разумно считать ICH7/ICH7R (данная часть тестирования показала, что USB-контроллер в этих мостах эквивалентен — разницу менее 0.5% на чтении MMCplus разумнее всего просто отбросить: погрешность измерения явно больше), благо в его случае все три скорости не ниже, чем у любого из конкурентов, но разрыв крайне невелик, так что им можно и пренебречь.

Результаты VT6214 крайне порадовали — они действительно на хорошем уровне. Даже очень хорошем. Так что если единственное, чего вам не хватает в старом компьютере (а может и не в старом — результаты ATI со старым южным мостом намного хуже ;)) это нормальной поддержки USB 2.0, можете не разбивать заветную копилку с тоской изучая цены современных материнских плат и т.п. — нашелся бы один PCI-слот, а решить проблему можно крайне недорого.

Замечу, что наблюдается уже не раз отмеченное мной в статьях — даже в случае медлительного хоста, ограничивающего скорость, более быстрое устройство как правило работает быстрее более медленного. Положение трех тестовых карт не меняется относительно друг друга — скорости разные, соотношения скоростей тоже, но MMC в данном тесте всегда на первом месте, SD на втором, а CF — на третьем. Даже в случае SB460, скорости которого недостаточно ни для одной из использованных карт.

Время доступа в первую очередь определяется картой памяти, во вторую картоводом, а влияние хоста есть, но крайне мало. Можно присудить победу nForce4, можно не присуждать никому — пусть экстремалы-бенчеры борются за каждые 0.01% результата (даже в тестах, работающих с погрешностью более 1% ;)), я такую задачу не ставил. В относительном исчислении разница между испытуемыми есть и немалая, в абсолютном это семечки, на практике трудно уловимые :)

Тесты на запись

Скорости записи в случае флэш-памяти пока заметно ниже, нежели скорость чтения, даже если брать самые скоростные карты. Мало какой носитель (из более-менее массовых) способен «выбраться» за 20 Мбайт/с, а, как мы увидели выше, скоростные различия между хостами начинают проявляться обычно в районе 30 Мбайт/с (за исключением клинических случаев). Но разница все же есть, причем даже если не брать в расчет SB460, который умудрился проиграть всем даже в случае карты MMCplus, формально более медленной, чем достигнутая на нем скорость при чтении данных (все-таки правильно я поступил, что не стал брать винчестер и ограничиваться одной лишь пиковой скоростью чтения из буфера). Даже в остальных случая мы иногда видим до 10% разницы, что не так уж и мало. Будут расти скорости накопителей — будет расти и отрыв скоростных устройств от более медленных их собратьев.

Особого внимания заслуживает отставание ICH7R от более простого ICH7 (кстати, несмотря на существенно более мощный процессор и больший объем памяти — точный ответ на вопрос, могут ли эти компоненты сказываться на производительности USB-контроллера). Причем не такая уж и маленькая — у NVIDIA, например, два чипсета различаются в меньшей степени. Подозрения у меня лично падают скорее даже не на оборудование, а на программное обеспечение: необходимость поддержки большей функциональности SATA-контроллера приводит к тому, что USB уделяется меньшее влияние. В будущем мы попробуем протестировать и другие пары из «обычного» и «расширенного» моста одной линейки, дабы определить — свойственно ли подобное поведение всем R-модификациям или, может быть, мое предположение верным не является. Проверить его на конкурентах все равно не выйдет, поскольку только Intel выпускает существенно-различающиеся южные мосты — даже NVIDIA, которая наделяет чипсеты разной функциональностью, никогда не «обрезает» RAID-функциональность и поддержку NCQ, а остальные производители сегментацией рынка вообще не увлекаются.

Что касается времени доступа на операциях записи, то хорошо видно, что в случае аналогичного параметра для операций чтения более важной была небольшая абсолютная разница, нежели более заметная относительная — здесь вот сами значения больше существенно, так что относительная разница между ними превратилась почти в ничто. В общем, в дальнейшем, на мой взгляд, на отличия во времени доступа при операциях чтения и записи можно и попросту не обращать внимания.

Новые «попугаи» от нашей лаборатории

Так уж устроен человек, что разбираться с кучей цифр ему обычно лень. Иногда не лень — если речь идет о хобби, а если нет, то лень. Отсюда и надежды на создание когда-нибудь универсального теста производительности, который, после запуска на любом компьютере, выдаст одно число, однозначно характеризующее его производительность, и любовь к утилитам, которые пытаются сделать то же самое в отношении различных его компонент. Что ж — специально для любителей разного рода рейтингов я решил ввести еще один: рейтинг производительности USB-контроллеров. Причем простым и незамысловатым способом:

  • Отбрасываем результаты тестирования времени доступа, как не показательные
  • У нас остается три скорости чтения и три скорости записи — высчитываем среднее геометрическое по шести точкам
  • Нормируем результаты, приняв за сотню единиц «среднюю скорость» VIA VT6214 (чтобы никому обидно не было — контроллер внешний, так что может быть использован в любом случае)

Рассказывать мне о недостатках данной методики подсчета не нужно — я их и без того знаю :) И что используется всего три устройства, причем лишь одно в лишь одном режиме реально «упирается» в пропускную способность USB, и что вообще «средняя температура» по больнице мало кого интересует. На это могу лишь ответить, что высокоскоростных устройств по-прежнему не так и много, низкоскоростных становится меньше, но все равно продолжают выпускаться все новые, так что упор на среднескоростные достаточно разумен. А что опорных точек мало и что слишком уж все «средне» получается — пусть хотя бы так будет ;) Если «усредненные попугаи» вообще будут интересны большому количеству читателей, займемся доработкой методики их подсчета, нет — пусть так и остается. Как хоть какой-то ориентир ;) А использовать в его роли максимальную скорость, по-моему, еще хуже — как мы видим, отличается не только она.

Итак, вот что у меня получилось. Просто, наглядно, и, на фоне недостатка подобной информации полезно даже в таком виде ;)

Итого

Как мы убедились, скорость, обеспечиваемая USB-хостом, оказывает непосредственное влияние на конечную скорость USB-устройств. Впрочем, для констатации этого факта не нужно было даже огород городить — и без того ясно, что должна оказывать. Другой вопрос в размере этого влияния, и вот тут уже ранее фактического материала было крайне недостаточно, так что проделанная работа может оказаться весьма полезной. Кому-то. Кому-то нет, поскольку хорошо видно, что в целом без применения утилит обнаружить разницу между большинством современных хостов практически невозможно. Даже в случае устройств, способных заставить шину USB выкладываться «на полную» разрыв между «хорошими» хостами не так и велик. А для «среднестатистического сферического юзера в вакууме», которому нужно иногда фотографии с ЦФК на компьютер сбросить, музыку на плеер залить, да некоторое количество рабочих файлов на флэшдрайве переносить между домом и работой достаточно будет и скоростных возможностей SB460 — ну, подумаешь, лишняя минута-другая в день потрачена будет. Более важными в большинстве случаев является количество поддерживаемых портов (чтобы не городить сложные конструкции из всяких хабов и тому подобного), да нормальная совместимость с различными устройствами. В большинстве, но не во всех. Так что если вы не готовы идти на компромиссы — изучайте результаты. А со временем мы их пополним прочими чипсетами, в том числе и мобильными.




28 декабря 2006 Г.

USB-

USB-

USB- . , - , - , . -, 0.7. « » . (Low Speed) , 1,5 /: , . , « » «» (- , , USB- 125 , 1 , ). , «» (Full Speed) 12 /. , , SCSI - (5 /), . , (MO, CD-ROM/R/RW 6, «» -), USB. USB, , , :)

USB , 1.0, . , , , , USB 1.0 . , , USB 1.1. — 1.0 , 1.1 , ;) - , 1.0, — 1.1. , … «USB-» «USB-»: .

USB — , FireWire. 90- Intel … FireWire . — , . , :) , USB . USB 2.0 , High Speed, 480 /. , , , ;), ;) , HS- : 1 / 15 /. , — , , — , 40 15 . , — Ethernet, , . - .

, «USB 2.0» «USB 1.1». , :) : , . , :

  • 2.0 1.1. , , , . - .
  • , USB 2.0 . Low Speed — . Full Speed .
  • HS- 1.. , FS-, «» - .
  • , . , , . — . , «Full Speed»- / «High Speed» -.

? , , «USB 2.0 Full Speed». , «2.0» — Full Speed 10 Full Speed. , -, — «USB 2.0 ». , , «USB 1.1 ». , «» «» USB 2.0. - «», ;)

, , . HS, FS. 3, , 4, ( ), «» HS, — LS ( , ).

? , . . -, . , , USB 1.1 ? 500 / 1 /? , , , , , (, - 32 / — ), ( , DVD-, ). , . . . , , . — DVD . USB HS . , «» 5 / DVD- 15-30 , 15 /, 5-10 . , :)

, . , ? - ( Total Commander , — - Windows XP , , 2000 High Speed), , «» . , - . — , . — : — , , , , , . , , « » . — , . «» . — . , «» . , , , 32 . , , , USB- 64 . , . . — , — , . Windows 64- , «» , ( ) . , — , FireWire 16 , . , «», , , — , , ( ).

, , -. — . - , ( , — ). , «», .. , . USB, , , — , . . , 15–20 /, . , , « » . , , . — .

USB- , USB-. ( , ) - . 150 USB-, ( ) ( ): , , , … , , . — «» USB-, . , , , BIOS . , «». , — , ( ), , , ? :)

USB-, FireWire-, . — . . .

, , , USB - , , , . , « » — . , , — . — , ( ) — . , . , .

, , — . , , Lavalys Everest Ultimate Edition 2006 2.80, ( , 2.00.28 — 2.80 3.50 ). — Windows XP SP2 ( Windows ;)).

. . USB- IDE , , - ( ; , — ) — . . -, , - ( , ). -, — - , , . -, , . — :

Apacer Mega Steno AM230, , . , , , MMCplus. , , ( ) , . — .

, . , . — ( «» ..).

1

  • ECS RS485 M-M ATI Radeon Xpress 1150 ( RS485 SB460)
  • AMD Athlon 64 X2 4600+
  • 1 6400 DDR2 SDRAM
  • Samsung SP1213C
  • USB-: ; 8 USB 2.0

ATI Radeon X200 ( ) : 8 PCI-E, . Xpress 1150 , , , — . , , ATI . , — USB-. , «» ULi, , NVIDIA, ATI - , .

2

— (, , ) . , «» NVIDIA, Intel VIA (, , , , ). — .

3

  • Gigabyte GA-8I945GMF Intel 945G ( 945G GMCH ICH7)
  • Intel Pentium 4 631
  • 1 5400 DDR 2 SDRAM
  • Western Digital WD1200JS
  • USB-: ; 8 USB 2.0

« » Intel, , (; ) . , . , , , 945G 945P , . , — : ICH7.

4

  • ASUS P5W DH Deluxe Intel 975X ( i975X MCH ICH7R)
  • Intel Core 2 Duo E6600
  • 2 6400 DDR2 SDRAM
  • Western Digital WD1600JS
  • USB-: ; 8 USB 2.0

, , . Intel . — ICH7R ICH7. «R» SATA- — .

5

  • Gigabyte 965G-DS3 Intel G965 ( G965 GMCH ICH8)
  • Intel Pentium 4 670
  • 1 5400 DDR2 SDRAM
  • Seagate ST3200822AS
  • USB-: ; 10 USB 2.0

«» Intel. G965, «» , P965 . , 975, :) , «» — USB SATA , … , -, . , , 975, , 945P/945G. ( ICH7, ICH7R) , , . , Intel — , , G965+ICH7R ;) , . , ICH8 ( ) .

6

  • ASUS M2NPV-VM NVIDIA GeForce 6150 ( GeForce 6150 nForce 430)
  • AMD Athlon 64 X2 3600+
  • 1 5400 DDR2 SDRAM
  • Western Digital WD740GD
  • USB-: ; 8 USB 2.0

Intel, AMD :) — GeForce 61x0 ATI , , . -, , NVIDIA AMD « », . USB, , , ( — nForce2 nForce3 nForce4 :)), .

7

  • EpoX 8 NPA SLI nForce4 SLI ( )
  • AMD Athlon 64 3200+ (512K L2)
  • 1 3200 DDR SDRAM
  • Western Digital WD1600JS
  • USB-: ; 10 USB 2.0

— USB-. ( ) , , , . , , , .

8

  • PC Partner A3MSA-275U ATI A3 ( Radeon IGP-320(M) ALi M1535)
  • AMD Duron 1600
  • 512 2100 DDR SDRAM
  • Samsung SP0812N
  • USB-: VIA VT6214L PCI-; 4 USB 2.0

ATI — ATI :) Radeon 9100 IGP, A3 A4 ( 7 4 ) . «» , . 3, , , 4 — . — , ( Radeon 7000) , , 2 D , TV-, . « » — , , , , 3D-! , i440BX , ;) , , HTPC — .

, . , . , ( , , AGP- X700 Pro), . .. - , , . , , , 300 ( — , , , DVD-RW), — . , , — . , , «» 3D-: , . ( , ), , . USB- , , , — PCI- ;)

VT6214? . USB 1.1 2.0 PCI- NEC, ALi VT6202 VIA. , Hi Speed , , — . , , VIA , ( « » , , , ), . VT6212, VT6202 — USB- VIA, . — VT6214. USB , ( , «» USB- ). , , VT6306, FireWire — , , PCI. USB+SATA+PATA, USB+FW+Ethernet, VT6214 - VIA. , ( , ), , . «» VIA — 6202 . , .

. , — , , . , NEC — , , ? :) « » NVIDIA 500- 600- AMD Intel, Intel , , ICH5. — . — , , , :)

ATI — . 15 / . , ( , ) -, , . « », , — .

ICH8 nForce4. , — - , CompactFlash . , — , , . . , ICH7/ICH7R ( , USB- — 0.5% MMCplus : ), , , , .

VT6214 — . . , ( — ATI ;)) USB 2.0, .. — PCI-, .

, — , , . — , , MMC , SD , CF — . SB460, .

, , , . nForce4, — - 0.01% ( , 1% ;)), . , , :)

- , , . ( - ) «» 20 /, , , 30 / ( ). , SB460, MMCplus, , (- , ). 10% , . — .

ICH7R ICH7 (, — , USB-). — NVIDIA, , . , : SATA- , USB . «» «» , — R- , , . , Intel - — NVIDIA, , «» RAID- NCQ, .

, , , — , . , , , .

«»

, . — , , . - , , , , , , . — : USB-. :

  • ,
  • , « » VIA VT6214 ( — , )

— :) , «» USB, « » . , - , , , . «» — ;) « » , , — . - ;) , -, — , .

, . , , , ;)

, , USB-, USB-. , — , . , , . -. - , , . , USB « » «» . « », , , SB460 — , , - . ( ), . , . — . , .