On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

USB да и только, или Убийца наследуемых интерфейсов.

Когда заходит речь о переходе на какую-либо новую технологию, будь то USB, AGP или Ultra ATA, основные вопросы, которые задает прагматичный пользователь, просты и понятны: зачем (чем новое лучше старого?) и почем (на сколько новое дороже?).
В этой статье мы поговорим об устройствах, подключаемых к USB, основным же стимулом к ее написанию стало то, что на второй вопрос уже смело можно ответить: "Да практически ни на сколько!". Действительно, если сейчас пользователь встает перед необходимостью покупать какое-то устройство, которое существует как в варианте, подключаемом к USB, так и в других, "надбавка за USB-совместимость" либо минимальна, либо вовсе отсутствует. А значит, на первое место выходит вопрос номер один: зачем?

Немного истории


Не так давно среди основных законодателей мод компьютерного рынка родилось очередное глобальное течение, получившее название "отказ от наследуемых интерфейсов". Что же это за интерфейсы, почему они "наследуемые" и почему так жизненно необходимо от них отказываться? Для начала просто перечислим их "поименно":

  • COM-порты;
  • LPT-порт;
  • интерфейсы клавиатуры и PS/2-мыши.

Так почему же все эти интерфейсы названы "наследуемыми"? Самое простое объяснение звучит так. Если поставить рядом PC XT (8086) и сверхсовременный компьютер на базе процессора Pentium III и сравнить их, то что мы видим? На компьютере с Pentium III -- другой процессор (естественно), другой чипсет, другой жесткий диск (на XT обычно стояли не IDE-, а MFM-винчестеры), другая видеокарта, память, в общем, казалось бы, все другое, но: что это? Да, именно они -- COM-порты, порт принтера и разъем клавиатуры. Это -- то, что в практически неизменном виде досталось всем современным ПК в наследство от их далеких прапрабабушек. Правда, PS/2-мышь немного "моложе" -- она впервые появилась на 286-х компьютерах компании IBM. Именно поэтому и именуют подобные интерфейсы "наследуемыми". Чем же это плохо?

Каждому устройству -- по контроллеру?


Перефразируя старую истину, можно сказать: "Во многих интерфейсах -- многие печали". И действительно, что получается? Клавиатура "старого образца" должна подключаться к собственному, только ей выделяемому разъему, который обслуживается ее же собственным контроллером. Примитивнейшее (по сравнению, к примеру, с жестким диском или видеокартой) устройство требует своего контроллера! То же самое -- мышь PS/2. COM-порт (за исключением различных экзотических вариантов) используется лишь двумя типами устройств -- внешними модемами или мышью. Порт принтера -- аналогично, тоже два устройства (принтер и/или сканер). Таким образом, на материнской плате "живет" большое количество различных контроллеров, и все, что они должны делать, -- ожидать заветного момента, когда к ним будет подключено то единственное устройство, которое они умеют обслуживать. Причем в очень многих случаях этот момент так никогда и не наступает: COM-порты в офисном компьютере с материнской платой формата ATX чаще всего стоят без дела, а LPT-порт задействован только на немногих, использующих локальный (не сетевой) принтер.

Свет в конце тоннеля:


Выход из положения, который нам предлагают, -- шина USB (Universal Serial Bus, универсальная последовательная шина). К ней можно подключить клавиатуру, мышь, сканер, принтер, модем, колонки, внешний CD-ROM/CD-RW, видеокамеру: Словом, практически любое из существующих внешних устройств компьютера сейчас представлено и в USB-варианте. При этом, по сравнению с "классическими", такие устройства обладают рядом несомненных преимуществ (собственно, эти преимущества связаны не с ними, а именно с шиной, к которой они подключаются):

  • Динамическое подключение/отключение прямо в процессе работы, даже без перезагрузки ОС. Кстати, неочевидное, но очень полезное следствие: если вы случайно что-то выдернете из разъема, компьютер от этого не зависнет.
  • Универсальность и простота самого процесса подключения -- любое устройство может быть включено в любой свободный разъем.
  • Получение питания прямо от разъема, без дополнительного шнура. Те, кто хоть раз с угрозой падения запутывался в многочисленных шлейфах, висящих сзади компьютера, как гирлянды на новогодней елке, по достоинству оценят интерфейс, позволяющий хотя бы частично сократить их количество.

Это "пользовательские" преимущества. Но есть и те, что придутся по душе компьютерным специалистам, а именно -- решение "вечной, как x86-системы" проблемы нехватки IRQ. С ней сталкивались, наверное, все, кто устанавливал на компьютер более двух плат расширения (не считая видеокарты). И для систем с наследуемыми интерфейсами это естественно: COM-порты, LPT, мышь PS/2, клавиатура "съедают" целых пять IRQ. А USB-контроллер, к которому можно подключить все, что ранее подключалось к этим интерфейсам, использует всего одно.

Недостаток же, и весьма существенный, заключался в очень плохой поддержке, причем со всех сторон. Ни для кого не секрет, что работа USB-устройств в Windows 95 и NT была весьма посредственной (заставить USB-устройство работать под NT считалось задачей почти безнадежной). Первая редакция Windows 98 ситуацию значительно улучшила, но и там были проблемы. К тому же реализация шины USB у некоторых наборов логики (к примеру, у чипсетов VIA для Socket 7/Super 7) тоже давала немало поводов для нареканий. Вносили свою лепту и неотлаженные драйверы производителей устройств. В общем, хорошей идее явно не везло с исполнением.

Однако уже вышли новые чипсеты, поддерживающие даже четыре порта USB, вышла Windows 98 Second Edition, и мы решили, что пришло время еще раз проверить возможность реальной работы в системе, полностью свободной от наследуемых интерфейсов. От тестирования под управлением ОС Windows 2000 мы вынуждены были отказаться, так как выяснилось, что из всех выбранных нами устройств половина не имеет нужных драйверов или же драйверы присутствуют только в бета-версиях. Поэтому мы не будем портить ни себе, ни читателю впечатления о Windows 2000 и вернемся к этой теме позже, когда поддержка со стороны производителей устройств выйдет на должный уровень.

Проверим все на деле



EPoX EP-USB66 - внутренний
USB-хаб и контроллер ATA/66

Для тестирования была выбрана платформа, сочетающая продвинутые возможности с невысокой ценой: материнская плата на чипсете VIA Apollo Pro 133A (поддерживающем четыре порта USB), Celeron 433 и 128 MB PC100 SDRAM. Прочее оснащение, в принципе, несущественно, однако приведем и его: жесткий диск IBM Deskstar 22GPX 13 GB (7200 об/мин), видеокарта Diamond Viper 770. И жесткий диск, и видеокарта могли бы быть значительно более слабыми, на результатах нашего теста это бы никак не отразилось. А вот список USB-устройств существенно обширнее:

  • клавиатура Chicony KU-2971;
  • мышь A4Tech WWU-5 (3 кнопки, 2 колесика);
  • колонки Philips DSS370 (2 колонки и сабвуфер);
  • сканер UMAX Astra 2000U;
  • принтер Lexmark Optra 310E;
  • дисковод сменных жестких дисков Castlewood ORB 2.2 GB;
  • модем ST Microelectronics Pegas.USB V.90;
  • Ethernet-адаптер Silicom 10 Mbps;
  • TV-Tuner с видеокамерой LifeView USB LifeTV Kit.

Внешний USB-хаб от Surecom

Так как число USB-устройств превышало количество портов USB на материнской плате, некоторые устройства были подключены через USB-хабы. Всего использовалось два хаба USB -- один внутренний (вставляемый в PCI-слот на плате) и один внешний. Роль внутреннего хаба выполняла комбинированная плата EPoX EP-USB66 -- контроллер Ultra ATA/66 и концентратор USB на 4 порта (возможности контроллера Ultra ATA в данном случае просто не задействовались). Второй хаб -- внешний Surecom EP-1004P -- также имеет 4 порта. В EP-1004P интересно решена проблема потребляемой мощности: он может брать питание прямо с разъема USB, но если к нему будет подсоединяться какое-нибудь особенно мощное устройство, допускается использование и внешнего БП.

Приведем отдельно схему подключения устройств к портам USB:

1-й порт: принтер.

2-й порт: сканер.

3-й порт: хаб EPoX EP-USB66, к которому были подключены:

  • модем;
  • адаптер Ethernet;
  • мышь;
  • видеокомплект LifeTV.

4-й порт: хаб Surecom EP-1004P, к которому были подключены:

  • клавиатура;
  • Castlewood ORB;
  • колонки.

Еще раз подчеркнем, что все эти устройства подсоединялись к компьютеру одновременно.

Естественно, вряд ли такая конфигурация оборудования может встретиться в реальной жизни. Однако она интересна именно тем, что большое количество устройств (многие из них к тому же достаточно сильно "нагружают" шину передаваемыми и/или принимаемыми данными), создает немало потенциальных проблем -- совместимости, потребления энергии, одновременной работы (арбитраж) и пр. Таким образом, наша конфигурация являлась своего рода "стресс-тестом". Основная задача, которую мы перед собой ставили, -- выявить слабые места системы, оснащенной большим количеством USB-устройств, и, по возможности, разработать тактику, позволяющую эти слабые места обходить без ущерба для функциональности и удобства работы.

Экзамен первый: установка Windows


Чтобы посмотреть, насколько хорошо ОС обнаружит и правильно опознает наличие множества USB-устройств, мы намеренно усложнили задачу и не подключали их по очереди, а, подключив сразу все, отформатировали диск C: и запустили заново процесс инсталляции Windows 98 SE. Нужно сказать, что ОС вышла из этого испытания с честью: USB-мышь и клавиатура корректно распознались, колонки также были "узнаны", и первая загрузка Windows сопровождалась приличествующими данному событию "фирменными фанфарами" от Microsoft. Все остальные устройства присутствовали в менеджере устройств как определенные, но системе не известные. Из "тонкостей" следует упомянуть следующую: для того чтобы мышь и клавиатура были доступны в процессе работы Windows Setup, необходимо разрешить в BIOS пункт Legacy для USB Keyboard и Mouse. Нужно отметить, что не все BIOS имеют соответствующий пункт для USB-мыши, в некоторых Legacy доступен только для клавиатуры, и в этом случае мышь в процессе инсталляции Windows функционировать не будет. Также не стоит удивляться, когда по завершении установки вы обнаружите в списке устройств по две мыши и клавиатуры. Это следствие того, что BIOS эмулирует стандартную мышь и клавиатуру для программ DOS, не умеющих работать с USB-устройствами.



Литература по компьютерной периферии