Введение
Набор FireWire DV 800 от Trust содержит карту IEEE 1394b на чипсете TI. Но кабель 1394b в комплект поставки не входит.
Выйдя в 1998 году, стандарт шины IEEE1394 обеспечил пропускную способность 400 Мбит/с (S400). На рынке он продвигался под названиями FireWire (Apple) и i.Link (SONY), при этом последовательная шина являлась самой скоростной технологией на рынке. FireWire обладала огромным скоростным преимуществом над шиной USB (Universal Serial Bus), поддерживавшей в то время всего 12 Мбит/с. Добавим к этому возможность изохронной передачи данных и подключение “клиент-клиент” – и вы поймёте, почему FireWire приобрела немалую популярность в профессиональных и домашних аудио/видео устройствах, став основой для создания мультимедийной сети.
Если бы Apple не проводила недальновидную политику в 1999 году (в том числе и по отношению к Intel), требуя слишком высокую плату в $1 за порт, IEEE1394 сегодня являлась бы частью чипсетов Intel. В 1999 году был готов чипсет 440JX с интегрированной в южный мост поддержкой FireWire, однако он так и не вышел на рынок. Даже когда Apple снизила лицензионные отчисления до 25 центов. Вместо этого компьютерный гигант из Санта-Клары решил совершенствовать медленную 12-Мбит/с шину USB 1.1. И вполне успешно: Hi-Speed USB достигла скорости 480 Мбит/с, на многие месяцы став стандартом для последних ПК и периферии.
Второй удар
Но технология FireWire тоже не стояла на месте. Новая версия “b” обеспечила скорости до 800 Мбит/с по медному кабелю и до 3200 Мбит/с по оптическому волокну. И не только. Сегодня сеть FireWire может похвастаться длинами, ранее доступными только технологиям LAN. В то же время, хотя Lucent анонсировала чипсет IEEE 1394b ещё в ноябре 1999 года, первые контроллеры появились только в 2004 году – ими стали чипы от Texas Instruments. Причиной задержки стал американский комитет стандартизации IEEE, который ратифицировал спецификацию 1394b в конце 2003 года.
Apple выпустила первые продукты с поддержкой 1394b на рынок около полугода тому назад. Помимо компьютеров G5 новых поколений i- и e-Mac, а также современных мобильных устройств i-Book and Power Book, появились первые карты FireWire для обычных ПК (с Windows). Компании Trust и Unibrain уже выпускают карты на основе упомянутого чипа Texas Instruments. Продукты Adaptec были анонсированы в апреле и вот-вот должны появиться на рынке.
Карты FireWire обычно поставляются без драйверов, поскольку в Windows есть свои собственные. Поддержка IEEE1394 входит в Serial Bus Protocol 2 (SPB-2), а драйвер является частью OHCI Protocol Stack (Open Host Controller Interface).
Операционная система Microsoft Windows XP пока не имеет драйверов для IEEE 1394b. Работник Microsoft смог поделиться с нами следующей информацией.
“Мы никогда не поддерживали 1394b. Этот стандарт может работать при определённых условиях в Windows XP и Windows XP SP1. Проблема осложняется тем, что OHCI 1.0 и OHCI 1.1 не поддерживают скоростной код 0x3. Это зарезервированное значение в спецификации OHCI, которое нельзя использовать.”
Работник Microsoft [чьё имя нам неизвестно] также подтвердил заявление Unibrain: при подключении устройства IEEE 1394b пропускная способность падает до минимума, обеспечиваемого шиной 1394 (по стандарту IEEE1394 классы спецификаций типа S100 и S800 являются синонимами скорости в Мбит/с).
Только с грядущим пакетом обновления Service Pack 2, который теперь отложен на сентябрь 2004, в Windows XP появятся встроенные драйверы для IEEE 1394b. Однако наши исследования с текущей версией пакета обновления Release Candidate 2 показывают, что Microsoft облегчила себе задачу: при подключении любого устройства 1394b скорость передачи падает до мизерных 100 Мбит/с.
Один источник сообщил нам: “Зачем мы это сделали? Ситуация значительно осложняется, если смешивать устройства 1394a и 1394b. Если мы будем игнорировать соответствие OHCI и поднимем скорость до 800 Мбит/с, старые устройства просто не будут работать. Если же мы выставим скорость в S100, то все устройства будут прекрасно работать. Решение было нелёгким, однако пространства для манёвра у нас не было – конечно, если мы желаем поддерживать 1394b вообще.”
Шанс для специалистов
Отношение Microsoft даёт уникальную возможность производителям программных стеков 1394, типа греческой компании Unibrain. Тем же путём пошла и калифорнийская OrangeWare, специализирующаяся на программировании драйверов. Она выпустила оптимизированные драйверы, сразу же приковав к себе внимание.
По информации Unibrain, её собственный драйвер ubCore, подобно конкурирующему продукту от OrangeWare, обеспечивает прирост скорости по сравнению со стандартными драйверами OHCI под Windows XP SP2.
С выпуском ubCore 3.2 Unibrain, по словам представителей компании, предлагает “первый и единственный пакет драйверов, который полностью поддерживает стандарт 1394b “. Здесь подразумевается использование чипа 1394 от производителя полупроводников Texas Instruments, причём последний называет Unibrain “идеальным партнёром по программной части”. ubCore полностью замещает стек драйверов 1394 в Windows, что несколько осложняет установку. В то же время, драйвер может работать и под старыми версиями Windows, например NT 4. Кстати, для последней Microsoft вообще не выпустила поддержку FireWire. Unibrain предлагает бесплатно скачать 30-минутную тестовую версию ubCore. Она работает под системами Windows NT 4.0/98SE/ME/2000/XP/2003. Для постоянной работы ubCore требует ввода ключа авторизации, который можно купить на сайте Unibrain .
Работа Unibrain
В отличие от ubCore, драйвер FireWire 800/1394b от OrangeWare базируется на стеке драйверов Windows и предназначен для поддержки FireWire800/1394b под Windows 98SE, ME, 2000 и XP. OrangeWare обеспечивает производителям контроллеров FireWire800/1394b “привлекательные условия для сотрудничества”, однако конечным пользователям драйвер не распространяет.
С собственными драйверами ubCore Unibrain обещает прирост производительности до семи раз по сравнению с драйверами OHCI под Windows XP SP2. Приведены результаты тестов Unibrain для соединения типа “точка-точка” между двумя ПК с использованием собственных адаптеров Unibrain Fireboard 800. Длина кабеля 4,5 м, указана пропускная способность в Мбайт/с.
Драйверы XP SP2 Microsoft | Драйверы XP SP2 OrangeWare | Драйверы XP SP1 Microsoft | |
SiSoft Sandra 2004 | 8 Мбайт/с | 26 Мбайт/с | 26 Мбайт/с |
Для сравнения: значения OrangeWare с драйверами Microsoft и собственными.
Слепо верить не стоит
В следующем сравнении мы привели значения пропускной способности по данным OrangeWare и Unibrain и сравнили производительность работы драйвера ubCore под Windows XP SP1 и Windows XP SP2 с результатами драйверов OrangeWare и стека Windows XP (как с SP2, так и без него).
По заявлению Unibrain, лабораторное тестирование наглядно демонстрирует преимущество драйверов ubCore над стеком драйверов Windows XP с Service Pack 2.
Полученные нами значения в обоих случаях оказались меньше, чем собственные измерения Unibrain, при этом ubCore работает на том же уровне, что и стек Windows. В то же время, Service Pack 2 ещё не вышел, и до сентября ситуация может измениться. Как мы видим, под Windows XP с SP1 драйвер ubCore не даёт преимущества – несмотря на то, что Windows не имеет специальных драйверов для IEEE 1394b. Верно обратное: по нашему практическому тестированию, стандартные драйверы OHCI в Windows XP обеспечивают лучшую производительность. Драйверы Unibrain и OrangeWare дают небольшие преимущества только в синтетических тестах SiSoft Sandra и NetIO.
Помимо этого, у нас возникли проблемы с установкой различных антивирусных приложений и межсетевых экранов. Даже Service Pack 2 оказался очень нестабильным и дал ровные результаты тестов только после нескольких попыток.
Service Pack 2: Microsoft “нажала на тормоз”
В версии Release Candidate 2 пакета обновления Service Pack 2 под Windows XP Microsoft значительно замедлила FireWire S800. Сравнение связи “точка-точка” между двумя ПК, используя адаптеры Trust Firewire DV 800. Длина кабеля 4,5 м, указана пропускная способность в Мбайт/с.
Как мы полагаем, приведённые значения стали результатом “сырого” состояния Service Pack 2 и стабильно хорошей производительности драйверов OHCI Windows (SP1). Также здесь видно, что драйверы Unibrain и OrangeWare практически не дают прироста производительности.
SiSoft Sandra поначалу драйверы Unibrain вообще не распознала.
Тестовая конфигурация
Для нашего тестирования мы использовали два компьютера на базе Pentium 4, оснащённые картами IEEE 1394b из комплекта FireWire DV PCI от Trust. В следующей таблице приведена конфигурация обоих ПК.
Тестовый ПК 1 | |
Материнская плата/ мини-ПК | MSI MEGA-PC-645 |
Чипсет | SIS 645 |
Процессор | Intel Pentium 4 2,53 ГГц |
Графическая карта | SIS 645 (Savage 4) |
Тестовый ПК 2 | |
Материнская плата/ мини-ПК | MSI 845PE-Neo 2 |
Чипсет | Intel 845PE |
Процессор | Intel Pentium 4 2,6 ГГц |
Графическая карта | ATi Radeon 9800 |
Общее аппаратное обеспечение | |
Память | 512 Мбайт DDR400 от Memory Solutions |
Накопитель | Жёсткий диск 120 Гбайт Hitachi |
Оптический привод | LG GSA-4082B |
Операционная система | MS Windows XP с SP1 |
Для соединения двух тестовых ПК мы использовали кабель FireWire длиной 4,5 метра (6-контактные вилки на обоих концах), а также кабель IEEE 1394b от Hama такой же длины. Пропускная способность измерялась с помощью SiSoft Sandra 2004 и NetIO. Поскольку все эти тесты являются синтетическими, мы решили провести тестирование, более близкое к жизни. Для этого мы скопировали образ DVD объёмом 7,65 Гбайт с одного компьютера на другой, вооружившись секундомером.
Windows XP и сети 1394
Начнём с того, что в Windows существуют проблемы с сетями, базирующимися на FireWire. Число пользователей подобных сетей невелико, поэтому программный гигант получает мало обратной информации. Фактически, соединения между двумя картами 1394 часто вообще не получается. Это может быть связано с дешёвыми низкокачественными кабелями, несовместимостью между аппаратным обеспечением (редко) или проблемами драйверов. Многие драйверы IEEE1394 не поддерживают все функции карт или чипсетов – или обеспечивают их некорректно.
Во время нашего тестирования драйвер Texas Instruments, который Windows автоматически привязала к адаптеру 1394, пришлось заменить на драйвер OHCI от VIA, который позволил обеспечить стабильное сетевое соединение по IEEE 1394a (!) на скорости 400 Мбит/с. Иногда при этом приходится отключать другие сетевые соединения (к примеру, Ethernet), так как могут возникнуть конфликты при выделении IP-адресов. Мы просто отключили компьютеры от локальной сети.
Во время тестирования все другие сетевые соединения были отключены.
Ассортимент драйверов
В теории, Windows XP не понимает IEEE 1394b. Поэтому система не может обеспечить подходящего надёжного драйвера. В то же время, Windows XP распознала карту Trust как адаптер IEEE 1394 и присвоила ему стандартный драйвер OHCI. Хотя система ещё не готова к “b”, Windows создала сетевое соединение, отобразив скорость 800 Мбит/с, даже с меньшими проблемами, чем стандартное подключение FireWire IEEE 1394a! Работа такой сети и наши измерения прошли гладко.
Хотя драйверы OrangeWare нужно устанавливать вручную, беспорядка они не вносят.
С текущей версией Release Candidate 2 пакета обновления Service Pack 2 для Windows XP ситуация вообще иная: с драйверами IEEE 1394b в SP2 производительность снизилась примерно в 2-3 раза. Судя по значениям, драйверы в SP2 слишком “сырые”. Это предположение мы смогли подтвердить, установив драйверы Unibrain под Windows XP с SP2. К сожалению, они нарушили стабильность системы. Драйверы Unibrain можно было устанавливать только после полной переустановки XP с SP2. Хотя сходных проблем с драйверами OrangeWare под Windows XP SP2 не произошло, пропускная способность снизилась до уровня драйверов Unibrain. Драйверы OrangeWare под Windows XP SP1 пришлось устанавливать вручную, при этом они работали безупречно. В то же время, они не показали прироста производительности в сравнении с драйверами Windows OHCI.
ubCore от Unibrain: не всё так легко
Сначала мы установили драйвер Unibrain ubCore Version 3.2 под Windows XP с Service Pack 1. Начнём с того, что сетевое соединение 1394 просто исчезло. Это оказалась не программная ошибка, как мы поначалу предположили, а подход Unibrain: компания предусматривает ручную установку сетевого соединения, которая весьма скудно описана в онлайновом руководстве. Необходимо перегрузить соответствующие драйверы из подкаталога ubCore “Firenet” с помощью Мастера установки оборудования Windows. После этого сеть появится.
Но это ещё не всё. С первой попытки мы не смогли установить соединение. Драйверы пришлось удалить, затем установить вновь, чередуя этот процесс с перезагрузками компьютера. После нескольких попыток мы, наконец-то, смогли установить соединение. Однако оно оказалось нестабильным: SiSoft Sandra постоянно “зависала” во время измерения, а NetIO раз за разом отказывался устанавливать соединение. Если у вас установлено антивирусное ПО или межсетевой экран, то драйвер Unibrain может не запуститься вообще. Даже после удаления драйвера мы не смогли установить стабильное соединение. В целом, драйвер Unibrain хорошо себя чувствует только на “свежей”, только что установленной системе – без антивирусного ПО и межсетевого экрана.
FireWire против гигабитного Ethernet
Новую высокоскоростную версию IEEE1394 любят называть FireWire-800 или FireWire-b. Но вряд ли это будет корректным, поскольку стандарт требует аккуратного обращения. Официально новая версия называется “IEEE 1394b”. Помимо новых разъёмов, которые спереди выглядят как увеличенная версия вилки i.Link (больше примерно в три раза), она обеспечивает прирост производительности. Максимальная пропускная способность в идеальных условиях составляет около 100 Мбайт/с (800 Мбит/с). На практике средняя скорость работы с внешними устройствами типа жёстких дисков составляет половину от максимальной (50 Мбайт/с), а при прямом соединении двух компьютеров пользователь получит только четверть (25 Мбайт/с).
Сети гигабитного Ethernet позволяют получить эффективную скорость передачи в 70-80 Мбайт/с, несмотря на технологию с вероятностью коллизий.
Технология FireWire, базируясь на принципе последовательной передачи, устраняет коллизии через распределение временных промежутков уровня пикосекунд, то есть на три порядка точнее Ethernet. Поэтому FireWire лучше подходит для передачи таких данных, чувствительных ко времени, как несжатые аудио и видео потоки. Сможет ли индустрия воспользоваться всем этим богатством – ещё предстоит увидеть.
Заключение
По сравнению с ещё не готовым Service Pack 2 для Windows XP, драйверы Unibrain и OrangeWare обеспечивают прирост скорости, хотя и не такой большой, какой обещали оба производителя. Если же сравнить с драйвером OHCI под Windows XP с SP1, то никакого заметного прироста драйверы сторонних разработчиков не дают. До выпуска Service Pack 2 Microsoft имеет достаточно времени, чтобы оптимизировать свои драйверы или заменить их на лучшие. Мы ещё вернёмся к этому вопросу после выхода SP2.
Как мы считаем, FireWire 800 найдёт себе место в области хранения данных, хотя в сетях, не считая небольших групп пользователей, эта технология вряд ли завоюет массовый рынок. Сегодня гигабитный Ethernet достаточно распространился, да и продукты на 10 Гбит/с уже находятся на горизонте. Похоже, здесь победит количество, а не качество, и FireWire проиграет гигабитному Ethernet из-за недостаточной проработанности. В любом случае, FireWire найдёт свою нишу в индустрии, к примеру, для связи различной бытовой техники. Посмотрим.
Ссылки (на английском):