Как взаимодействуют шины цп pci и agp
Шина персонального компьютера (PC) претерпела множество изменений в связи с повышаемыми к ней требованиями. Исходным расширением шины PC была Industry Standard Architecture (ISA), которая, несмотря на свои ограничения, все еще используется для периферийных устройств c преимущественно низкой шириной полосы пропускания, как, например, звуковые карты типа Sound Blaster. Шина Peripherals Connection Interface (PCI), стандарт пришедший на смену спецификации VESA VL bus, стала стандартной системной шиной для таких быстродействующих периферийных устройств, как, например, дисковые контроллеры и графические платы. Тем не менее, внедрение 3D графики угрожает перегрузить шину PCI.
Ускоренный графический порт (AGP); это расширение шины PCI, чье назначение — обработка больших массивов данных 3D графики. Intel разрабатывала AGP для решения двух проблем перед внедрением 3D графики на PCI. Во-первых, 3D графике требуется как можно больше памяти информации текстурных карт (texture maps) и z-буфера (z-buffer). Чем больше текстурных карт доступно для 3D приложений, тем лучше выглядит конечный результат. При нормальных обстоятельствах z-буфер, который содержит информацию, относящуюся к представлению глубины изображения, использует ту же память, что и текстуры. Этот конфликт предоставляет разработчикам 3D множество вариантов для выбора оптимального решения, которое они привязывают к большой значимости памяти для текстур и z-буфера, и результаты напрямую влияют на качество выводимого изображения.
Разработчики PC имели ранее возможность использовать системную память для хранения информации о текстурах и z-буфера, но ограничением в этом подходе была передача такой информации через шину PCI. Производительность графической подсистемы и системной памяти ограничиваются физическими характеристиками шины PCI. Кроме того, ширина полосы пропускания PCI, или ее емкость, не достаточна для обработки графики в режиме реального времени. Чтобы решить эти проблемы, Intel разработала AGP.
Если определить кратко, что такое AGP, то это — прямое соединение между графической подсистемой и системной памятью. Это решение позволяет обеспечить значительно лучшие показатели передачи данных, чем при передаче через шину PCI, и явно разрабатывалось, чтобы удовлетворить требованиям вывода 3D графики в режиме реального времени. AGP позволит более эффективно использовать память страничного буфера (frame buffer), тем самым увеличивая производительность 2D графики также, как увеличивая скорость прохождения потока данных 3D графики через систему.
Определением AGP, как вида прямого соединения между графической подсистемой и системной памятью, является соединение point-to-point. В действительности, AGP соединяет графическую подсистему с блоком управления системной памятью, разделяя этот доступ к памяти с центральным процессором компьютера (CPU).
Через AGP можно подключить только один тип устройств — это графическая плата. Графические системы, встроенные в материнскую плату и использующие AGP, не могут быть улучшены.
Производительность текстурных карт
Определение Intel, подтверждающее, что после реализации AGP становится стандартом, следует из того, что без такого решения достижение оптимальной производительности 3D графики в PC будет очень трудным. 3D графика в режиме реального времени требует прохождения очень большого потока данных графическую подсистему. Без AGP для решения этой проблемы требуется применение нестандартных устройств памяти, которые являются дорогостоящими. При применении AGP текстурная информация и данные z-буфера могут хранится в системной памяти. При более эффективном использовании системной памяти графические платы на базе AGP не требуют собственной памяти для хранения текстур и могут предлагаться уже по значительно более низким ценам.
Теоретически PCI могла бы выполнять те же функции, что и AGP, но производительность была бы недостаточной для большинства приложений. Intel разрабатывала AGP для функционирования на частоте 133 MHz и для управления памятью по совершенно другому принципу, чем это осуществляет PCI. В случае с PCI, любая информация, находящаяся в системной памяти, не является физически непрерывной. Это означает, что существует задержка при исполнении, пока информация считывается по своему физическому адресу в системной памяти и передается по нужному пути в графическую подсистему. В случае с AGP Intel создала механизм, в результате действия которого, физический адрес, по которому информация хранится в системной памяти, совершенно не важен для графической подсистемы. Это — ключевое решение, когда приложение использует системную память, чтобы получать и хранить необходимую информацию. В системе на основе AGP не имеет значения, как и где хранятся данные о текстурах, графическая подсистема имеет полный и беспроблемный доступ к требуемой информации.
Intel ожидает, что AGP будет внедрен почти в 90% всех систем к концу столетия. Индустрия компьютерной графики как сообщество разработчиков аппаратных и программных средств поддержала и приняла спецификацию AGP. В отличие от PCI, где существует много соперничающих между собой различных устройств для управления шиной, в случае с AGP единственным устройством является графическая подсистема. Ожидается, что первоначально, к концу 1997 года, Intel начнет поставки материнских плат с поддержкой AGP для систем на базе Pentium II. Предположительно, поддержка AGP будет реализована в новых чипсетах Intel для систем на базе Pentium Pro и Pentium II под наименованием i440LX и позднее — i440BX. Поддержки со стороны Intel AGP для системных плат для Pentium не ожидается. Правда, конкуренты Intel по производству и разработке чипесетов уже анонсировали собственные наборы логики с поддержкой AGP для систем на базе Socket7; это SiS и VIA в альянсе с AMD.
Дизайн шины AGP призван преодолеть ограничения шины PCI при передаче данных в системной памяти. AGP позволяет улучшить физическую скорость передачи данных, работая на тактовой частоте в 66 MHz, по сравнению с 33 MHz тактовой частоты шины PCI, и, кроме того, AGP обеспечивает согласованное управление памятью, которое допускает разбросанность данных в системной памяти и их быстрое считывание случайным образом. AGP позволяет увеличить не только производительность 3D графики в режиме реального времени за счет ускорения вывода текстур, но и уменьшает общую стоимость создающихся высокопроизводительных графических подсистем, за счет использования существующих архитектур системной памяти.
Агрессивная рекламная политика, которую проводит Intel в отношении AGP, вынудила нас разобраться в действительных преимуществах этой технологии. Для этого было проведено тестирование двух идентичных видеокарт Diamond Viper V330, одна из которых имеет шину PCI, а другая — AGP. Причем, нашей задачей стояло не столько выявить увеличение производительности при воспроизведении трехмерной графики, сколько оценить смысл применения видеокарт с шиной AGP вообще. Поэтому было проведено тестирование не только работы в 3D, но и 2D, а также была оценена скорость прямого доступа к видеопамяти.
Для получения реальной разносторонней картины тесты были выполнены под Windows 95 в трех случаях. Во-первых, на материнской плате SOYO SY-6KB с чипсетом Intel 440LX под процессор Pentium II. Во-вторых, на материнской плате SOYO SY-5ED5/Mс чипсетом VIA Apollo VP-3, в которую устанавливаются процессоры семейства Pentium. При тестировании использовались процессоры Pentium II — 233 МГц, Pentium MMX 200 МГц и AMD K6 200 МГц; 32 Мбайта SDRAM; жесткий диск Quantum Fireball ST 2.1 Гбайта.
- На компьютере установлена Windows 95 OSR 2.1, то есть поверх OSR 2 установлена поддержка USB (USBSUP.EXE). Смысл этой операции заключается в том, что этот патч содержит новый менеджер памяти VMM32.VxD, имеющий поддержку DIME AGP
- Установлен драйвер VGARTD.VxD. Для чипсета 440LX он входит в комплект видеодрайверов, а для других чипсетов необходима установка собственного Virtual GART Driver, который идет в комплекте с материнской платой.
- Установлен DirectX 5.0
Однако, выполнение всех этих условий качественно на работу AGP-видеокарты не повлияло.
Что же нас так удивило? Смотрите. Это результаты для Pentium II 233MHz на плате с чипсетом 440LX
PCI | AGP | |
---|---|---|
GSPEED | 472 | 577 |
Winbench 97 (Business/Hi-End Graphics Winmark) | 64.7/37.9 | 60.2/37.8 |
3D Winbench 97 | 207 | 209 |
X-Demo, fps | 51.5 | 54.5 |
Это получено на Pentium MMX 200 МГц. Плата с чипсетом VIA Apollo VP-3:
PCI | AGP | |
---|---|---|
GSPEED | 274 | 304 |
Winbench 97 (Business/Hi-End Graphics Winmark) | 55.6/33.4 | 53.9/34.6 |
3D Winbench 97 | 131 | 132 |
X-Demo, fps | 42.0 | 43.0 |
А это — на AMD K6 200 МГц. Плата с чипсетом VIA Apollo VP-3
PCI | AGP | |
---|---|---|
GSPEED | 183 | 186 |
Winbench 97 (Business/Hi-End Graphics Winmark) | 56.9/34.9 | 53.9/34.6 |
3D Winbench 97 | 115 | 116 |
X-Demo, fps | 41.0 | 41.7 |
Здесь результат по GSPEED приведен по разрешению 1024x748x32bit, WinBench 97 выполнялся в разрешении 1024x748x32bit, 3D WinBench работал в разрешении 640х480х16bit, а X-Demo — в разрешении 800x600x16bit.
Таким образом, оказывается, что AGP практически никакого прироста производительности не дает. То есть, исходя из того, что с увеличением мощности процессора увеличивается и производительность графики, а частота шины при этом не меняется, можно сделать вывод о том, что вся загвоздка не в скорости передачи данных по шине, а в мощности процессора, который эти данные должен выдавать. Стандартной шины PCI хватает для того объема информации, который передается в настоящий момент по ней. Это и не удивительно. 3D-акселератор может отрисовать прорву текстурированных треугольников, в то время как процессор не успевает обеспечивать его работой.
Так что мифы об AGP придется развеять. AGP не дает преимущества перед обычными видеоплатами благодаря своей огромной пропускной способности. Действительно, даже в еще не используемом стандарте х2 пропускная способность AGP 528 Мбайт/с, а SGRAM, установленная на карте и работающая уже сегодня на частотах выше 66 МГц, обеспечивает те же самые 528 Мб/с одним пинком. Единственное, для чего может понадобиться AGP сегодня, — это для удешевления системы за счет выкидывания видеопамяти с видеоплаты.
Но в единственном случае иметь плату с AGP оказывается все-таки выгоднее. Если выводится трехмерная картинка с большими текстурами, не помещающимися в память на видеоплате, то большая пропускная способность шины может внести свой вклад. Это подтверждают и тесты, выполненные г-ном Томасом Пабстом. Но в настоящий момент и в ближайшем будущем игры с такими размерами текстур вряд ли появятся.
Изменение в этой ситуации может внести выход графического процессора Intel 740, который будет работать только с шиной AGP, и обеспечивать высокую производительность (по предварительным оценкам, значительно выше, чем Riva 128). За счет отсутствия памяти для текстур на самой плате видеокарты на нем будут сравнительно дешевы. А до этого покупать карту на AGP смысла не имеет. Даже новый видеочипсет Voodoo 2 от фирмы 3Dfx не поддерживает режим AGP x2 (Sideband addresing) и не может располагать текстуры в основной памяти. Иными словами, он работает просто в режиме PCI 66 Mhz 32 бит. Возможно, если бы на видеокарте был установлен графический сопроцессор, эффект от AGP мог бы быть также замечен. Но такие решения стоят немалых денег.
Буквально на днях, призедент компании ASUSTeK Computer Inc. (ASUS) сказал такую фразу: "Чтобы эффект от использования AGP был действительно реальным, необходимо использовать систему со 100 Mhz шиной, а это значит, как минимум, чипсет i440BX и процессор не ниже Pentium II 350 MHz."
Еще ранним летом прозвучал анонс от Elitegroup, извещающий о том, что компания собирается выпустить уникальную системную плату на базе нового чипсета i915, которая предусматривает наличие не только нового интерфейса PCI-Express, но и хорошо всем знакомого AGP. При этом последний был загадочно назван AGP-Express, видимо в пику термину PCI-Express.
Как известно, в чипсетах i9xx серии нет аппаратной поддержки AGP, и быть не может. И тогда еще гадали, как ECS смогла все же реализовать сие? Были предположения насчет некоторого моста, самостоятельно разработанного компанией или с помощью сторонних разработчиков.
Но все оказалось более прозаичным. Установленный слот AGP-Express - это тот же PCI 33MHz с разрядностью в 32бит. Просто вместо одного обычного слота PCI разработчики установили AGP, поскольку сама природа AGP — это ускоренный «отросток PCI».
Если даже AGP 1x работал на 66 МГц, то здесь мы видим, что это нечто вроде AGP 0.5x. Сразу закрадываются сомнения в востребованности такого слота, и вообще в том, что оно может дать.
- ATI RADEON 9700 PRO
- ATI RADEON 9200
- NVIDIA GeForce4 Ti4200-8x
- NVIDIA GeForce4 MX440-8x
- NVIDIA GeForce MX4000
- NVIDIA GeForce FX 5600
- NVIDIA GeForce FX 5900 Ultra
- NVIDIA GeForce FX 5950 Ultra
- SIS Xabre 200
- SIS Xabre 400
- SIS Xabre 600
- ATI RADEON 7000
- ATI RADEON 9000 PRO
- NVIDIA Riva TNT2 M64
- NVIDIA GeForce 256
- NVIDIA GeForce 256 DDR
- NVIDIA GeForce 2 GTS
- NVIDIA GeForce 2 PRO
- NVIDIA GeForce 2 Ultra
- NVIDIA GeForce 2 MX
- NVIDIA GeForce 2 MX200
- NVIDIA GeForce 2 MX400
- NVIDIA GeForce 3
- NVIDIA GeForce 3 Ti500
- NVIDIA GeForce 4 MX420
- NVIDIA GeForce 4 MX440
- NVIDIA GeForce 4 Ti4400
- NVIDIA GeForce 4 Ti4600
Как мы видим, список очень небогат. Справедливости ради, надо отметить, что несколько более новых AGP-карт, которых нет в списке, оказались способны работать на такой материнке.
К сожалению, надо отметить, что протестировать работу AGP и PCI-E аналогов от ATI нам не удалось, поскольку у канадской компании на сегодня имеются PCI-E карты: X300SE,X300,X600PRO,X600XT,X800XT, у которых есть аналоги в AGP-секторе: 9600SE,9600,9600PRO,9600XT,X800XT. Так вот, ни одна из перечисленных выше AGP-плат на этой системной плате не запустилась:-(. Поэтому вашему вниманию будет предложено сравнение только между видеокартами на базе процессоров NVIDIA.
Вернемся к самой материнке. Вот ее краткое описание. Более подробно о ней сможете прочитать в обзоре данной платы в разделе «Системные платы» нашего сайта (вскоре он выйдет).
ECS 915P-A (Intel 915-P NB, ICH6 SB; DDR333/400 or DDR2533/400. LGA775 socket. |
---|
Установка и драйверы
- Компьютер на базе Pentium4 Overclocked 3200 MHz (Prescott)
- процессор Intel Pentium4 3600 MHz (225MHz x 16; L2=1024K, LGA775); Hyper-Threading включен
- системная плата ECS 915P-A на чипсете i915-P;
- оперативная память 1 GB DDR2 SDRAM 300MHz;
- жесткий диск WD Caviar SE WD1600JD 160GB SATA.
Надо отметить, что по умолчанию в драйверах обеих компаний включены оптимизации трилинейной фильтрации.
Сегодня в качестве соперников выступили:
- NVIDIA GeForce 5900XT (Prolink PixelView FX5900XT Golden, частота снижена до 350/275 (550) MHz, 128MB) — против NVIDIA GeForce PCX5900 (Gigabyte GeForce PCX5900, частота 350/275 (550) MHz, 128MB);
- NVIDIA GeForce 5700 (Leadtek WinFast A360TD, 425/250 (500) MHz, 128MB) — против NVIDIA GeForce PCX5750 (MSI PCX5750, частота 425/250 (500) MHz, 128MB);
- NVIDIA GeForce 6800GT (Galaxy Glacier GeForce 6800GT, частота снижена до 350/500 (1000) MHz, 256MB) — против NVIDIA GeForce 6800GT PCI-E (Reference card, частота 350/500 (1000) MHz, 256MB);
- NVIDIA GeForce 6800Ultra (Leadtek WinFast A400 Ultra, частота снижена до 400/550 (1100) MHz, 256MB) — против NVIDIA GeForce 6800 Ultra PCI-E (Reference card, частота 400/550 (1100) MHz, 256MB);
Результаты тестов
Результаты тестов: сравнение производительности
Также, если кто-то из читателей хочет получить демки-бенчмарки, которыми мы пользуемся, то напишите на мой e-mail.
Code Creatures
TR:AoD, Paris5_4 DEMO
FarCry, demo01
Call of Duty, ixbt04
HALO: Combat Evolved
Splinter Cell
DOOM III
3DMark05: Game1
3DMark05: Game2
3DMark05: Game3
3DMark05: MARKS
Что мы можем увидеть? Просаживание скорости подчас просто катастрофично! Особенно это касается игр, где видеопроцессор не сильно загружен шейдерами и иными вычислениями.
Очевидно, что чем меньше мощности у видеокарты, тем меньше потери, которые вообще пропадают, если речь идет о PCX5700 или PCX5900 в сравнении с соответствующими им аналогами в играх с интенсивным использованием шейдеров (все упирается в возможности самих GPU).
Полагаю, что даже при таком сильном минусе, и, казалось бы, совершенной ненужности AGP-Express, все же такое решение ECS вполне оправдано. Ведь это все дает возможность пользователю не покупать сразу и системную плату, и процессор, и видеокарту на базе PCI-E, хотя бы оставить последнюю на базе AGP. Да, он потеряет что-то в скорости, но все же компьютер будет работать, и можно как-то дотянуть до того момента, когда уже можно купить и новую видеокарту. Разумеется, если старая AGP-видеокарта будет работать на такой материнке (см. начало материала).
Самый главный вывод: данное решение ECS — это не панацея, и не выход из ситуации, когда можно не менять AGP-видеокарту при апгрейде платформы в целом. Все же полноценного AGP совместно с i9xx просто быть не может. Компания ECS лишь предложила более мягкий вариант перехода на новую платформу для владельцев НЕКОТОРЫХ видеокарт, которые входят в вышеприведенный список (плюс линейка GeForce 6800).
Есть и еще один важный плюс: можно установить ДВЕ видеокарты на одной системной плате (AGP+PCI-E), и они будут работать вместе, что позволит подключить до 4-х мониторов одновременно, и работать с 2D-графикой с комфортом.
В заключение хотелось бы сказать, что в Сети витают слухи о том, что разводка у AGP-Express не соответствует требованиям для таких разъемов, и видеокарты получают некорректный вольтаж, что может привести к постепенной порче последней. Слухи эти подогреты сведениями от Gigabyte, имеющей подобную системную плату с таким же полуфиктивным AGP, когда этот производитель открыто заявляет, что электрические цепи в этом слоте не соответствуют требованиям и поэтому рекомендует только кратковременную эксплуатацию AGP-видеокарт на своих материнках на базе i915 с подобным слотом. К сожалению, проверить такие вещи не представляется возможным, поэтому я могу лишь вынести данное предупреждение на суд публики.
Более полные сравнительные характеристики видеокарт этого и других классов вы можете увидеть также в наших 3DGiТогах.
Едва карта VLB успела закрепиться на рынке, как в июне 1992 года фирма Intel изготовила новую шину - шину PCI (Peripheral Component Interconnect). Именно этот "периферийный соединительный компонент" находится в большинстве современых компьютеров, де-факто став стандартом для шинной индустрии нашего времени.
Разработчики шины поставили своей целью создать принципиально новый интерфейс, который бы не являлся усовершенствованиями других технологий (как, например EISA), не зависел от платформы (то есть мог работать с будущими поколениями процессоров), имел высокую производительность и был дешев в производстве. Ну а если за дело взялась Intel, то можно было не сомневаться, что цель будет достигнута. Благодаря отказу от использования шины процессора шина PCI оказалась не только процессоронезависимой, но и могла работать самостоятельно, не обращаясь к последней с запросами. Например, процессор может работать с памятью, в то время как по шине PCI передаются данные. Основополагающим принципом шины PCI является применение так называемых мостов (Bridges), которые осуществляют связь шины с другими компонентами системы (например, PCI to ISA Bridge). Другой особенностью является реализация так называемых принципов Bus Master и Bus Slave. Например, карта PCI-Master может как считывать данные из оперативной памяти, так и записывать их туда без обращения к процессору. Карта PCI-Slave (например, графический контроллер), как вы, наверное, уже догадались, может только считывать данные.
В чем же секрет столь широкой распрстраненности этой шины в сегодняшнем мире персональных компьютеров?
- Синхронный 32-х или 64-х разрядный обмен данными (правда, насколько мне известно, 64-разрядная шина в настоящее время используется только в Alpha-системах и серверах на базе процессоров Intel Xeon, но, в принципе, за ней будущее). При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям
- Шина поддерживает метод передачи данных, называемый linear burst (метод линейных пакетов). Этот метод предполагает, что пакет информации считывается (или записывается) одним куском, то есть адрес автоматически увеличивается для следующего байта. Естественным образом при этом увеличивается скорость передачи собственно данных за счет уменьшения числа передаваемых адресов
- В шине PCI используется совершенно отличный от ISA способ передачи данных. Этот способ, называемый способом рукопожатия (handshake), заключается в том, что в системе определяется два устройства: передающее (Iniciator) и приемное (Target). Когда передающее устройство готово к передаче, оно выставляет данные на линии данных и сопровождает их соответствующим сигналом (Iniciator Ready), при этом приемное устройство записывает их (данные) в свои регистры и подает сигнал Target Ready, подтверждая запись данных и готовность к приему следующих. Установка всех сигналов производится строго в соответствии с тактовыми импульсами шины
- Относительная независимость отдельных компонентов системы. В соответствии с концепцией PCI передачей пакета данных управляет не CPU, а мост, включенный между ним и шиной PCI (Host Bridge Cashe/DRAM Controller). Процессор может продолжать работу и тогда, когда происходит обмен данными с RAM. То же происходит и при обмене данными между двумя другими компонентами системы
- Низкая нагрузка на процессор. Эта особенность вытекает из предыдущей
- Частота работы шины 33 MHz или 66 MHz позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):
- 132 МВ/сек при 32-bit/33 MHz
- 264 MB/сек при 32-bit/66 MHz
- 264 MB/сек при 64-bit/33 MHz
- 528 МВ/сек при 64-bit/66 MHz
При этом для работы шины на частоте 66 MHz необходимо, чтобы все периферийные устройства работали на этой частоте
Существуют и универсальные платы, поддерживающие оба напряжения. Заметим, что частота 66 MHz поддерживается только 3.3 V логикой
- Заголовка, независимого от устройства (device-independent header region)
- Региона, определяемого типом устройства (header-type region)
- региона, определяемого пользователем (user-defined region)
В заголовке содержится информация о производителе и типе устройства - поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и так далее) и прочая служебная информация.
Следующий регион содержит регистры диапазонов памяти и ввода/вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. В зависимости от реализации системы конфигурация устройств производится либо BIOS (при выполнении POST - Power On-Self Test), либо программно. Базовый регистр expansion ROM аналогично позволяет отображать ROM устройства в системную память. Поле CIS (Card Information Structure) pointer используется картами cardbus (PCMCIA). Последние 4 байта региона используются для определения прерывания и времени запроса/владения
В настоящее время используется 32-разрядная шина PCI, работающая на частоте 33 MHz, то есть самая медленная спецификация шины. Но уже сегодня получающихся при этом 132 Mb/s начинает нехватать (кстати, по скоростным показателям PCI сейчас висит на краю системы, как когда-то висела ISA). Поэтому вполне логично, что в ближайшем будущем будут использоваться более скоростные стандарты PCI. Скорее всего, это будет 33-мегагерцевая 64-разрядная шина, так как не все карты, предназначенные для работы на 33 мегагерцах, смогут работать на 66. То, что появится какой-нибудь новый стандарт, претендующий на место нынешней шины в наших компьютерах, маловероятно, во-первых, потому, что PCI получила за эти годы очень большую популярность, и мало кто захочет отказываться от тех PCI-устройств, которые уже выпущены и выпускаются в грандиозных количествах а, во-вторых, потому, что вряд ли Intel допустит появление на рынке конкурента (если, конечно, инициатива не будет исходить не от самой Intel, но это вряд ли). В общем, поживем еще немного - увидим, а сейчас давайте не будем делать каких-либо поспешных прогнозов.
Шина AGP
Получившая в последнее время большое распространение 3D-графика, а также все возрастающая нагрузка на PCI со стороны разных там жестких дисков, сетевых карт и других высокоскоростных устройств привели к тому, что пропускной способности локальной шины для удовлетворения всех этих требований начало явно недоставать. Казалось бы, вот вам простейшее решение: переходите на 66-мегагерцовую 64-разрядную шину PCI, так нет же. Intel на базе того же стандарта PCI R2.1 разрабатывает новую шину - AGP (1.0, затем 2.0), которая отличается от своего родителя в следующем:
- Шина способна передавать два блока данных за один 66 MHz цикл (AGP 2x)
- Устранена мультиплексированность линий адреса и данных (напомню, что в PCI для удешевления конструкции адрес и данные передавались по одним и тем же линиям)
- дальнейшая конвейеризация операций чтения/записи, по мнению разработчиков, позволяет устранить влияние задержек в модулях памяти на скорость выполнения этих операций
В результате пропускная способность шины была оценена в 500 МВ/сек, и предназначалась она для того, чтобы графические карты могли хранить необходимые им данные (текстуры) не только в своей дорогой локальной памяти, установленной на борту, но и в дешевой системной памяти компьютера. При этом они (карты) могли иметь меньший объем этой самой локальной памяти и, соответственно, дешевле стоить.
Принципиально AGP - это вторая магистраль PCI, которая соединена с другими компонентами системы специальным мультимедиа-мостом (Multimedia Bridge).
Парадокс в том, что видеокарты (точнее, их производители) все-таки предпочитают иметь больше памяти, и почти никто не хранит текстуры в оперативной памяти. Во первых, пока еще (но только пока) в современных приложениях не используются такие грандиозные по размеру текстуры, которые требовали бы чересчур много памяти. Во вторых, видеопамять быстро дешевеет и ее увеличение не сильно сказывается на стоимости видеокарты (сейчас карта с 64 Mb стоит почти столько же, как всего год-полтора назад стоила похожая карта с 32 Mb памяти). Хотя главная причина, очевидно, в том, что системная RAM имеет куда меньшее быстродействие, чем локальная видеопамять, и использовать все то, что может предоставить AGP, было бы вряд ли рационально, пусть даже от этого уменьшилась цена видеоадаптера. Тем не менее, все современные видеоккарты имеют интерфейс AGP, потому что, во первых, даже если не использовать прокачку текстур между системной памятью и видеоадаптером, при большой нагрузке на шину PCI со стороны периферии данные от различных устройств (например, процессора или платы видеомонтажа) могут не успевать поступать в видеокарту настолько быстро, насколько это нужно, и, во-вторых, бурно развивающиеся технологии 3D-графики скоро могут привести к тому, что текстуры перестанут помещаться в локальную видеопамять (если, конечно, в системе установлена не самая наворочанная видеоплата с большим объемом RAM). Да и потом, если учесть мощности современных CPU, шина PCI со своими 132 мегабайтами в секунду смотриться очень хило даже для простого обмена данными видеоконтроллера с центральным процессором и другими компонентами системы, так что появление в свое время AGP было действительно востребовано, а сейчас без этого интерфейса просто невозможно представить современный персональный компьютер.
Итак, начнем с самого начала, то есть с AGP 1.0. Шина имеет два основных режима работы: Execute и DMA. В режиме DMA основной памятью является память карты. Текстуры хранятся в системной памяти, но перед использованием копируются в локальную память карты. Таким образом, AGP действует в качестве тыловой структуры, обеспечивающей своевременную доставку "патронов" (текстур) на "передний край" (в локальную память). Обмен ведется большими последовательными пакетами.
В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится выбирать из памяти относительно малые случайно расположенные куски. Поскольку системная память выделяется динамически, блоками по 4 Кb, в этом режиме для обеспечения приемлемого быстродействия необходимо предусмотреть механизм, отображающий последовательные адреса на реальные адреса 4-х килобайтных блоков в системной памяти. Эта нелегкая задача выполняется путем использования специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти.
Шина AGP полностью поддерживает операции шины PCI, поэтому AGP-трафик может представлять из себя смесь чередующихся AGP и PCI операций чтения/записи. Операции шины AGP являются раздельными. Это означает, что запрос на проведение операции отделен от собственно пересылки данных. Такой подход позволяет AGP-устройству генерировать очередь запросов, не дожидаясь завершения текущей операции, что также повышает быстродействие шины.
В 1998 году спецификация шины AGP получила дальнейшее развитие - вышел Revision 2.0. В результате использования новых низковольтных электрических спецификаций появилась возможность осуществлять 4 транзакции (пересылки блока данных) за один 66-мегагерцовый такт (AGP 4x), что дает пропускную способность шины в 1Gb/s. Единственное, чего не хватает для полного счастья, так это чтобы устройство могло динамически переключаться между режимами 1х, 2х и 4х, но, с другой стороны, это никому и не нужно.
Однако потребности и запросы в области обработки видеосигналов все возрастают, и Intel приготовила новую спецификацию - AGP Pro - направленную на удовлетворение потребностей высокопроизводительных графических станций. Новый стандарт не видоизменяет шину AGP. Основное направление - увеличение энергоснабжения графических карт. С этой целью в разъем AGP Pro добавлены новые линии питания.
Вообще говоря, существует два типа карт AGP Pro - High Power и Low Power. Карты High Power могут потреблять от 50 до 110 W. Естественно, такие карты нуждаются в хорошем охлаждении. С этой целью спецификация требует наличия двух свободных слотов PCI с component side (стороны, на которой размещены основные чипы карты).
Причем данные слоты могут использоваться картой как дополнительные крепления, для подвода дополнительного питания и даже для обмена по шине PCI. При этом на использование этих слотов накладываются незначительные ограничения:
- Не использовать для питания линии V I/O
- Не устанавливать линию M66EN (контакт 49В) в GND (что вполне естественно, так как это переводит шину PCI в режим 33 MHz)
- Подсистема PCI I/O должна разрабатываться под напряжение 3.3V c возможностью функционирования при 5 V
- Поддержка 64-разрядного или 66 MHz режимов не требуется
Карты Low Power могут потреблять 25-50 W, поэтому для обеспечения охлаждения спецификация требует наличия только одного свободного слота PCI.
Причем все retail-карты AGP Pro должны иметь специальную накладку шириной соответственно в 3 или 2 слота, из-за этого карта приобретает вид достаточно устрашающий.
В разъем AGP Pro, естественно, можно устанавливать и обычные карты AGP.
Где-то с начала 2001-го года слоты AGP Pro начал вытеснят обычный AGP на большинстве серьезных материнских плат - производители, видно, стали считать, что негоже делать дорогие продукты без поддержки новейших веяний в области компьютерных технологий. Вот только самих видеоплат, которые требовали бы этого разъема, не так-то много. Например, просмотрев прайсы нескольких весьма солидных фирм, торгующих компьютерными комплектующими, я так и не увидел нигде рядом с названием видеокарты соответствуюющей пометочки. Впрочем, это и не удивительно, так как новая спецификация рассчитана прежде всего на профессиональные графические станции, а не на обычный ширпотребный РС (о которых, собственно, и идет речь на страницах этого сайта). Хотя, с другой стороны, можно предположить, что по прошествии некоторого времени начнут активно выпускаться и обычные "пользовательские" карточки, так как при все большей мощности видеочипов и увеличения потребляемого ими тока действительно может потребоваться такое солидное охлаждение и питание - ведь вешают же сейчас на некотрые видеокарты чуть ли не килограммовые радиаторы с вентиляторными лопастями как у вертолета, и эти видеокарты часто не удается заставить сколь-либо нормально работать с дешевыми блоками питания мощностью менее 250 VA (в связи с этим, кстати, было даже как-то придумано решение оснащать плату собственным внешним блоком питания). Закрадывается мысль, что когда-нибудь компьютеры будут продаваться в комплекте с портативной атомной электростанцией, и в них будет использоваться система жидкостного охлаждения! Опять-таки, поживем - увидим.
Читайте также: