|
Совместимость стандартов AGP | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Константин Ворон (int13H) 25.07.2003
0. Вместо предисловияВ последнее время в конференциях появилось огромное количество вопросов по стандарту AGP, и, в частности, по совместимости видеокарт и материнских плат. Эта статья представляет собой попытку рассказать об этом интерфейсе, и дать ответ на интересующие многих вопросы, в частности, о совместимости старых материнских плат с новыми видеокартами. Итак, магистральный интерфейс AGP. Называть его шиной не совсем верно - на несколько слотов расширения он не был рассчитан изначально, и, хотя в спецификации AGP 3.0 есть упоминание о возможности подобных конфигураций, в железе ничего подобного так и не появилось. Этот интерфейс был разработан фирмой Intel для подключения видеокарт. При его внедрении строились грандиозные планы - предполагался почти полный отказ от локальной видеопамяти, и использование вместо нее системной. Первым шагом в этом направлении стала видеокарта Intel 740 - на ней устанавливался относительно небольшой объем памяти, использовавшийся под буфер кадра и Z-буфер, а все текстуры хранились только в системной памяти. Но путь оказался тупиковым - относительно медленная системная память не смогла соперничать с широкими и быстрыми шинами памяти видеокарт - отказ от модулей расширения позволил реализовать 128- и 256-битный доступ, а существенно более мягкие требования к отказоустойчивости отдельных ячеек памяти позволили поднять частоту даже на тех же самых микросхемах. Все дело в том, что изменение содержимого одной-единственной ячейки видеопамяти на картинку сильно повлиять не способно - изменившую цвет на одном-единственном кадре точку заметить практически невозможно, тогда как в случае систмной памяти такой сбой будет иметь куда более печальные последствия. Причем повысить частоты при таких требованиях к отказоустойчивости можно очень сильно - на стоявшей у меня одно время карте Radeon VE от PowerMagic были установлены микросхемы Hynix HY5DU281622AT-K . Как несложно понять из маркировки, эти микросхемы DDR SDRAM предназначались для использования в качестве системной памяти с максимальной частотой 133MHz (266 MHz DDR). В качестве видеопамяти же они работали на номинальной частоте 166MHz (333MHz DDR), более того, не давали заметных артефактов при разгоне до частоты 210MHz (420MHz DDR). Так что текстуры соврменные карты хранят в собственной памяти, используя возможности AGP только в случае ее нехватки, а Intel 740 так и остался единственным в своем роде ускорителем, став позже основой встроенного в многие чипсеты от Intel графического ядра I752 - в этом применении его особенности пришлись как раз кстати.
1. AGP 1.0 : Как это было...За основу интерфейса AGP 1.0 была взята шина PCI 2.1, а точнее, ее вариант PCI 32/66 - 32х разрядная шина с частотой работы 66MHz. В стандарте AGP 3.0 предусмотрено расширение разрядности до 64х бит при сохранении обратной совместимости, но пока такие конфигурации не реализованы. Электрически (но не по слоту и разводке) AGP 1.0 остался обратно совместим с PCI, но получил и кое-какие расширения:
Этот вариант AGP довольно быстро стал общим стандартом, VIA, SIS и ALi выпустили собственные чипсеты с поддержкой AGP.
2. AGP 2.0 : ...и начинаются чудеса...Довольно быстро развитие системной памяти привело к тому, что ее пропускная способность превысила пропускную способность AGP 1.0 даже в режиме 2x. Естественно, был разработан новый стандарт - AGP 2.0 . И вот тут-то чудеса и начались... Кроме мелких усовершенствованиях режима Bus Master, оставшегося от PCI, было одно-единственное, но глобальное изменение спецификации - для реализации передач QDR (4 передачи за такт) сигнальные уровни интерфейса были снижены до 1.5V вместо 3.3V в AGP 1.0 . Из-за того, что при таких частотах емкость проводников начинает играть уже существенное значение, понижение уровня логической "1" способно уменьшить потребление выходных каскадов и повысить быстродействие и стабильность. Вопреки распостраненным заблуждениям, напряжение линий, по которым подается питание для чипа и памяти (или их стабилизаторов) не изменилось - все 3 линии, VDD 3.3, VDD 5 и VDD 12 так и остались в разъеме. С 3.3V до 1.5V изменилось только VDDQ - напряжение выходных каскадов чипа. Мало кто знает, но подобное решение уходит корнями еще в спецификацию PCI - изначально эта шина имела уровень логической "1" 5.0V, а в спецификации PCI 2.1 для реализации частоты 66MHz было предусмотрено его снижение до 3.3V. Проблем не возникло, во-первых, потому, что варианты PCI 32/66 и 64/66 широкого распостранения до сих пор не получили, присутствуя только в серверных решениях, а во-вторых, из-за того, что сигнальные уровни шины однозначно задаются ключами слота PCI:
Для совместимости с AGP 1.0 новых материнских плат и видеокарт были предприняты следующие действия:
1) Первый уровень совместимости - ключи разъемов: Карта и разъем AGP 1.0. Сигнальные уровни - 3.3V.
Карта и разъем AGP 1.0/2.0 (Универсальные). Сигнальные уровни настраиваются, 3.3V или 1.5V.
Карта и разъем AGP 2.0. Сигнальные уровни - 1.5V.
AGP Pro - не отдельный стандарт, а просто обратно совместимый слот с дополнительными цепями питания.
Соответственно, несовместимую карту в материнскую плату воткнуть не получится. К сожалению, неправильно вырезанные ключи редко, но встречаются (см. ниже). Если же карта или материнская плата поддерживают несколько сигнальных уровней, то
2) Сигнальные уровни задаются видеокартой, линией TYPEDET# - замыкание ее на землю включает режим 1.5-вольтоых уровней.
3) В зависимости от этого сигнала материнской платой выставляется напряжение VDDQ
4) В зависимости от поданного VDDQ видеокарта устанавливает свои сигнальные уровни.
Пока чипсеты поддерживали режимы AGP 1.0, все было прекрасно. Но после выпуска Intel'ом чипсетов серии 845xx, не поддерживавших сигнальные уровни 3.3V, выяснилось, что не все так гладко, как казалось... Первой, и грубейшей ошибкой производителей была установка на эти платы универсальных слотов, вместо требуемых спецификацией слотов с ключем "1.5V Only". Казалось бы - ничего страшного, VDDQ-то все равно 1.5V, карта стандарта 1.0 просто не запустится, но, как выяснилось, практически все карты стандарта 1.0 не брали VDDQ с разъема, и на входы чипсета, рассчитанные на 1.5V, в таких случаях подавалось 3.3V... Естественно, несчастный северный мост не переносил такого издевательства, и горел напрочь, после чего плату можно было смело выкидывать - оборудование для пайки BGA и запасные мосты были в наличии у очень немногих фирм. К счастью, урок из этого извлекли достаточно быстро, и ключи на слотах появились. Но проблемы не исчезли. Как выяснилось, некоторые карты, не смотря на то, что имели универсальный разъем, с AGP 4x были или совместимы частично, или несовместимы вообще. В лучшем случае карты просто не запускались или работали нестабильно, в худьшем - тупо врубали трехвольтовые уровни, естественно, с последующим летальным исходом для северного моста. Встречались также, например, карты, на которых сигнальные уровни задавались джампером. Естественно, по умолчанию он стоял в положении "3.3V"... К счастью, сигнал TYPEDET# на таких картах, как правило, выдает корректную информацию, так что некоторые производители, например, ASUStek, сделали на этом принципе схему защиты - при высоком уровне TYPEDET# плата не стартует. Понять, какие карты можно ставить на эти чипсеты, а какие нет можно из приведенной ниже таблицы. Для установки на эти чипсеты (а также на все последующие с поддержкой AGP 8x) карта должна поддерживать AGP 2.0: Таблица поддержки стандартов AGP для видеокарт:
* - Карта вставляется в слот AGP, но использует его только как быструю PCI, без расширенных возможностей, описанных выше. 1 - У двухчиповых карт Rage MAXX проблемы с реализацией AGP 2.0. 2 - Возможно, поддержка AGP 1.0 осталась, а ключ в разъеме убран из-за большого потребления карты. 3 - На некоторых картах сигнальные уровни задаются джампером. Модификация TNT 2 Vanta LT не поддерживает AGP 2.0, не смотря на универсальный разъем. 4 - У ранних ревизий карт проблемы с реализацией AGP 2.0. 5 - Заявлено - 3.0, реально - 2.0. 6 - У так и не вышедшего Xabre 80 - только 2.0.
3. AGP 3.0 - ...все чудесатее и чудесатее...Итак, и AGP 2.0 настала пора уйти в отставку - его пропускной способности опять перестало хватать. В новом стандарте 3.0 уровень логической "1" в очередной раз был изменен - уменьшен до 0.8V. Опорная частота интерфейса так и не изменилась, просто был введен режим ODR - передача по линиям AD и SBA с частотой, в 8 раз превышающей опорную. Естественно, добавили две новых линии - GC_AGP8X_DET# и MB_AGP8X_DET# - соответственно, определяющие поддержку AGP 3.0 у видеокарты и материнской платы. Разъем остался тем же самым - AGP 4X/1.5V Only (ох, зря, не наступили бы они опять на те же грабли при отказе от поддержки 1.5V сигнальных уровней), защита обеспечивается линией GC_AGP8X_DET# - при ее высоком уровне материнская плата с поддержкой только AGP 8x стартовать не должна. И, естественно, чудеса с сигнальными уровнями продолжились... По стандарту от Intel, и карта, и материнская плата при наличии поддержки AGP 8x поддерживать режимы с уровнями 3.3V не должна (это совсем не означает отсутствия поддержки режима 1x! Еще в стандарте AGP 2.0 были определены режимы 1x/1.5V и 2x/1.5V). На практике же, хотя материнские платы действительно эту рекомендацию выполняют, с видеокартами все далеко не так. Почти все современные видеокарты с поддержкой AGP 8x имеют и поддержку материнских плат стандарта AGP 1.0 (единственное исключение - Radeon 9600). Другое дело, что совместимость по сигнальным уровням - необходимое, а не достаточное условие работоспособности. Например, старые блоки питания чего-нибудь типа Radeon 9700 просто, как правило, не выдерживают. Но примеры работающих конфигураций есть, так что при желании любую карту, даже Radeon 9800 PRO, можно поставить на Intel 440BX, например. Но имеет ли смысл? Таблица поддержки стандартов AGP для чипсетов:
1 - У ранних плат, возможно, для стабильной работы режима 4x потребуется вручную подобрать AGP Driving Value. 2 - Поскольку матерных выражений редактор не одобряет, я ничего не буду говорить про реализацию AGP у этого чипсета и материнских плат на нем. Типы работающих видеокарт узнаются только подбором...
Ну и, до кучи: Таблица всех режимов AGP:
Как видно из этой таблицы, в AGP 2.0 и 3.0 от режимов 1x и 2x не отказались, а просто перевели их на сигнальные уровни 1.5V. Так что не удивляйтесь, увидев вариант "1x" в настройках режима AGP на новых платах.
4. А теперь о том, что из этого следует, и как это все применить на практике.
5. Старые платы и новые видеокарты - как заставить работать?В этом разделе собрано большинство проблем, которые могут возникнуть при установке новых видеокарт на старые материнские платы:
Материалы:Intel AGP 3.0 Specification Update
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
На главную страницу |
Главная | Справочник | FAQ | Статьи | Загрузки | Контакты | Конференция
Логотипы, торговые марки и прочие зарегистрированные знаки принадлежат их правообладателям.
Copyright © 2001 - 2024, Radeon.ru Team.
Перепечатка материалов запрещена.
Александр Ефимов (IdeaFix)