Чипсеты VIA: мифы и реальность


Необходимость статьи, рассматривающей практические особенности сборки и настройки x86-систем на базе чипсетов VIA Technologies, стала очевидной уже достаточно давно, но особенную остроту этот вопрос приобрел в прошлом году, когда распространенность их резко увеличилась. Однако выпускать неполный материал не хотелось, поэтому мы довольно долго, можно сказать, по крупицам собирали требуемую информацию, задавшись целью опубликовать ее именно в таком виде, который, как нам кажется, будет наиболее востребованным нашими читателями: в качестве по возможности исчерпывающего практического "руководства к действию", содержащего в то же время необходимое количество наиболее важной технической информации.

Для облегчения понимания общих принципов, на базе которых создаются чипсеты VIA, мы разбили техническую часть статьи на два больших раздела, посвященных отдельно микросхемам, обычно называемым северным и южным мостами. Может быть, поначалу такое разделение кому-то покажется не очень удобным, однако после прочтения всей статьи читатели смогут убедиться в том, что применительно к чипсетам VIA Technologies именно такой подход является наиболее правильным.

Южные мосты

Если уж писать о продукции VIA Technologies обстоятельно, то в первую очередь нужно раз и навсегда выяснить вопрос с южными мостами. Сейчас в платах на базе перечисленных выше чипсетов VIA реально используются три южных моста: VT82C596B (Mobile South Bridge), VT82C686A (Super South) и VT82C686B.

596B — самый старый южный мост. Один контроллер USB (2 порта соответственно), не имеет аппаратного мониторинга и AC'97/MC'97-интерфейса. Встроенный IDE-контроллер соответствует спецификации Ultra ATA/66. Название свое (Mobile South) получил из-за того, что VIA позиционировала его в качестве решения для портативных компьютеров, в связи с чем при разработке чипа особое внимание было уделено снижению энергопотребления.

686A/B. VIA VT82C686A до недавнего времени был самым многофункциональным южным мостом: двухканальный USB-контроллер (четыре порта USB), Ultra ATA/66 IDE, AC'97/MC'97-интерфейс, системный мониторинг. Его модификация VT82C686B отличается только встроенным IDE-контроллером (Ultra ATA/100).

Как видно из характеристик, самый "аскетичный" — безусловно, 596B. Однако если подойти с другой стороны, то будь в нем системный мониторинг — его можно было бы назвать и исчерпывающе-достаточным с точки зрения рядового пользователя. Действительно: AC'97 Audio и слот AMR подавляющее большинство не задействует, представить себе более двух USB-устройств на одном компьютере по-прежнему сложно, да и поддержка Ultra ATA/100 до сих пор не является практическим преимуществом. К чему это мы? Да просто к тому, что на самом деле требованиям 90% пользователей даже самый старый южный мост от VIA полностью соответствует.

Для оставшихся же 10% особенность состоит в том, что все чипсеты VIA Technologies определяются только северным мостом, а вот южный мост к любому северному можно "прикомплектовать" любой. Никто не мешает сделать плату на самом современном VIA KT133A, но с использованием 596B преклонного возраста — и все будет отлично работать! Причем именно отлично — то есть в рамках своих возможностей 596B нормально, без ошибок и сбоев сделает все, что от него требуется. Естественно, уважающие себя фирмы откровенных "ляпов" не допускают, а вот любимые нашим народом за низкие цены китайские "умельцы" — могут, и запросто.

Северные мосты

Северные мосты даже совсем разных чипсетов VIA очень сильно похожи между собой. Как правило, переход от одного чипсета к другому (более современному) сопровождается внесением двух-трех (реже — одного) изменений в список поддерживаемых функций и... столь же незначительной переделкой некоторых составляющих самих микросхем. Для иллюстрации правомерности таких рассуждений мы сошлемся на любопытный "феномен", связанный со значениями кодов Vendor ID/Device ID у целого ряда микросхем северных мостов VIA Technologies.

Для начала объясним, что же это за коды. Vendor ID — это код производителя, и именно этот код все чипы, которые он производит, должны по определенному формализованному запросу сообщать "поинтересовавшейся" программе (на этапе старта — это BIOS). Далее, уже по собственной инициативе, производитель назначает каждой своей микросхеме ее Device ID — "идентификатор устройства", позволяющий определить, какая же именно микросхема этого вендора "откликнулась" на запрос. Один из самых распространенных примеров использования идентификации чипов по паре Vendor ID/Device ID мы можем наблюдать в процессе установки новых устройств в ОС Windows. Все, наверное, помнят этот процесс: сначала появляется окно с сообщением о том, что "обнаружено новое устройство", после чего Windows либо опознает его сама, либо не находит сведений о нем в своей внутренней базе данных и просит предоставить дискету или CD-ROM с драйверами и INF-файлами. Именно по паре Vendor ID/Device ID, которая в виде конкретных цифровых значений описана в INF-файлах, ОС и определяет тип устройства и его название в "текстовом" виде (оно находится там же, в INF-файле).

Сюрприз же состоит в том, что у всех северных мостов чипсетов VIA Apollo Pro, Pro Plus, Pro133 и Pro133A оба этих кода… одинаковы. То есть формально все они — одна и та же микросхема. Правда, есть еще код — Revision (ревизия, или, если можно так сказать, "номер версии" чипа). Именно по значению этого кода (и только по нему) и можно отличить северный мост, к примеру, VIA Apollo Pro от северного моста VIA Apollo Pro133A. Однако то, что различаются эти чипы лишь своей "версией", иллюстрирует особенность всех чипсетов VIA, которую мы уже обсуждали выше, — "похорошему" это действительно один и тот же чип, просто подвергавшийся с течением времени различным доработкам и усовершенствованиям.

Приняв как данность все вышесказанное, можно выстроить некий виртуальный ряд северных мостов VIA, сосредоточив основное внимание не на "внешних" наименованиях чипсетов и мостов, а на "внутренних" их качествах, а попросту — функциональности. Нужно заметить, что в этом случае мы вступаем на неизведанный путь предположений, поскольку официальной информации производителя относительно их обоснованности, естественно, нет. Однако большой практический опыт работы с чипсетами VIA, как нам кажется, дает право пользоваться данным "виртуальным модельным рядом", пусть и не в качестве истины в последней инстанции, но в виде рабочей гипотезы.

Apollo Pro133

Первый чипсет VIA (и, соответственно, первый северный мост), официально поддерживающий FSB 133 MHz для платформы Intel (Slot 1/Socket 370). Как и все чипсеты VIA, асинхронный, т. е. память может тактироваться частотой как равной частоте FSB, так и большей или меньшей. Поддерживаются процессоры Intel Pentium II/III и Celeron, слот AGP (2X), до шести устройств PCI Master (включая те из них, которые встроены в южный мост).

Apollo Pro133A, Apollo KX133/KT133/KT133A

Apollo Pro133A отличается от Apollo Pro133 поддержкой AGP 4X. Также можно предположить, что именно на основе его ядра был спроектирован Apollo KX133 (для процессоров AMD Athlon форм-фактора Slot A), а потом и Apollo KT133 (процессоры AMD Athlon/Duron, форм-фактор Socket A). Собственно, именно в работе с разными видами CPU и состоят все различия между Apollo Pro133A и Apollo KX133/KT133. Правда, последние не поддерживали FSB 133 MHz, однако это было связано (можно предположить) не с принципиальной невозможностью, а с тем, что на момент их разработки просто отсутствовали CPU от AMD, требующие такой частоты шины. Однако с выходом новых версий Athlon и этот "пробел" был устранен выпуском Apollo KT133A, который по характеристикам теперь практически полностью идентичен Apollo Pro133A (за исключением процессорной шины: AGTL+ для Pro133A и EV-6 133 (266) MHz для KT133A).

Apollo PLE133 (PM601) и ProSavage PM133/KM133

Фактически это северный мост от Apollo Pro133A (PLE133, PM133) или KT133 (KM133) с интегрированным графическим ядром. В случае PM133/KM133 используется графическое ядро от S3 (комбинация 3D-составляющей Savage4 и 2D от Savage2000), в случае PLE133 графическое ядро взято у микросхемы Trident Blade3D. Также PLE133 "избавили" от необходимости поддерживать интерфейс для внешней AGP-видеокарты, что дополнительно упростило (следовательно, и удешевило) чипсет и платы на его основе.

Практикум

Что такое "драйверы чипсета" и зачем они нужны?

Вначале — как всегда, о главном. Драйверы нужны ОС для правильной работы с любым чипсетом. Общераспространенное (и от этого не менее огромное) заблуждение, что чипсеты Intel, в отличие от всех прочих, в драйверах не нуждаются. Нуждаются, еще и как! Просто драйверы для чипсетов Intel (по крайней мере, для многих из них) уже входят в комплект базы данных драйверов Windows 98, благодаря чему эта ОС способна определять соответствующие функциональные элементы микросхем Intel сама и устанавливать драйверы поддержки для них сразу же, еще в процессе своей инсталляции. Поэтому тезис "видно, что-то неладно с этими чипсетами VIA, раз для них требуются специальные драйверы" следует признать абсолютно ошибочным. Кстати, в Windows Me (Millennium) информация о большинстве чипсетов VIA, равно как и соответствующие драйверы, уже присутствует — дало результаты официальное соглашение по этому поводу между VIA Technologies и Microsoft.

Однако пользователи Windows 98/98 SE/2000 по-прежнему нуждаются в установке VIA 4-in-1 Drivers Pack или каждого из входящих в этот комплект драйверов в отдельности. Поэтому мы остановимся более подробно на том, что это за драйверы, для чего они служат и почему их инсталляция является необходимой для нормальной работы системы.

VIA INF Driver

Собственно, это вообще не драйвер. Это набор INF-файлов, в которых описываются устройства, находящиеся в южных мостах VIA (в частности, ACPI-контроллер). Эти INF-файлы при установке "драйвера" копируются в базу данных устройств Windows (обычно — каталог C:\WINDOWS\INF), в результате чего при следующей перезагрузке ОС уже может определить (по описанной выше паре Vendor ID/Device ID) наличие в системе соответствующих устройств, а также получить из тех же INF-файлов правильную и исчерпывающую "инструкцию" о способах общения с ними (адреса I/O портов и т. д.). Основная функция VIA INF Driver, как явствует из вышенаписанного, одна — "дать системе знать" о том, что определенные устройства есть и с ними можно работать.

IRQ Routing Miniport Driver

Роутинг IRQ, т. е. распределение запроса прерываний между устройствами — важнейшая функция, свойственная любой поддерживающей спецификацию Plug-and-Play операционной системе. При некорректном роутинге многие устройства просто не будут правильно выполнять свои функции и даже могут вызвать ошибки в работе системы при попытке их задействования. Стандартный роутер, устанавливаемый при инсталляции Windows 98/98 SE, рассчитан только на механизм распределения IRQ, поддерживаемый чипсетами Intel, для чипсетов же VIA он несколько другой. Именно для того чтобы система могла правильно "раздать" векторы прерываний всем установленным в компьютере устройствам, которым они требуются, и служит VIA IRQ Routing Driver. Думаем, совершенно излишне объяснять далее, насколько необходима его инсталляция для правильного функционирования всей ОС.

Небольшая тонкость: перед установкой IRQ Routing Driver VIA рекомендует разрешить в BIOS работу встроенного в чипсет USB-контроллера (обоих каналов, если он двухканальный) и выделение IRQ для контроллера USB. После инсталляции драйвера и последующей перезагрузки установки можно вернуть в привычное состояние (если они отличаются от указанных выше).

IDE BusMaster Driver

Этот драйвер, по сути, разбит на две независимые части, каждая из которых является самостоятельным драйвером, при этом по функциональности обе части одинаковы и взаимозаменяемы. В VIA 4-in-1 Drivers Pack входит только одна разновидность — VSD (Vendor Support Driver), если же используется отдельный пакет VIA IDE BusMaster Driver, то пользователю предоставляется возможность выбора из двух вариантов — вышеупомянутого VSD и "полноценного" Miniport Driver (VXD). VSD — это драйвер, работающий совместно с универсальным драйвером Windows для всех IDE BusMaster-контроллеров, в то время как Miniport Driver полностью заменяет стандартный драйвер Windows.

Позиция самой VIA по этому поводу примерно следующая: "VSD-драйвер предоставляет лучшую совместимость со всеми IDE/EIDE/ATAPI-устройствами, в то время как Miniport Driver обладает несколько большим быстродействием, но (потенциально) в ряде случаев может оказаться несовместимым с некоторыми конкретными моделями накопителей". Соответственно, 4-in-1 Drivers Pack как решение "для всех" содержит только VSD-вариант, ну а более "рисковым" пользователям предоставляется возможность установить Miniport Driver из отдельного дистрибутива. В целом же оба драйвера служат одной цели — позволить корректно задействовать поддерживаемые контроллером IDE, встроенным в южный мост, "скоростные" режимы передачи данных (Ultra ATA/66/100).

VIA GART (Graphics Address Relocation Table) Driver (VIA AGP Driver)

Этот драйвер многие называют "драйвером AGP", но такая формулировка несколько некорректна, потому что и сама шина AGP, и даже некоторые AGP-видеокарты могут вполне безболезненно функционировать и без установки этого драйвера. GART Driver обеспечивает возможность задействования только одной из возможностей шины AGP, а именно позволяет AGP-видеокарте использовать часть системного ОЗУ как продолжение своей собственной памяти, организуя там буфер для хранения текстур (так называемый режим DiME — Dynamic in Memory Execution).

Те видеочипы, которые могут работать в режиме DiME, делают это посредством GART-драйвера. Однако то, что видеокарта вставляется в слот AGP вовсе не свидетельствует о том, что она использует DiME. Например, все без исключения видеокарты на чипах 3dfx не поддерживают DiME (это связано с архитектурой самих чипов), поэтому им GART-драйвер совершенно ничего не дает, они просто "не чувствуют" его присутствия в системе. В случае же, если видеокарта пытается задействовать GART, а в системе он не установлен, как правило, следует "мертвое" зависание при первой же попытке запустить приложение, использующее 3D-акселератор (в то время как работа в GUI-приложениях может протекать вполне нормально).

Проблемы

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

Платы на чипсетах VIA и видеокарты на чипах NVIDIA

При некоторых комбинациях конкретных моделей материнских плат на чипсете VIA Apollo Pro133/133A и видеокарт на базе чипов NVidia серий TNT2 и GeForce на самом деле наблюдается факт аппаратной несовместимости, выражающийся в "зависании" системы, как правило, при работе программ, использующих API Direct3D. В самом худшем случае возможен вариант, когда проблема является действительно неразрешимой, т. е. настроить данную конкретную комбинацию на нормальную работу не удается никакими средствами. С аппаратной точки зрения вопрос "вины" остается до конца не выясненным ("кандидатов", по сути, целых четыре: материнская плата, чипсет, видеокарта, видеочип). Тем более что, с одной стороны, платы на Apollo Pro133/133A, свободные от этого дефекта, существуют, а с другой — то, что подобного рода "нелюбовь" демонстрируют только графические чипы NVidia, тоже наводит на определенные мысли. Совет поэтому может быть только один — либо избегать указанной комбинации, либо при сборке готовой системы выяснять наличие/отсутствие этого явления "по факту", т. е. путем достаточно продолжительного тестирования на каком-либо Direct3D-приложении.

IDE-контроллер южного моста VIA и Ultra ATA/33 CD-ROM (CD-RW, DVD)

Замечено, что некоторые приводы ATAPI CD-ROM (CD-RW, DVD), поддерживающие режим Ultra ATA/33, некорректно работают при подключении к VIA BusMaster IDE-контроллеру, входящему в состав южных мостов VIA, через стандартный 40-жильный кабель. Проблема заключается в нарушении целостности данных при чтении дисков или же в неправильном опознании формата диска при первом обращении. Способов ее решения существует два. Самый простой — запретить c помощью BIOS или диагностической утилиты из комплекта VIA IDE BusMaster Drivers использование Ultra ATA для такого накопителя. Второй способ может применяться в случаях, когда нет желания искусственно ограничивать производительность привода, — тогда необходимо его подключать с помощью 80-жильного Ultra ATA/66-кабеля (несмотря на то что устройство будет работать в режиме Ultra ATA/33!).

Выключение вторичного канала IDE посредством BIOS

В случае если вторичный канал VIA IDE-контроллера был отключен посредством BIOS, менеджер устройств Windows 98 может "потерять" оба канала IDE (показывать их как выключенные), а также определять USB-контроллер как выключенное устройство со статусом "Code 12". Реакция Windows 98 SE на отключение вторичного канала с помощью BIOS также неадекватная, но немного другая: контроллер IDE опознается как неправильно функционирующее устройство и вызывает конфликт ресурсов при запросе на прерывание. Пользователи Windows 98 SE могут справиться с этой проблемой, загрузив "заплатку" от Microsoft, находящуюся по адресу www.entry.kiev.ua/Support/245682US8.exe, пользователям же Windows 98 рекомендуется либо обновить ОС до Windows 98 SE (и потом применить вышеуказанный метод), либо пользоваться для выключения вторичного канала IDE функциями менеджера устройств Windows, а не BIOS.

Звуковая подсистема южного моста VIA 686A/B, игровой порт

На некоторых платах, использующих южные мосты VIA VT82C686A(B), может возникнуть такая проблема: после удаления из менеджера устройств встроенной в чипсет звуковой карты (AC'97 Audio) джойстик для игрового порта остается в списке существующих устройств. Происходит это оттого, что драйвер игрового порта (vjoyd.vxd) реально не может определить отсутствие или наличие устройства в системе, поэтому, будучи единожды установленным, продолжает запускаться каждый раз при старте системы. Решение проблемы элементарно: следует просто удалить устройство вручную.

Особенности системного мониторинга южных мостов 686A/B

Ввиду того что линии датчиков съема температуры инвариантны, на некоторых материнских платах сенсоры используются не в привычном порядке (сенсор # 1 — для съема температуры CPU, сенсор # 2 — для съема температуры системного блока), а наоборот. Программа VIA Hardware Monitoring System не предусматривает настройку соответствия температур номерам сигнальных линий, поэтому в качестве температуры CPU в этом случае будет отображаться температура системного блока, и наоборот. Для того чтобы исправить эту ошибку, следует обновить ПО VIA Hardware Monitoring System до версии 2.02, после чего отредактировать в любом текстовом редакторе файл HMHARD.DAT, находящийся в каталоге проинсталлированного ПО. Для прямого включения датчиков температуры файл должен содержать следующие строки:

CPU_TEMP_PIN = 1

SYSTEM_TEMP_PIN = 2

Для инверсного включения номера датчиков температуры CPU и системного блока следует поменять местами:

CPU_TEMP_PIN = 2

SYSTEM_TEMP_PIN = 1

"Пробуждение" от USB-клавиатуры

Некоторые системы, базирующиеся на материнских платах, в которых использованы южные мосты VIA (напомним, что это могут быть не только платы, полностью собранные на чипсетах VIA, но и, к примеру, платы на AMD-750/760), могут отказываться выходить из "спящего" режима по запросу от USB-клавиатуры, даже в случае, когда USB Keyboard wake-up заявлена в документации как реализованная функция. Связано это с тем, что далеко не все USB-клавиатуры поддерживают ACPI, поэтому реально эта проблема вообще не имеет отношения к чипсетам VIA. Также следует знать, что обслуживание wake-up-запросов от устройств USB появилось в чипсетах VIA только начиная с южного моста VIA VT82C686A ревизии CF, все более ранние продукты просто не поддерживают эту функцию.

Драйверная поддержка чипсетов VIA под Windows 2000

При работе систем на базе чипсетов VIA под управлением ОС Windows 2000 могут возникать сбои, связанные с некорректной работой AGP, при выходе такой системы из режима Suspend. Это происходит из-за неправильного порядка инсталляции драйверов поддержки чипсета, а именно при установке GART-драйвера для чипсетов VIA раньше VIA INF Driver. Эта проблема также может быть вызвана установкой ранних версий VIA 4-in-1 Drivers Pack, младших, чем 4.03. Помочь в этом случае может, увы, только полная переустановка системы с последующей корректной инсталляцией драйверов поддержки чипсета.

Послесловие

Как мы уже писали выше, основная цель этой статьи — объяснить нашим читателям, чем реально вызвано настороженное отношение некоторых пользователей к продукции VIA, и по возможности рассеять успевшие возникнуть мифы о ненадежности и/или большом количестве ошибок в ее чипсетах. VIA Technologies за короткое время смогла из "гадкого утенка" превратиться в одного из ведущих поставщиков наборов микросхем для производства материнских плат, поэтому то, что с этими платами придется иметь дело, — свершившийся факт. А раз так, то не стоит прятать голову в песок или отговариваться, цитируя вышеупомянутые "мифы", следует просто объективно изучать продукцию этой фирмы и знать, как правильно с ней обращаться, чтобы не создавать ни себе, ни пользователям лишних проблем.





Дополнительно

Чипсеты VIA: мифы и реальность

Чипсеты VIA: мифы и реальность

Необходимость статьи, рассматривающей практические особенности сборки и настройки x86-систем на базе чипсетов VIA Technologies, стала очевидной уже достаточно давно, но особенную остроту этот вопрос приобрел в прошлом году, когда распространенность их резко увеличилась. Однако выпускать неполный материал не хотелось, поэтому мы довольно долго, можно сказать, по крупицам собирали требуемую информацию, задавшись целью опубликовать ее именно в таком виде, который, как нам кажется, будет наиболее востребованным нашими читателями: в качестве по возможности исчерпывающего практического "руководства к действию", содержащего в то же время необходимое количество наиболее важной технической информации.

Для облегчения понимания общих принципов, на базе которых создаются чипсеты VIA, мы разбили техническую часть статьи на два больших раздела, посвященных отдельно микросхемам, обычно называемым северным и южным мостами. Может быть, поначалу такое разделение кому-то покажется не очень удобным, однако после прочтения всей статьи читатели смогут убедиться в том, что применительно к чипсетам VIA Technologies именно такой подход является наиболее правильным.

Южные мосты

Если уж писать о продукции VIA Technologies обстоятельно, то в первую очередь нужно раз и навсегда выяснить вопрос с южными мостами. Сейчас в платах на базе перечисленных выше чипсетов VIA реально используются три южных моста: VT82C596B (Mobile South Bridge), VT82C686A (Super South) и VT82C686B.

596B — самый старый южный мост. Один контроллер USB (2 порта соответственно), не имеет аппаратного мониторинга и AC'97/MC'97-интерфейса. Встроенный IDE-контроллер соответствует спецификации Ultra ATA/66. Название свое (Mobile South) получил из-за того, что VIA позиционировала его в качестве решения для портативных компьютеров, в связи с чем при разработке чипа особое внимание было уделено снижению энергопотребления.

686A/B. VIA VT82C686A до недавнего времени был самым многофункциональным южным мостом: двухканальный USB-контроллер (четыре порта USB), Ultra ATA/66 IDE, AC'97/MC'97-интерфейс, системный мониторинг. Его модификация VT82C686B отличается только встроенным IDE-контроллером (Ultra ATA/100).

Как видно из характеристик, самый "аскетичный" — безусловно, 596B. Однако если подойти с другой стороны, то будь в нем системный мониторинг — его можно было бы назвать и исчерпывающе-достаточным с точки зрения рядового пользователя. Действительно: AC'97 Audio и слот AMR подавляющее большинство не задействует, представить себе более двух USB-устройств на одном компьютере по-прежнему сложно, да и поддержка Ultra ATA/100 до сих пор не является практическим преимуществом. К чему это мы? Да просто к тому, что на самом деле требованиям 90% пользователей даже самый старый южный мост от VIA полностью соответствует.

Для оставшихся же 10% особенность состоит в том, что все чипсеты VIA Technologies определяются только северным мостом, а вот южный мост к любому северному можно "прикомплектовать" любой. Никто не мешает сделать плату на самом современном VIA KT133A, но с использованием 596B преклонного возраста — и все будет отлично работать! Причем именно отлично — то есть в рамках своих возможностей 596B нормально, без ошибок и сбоев сделает все, что от него требуется. Естественно, уважающие себя фирмы откровенных "ляпов" не допускают, а вот любимые нашим народом за низкие цены китайские "умельцы" — могут, и запросто.

Северные мосты

Северные мосты даже совсем разных чипсетов VIA очень сильно похожи между собой. Как правило, переход от одного чипсета к другому (более современному) сопровождается внесением двух-трех (реже — одного) изменений в список поддерживаемых функций и... столь же незначительной переделкой некоторых составляющих самих микросхем. Для иллюстрации правомерности таких рассуждений мы сошлемся на любопытный "феномен", связанный со значениями кодов Vendor ID/Device ID у целого ряда микросхем северных мостов VIA Technologies.

Для начала объясним, что же это за коды. Vendor ID — это код производителя, и именно этот код все чипы, которые он производит, должны по определенному формализованному запросу сообщать "поинтересовавшейся" программе (на этапе старта — это BIOS). Далее, уже по собственной инициативе, производитель назначает каждой своей микросхеме ее Device ID — "идентификатор устройства", позволяющий определить, какая же именно микросхема этого вендора "откликнулась" на запрос. Один из самых распространенных примеров использования идентификации чипов по паре Vendor ID/Device ID мы можем наблюдать в процессе установки новых устройств в ОС Windows. Все, наверное, помнят этот процесс: сначала появляется окно с сообщением о том, что "обнаружено новое устройство", после чего Windows либо опознает его сама, либо не находит сведений о нем в своей внутренней базе данных и просит предоставить дискету или CD-ROM с драйверами и INF-файлами. Именно по паре Vendor ID/Device ID, которая в виде конкретных цифровых значений описана в INF-файлах, ОС и определяет тип устройства и его название в "текстовом" виде (оно находится там же, в INF-файле).

Сюрприз же состоит в том, что у всех северных мостов чипсетов VIA Apollo Pro, Pro Plus, Pro133 и Pro133A оба этих кода… одинаковы. То есть формально все они — одна и та же микросхема. Правда, есть еще код — Revision (ревизия, или, если можно так сказать, "номер версии" чипа). Именно по значению этого кода (и только по нему) и можно отличить северный мост, к примеру, VIA Apollo Pro от северного моста VIA Apollo Pro133A. Однако то, что различаются эти чипы лишь своей "версией", иллюстрирует особенность всех чипсетов VIA, которую мы уже обсуждали выше, — "похорошему" это действительно один и тот же чип, просто подвергавшийся с течением времени различным доработкам и усовершенствованиям.

Приняв как данность все вышесказанное, можно выстроить некий виртуальный ряд северных мостов VIA, сосредоточив основное внимание не на "внешних" наименованиях чипсетов и мостов, а на "внутренних" их качествах, а попросту — функциональности. Нужно заметить, что в этом случае мы вступаем на неизведанный путь предположений, поскольку официальной информации производителя относительно их обоснованности, естественно, нет. Однако большой практический опыт работы с чипсетами VIA, как нам кажется, дает право пользоваться данным "виртуальным модельным рядом", пусть и не в качестве истины в последней инстанции, но в виде рабочей гипотезы.

Apollo Pro133

Первый чипсет VIA (и, соответственно, первый северный мост), официально поддерживающий FSB 133 MHz для платформы Intel (Slot 1/Socket 370). Как и все чипсеты VIA, асинхронный, т. е. память может тактироваться частотой как равной частоте FSB, так и большей или меньшей. Поддерживаются процессоры Intel Pentium II/III и Celeron, слот AGP (2X), до шести устройств PCI Master (включая те из них, которые встроены в южный мост).

Apollo Pro133A, Apollo KX133/KT133/KT133A

Apollo Pro133A отличается от Apollo Pro133 поддержкой AGP 4X. Также можно предположить, что именно на основе его ядра был спроектирован Apollo KX133 (для процессоров AMD Athlon форм-фактора Slot A), а потом и Apollo KT133 (процессоры AMD Athlon/Duron, форм-фактор Socket A). Собственно, именно в работе с разными видами CPU и состоят все различия между Apollo Pro133A и Apollo KX133/KT133. Правда, последние не поддерживали FSB 133 MHz, однако это было связано (можно предположить) не с принципиальной невозможностью, а с тем, что на момент их разработки просто отсутствовали CPU от AMD, требующие такой частоты шины. Однако с выходом новых версий Athlon и этот "пробел" был устранен выпуском Apollo KT133A, который по характеристикам теперь практически полностью идентичен Apollo Pro133A (за исключением процессорной шины: AGTL+ для Pro133A и EV-6 133 (266) MHz для KT133A).

Apollo PLE133 (PM601) и ProSavage PM133/KM133

Фактически это северный мост от Apollo Pro133A (PLE133, PM133) или KT133 (KM133) с интегрированным графическим ядром. В случае PM133/KM133 используется графическое ядро от S3 (комбинация 3D-составляющей Savage4 и 2D от Savage2000), в случае PLE133 графическое ядро взято у микросхемы Trident Blade3D. Также PLE133 "избавили" от необходимости поддерживать интерфейс для внешней AGP-видеокарты, что дополнительно упростило (следовательно, и удешевило) чипсет и платы на его основе.

Практикум

Что такое "драйверы чипсета" и зачем они нужны?

Вначале — как всегда, о главном. Драйверы нужны ОС для правильной работы с любым чипсетом. Общераспространенное (и от этого не менее огромное) заблуждение, что чипсеты Intel, в отличие от всех прочих, в драйверах не нуждаются. Нуждаются, еще и как! Просто драйверы для чипсетов Intel (по крайней мере, для многих из них) уже входят в комплект базы данных драйверов Windows 98, благодаря чему эта ОС способна определять соответствующие функциональные элементы микросхем Intel сама и устанавливать драйверы поддержки для них сразу же, еще в процессе своей инсталляции. Поэтому тезис "видно, что-то неладно с этими чипсетами VIA, раз для них требуются специальные драйверы" следует признать абсолютно ошибочным. Кстати, в Windows Me (Millennium) информация о большинстве чипсетов VIA, равно как и соответствующие драйверы, уже присутствует — дало результаты официальное соглашение по этому поводу между VIA Technologies и Microsoft.

Однако пользователи Windows 98/98 SE/2000 по-прежнему нуждаются в установке VIA 4-in-1 Drivers Pack или каждого из входящих в этот комплект драйверов в отдельности. Поэтому мы остановимся более подробно на том, что это за драйверы, для чего они служат и почему их инсталляция является необходимой для нормальной работы системы.

VIA INF Driver

Собственно, это вообще не драйвер. Это набор INF-файлов, в которых описываются устройства, находящиеся в южных мостах VIA (в частности, ACPI-контроллер). Эти INF-файлы при установке "драйвера" копируются в базу данных устройств Windows (обычно — каталог C:\WINDOWS\INF), в результате чего при следующей перезагрузке ОС уже может определить (по описанной выше паре Vendor ID/Device ID) наличие в системе соответствующих устройств, а также получить из тех же INF-файлов правильную и исчерпывающую "инструкцию" о способах общения с ними (адреса I/O портов и т. д.). Основная функция VIA INF Driver, как явствует из вышенаписанного, одна — "дать системе знать" о том, что определенные устройства есть и с ними можно работать.

IRQ Routing Miniport Driver

Роутинг IRQ, т. е. распределение запроса прерываний между устройствами — важнейшая функция, свойственная любой поддерживающей спецификацию Plug-and-Play операционной системе. При некорректном роутинге многие устройства просто не будут правильно выполнять свои функции и даже могут вызвать ошибки в работе системы при попытке их задействования. Стандартный роутер, устанавливаемый при инсталляции Windows 98/98 SE, рассчитан только на механизм распределения IRQ, поддерживаемый чипсетами Intel, для чипсетов же VIA он несколько другой. Именно для того чтобы система могла правильно "раздать" векторы прерываний всем установленным в компьютере устройствам, которым они требуются, и служит VIA IRQ Routing Driver. Думаем, совершенно излишне объяснять далее, насколько необходима его инсталляция для правильного функционирования всей ОС.

Небольшая тонкость: перед установкой IRQ Routing Driver VIA рекомендует разрешить в BIOS работу встроенного в чипсет USB-контроллера (обоих каналов, если он двухканальный) и выделение IRQ для контроллера USB. После инсталляции драйвера и последующей перезагрузки установки можно вернуть в привычное состояние (если они отличаются от указанных выше).

IDE BusMaster Driver

Этот драйвер, по сути, разбит на две независимые части, каждая из которых является самостоятельным драйвером, при этом по функциональности обе части одинаковы и взаимозаменяемы. В VIA 4-in-1 Drivers Pack входит только одна разновидность — VSD (Vendor Support Driver), если же используется отдельный пакет VIA IDE BusMaster Driver, то пользователю предоставляется возможность выбора из двух вариантов — вышеупомянутого VSD и "полноценного" Miniport Driver (VXD). VSD — это драйвер, работающий совместно с универсальным драйвером Windows для всех IDE BusMaster-контроллеров, в то время как Miniport Driver полностью заменяет стандартный драйвер Windows.

Позиция самой VIA по этому поводу примерно следующая: "VSD-драйвер предоставляет лучшую совместимость со всеми IDE/EIDE/ATAPI-устройствами, в то время как Miniport Driver обладает несколько большим быстродействием, но (потенциально) в ряде случаев может оказаться несовместимым с некоторыми конкретными моделями накопителей". Соответственно, 4-in-1 Drivers Pack как решение "для всех" содержит только VSD-вариант, ну а более "рисковым" пользователям предоставляется возможность установить Miniport Driver из отдельного дистрибутива. В целом же оба драйвера служат одной цели — позволить корректно задействовать поддерживаемые контроллером IDE, встроенным в южный мост, "скоростные" режимы передачи данных (Ultra ATA/66/100).

VIA GART (Graphics Address Relocation Table) Driver (VIA AGP Driver)

Этот драйвер многие называют "драйвером AGP", но такая формулировка несколько некорректна, потому что и сама шина AGP, и даже некоторые AGP-видеокарты могут вполне безболезненно функционировать и без установки этого драйвера. GART Driver обеспечивает возможность задействования только одной из возможностей шины AGP, а именно позволяет AGP-видеокарте использовать часть системного ОЗУ как продолжение своей собственной памяти, организуя там буфер для хранения текстур (так называемый режим DiME — Dynamic in Memory Execution).

Те видеочипы, которые могут работать в режиме DiME, делают это посредством GART-драйвера. Однако то, что видеокарта вставляется в слот AGP вовсе не свидетельствует о том, что она использует DiME. Например, все без исключения видеокарты на чипах 3dfx не поддерживают DiME (это связано с архитектурой самих чипов), поэтому им GART-драйвер совершенно ничего не дает, они просто "не чувствуют" его присутствия в системе. В случае же, если видеокарта пытается задействовать GART, а в системе он не установлен, как правило, следует "мертвое" зависание при первой же попытке запустить приложение, использующее 3D-акселератор (в то время как работа в GUI-приложениях может протекать вполне нормально).

Проблемы

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

Платы на чипсетах VIA и видеокарты на чипах NVIDIA

При некоторых комбинациях конкретных моделей материнских плат на чипсете VIA Apollo Pro133/133A и видеокарт на базе чипов NVidia серий TNT2 и GeForce на самом деле наблюдается факт аппаратной несовместимости, выражающийся в "зависании" системы, как правило, при работе программ, использующих API Direct3D. В самом худшем случае возможен вариант, когда проблема является действительно неразрешимой, т. е. настроить данную конкретную комбинацию на нормальную работу не удается никакими средствами. С аппаратной точки зрения вопрос "вины" остается до конца не выясненным ("кандидатов", по сути, целых четыре: материнская плата, чипсет, видеокарта, видеочип). Тем более что, с одной стороны, платы на Apollo Pro133/133A, свободные от этого дефекта, существуют, а с другой — то, что подобного рода "нелюбовь" демонстрируют только графические чипы NVidia, тоже наводит на определенные мысли. Совет поэтому может быть только один — либо избегать указанной комбинации, либо при сборке готовой системы выяснять наличие/отсутствие этого явления "по факту", т. е. путем достаточно продолжительного тестирования на каком-либо Direct3D-приложении.

IDE-контроллер южного моста VIA и Ultra ATA/33 CD-ROM (CD-RW, DVD)

Замечено, что некоторые приводы ATAPI CD-ROM (CD-RW, DVD), поддерживающие режим Ultra ATA/33, некорректно работают при подключении к VIA BusMaster IDE-контроллеру, входящему в состав южных мостов VIA, через стандартный 40-жильный кабель. Проблема заключается в нарушении целостности данных при чтении дисков или же в неправильном опознании формата диска при первом обращении. Способов ее решения существует два. Самый простой — запретить c помощью BIOS или диагностической утилиты из комплекта VIA IDE BusMaster Drivers использование Ultra ATA для такого накопителя. Второй способ может применяться в случаях, когда нет желания искусственно ограничивать производительность привода, — тогда необходимо его подключать с помощью 80-жильного Ultra ATA/66-кабеля (несмотря на то что устройство будет работать в режиме Ultra ATA/33!).

Выключение вторичного канала IDE посредством BIOS

В случае если вторичный канал VIA IDE-контроллера был отключен посредством BIOS, менеджер устройств Windows 98 может "потерять" оба канала IDE (показывать их как выключенные), а также определять USB-контроллер как выключенное устройство со статусом "Code 12". Реакция Windows 98 SE на отключение вторичного канала с помощью BIOS также неадекватная, но немного другая: контроллер IDE опознается как неправильно функционирующее устройство и вызывает конфликт ресурсов при запросе на прерывание. Пользователи Windows 98 SE могут справиться с этой проблемой, загрузив "заплатку" от Microsoft, находящуюся по адресу www.entry.kiev.ua/Support/245682US8.exe, пользователям же Windows 98 рекомендуется либо обновить ОС до Windows 98 SE (и потом применить вышеуказанный метод), либо пользоваться для выключения вторичного канала IDE функциями менеджера устройств Windows, а не BIOS.

Звуковая подсистема южного моста VIA 686A/B, игровой порт

На некоторых платах, использующих южные мосты VIA VT82C686A(B), может возникнуть такая проблема: после удаления из менеджера устройств встроенной в чипсет звуковой карты (AC'97 Audio) джойстик для игрового порта остается в списке существующих устройств. Происходит это оттого, что драйвер игрового порта (vjoyd.vxd) реально не может определить отсутствие или наличие устройства в системе, поэтому, будучи единожды установленным, продолжает запускаться каждый раз при старте системы. Решение проблемы элементарно: следует просто удалить устройство вручную.

Особенности системного мониторинга южных мостов 686A/B

Ввиду того что линии датчиков съема температуры инвариантны, на некоторых материнских платах сенсоры используются не в привычном порядке (сенсор # 1 — для съема температуры CPU, сенсор # 2 — для съема температуры системного блока), а наоборот. Программа VIA Hardware Monitoring System не предусматривает настройку соответствия температур номерам сигнальных линий, поэтому в качестве температуры CPU в этом случае будет отображаться температура системного блока, и наоборот. Для того чтобы исправить эту ошибку, следует обновить ПО VIA Hardware Monitoring System до версии 2.02, после чего отредактировать в любом текстовом редакторе файл HMHARD.DAT, находящийся в каталоге проинсталлированного ПО. Для прямого включения датчиков температуры файл должен содержать следующие строки:

CPU_TEMP_PIN = 1

SYSTEM_TEMP_PIN = 2

Для инверсного включения номера датчиков температуры CPU и системного блока следует поменять местами:

CPU_TEMP_PIN = 2

SYSTEM_TEMP_PIN = 1

"Пробуждение" от USB-клавиатуры

Некоторые системы, базирующиеся на материнских платах, в которых использованы южные мосты VIA (напомним, что это могут быть не только платы, полностью собранные на чипсетах VIA, но и, к примеру, платы на AMD-750/760), могут отказываться выходить из "спящего" режима по запросу от USB-клавиатуры, даже в случае, когда USB Keyboard wake-up заявлена в документации как реализованная функция. Связано это с тем, что далеко не все USB-клавиатуры поддерживают ACPI, поэтому реально эта проблема вообще не имеет отношения к чипсетам VIA. Также следует знать, что обслуживание wake-up-запросов от устройств USB появилось в чипсетах VIA только начиная с южного моста VIA VT82C686A ревизии CF, все более ранние продукты просто не поддерживают эту функцию.

Драйверная поддержка чипсетов VIA под Windows 2000

При работе систем на базе чипсетов VIA под управлением ОС Windows 2000 могут возникать сбои, связанные с некорректной работой AGP, при выходе такой системы из режима Suspend. Это происходит из-за неправильного порядка инсталляции драйверов поддержки чипсета, а именно при установке GART-драйвера для чипсетов VIA раньше VIA INF Driver. Эта проблема также может быть вызвана установкой ранних версий VIA 4-in-1 Drivers Pack, младших, чем 4.03. Помочь в этом случае может, увы, только полная переустановка системы с последующей корректной инсталляцией драйверов поддержки чипсета.

Послесловие

Как мы уже писали выше, основная цель этой статьи — объяснить нашим читателям, чем реально вызвано настороженное отношение некоторых пользователей к продукции VIA, и по возможности рассеять успевшие возникнуть мифы о ненадежности и/или большом количестве ошибок в ее чипсетах. VIA Technologies за короткое время смогла из "гадкого утенка" превратиться в одного из ведущих поставщиков наборов микросхем для производства материнских плат, поэтому то, что с этими платами придется иметь дело, — свершившийся факт. А раз так, то не стоит прятать голову в песок или отговариваться, цитируя вышеупомянутые "мифы", следует просто объективно изучать продукцию этой фирмы и знать, как правильно с ней обращаться, чтобы не создавать ни себе, ни пользователям лишних проблем.