Cтандарты РСI и AGP. Техническая документация

Cтандарты РСI и AGP. Техническая документация

Восстановление данных

Интерфейсы ПК

Фирма Intel, заметив, что дальнейшее повышение общей производительности персонального компьютера «упирается» в видеоподсистему, в свое время предложила выделить для передачи потока видеоданных отдельную интерфейсную шину AGP (Accelerated Graphics Port - ускоренный графический порт). Этот стандарт быстро вытеснил существовавшие ранее интерфейсы, использовавшиеся видеокартами: ISA, VLB и PCI.
Главным преимуществом шины AGP стала высокая пропускная способность. Если шина ISA позволяла передавать до 5,5 Мбайт/с, VLB - до 130 Мбайт/с, a PCI - до 133 Мбайт/с, то шина AGP теоретически имеет пиковую пропускную способность до 1066 Мбайт/с (в режиме передачи четырех 32-разрядных слов).
Компания Intel разрабатывала интерфейс AGP для решения двух основных проблем, связанных с особенностями обработки ЗD-графики на персональном компьютере. Во-первых, ЗD-графика требует выделять как можно больше памяти для хранения данных текстур и Z-буфера. Чем больше текстурных карт доступно для ЗD-приложений, тем лучше выглядит картинка на экране монитора. Обычно для Z-буфера используют ту же память, что и для текстур. Разработчики видеоконтроллеров и раньше имели возможность использовать обычную оперативную память для хранения информации о текстурах и Z-буфере, но серьезным ограничением здесь выступала пропускная способность шины PCI. Ширина полосы пропускания PCI оказалась мала для обработки графики в режиме реального времени. Эту проблему компания Intel решила путем внедрения стандарта шины AGP. Во-вторых, интерфейс AGP обеспечивает прямое соединение между графической подсистемой и оперативной памятью. Таким образом, выполняются требования вывода ЗD-графики в режиме реального времени и, кроме того, более эффективно используется память буфера кадра (frame buffer), тем самым увеличивается скорость обработки 2 D - г р а ф и ки.
В действительности шина AGP соединяет графическую подсистему с блоком управления системной памятью, разделяя доступ с центральным процессором компьютера. Через AGP возможно подключение единственного типа устройств - графических плат. При этом видеоконтроллеры, встроенные в материнскую плату и использующие интерфейс AGP, не подлежат модернизации.

Для контроллера AGP конкретный физический адрес, по которому информация хранится в оперативной памяти, не имеет значения. Это является ключевым решением новой технологии, обеспечивая доступ к графическим данным как к единому блоку, независимо от физической «разбросанности» информации по блокам памяти. Кроме того, AGP работает с частотой системной шины до 133 МГц.
Спецификация AGP фактически базируется на стандарте PCI версии 2.1, но отличается от него следующими основными особенностями:
шина способна передавать два (AGP 2х), четыре (AGP 4х) или восемь (AGP 8х) блоков данных за один цикл;
устранена мультиплексированность линий адреса и данных;
конвейеризация операций чтения/записи позволяет устранить влияние задержек в модулях памяти на скорость выполнения операций.

Шина AGP работает в двух основных режимах: DIME (Direct Memory Execute) и DMA (Direct Memory Access). В режиме DMA основной памятью считается память на карте. Текстуры могут храниться в системной памяти, но перед использованием копируются в локальную память видеокарты. Таким образом, интерфейс AGP действует в качестве «подносчика патронов» (текстур) к «огневой позиции» (в локальную память). Обмен ведется большими последовательными пакетами данных. В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится передавать сравнительно небольшие случайно расположенные куски. Поскольку системная память требуется и другим устройствам, она выделяется динамически, блоками по 4 Кбайт. Поэтому для обеспечения приемлемого быстродействия предусмотрен специальный механизм, отображающий последовательные адреса на реальные адреса блоков в системной памяти. Эта задача выполняется с использованием специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти. Адреса, не попавшие в диапазон GART (GART range), не изменяются и непосредственно отображаются на системную память или область памяти устройства (device specific range). Точная спецификация на правила функционирования GART не определена, и конкретное решение зависит от управляющей электроники видеокарты.
Операции шины AGP являются раздельными (split). Это означает, что запрос на проведение операции отделен от собственно пересылки данных. Такой подход позволяет AGP-устройству генерировать очередь запросов, не дожидаясь завершения текущей операции, что также повышает быстродействие шины.
Версия AGP 2.0 благодаря использованию низковольтных электрических спецификаций предусматривает осуществление четырех транзакций (пересылок блока данных) за один такт (режим AGP 4х - четырехкратного умножения). В 2003 г. в массовое производство пошли видеокарты с интерфейсом AGP версии 3.0 (часто обозначаются как AGP 8х). Двукратное увеличение пропускной способности достигнуто за счет повышения тактовой частоты шины до 66 МГц и применения нового уровня сигналов 0,8В (в AGP 2.0 использовался уровень 1,5В). Тем самым при сохранении основных параметров интерфейса удалось повысить пропускную способность шины примерно до 2132 Мбайт/с. Хотя разъем сохранился прежним, механически совместимым с AGP 2.0, его электрические характеристики изменились благодаря снижению напряжения на сигнальных линиях. В настоящее время на современных платформах шина AGP заменяется последовательной шиной PCI Express.

Cтандарты РСI и AGP

Шина PCI

Едва карта 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 необходимо, чтобы все периферийные устройства работали на этой частоте

  • Поскольку шина процессора и шина расширения PCI соединены с помощью главного моста (Host Bridge ), то последняя может работать с CPU последующих поколений
  • Полная поддержка multiply bus master (например, несколько контроллеров жестких дисков могут одновременно работать на шине)
  • Поддержка 5V и 3.3V логики. Разъемы для 5 и 3.3V плат различаются расположением ключей

    Существуют и универсальные платы, поддерживающие оба напряжения. Заметим, что частота 66 MHz поддерживается только 3.3 V логикой

  • Поддержка write-back и write-through кэша
  • PCI приспособлена для распознавания аппаратных средств и анализа конфигурации системы в соответствии со стандартом Plug&Play, разработанным корпорацией Intel. Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space - конфигурационное пространство. Оно состоит из трех регионов:
    • Заголовка, независимого от устройства (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 байта региона используются для определения прерывания и времени запроса/владения

  • Спецификация шины позволяет комбинировать до восьми функций на одной карте (например, видео+звук и прочее)
  • Шина позволяет устанавливать до 4 слотов расширения, однако возможно использование моста PCI to PCI для увеличения их количества
  • PCI-устройства оборудованы таймером, который используется для определения максимального промежутка времени, в течении которого устройство может занимать шину
  • При разработке шины в ее архитектуру были заложены передовые технические решения, позволяющие использовать шину в будущем и модернизировать ее

Назначение выводов 32-разрядного слота PCI (33 MHz)

Вывод Сигнал (cторона пайки) Сигнал (сторона монтажа) Вывод Сигнал (сторона пайки) Сигнал (сторона монтажа)
1 TRST# -12 V 48 GND AD10
2 +12 V TCK 49 AD09 GND
3 TMS GND 50 GND/5 V GND/5 V
4 TDI TDO 51 GND/5 V GND/5 V
5 +5 V +5 V 52 C/BE0 AD08
6 INTA# +5 V 53 +3.3 V AD07
7 INTC# INTB# 54 AD06 +3.3 V
8 +5 V INTD# 55 AD04 AD05
9 Зарезервировано PRSNT1# 56 GND AD03
10 +5 V Зарезервировано 57 AD02 GND
11 Зарезервировано PRNST2# 58 AD00 AD01
12 GND/3.3 V GND/3.3 V 59 +5 V +5 V
13 GND/3.3 V GND/3.3 V 60 REQ64# ACK64#
14 Зарезервировано Зарезервировано 61 +5 V +5 V
15 RST# GND 62 +5 V +5 V
16 +5 V CLK 63 GND Зарезервировано
17 GNT# GND 64 C/BE7# GND
18 GND REQ# 65 C/BE5# C/BE6#
19 Зарезервировано +5 V 66 +5 V C/BE4#
20 AD30 AD31 67 PAR64 GND
21 +3.3 V AD29 68 AD62 A63
22 AD28 GND 69 GND A61
23 AD26 AD27 70 AD60 +5 V
24 GND AD25 71 AD58 AD59
25 AD24 +3.3 V 72 GND AD57
26 ISDEL C/BE3# 73 AD56 GND
27 +3.3 V AD23 74 AD54 AD55
28 AD22 GND 75 +5 V AD53
29 AD20 AD21 76 AD52 GND
30 GND AD19 77 AD50 AD51
31 AD18 +3.3 V 78 GND AD49
32 AD16 AD17 79 AD48 GND
33 +3.3 V C/BE2# 80 AD46 AD47
34 FRAME# GND 81 GND AD45
35 GND IRDY# 82 AD44 GND
36 TRDY# +3.3 V 83 AD42 AD43
37 GND DEVSEL# 84 +5 V AD41
38 STOP# GND 85 AD40 GND
39 +3.3 V LOCK# 86 AD38 AD39
40 SDONE PERR# 87 GND AD37
41 SBO# +3.3 V 88 AD36 +5 V
42 GND SERR# 89 AD34 AD35
43 PAR +3.3 V 90 GND AD33
44 AD15 C/BE1# 91 AD32 GND
45 +3.3 V AD14 92 Зарезервировано Зарезервировано
46 AD13 GND 93 GND Зарезервировано
47 AD11 AD12 94 Зарезервировано GND

В настоящее время используется 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 (в связи с этим, кстати, было даже как-то придумано решение оснащать плату собственным внешним блоком питания). Закрадывается мысль, что когда-нибудь компьютеры будут продаваться в комплекте с портативной атомной электростанцией, и в них будет использоваться система жидкостного охлаждения! Опять-таки, поживем - увидим.

AGP (Accelerated Graphics Port) - высокоскоростной канал типа «точка-точка», предназначен для подключения видеокарты к материнской плате компьютера. Разъем создан, прежде всего, для ускорения обработки компьютерной 3D-графики.

С 2004 года фокус пользовательских предпочтений сместился постепенно с AGP на PCI Express (PCIe). К середине 2009 года PCIe -карты доминировали на рынке. Однако, несмотря на такое повальное смещение спроса, AGP-карты все еще существуют на современном рынке, но поддержка OEM-драйверов для них - минимальна. Вообще, следует подробнее рассмотреть различия и преимущества разъема AGP, в сравнении с PCI .

Сравнения AGP и PCI

Поскольку компьютеры со временем становились все более и более графически-ориентированы, последующие поколения графических адаптеров стали расширять границы PCI , шины с общей пропускной способностью. Это привело к скорому развитию AGP - шины, которая ориентирована на графические адаптеры.

Основным преимуществом AGP перед PCI является то, что этот разъем обеспечивает выделенный канал между слотом и процессором, что же касается шины PCI , то она осуществляет обмен, расшаривает данные. В дополнение к отсутствию конкуренции для шины AGP, директивное подключение и направленный обмен данными позволяет добиться более высоких показателей тактовой частоты работы шины. AGP также использует «боковую» адресацию, это означает, что адреса и шины данных распределяются таким образом, что нет необходимости в чтении всего пакета для получения адресной информации. Это достигается с помощью добавления дополнительных 8-битных шин, которые позволяют графическим контроллерам выдавать новые AGP-запросы и команды, причем в то же самое время, пока другие AGP-данные направляются через главную 32-адрессную линию (AD). Это приводит к повышению общей пропускной способности AGP-шины.

Более того, для загрузки текстур, графическая карта PCI должна скопировать информацию из системной памяти (RAM) в буфер обмена карты. Карты AGP же, в свою очередь, способны осуществлять чтение текстур напрямую из оперативной памяти, используя таблицу графических адресов, которая пропорционально распределяет оперативную память по мере необходимости для хранения текстур, что позволяет видеокарте обращаться к этим данным напрямую. Максимальный объем системной памяти, доступной для AGP, определяется апертурой AGP.

История развития AGP

Впервые слот AGP появился на x86-совместимых системных платах, построенных с использованием Socket 7 Intel P5 Pentium и Slot 1 P6 Pentium II процессоров. Компания Intel представила AGP-поддержку в чипсете i440LX Slot 1, 26 августа, 1997 года. Немногим после этого выхода, на рынок хлынул целый поток подобных продуктов и от других проиводителей.

Первыми чипсетами Socket 7 с поддержкой AGP были: VIA Apollo VP3, SiS 5591/5592 и ALI Aladdin V. Что касается компании Intel, то они никогда не выпускали Socket 7 чипсет с поддержкой AGP. Компания FIC продемонстировала рынку первую Socket 7 AGP систему в ноябре 1997 года. То была FIC PA-2012, построенная на платформе чипсета VIA Apollo VP3, новая технология весьма скоро появилась на рынке, сразу после выхода EPoX P55-VP3, также построенного на базе VIA VP3 чипсете.

Наиболее яркими представителями ранних видео-чипсетов с поддержкой AGP являются: Rendition Vérité V2200, 3dfx Voodoo Banshee, Nvidia RIVA 128, 3Dlabs PERMEDIA 2, Intel i740, ATI Rage series, Matrox Millennium II, и S3 ViRGE GX/2. Некоторые ранние AGP-платы использовали графические процессоры, построенные на базе PCI, и легко могли трансформироваться в AGP. Это привело к тому, что некоторые параметры перекочевали в PCI из новой шины. Например, была улучшена пропускная способность шины - до 66 MHz. Примерами таких карт являются Voodoo Banshee, Vérité V2200, Millennium II, и S3 ViRGE GX/2. Интелловский i740 был специально разработан для использования новых функций AGP, причем, сразу целым сетом. По факту, он был создан целенаправлено для загрузки текстур по шине AGP, поскольку PCI имела множество сложностей в загрузке таких текстур. Оперативная память должна была эмулировать память AGP.

Microsoft и AGP

Компания Microsoft впервые ввела поддержку AGP в своей системе Windows 95 OEM Service Release 2 (OSR2 version 1111 или 950B) через USB -приложение к OSR2 патчу. После применения патча система получила версию 4.00.950 B. Первой системой типа Windows NT, получившей поддержку AGP, стала версия Windows NT 4.0 Service Pack 3, представленная в 1997 году.

Поддержка Linux для AGP, расширяющая быструю передачу данных, впервые была внедрена в систему в 1999 году, вместе с реализацией AGPgart модуля ядра.

Версии AGP

Компания Intel выпустила AGP-спецификацию в версии 1.0 в 1997 году. Она включала в себя 1× и 2× скорости. Спецификация 2.0 дала рождение AGP 4×, а версия 3.0 - 8×. Доступные версии включают в себя:

AGP и PCI: 32-битные шины, работающие на 66 и 33 MHz, соответственно

Спецификация

Скорость

Подкачка

Норма (MB/s)

Частота (MHz)

Напряжение (V)

единичная

единичная

двоичная

четверичная

восьмиричная

восьмиричная

*AGP версии 3.5 были обнародованы компанией Microsoft публично.

Порт Accelerated Graphics Port (UAGP), определяющий обязательность поддержки экстра регистров был как-то внедрен как опциональный элемент в версии AGP 3.0. Обновленные регистры включали в себя PCISTS, CAPPTR, NCAPID, AGPSTAT, AGPCMD, NISTAT, NICMD. Новые требуемые регистры должны включать также и APBASELO, APBASEHI, AGPCTRL, APSIZE, NEPG, GARTLO, GARTHI. Существует множество различных вариаций физических интерфейсов и коннекторов.

Официальные расширения

Это официальное расширение, созданное специально для карт, требующих бОльшую электрическую мощность. Это более длинный слот, с дополнительными контактами, специально предназначенными для этой цели. Карты формата AGP Pro, как правило, являются картами класса «рабочая станция», используемыми для ускорения и более оперативной работы больших профессиональных графических приложений, применяющихся в проектировании, 3D-моделировании и дизайне.

64-битные AGP

64-битный канал был однажды предложен в качестве дополнительного стандарта AGP 3.0, в проектной документации. Однако, в своей окончательной версии стандарт так и не получил дальнейшей реализации и широкого распространения.

Данный стандарт позволяет добиться 64-битной транзакции для AGP8× - в процессах чтении и записи. Также доступны 32-битные процессы на PCI -платформе.

Неофициальные расширения

Огромное число нестандартных вариаций AGP-интерфейса было выпущено самими производителями оборудования.

Внутренний AGP-интерфейс

Ultra-AGP, Ultra-AGPII

Стандарт внутреннего AGP-интерфейса, использовавшийся производителем SiS для мостов контроллеров с интегрированной графикой. Оригинальная версия поддерживает такую же пропускную способность, что и AGP 8×, в то время, как Ultra-AGPII имеет масимальный показатель пропускной способности в 3.2ГБ/с.

AGP порты, основанные на PCI

AGP Express

Ненастоящий и неполноценный AGP-интерфейс, но позволяет AGP-карте быть подключенной посредством шины PCI Express , расположенной на материнской плате. Данная технология активно использовалась и применялась на материнских платах компании ECS. Она предназначалась для того, чтобы использовать существующую AGP-карту в новых материнских платах, взамен устаревающей PCIe-карте.

По своей сути, слот AGP Express - это тот же самый PCI -слот, но только с удвоенными показателями электроэнергии, и с несколько другим разъемом. Он допускает обратную совместимость с AGP-картами, но не обеспечивает полную программную поддержку (поэтому иногда случается так, что некоторые AGP-карты не работают на слоте AGP Express) и полную производительность карты. PCI-слот, по своей сути, обеспечивает меньший уровень пропускной способности. Но в любом случае, AGP все равно быстрее.

AGI - ASRock Graphics Interface, является частным вариантом общераспространенного стандарта Accelerated Graphics Port (AGP). Его основной целью является обеспечение AGP-поддержкой фирменных материнских плат компании ASrock. Дело в том, что фирменные чипсеты компании не поддерживают AGP-формат, поэтому возникла необходимость в «домашней» адаптации имеющихся технологий под общепринятые. Тем не менее, имеющиеся у ASrock технологии не имеют полной совместимости с AGP - некоторые известные и довольно распространенные чипсеты видео-карт не поддерживаются их внутренним оборудованием.

Advanced Graphics eXtended (AGX) - фирменная технология компании EpoX, представляет собой очередную вариацию AGP-шины, в фирменном исполнении. AGX обладает всеми теми же преимуществами и недостатками, что и AGI. Инструкция по эксплуатации не рекомендует использовать AGP 8× ATI карты с AGX - плохая совместимость.

Xtreme Graphics Port - фирменный интерфейс компании Biostar, также является аналогом AGP, с такими же преимуществами и недостатками, как AGI и AGX.

AGP-порты, построенные на PCIe платформе

AGR - Advanced Graphics Riser. Это вариация AGP-порта, используемая на некоторых «PCIe -материнках». Технология разработана компанией MSI, и предлагает совместимость, хотя и ограниченную, с AGP-технологией.

AGR - это, по сути, модифицированный PCIe-порт, обеспечивающий производительность, близкую к показателям AGP 4×/8×. Но, опять-таки, как и все разъемы-аналоги, данный формат не поддерживает все без исключения AGP-карты. Производитель опубликовал на своем официальном сайте перечень карт, поддерживаемых их форматом.

Совместимость

AGP-карты обладают неплохой прямой и обратной совместимостью, в доступных пределах. Единственное что, карты с напряжением 1.5 V не будут работать на слотах с показателем 3.3 V, и наоборот. Хотя, универсальные карты (с пометкой «Universal» на самой плате), согласно паспортным заявлениям, впишутся в любой тип слота. Также существуют беcключевые слоты «Universal», которые могут принять любой тип карт. Когда карта типа AGP Universal вставляется в соответствующий разъем AGP Universal, только 1.5 V-ая часть карты используется. Некоторые карты, например, Nvidia"s GeForce 6 series (заисключением 6200) или ATI"s Radeon X800 series, оснащены специальными ключами, которые допускают использование только на 1.5 V-ых слотах - с целью предотвращения их установки на более старые материнские платы, не поддерживающие 1,5-Вольтовый режим.

Некоторые их современных видео-карт имеют поддержку 3.3 V. Например, Nvidia GeForce FX series (FX 5200, FX 5500, FX 5700, некоторые FX 5800, FX 5900 и кое-какие версии FX 5950), Geforce 6 Series (6200, 6600/6600 LE/6600 GT) и ATI Radeon 9500/9700/9800 (R350) (но не 9600/9800(R360)). Некоторые Geforce 6200-карты и Geforce 6600 -карты работают на AGP 1.0 (3.3v) слотах.

AGP Pro-карты не вписываются в стандартные слоты, но стандартные AGP-карты будут полноценно функционировать на Pro-слотах. Материнские платы, оснащенные слотами Universal AGP Pro, принимают карты как с 1.5 V-параметрами, так и 3.3 V-ые, причем, как в AGP Pro, так и в сандартной конфигурации AGP, Universal AGP или Universal AGP Pro.

Некоторые карты имеют неправильные двойные вырезы, некоторые материнские платы - некорретно открытые слоты, позволяющие вставить в них карту, которую сам слот, по паспорту, не поддерживает. Это в нередких случаях, приводит к выходу из строя установленной карты, либо самой материнской платы. Некоторые, более ранние видео-карты формата 3.3 V, имеют ключ в 1.5 V.

Кроме того, существуют некоторые частные системы, несовместимые со стандартом AGP. Например, компьютеры Apple Power Macintosh с их разъемом Apple Display Connector (ADC), имеют дополнительный разъем, который обеспечивает питание подключенного к нему дисплея. Некоторые же карты разработаны для работы на специфицческой CPU -архитектуре (PC и Apple), которая может быть несовместима с другим прошивками.

Потребляемая мощность

Фактическое питание слота AGP зависит от используемой карты. Максимальный потребляемый ток приведен в спецификациях для различных версий. Например, если считать по всем показателям по максимуму, то в случае с AGP 3.0 максимальный ток будет составлять 48.25 Вт. Эта цифра может быть указана для обозначения источника питания, вполне консервативно. Однако, на практике такая карта вряд ли когда-либо выдаст показатель, превышающий 40 Вт от слота. При этом, многие карты используют и того меньше. Слот AGP Pro, как мы уже говорили, обеспечивает дополнительную мощность, до 110 W. Многие AGP-карты оснащены дополнительным разъемом питания, чтобы обеспечить больше энергии, чем это может сделать слот.

Наследие и современность

К 2010 году некоторые новые маетеринские платы оснащались AGP-слотами. При этом, никаких новых чипсетов на рынке по AGP-формату не было выпущено, материнские платы менялись, слот оставался прежним. Старые чипсеты в новых материнских платах поддерживали старую спецификацию AGP.

Графические процессоры на тот период времени использовали платформу PCI-Express, причем общего назначения (а не целенаправленно заточенные под графику). Это стандарт, поддерживающий высокую скорость передачи данных и полный дуплекс. Для создания AGP-совместимой видео-карты те чипы требовали дополнительного мостового чипа типа «PCIe-to-AGP», чтобы конвертировать сигналы PCIe в плоскость AGP, и наоборот. Это влекло за собой повышение стоимости, поскольку возникала необходимость внедрения дополнительного чипа-моста, а для отдельных AGP-устройств - еще и специальной системной платы.

Однако, тем не менее, различные производители продолжают выпускать графические карты формата AGP для все более и более сокращающейся аудитории потребителей. Первые карты, оснащеные таким вот мостом, выпущены двумя производителями: eForce 6600 и ATI Radeon X800 XL. Эти устройства были представлены в 2004-2005 годах. В 2009 году AGP карты от Nvidia выделились в новую ветку: GeForce 7 Series. В 2011 году DirectX 10-совмесимые AGP карты от AMD (Club 3D, HIS, Sapphire, Jaton, Visiontek, Diamond, etc.) включали такие модели, как: Radeon HD 2400, 3450, 3650, 4350, 4650, и 4670. AGP-серия HD 5000, упомянутая в некоторых программных обеспечениях, на самом деле, никогда не была доступна. Существовало множество проблем с AMD Catalyst 11.2 - 11.6 AGP-драйверами, особенно под Windows 7, с серией HD 4000, использующей версию драйвера 10.12 или 11.1, рекомендуемую источниками, близкими к производителю. Некоторые из перечисленных выше производителей предлагают более старые версии AGP-драйверов для полноценной и стабильной работы устройств. Так, потребительский фокус все более смещается в сторону PCIe-платформы.

Все хорошее когда-нибудь кончается. Обидно - но истинно. Сколько писали про то, что шина PCI наконец-то устранила "узкое место" РС - обмен с видеокартами - но не тут-то было! Прогресс, как известно, не стоит на месте. Появление разных там 3D ускорителей привело к тому, что ребром встал вопрос: что делать? Либо увеличивать количество дорогой памяти непосредственно на видеокарте, либо хранить часть информации в дешевой системной памяти, но при этом каким-нибудь образом организовать к ней быстрый доступ.

Как это практически всегда бывает в компьютерной индустрии, вопрос решен не был. Казалось бы, вот вам простейшее решение: переходите на 66-мегагерцовую 64-разрядную шину PCI с огромной пропускной способностью, так нет же. Intel на базе того же стандарта PCI R2.1 разрабатывает новую шину - AGP (R1.0, затем 2.0), которая отличается от своего "родителя" в следующем:

  1. шина способна передавать два блока данных за один 66 MHz цикл (AGP 2x);
  2. устранена мультиплексированность линий адреса и данных (напомню, что в PCI для удешевления конструкции адрес и данные передавались по одним и тем же линиям);
  3. дальнейшая конвейеризация операций чтения/записи, по мнению разработчиков, позволяет устранить влияние задержек в модулях памяти на скорость выполнения этих операций.

В результате пропускная способность шины была оценена в 500 МВ/сек, и предназначалась она для того, чтобы видеокарты хранили текстуры в системной памяти, соответственно имели меньше памяти на плате, и, соответственно, дешевели.

Парадокс в том, что видеокарты все-таки предпочитают иметь БОЛЬШЕ памяти, и ПОЧТИ НИКТО не хранит текстуры в системной памяти, поскольку текстур такого объема пока (подчеркиваю - пока) практически нет. При этом в силу удешевления памяти вообще, карты особенно и не дорожают. Однако практически все считают, что будущее - за AGP, а бурное развитие мультимедиа-приложений (в особенности - игр) может скоро привести к тому, что текстуры перестанут влезать и в системную память. Поэтому имеет смысл, особо не вдаваясь в технические подробности, рассказать, как же это все работает.

Итак, начнем с начала, то есть с AGP 1.0. Шина имеет два основных режима работы: Execute и DMA. В режиме DMA основной памятью является память карты. Текстуры хранятся в системной памяти, но перед использованием (тот самый execute) копируются в локальную память карты. Таким образом, AGP действует в качестве "тыловой структуры", обеспечивающей своевременную "доставку патронов" (текстур) на передний край (в локальную память). Обмен ведется большими последовательными пакетами.

В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится выбирать из памяти относительно малые случайно расположенные куски. Поскольку системная память выделяется динамически, блоками по 4К, в этом режиме для обеспечения приемлемого быстродействия необходимо предусмотреть механизм, отображающий последовательные адреса на реальные адреса 4-х килобайтных блоков в системной памяти. Эта нелегкая задача выполняется с использованием специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти.

При этом адреса, не попадающие в диапазон GART (GART range), не изменяются и непосредственно отображаются на системную память или область памяти устройства (device specific range). На рисунке в качестве такой области показан локальный фрейм-буфер карты (Local Frame Buffer или LFB). Точный вид и функционирование GART не определены и зависят от управляющей логики карты.

Шина AGP полностью поддерживает операции шины PCI, поэтому AGP-траффик может представлять из себя смесь чередующихся AGP и PCI операций чтения/записи. Операции шины AGP являются раздельными (split). Это означает, что запрос на проведение операции отделен от собственно пересылки данных.

Такой подход позволяет AGP-устройству генерировать очередь запросов, не дожидаясь завершения текущей операции, что также повышает быстродействие шины.

В 1998 году спецификация шины AGP получила дальнейшее развитие - вышел Revision 2.0. В результате использования новых низковольтных электрических спецификаций появилась возможность осуществлять 4 транзакции (пересылки блока данных) за один 66-мегагерцовый такт (AGP 4x), что означает пропускную способность шины в 1GB/сек! Единственное, чего не хватает для полного счастья, так это чтобы устройство могло динамически переключаться между режимами 1х, 2х и 4х, но с другой стороны, это никому и не нужно.

Однако потребности и запросы в области обработки видеосигналов все возрастают, и Intel готовит новую спецификацию - AGP Pro (в настоящее время доступен Revision 0.9) - направленную на удовлетворение потребностей высокопроизводительных графических станций. Новый стандарт не видоизменяет шину AGP. Основное направление - увеличение энергоснабжения графических карт. С этой целью в разъем AGP Pro добавлены новые линии питания.

Предполагается, что будет существовать два типа карт AGP Pro - High Power и Low Power. Карты High Power могут потреблять от 50 до 110W. Естественно, такие карты нуждаются в хорошем охлаждении. С этой целью спецификация требует наличия двух свободных слотов 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-50W, поэтому для обеспечения охлаждения спецификация требует наличия одного свободного слота PCI.

При этом все retail-карты AGP Pro должны иметь специальную накладку шириной соответственно в 3 или 2 слота, при этом карта приобретает вид достаточно устрашающий.

При этом в разъем AGP Pro можно устанавливать и карты AGP.

В общем, как представлю себе графическую станцию с двумя процессорами Xeon и видеокартой AGP Pro High Power… Можно здорово сэкономить на отоплении… Закрадывается крамольная мысль, что в спецификацию PC 200? будет заложено жидкостное охлаждение. Опять-таки поживем - увидим.

Аббревиатура AGP либо вам знакома, либо вы не любите играть на компьютере. Так обозначается популярная разновидность системной шины, имеющая особый формат разъема для подключения плат расширения. Существует немало карт расширения, предназначенных для данной 32-разрядной шины, и практически все они относятся к категории графических ускорителей. Хотя в настоящее время, начиная с 2010 г., видеокарты для данной шины практически не выпускаются, поскольку она уступила пальму первенства , тем не менее, существует немало компьютеров, имеющих графические ускорители, предназначенные для шины AGP.

За все время существования системной шины персонального компьютера было разработано несколько ее различных стандартов. Однако лишь немногие из этих шин разрабатывались специально для подключения видеокарт. Шина AGP является одним из примеров подобной шины.

Возможно, читателям будет интересно узнать, что же обозначает данная аббревиатура. Она расшифровывается как Accelerated Graphic Port (Ускоренный графический порт). Шина AGP была разработана компанией Intel в 1996 г. в качестве усовершенствования шины PCI, и впервые начала применяться в чипсетах Intel, предназначенных для процессоров Pentium и Pentium 2. В операционных системах семейства Windows поддержка шины появилась, начиная с Windows 95 OSR2 и Windows NT 4.0 SP3.

Основной идеей при разработке шины было не только повышение эффективности видеосистемы компьютера, но и ее удешевление. Это предполагалось достигнуть за счет уменьшения объема оперативной памяти карты, поскольку стандарт Accelerated Graphic Port предполагал улучшенные по сравнению с PCI возможности по использованию основной оперативной памяти компьютера.

За время существования шины было выпущено несколько ее спецификаций, последней из которых стала спецификация 3.0. Кроме того, было разработано несколько стандартов скорости шины, начиная от 1x и кончая 8x.

По мере развития компьютерного «железа», начиная с середины 2000-х гг., стало очевидно, однако, что шина AGP не удовлетворяет новым требованиям, предъявляемым к графическим ускорителям. Поэтому было создано несколько расширений стандарта, например, 64-разрядная шина Accelerated Graphic Port или вариант шины, получивший название Accelerated Graphic Port Pro. Кроме того, некоторыми разработчиками материнских плат был создан ряд неофициальных расширений шины, однако они не получили широкого распространения.

Характеристики и отличие от PCI

До появления шины Accelerated Graphic Port подавляющее большинство графических ускорителей использовало разъем PCI. В отличие от PCI новая шина имела вдвое большую тактовую частоту (66 МГц), а также вдвое более высокую скорость передачи данных (533 МБ/c). Хотя первоначально она имела такое же напряжение питания, как и PCI – 3,3 В, впоследствии, в спецификациях 2.0 и 3.0 оно было уменьшено до 1,5 и 0,8 В соответственно. Также, в отличие от PCI, шина поддерживала прямой доступ к памяти DMA и разделение запросов по обработке данных. Работой шины был призван управлять AGP-контроллер, расположенный в чипсете материнской платы.

Характеристики шины различных версий приведены в нижеследующей таблице:

Стандартный слот AGP имеет 132 контакта (по 66 с каждой стороны). В целом их расположение похоже на расположение контактов шины PCI, однако имеется и несколько дополнительных сигналов. В то же время разъем может иметь несколько вариантов, отличающихся рабочим напряжением. Разъем, рассчитанный на напряжение в 1,5 В, так же, как и разъем, рассчитанный на напряжение в 3,3 В, имеет специальный выступ, который исключает вставку платы неподходящего стандарта. Кроме того, существует и универсальный разъем, который позволяет вставлять в него видеокарты всех типов. Также имеются видеокарты, которые можно вставить в разъем любого типа.

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

Разъем для карт, поддерживающих стандарт Accelerated Graphic Port Pro, тоже имеет два варианта, рассчитанных на разные напряжения – 1,5 В и 3,3 В. Карты обычного стандарта можно вставить в слот типа Pro, однако обратную операцию осуществить невозможно.

Настройка работы шины в BIOS

Возможно, многих читателей интересуют такие вопросы, как включить AGP и как настроить AGP. Для этой цели проще всего обратиться к средствам BIOS Setup. Как таковое включение шины Accelerated Graphic Port в БИОС не производится, она активирована по умолчанию. Но в BIOS можно встретить немало опций, предназначенных для её конфигурирования. Например, при помощи можно включить режим быстрой записи для видеокарты. В этом режиме видеокарта получает данные напрямую от центрального процессора, минуя системную оперативную память, как промежуточное место их хранения. При помощи же , можно установить размер ОЗУ, который будет использован видеокартой с этим интерфейсом. Подробнее о настройке некоторых параметров работы шины вы можете почитать на нашем сайте в разделе, посвященном опциям BIOS («Параметры чипсета»).

Заключение

Хотя сейчас в большинстве материнских плат слот AGP уступил свое место слотам такой высокопроизводительной шины, как PCI Express, тем не менее, внедрение шины Accelerated Graphic Port оказалось в свое время настоящим прорывом в мире графических видеокарт. Кроме того, графические карты этого формата все еще можно встретить во многих работающих компьютерах.