Показать меню

AGP

17.12.2020
52

AGP (от англ. Accelerated Graphics Port, ускоренный графический порт) — специализированная 32-разрядная системная шина для видеокарты, разработанная в 1996 году компанией Intel. Появилась одновременно с чипсетами для процессора Intel Pentium MMX; у сторонних производителей появилась в чипсетах MVP3, MVP5 c Super Socket 7. Основной задачей разработчиков было увеличение производительности и уменьшение стоимости видеокарты, за счёт уменьшения количества встроенной видеопамяти. По замыслу Intel, большие объёмы видеопамяти для AGP-карт были бы не нужны, поскольку технология предусматривала высокоскоростной доступ к общей памяти. Её отличия от предшественницы, шины PCI:

  • работа на тактовой частоте 66 МГц;
  • увеличенная пропускная способность;
  • режим работы с памятью DMA и DME;
  • разделение запросов на операцию и передачу данных;
  • возможность использования видеокарт с большим энергопотреблением, нежели PCI.

Модификации AGP

Первая версия (спецификация AGP 1.0) AGP 1x используется редко, поскольку не обеспечивает необходимой скорости работы с памятью в режиме DME.

Сразу же при проектировании была добавлена возможность посылать 2 блока данных за один такт — это AGP 2x.

AGP 4x

В 1998 году вышла вторая версия (спецификация AGP 2.0) — AGP 4x, которая могла пересылать уже 4 блока за один такт и обладала пропускной способностью около 1 ГБ/с. Уровень напряжения вместо обычных 3,3 В был понижен до 1,5 В.

AGP 8x

Шина AGP 8x (спецификация AGP 3.0) передаёт уже 8 блоков за один такт, таким образом, пропускная способность шины достигает 2 ГБ/с. Также в стандарте была заложена возможность использования двух видеокарт (аналогично AMD CrossFireX, Nvidia SLI), однако эта возможность не была использована производителями. Современные видеокарты требуют большой мощности, более 40 Вт, которую шина AGP дать не может, так появилась спецификация AGP Pro с дополнительными шинами питания на разъёме.

Если поддержка режима AGP 8x не обеспечивалась чипсетом, производители материнских плат реализовывали поддержку этого режима, для Socket 478, разными путями (например, компания ASRock представила технологию A.G.I. 8x, реализующую поддержку AGP 8x через слот PCI). По мере появления решений для платформы LGA 775 проблема преемственности графических интерфейсов стала ещё острее — чипсеты Intel серии i9xx поддержку AGP 8x стандартными средствами не обеспечивали. Одной из первых эту проблему решила компания ECS на своей материнской плате 915P-A, оснащенной слотом AGP Express и слотом PCI Express x16 (при этом первый не только позволял устанавливать видеокарты класса AGP 8x, но и допускал одновременное использование двух видеокарт с разными интерфейсами), однако видеокарты заметно теряли в производительности при установке в слот PCI Express (ведь он на уровне пропускной способности был эквивалентен слоту PCI), на слабых видеокартах потери достигали 48 %, на мощных — до 20 % производительности.

Именитая Gigabyte для решения проблемы разработала собственную технологию G.E.A.R. (Gigabyte Enhance AGP Riser), которая также слот AGP 8x реализует средствами PCI. Производитель особо подчеркивает, что это временное решение, предназначенное для непродолжительного замещения видеокарты с интерфейсом PCI Express x16, при этом официально уточняет, что интерфейс G.E.A.R. реализован за счет переключения команд и напряжений PCI на шину AGP, и неизбежное различие в их спецификациях может заметно сократить срок службы установленной в подобный разъем видеокарты класса AGP 8x или AGP 4x.

Доступ к памяти

DMA (англ. Direct Memory Access) — прямой доступ к оперативной памяти компьютера минуя центральный процессор.

AGP GART: вспомогательное, предназначенное для DMA/DME аппаратное устройство в межшинном мосту от AGP слота к вышестоящим шинам на материнской плате (и внутри северного моста чипсета), разновидность IOMMU. Цель GART, как и всех IOMMU, заключается в том, что bitmap текстуры формируется кодом, исполняющимся под управлением ОС со страничной виртуальной памятью, и при этом может быть много больше 1 страницы, что означает — текстура непрерывна в памяти по виртуальным адресам, и совсем не обязательно непрерывна по физическим. Поскольку PCI/AGP/PCIx-контроллер ничего не знает о виртуальных адресах процессора, в простейшем случае его DMA engine увидит массив разрозненных физических страниц. В дисковых/Ethernet/USB/1394/звуковых контроллерах это не является большой проблемой, поскольку ввод-вывод на них последователен и не использует произвольный доступ к произвольным адресам памяти, потому можно применить chain DMA — создать список структур в DMA common buffer, ссылающихся друг на друга (и на страницы самих данных буфера-ввода-вывода) по шинным («физическим») адресам, и заставить контроллер поэтапно читать это список через тот же DMA и исполнять его (именно так проектируются практически все мало-мальски известные PCI/PCIx-контроллеры). Однако 3D-процессор видеокарты обращается к текстуре именно что по разрозненным адресам, и, дабы избежать усложнения самих 3D-видеопроцессоров, в самой шине AGP была реализована таблица трансляции адресов страниц с тех, что контроллер выставил по DMA («шинные») — на физические. Такая технология называется IOMMU. Для ознакомления с данной технологией можно попытаться отыскать в Интернете старый Windows DDK для Windows 2000 или XP, содержащий в разделе «примеры» исходный текст драйвера agp440.sys, который занимался именно программированием AGP GART (и при этом нарушал некоторые правила, изложенные в документации этого же DDK).

DME (англ. Direct in Memory Execute) — доступ со стороны видеокарты через DMA уже не к текстурам, а к execute buffer, в котором драйвер видеокарты строил программу для 3D-процессора, ссылающуюся на текстуры. (ДАЛЕЕ НЕВЕРНО) в этом режиме основная и видеопамять находятся как бы в общем адресном пространстве (неверно: за исключением плоскостной видеопамяти EGA конца 80ых годов для 16цветных режимов графики видеопамять всегда находилась и находится в том же пространстве физических адресов, что и основная память, к DMA/DME это отношения не имеет. Другое дело, что доступ процессора к памяти видеокарты — медленный, по очевидным причинам много медленнее, чем доступ 3D-видеопроцессора, находящегося на той же карте, а также — см. выше про PCI burst mode — намного медленнее, чем доступ 3D-видеопроцессора через DMA к памяти на материнской плате). Общее пространство эмулируется с помощью таблицы отображения адресов (англ. Graphic Address Remapping Table, GART) блоками по 4 Кб (неверно, см. выше). Таким образом копировать данные из основной памяти в видеопамять уже не требуется (неверно: хотя Direct3D и дает такую возможность для приложений и игр, этого практически никто и никогда не делал, см. выше), этот процесс называют AGP-текстурированием.

Очередь запросов

Передача данных из основной памяти в видеопамять карты осуществляется в два этапа, сначала передаётся 64-битный адрес, откуда данные нужно считать, затем идут сами данные. Шина AGP предусматривает два варианта передачи:

  • первый — совместим с шиной PCI — запросы данных и адреса происходят по одному каналу;
  • второй — в режиме SBA (SideBand Addressing), по отдельной боковой шине, таким образом, можно посылать запросы на новые данные, не дожидаясь получения предыдущих.

Развитие

С середины 2000-х материнские платы со слотами AGP практически не выпускаются; стандарт AGP был повсеместно вытеснен на рынке более быстрым и универсальным PCI Express. Массовая замена разъема AGP на PCI-express в новых продуктах началась с середины 2004 года, и уже в 2006 году процесс перехода был, в целом, завершен. Последними материнскими платами с AGP стали платы на чипсетах Intel поколения 8xx, Socket 775 и nForce 3 от nVidia, Socket 939 и AM2.

Некоторое время в малом количестве выпускались видеокарты с подключением AGP для установки в более старые материнские платы. Они стоили дороже аналогичных карт PCI-E из-за использования микросхемы-переходника PCI-E → AGP.

Последней серийно выпускавшейся видеокартой NVIDIA для шины AGP была GeForce 7800gs (XFX, nVidia, 2007 год), позже компанией XFX была выпущена модель 7900GS на 256 и 512Мб, а также самая мощная AGP видеокарта на чипе от NVIDIA — 7950GT AGP. Помимо XFX, выпуском AGP версий 7900GS и 7950GT занимался ряд китайских компаний у которых остались запасы чипов G71: Axle, Galaxy, Palit, Gainward. Для мирового рынка компания Gainward выпускала модели Bliss 7800GS с 20 пиксельными конвейерами (аналог 7900GS) и Bliss 7800GS+ с 24 пиксельными конвейерами (аналог 7950GT, но с немного меньшей частотой). Последними AGP видеокартами от ATI были Radeon HD4650 и Radeon HD4670 (PowerColor, HIS, AMD, представлены летом 2009 года), первая видеокарта использовала видеопамять типа DDR2, вторая же имела на борту более быструю память типа GDDR3. Несмотря на новизну, HD4670 уступала более старой HD3850 из-за того, что имела вдвое более узкую шину — 128 бит против 256 бит у предшественника.

Еще по этой теме:
Acer Iconia 6120
03:15, 17 декабрь
Acer Iconia 6120
Acer Iconia — планшетный компьютер с двумя 14" сенсорными экранами сделанный Acer и открыт 23 ноября 2010 года. В отличие от большинства своих аналогов, Iconia имеет собственный сенсорный интерфейс.
Apple A7
05:56, 13 декабрь
Apple A7
Apple A7 — 64-битный 2-ядерный ARM-микропроцессор компании Apple из серии Apple Ax. Микроархитектура Cyclone. Использует набор инструкций ARMv8. Описание Процессор является первым промышленно
Барретт, Крэйг
14:11, 10 декабрь
Барретт, Крэйг
Крэйг Барретт (англ. Craig Barrett; род. 1939) — американский бизнесмен. Больше всего известен своей многолетней карьерой в корпорации Intel, где дослужился до председателя совета директоров
Developer Transition Kit (2020)
15:19, 08 декабрь
Developer Transition Kit (2020)
Developer Transition Kit (Переходный комплект разработчика) — это прототип компьютера Macintosh на базе ARM, который Apple анонсировала как первый шаг в переходе с использования процессоров Intel
nForce2
10:54, 08 декабрь
nForce2
nForce2 — чипсет для материнской платы, выпущенный фирмой nVidia в 2002 г. Поддерживал процессоры Athlon, Athlon XP, Duron и Sempron Socket A. Имел поддержку системной шины 100(200), 133(266) и
Yamaha V9990
23:31, 07 декабрь
Yamaha V9990
Yamaha V9990 — электронный компонент, микросхема видеоконтроллера (VDP, Video Display Processor), разработанная компанией Yamaha в 1992 году. Также имеет название E-VDP-III. Создана как универсальное
Комментарии:
Добавить комментарий
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent