Шины agp. Шина AGP и в чём была основная идея её разработки

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

AGP (от англ. Accelerated Graphics Port, ускоренный графический порт) - разработанная в 1997 году компанией Intel, специализированная 32-битная системная шина для видеокарты. Появилась одновременно с чипсетами для процессора Intel Pentium II.

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

Техниеская характеристика шины

AGP основан на шине PCI , но разработан специально для обеспечения высокоскоростной передачи больших блоков данных 3D текстур между видеоконтроллером (видеокартой) и памятью компьютера. Во-первых, 3D графика требуется как можно больше памяти информации текстурных карт (texture maps) и z-буфера (z-buffer). Чем больше текстурных карт доступно для 3D приложений, тем лучше выглядит конечный результат. При нормальных обстоятельствах z-буфер, который содержит информацию относящуюся к представлению глубины изображения, использует ту же память как и текстуры. Этот конфликт предоставляет разработчикам 3D множество вариантов для выбора оптимального решения, которое они привязывают к большой значимости памяти для текстур и z-буфера, и результаты напрямую влияют на качество выводимого изображения. Разработчики PC имели ранее возможность использовать системную память для хранения информации о текстурах и z-буфера, но ограничение в таком подходе, была передача такой информации через шину PCI . Производительность графической подсистемы и системной памяти ограничиваются физическими характеристиками шины PCI. Кроме того, ширина полосы пропускания PCI , или ее емкость, не достаточна для обработки графики в режиме реального времени. Чтобы решить эти проблемы Intel разработала AGP.

Макет различных слотов AGP

Если определить кратко, что такое AGP, то это - прямым соединением между графической подсистемой и системной памятью. AGP позволяет более эффективно использовать память страничного буфера (frame buffer), тем самым увеличивая производительность 2D графики также, как увеличивая скорость прохождения потока данных 3D графики через систему. Определение AGP, как вид прямого соединения между графической подсистемой и системной памятью, называется соединение point-to-point.

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

Увеличение скорости обеспечивается следующими тремя факторами:

  • Конвейеризацией операций обращения к памяти.
  • Сдвоенными передачами данных.
  • Демультиплексированием шин адреса и данных.

Через AGP можно подключить только один тип устройств - это графическая плата. Графические системы, встроенные в материнскую плату и использующие AGP не могут быть улучшены.

Oтличия от шины PCI:

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

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

Передача данных из основной памяти в видеопамять карты осуществляется в два этапа, сначала передаётся 64-битный адрес, откуда данные нужно считать, затем идут сами данные. Шина AGP предусматривает два варианта передачи, первый - совместим с шиной PCI - запросы данных и адреса происходят по одному каналу; второй - в режиме SBA (Sideband Addressing), по отдельной боковой шине, таким образом, можно посылать запросы на новые данные, не дожидаясь получения предыдущих.

В шине AGP посылаются несколько адресов и несколько данных одно за другим, благодаря чему имеется возможность постановки в очередь до 256 запросов и поддерживания двух очередей для операций чтения/записи с высоким и низким приоритетом. Сдвоенная передача, т. е. передача за один такт двух данных вместо одного, позволяет: иметь пропускную способность при частоте 66 МГц до 528Мб/с, работать на частоте, до 100 МГц и выше с более высокой пропускной способностью.

Стандарты шины AGP

Для шины AGP существует несколько стандартов:

Большинство карт работает со стандартом 4X и 8X.

Шина AGP 1.0

Компьютеры, оснащенные AGP, и графические акселераторы впервые поступили в продажу в августе 1997 года.

За основу интерфейса AGP 1.0 была взята шина PCI 2.1, а точнее, ее вариант PCI 32/66 - 32х разрядная шина с частотой работы 66 МГц.

Карта AGP 1.0:

Шина AGP 1.0 имеет два основных режима работы: Execute и DMA.

DMA (Direct Memory Access) - доступ к памяти, в этом режиме основной памятью считается встроенная видеопамять на карте, текстуры копируются туда перед использованием из системной памяти компьютера. Этот режим работы не был новым, по тому же принципу работают звуковые карты, некоторые контроллеры и т. п.

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

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

При этом адреса, не попадающие в диапазон GART (GART range), не изменяются и непосредственно отображаются на системную память или область памяти устройства (device specific range).

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

Шина AGP 2.0

В декабре 1997 года фирма Intel выпустила предварительную версию стандарта AGP 2.0, а в мае 1998 года окончательный вариант(этот режим получил название "4x").

Основные отличия от предыдущей версии:

  • Скорость передачи может быть увеличена еще в два раза по сравнению с 1.0 - и достигать значения 1064 Mб/c.
  • Могло пересылаться уже 4 блока за один такт.
  • Пропускная способность около 1 ГБ/с.
  • Добавлен механизм "быстрой записи" Fast Write (FW). Основная идея - запись данных/команд управления непосредственно в AGP устройство, минуя промежуточное хранение данных в основной памяти. Для устранения возможных ошибок в стандарт на шину введен новый сигнал WBF# (Write Buffer Full - буфер записи полон). Если сигнал активен, то режим FW невозможен.

Первые видеокарты, поддерживающие версию 2.0, появились в конце апреля 1999 года.

Карта AGP 2.0:

Шина AGP Pro

В июле 1998 года Intel выпустила версию 0.9 спецификации на AGP Pro, существенно отличающейся конструктивно от AGP 2.0.

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

  • Изменен разъем AGP - добавлены выводы по краям существующего разъема для подключения дополнительных цепей питания 12V и 3.3V
  • AGP Pro предназначена только для систем с ATX форм-фактором. Установка плат AGP Pro в NLX системы не предусмотрена (слишком велик размер платы в AGP Pro).
  • Поскольку карте AGP Pro разрешено потребление до 110 Вт, высота элементов на плате (с учетом возможных элементов охлаждения) может достигать 55 мм, поэтому два соседних слота PCI должны оставаться свободными. Кроме этого, два соседних слота PCI могут использоваться платой AGP Pro для своих целей.

Шина AGP 8X

В ноябре 2000 года Intel выпустила предварительную версию (draft) следующего варианта AGP шины - 8X. Основная идея - увеличение полосы пропускания до 8х4=32 байт за один такт системной шины. Это означает, что скорость передачи данных на шине возрастет до 2-х Гигабайт в секунду. Кроме этого, в проект нового варианта шины заложены несколько принципиальных изменений, расширяющих возможности интерфейса AGP:

  • Понижение уровня напряжений сигналов на шине;
  • Циклы калибровки;
  • Динамическая инверсия шины;
  • Поддержка изохронного режима передачи данных;
  • Поддержка нескольких AGP 8X портов (ранее был возможен только один порт;
  • Новые регистры конфигурации для 8Х шины;

Литература

  • Косцов А., Косцов В. Железо ПК. Настольная книга пользователя. - М.: Мартин, 2006. - 480 с.

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

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

Чтобы, не меняя уже сложившийся стандарт на шину РС1, ускорить ввод/вывод данных на видеоадаптер и, кроме того, увеличить производительность PC при обработке трехмерных изображений без установки специализированных дорогостоящих двухпроцессорных видеоадаптеров, в 1997 г. фирмой Intel был разработан стандарт на шину AGP (Accelerated Graphics Port). AGP является каналом передачи данных между видеоадаптерами и памятью RAM, а также системной шиной процессора, при этом не пересекаясь с шиной РС1.

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

Шина AGP - это высокоскоростная локальная шина ввода/вывода, предназначенная исключительно для нужд видеосистемы. Она связывает видеоадаптер (ЗО-акселератор) с системной памятью PC, поэтому на материнской плате имеется только один разъем (слот) AGP. Поскольку шину AGP использует только одно устройство, не возникает характерной для шины РС1 проблемы арбитража (когда несколько устройств одновременно требуют доступа к шине), что повышает скорость обмена данными между видеоадаптером и системной памятью.

Шина AGP была разработана на основе архитектуры шины РС1, поэтому она также является 32-разрядной.

Вместе с тем, у нее имеется ряд важных отличий от шины PCI, позволяющих в несколько раз увеличить пропускную способность.

Использование более высоких тактовых частот.

Демультиплексирование (режим SBA).

Пакетная передача данных.

Режим прямого исполнения в системной памяти (DiME).

Режимы работы Если шина PCI в стандартном варианте (32-разрядная) имеет тактовую частоту 33 МГц, что обеспечивает теоретически пропускную способность шины PCI

Рис. 5.4. Структурная схема видеосистемы на основе шины AGP

33 - 32 = 1056 бит/с = 132 Мбайт/с. то шина AGP тактируется сигналом с частотой 66 МГц. поэтому ее пропускная способность составляет 66 - 32 = 264 Мбайт/с (это соответствует так называемому режиму 1П). Помимо режима 1 - . стандартом AGP Revision 1.0 предусмотрен режим 2D. при котором передача данных производится не только по переднему, но и по заднему фронту тактового импульса. В режиме 2D эквивалентная тактовая частота составит 132 МГц. а пропускная способность - 528 Мбайт/с.

В последних версиях шины AGP. использующих пониженное напряжение питания, за один такт синхронизации удается выполнить уже не две. а четыре или восемь передач (режимы 4П и 8).

В самом общем виде структурная схема видеосистемы на основе AGP может быть представлена так. как показано на рис. 5.4.

Конструктивно разъем AGP напоминает слот РСТ. однако он несколько выше, поскольку контакты в разъеме AGP расположены в два этажа. В зависимости от поддерживаемого напряжения питания различают несколько типов слотов AGP. Поддерживающие режимы карты обычно имеют универсальный разъем с двумя прорезями (рис. 5.5).


Рис. 5.5. Универсальный разъем шины AGP у видеоадаптера

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

Первая версия (спецификация AGP 1.0) AGP 1x используется редко, поскольку не обеспечивает необходимой скорости работы с памятью в режиме DME, сразу же при проектировании была добавлена возможность посылать 2 блока данных за один такт, это AGP 2x . В 1998 году вышла вторая версия (спецификация AGP 2.0) - AGP 4x , которая могла пересылать уже 4 блока за один такт и обладала пропускной способностью около 1 ГБ/с. Уровень напряжения вместо обычных 3,3 В был понижен до 1,5 В. Шина AGP 8x (спецификация AGP 3.0) передаёт уже 8 блоков за один такт, таким образом, пропускная способность шины достигает 2 ГБ/с. Также в стандарте была заложена возможность использования двух видеокарт (аналогично ATI CrossFire , SLI), однако эта возможность не была использована производителями. Современные видеокарты требуют большой мощности, более 40 Вт, которую шина AGP дать не может, так появилась спецификация AGP Pro с дополнительными разъёмами питания.

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

  • DMA (Direct Memory Access) - доступ к памяти, в этом режиме основной памятью считается встроенная видеопамять на карте, текстуры копируются туда перед использованием из системной памяти компьютера. Этот режим работы не был новым, по тому же принципу работают звуковые карты, некоторые контроллеры и т. п.
  • DME (Direct in Memory Execute) - в этом режиме основная и видеопамять находятся как бы в общем адресном пространстве. Общее пространство эмулируется с помощью таблицы отображения адресов GART (Graphic Address Remapping Table) блоками по 4 Кб. Таким образом копировать данные из основной памяти в видеопамять уже не требуется, этот процесс называют AGP-текстурированием .

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

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

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

Развитие

На данный момент материнские платы со слотами AGP практически не выпускаются; стандарт AGP был повсеместно вытеснен на рынке более быстрым PCI Express . Видеокарты стандарта AGP выпускаются, но в основном Low-End сегмента, в малом количестве и стоят дороже аналогичных PCI-E карт (из-за того, что используются микросхемы-переходники PCI-E → AGP).

Ссылки

  • Спецификация AGP 2.0 (англ.)
  • Совместимость карт и слотов AGP (англ.)

См. также

  • HyperTransport

Wikimedia Foundation . 2010 .

Смотреть что такое "Шина AGP" в других словарях:

    Accelerated Graphics Port Слот AGP (фиолетовый) и два слота PCI (белые) Год открытия: 1996 Разработчик: Intel … Википедия

    Шина данных шина, предназначенная для передачи информации. В компьютерной технике принято различать выводы устройств по назначению: одни для передачи информации (например, в виде сигналов низкого или высокого уровня), другие для сообщения… … Википедия

    Компьютерная шина, по которой передаются сиг­налы, определяющие характер обмена информацией по ма­гистрали. Сигналы управления определяют, какую операцию (считывание или запись информации из памяти) нужно производить, синхронизируют обмен… … Википедия

    Шина адреса компьютерная шина, используемая центральным процессором или устройствами, способными инициировать сеансы DMA, для указания физического адреса слова ОЗУ (или начала блока слов), к которому устройство может обратиться для… … Википедия

    Шина расширения компьютерная шина, которая используется на системной карте компьютеров или промышленных контроллеров, для добавления устройств (плат) в компьютер. Есть несколько видов: Персональные компьютеры ISA 8 и 16 разрядная,… … Википедия

    Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16). Ниже обычный 32 битный разъем шины PCI. У этого термина существуют и другие значения, см. Шина. Компьютерная шина (от … Википедия

    Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16), по сравнению с обычным 32 битным разъемом шины Компьютерная шина (от англ. computer bus, bidirectional universal switch двунаправленный универсальный коммутатор) в архитектуре компьютера… … Википедия

    AGP (accelerated graphics port) - Расширенная шина для подключения графических карт. В современных компьютерах различаются следующие варианты этой шины: AGP 4X и AGP 8X. В ближайшее время ей на смену придет шина PCI Express 16x … Глоссарий терминов бытовой и компьютерной техники Samsung

    На фотографии 4 слота PCI Express: x4, x16, x1, опять x16, внизу стандартный 32 разрядный слот PCI, на материнской плате DFI LanParty nForce4 SLI DR PCI Express или PCIe или PCI E, (также известная как 3GIO for 3rd Generation I/O; не путать с PCI … Википедия