Министерство образования и науки Украины
Запорожский национальный технический университет
Кафедра «Компьютерные системы и сети»
Реферат
по дисциплине
«Периферийные устройства»
на тему
«Шина AGP»
Выполнил: студент группы ИВТ-535 С.Ю. Скрупский
Проверил: старший преподаватель В.О. Рыбин
Запорожье
2007
Содержание
1. Историческая справка……………………………………………………………..3
2. Возможности AGP ………………………………………….4
3. DMA и DME режимы доступа к памяти……………………………………….....5
4. Три ревизии шины………………………………………………………………….6
5. Искусство наводить мосты………………………………………………………...8
Выводы…………………………………………………………………………….10
Список источников………………………………………………………………..11
1. Историческая справка
AGP (от англ. Accelerated Graphics Port, ускоренный графический порт) — разработанная в 1997 году компанией Intel, специализированная 32-битная системная шина для видеокарты. Появилась одновременно с чипсетами для процессора Intel Pentium II. Основной задачей разработчиков было увеличение производительности и уменьшение стоимости видеокарты, за счёт уменьшения количества встроенной видеопамяти. По замыслу Intel большие объёмы видеопамяти для AGP-карт были бы не нужны, поскольку технология предусматривала высокоскоростной доступ к общей памяти.
Её отличия от предшественницы, шины PCI:
· работа на тактовой частоте 66 МГц;
· увеличенная пропускная способность;
· режим работы с памятью DMA и DME;
· разделение запросов на операцию и передачу данных.
Первая версия (спецификация 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, Nvidia SLI), однако эта возможность не была использована производителями. Современные видеокарты требуют большой мощности, более 40 Ватт, которую шина AGP дать не может, так появилась спецификация AGP Pro с дополнительными разъёмами питания.
2. Возможности AGP
Accelerated Graphics Port - особая высокоскоростная шина, предназначенная специально для видеокарты, в отличие от универсальных PCI и ISA. Для чего же потребовалось создавать эту шину, ведь до нее видеокарты нормально работали и на шине PCI?
Что такое 3D-ускоритель? Это, фактически, процессор, рассчитывающий в реальном масштабе времени трехмерную сцену (рендеринг). Сейчас общепринята полигональная модель этой самой сцены, т.е. объекты состоят из полигонов (треугольников), покрытых текстурами. Задача видеокарты, в составе которой "трудится" 3D-ускоритель - принимать координаты треугольников, заполнять их одной или несколькими текстурами (текстурирование), рассчитывать освещенность, прозрачность, рельефность и т.п., проецировать на двумерную плоскость экрана, рассчитывая перекрытие одних объектов другими (используется Z-буфер) и др. Так как работа должна выполняться максимально быстро (вам ведь нужно хотя бы 30 кадров в том же "кваке"), все операции над каждым пикселем производятся конвейерно - каждый пиксель проходит несколько отдельных независимых стадий, одновременно в обработке находятся несколько пикселей - на разных стадиях. Понятно, что данные (а в первую очередь текстуры, накладываемые попиксельно на каждый треугольник) должны подаваться тоже непрерывно, чтобы конвейер не останавливался.
Сначала видеокарты с 3D-ускорителями работали с памятью по шине PCI, закачивая текстуры в свою набортную (локальную) память, к которой и обращался конвейер рендеринга в ходе работы. С ростом сложности трехмерных сцен и повышением качества и размера текстур возникли две проблемы - 1) нужна обширная локальная видеопамять и 2) нужно обеспечить максимальную скорость подачи данных на конвейер. Шина PCI с задачей скорости не справлялась, так как на ней работают много других устройств. Видеопамять дорога, возможности ее расширения в общем случае отсутствуют. В итоге фирма Intel разрабатывает новую локальную шину на основе все той же PCI, но с учетом специфических требований видеокарт с 3D-ускорителем.
Шина AGP соединяет всего одно устройство (AGP-мастер) с AGP-контроллером в составе системного чипа - "северного моста", а тот, в свою очередь, связан с контроллером памяти. Таким образом, пересылка данных между видеочипом и памятью производится по выделенному каналу - шине AGP. Для оптимальной загрузки этого канала все запросы на чтение и запись имеют приоритеты и выстраиваются в очереди, причем сам запрос и транзакция (акт передачи блока данных) не обязательно следуют друг за другом. Транзакции могут выполняться как в стиле PCI, так и AGP, когда данные передаются только в направлении "память-мастер". То есть смысл шины в том, чтобы предоставить видеочипу возможность обращаться за данными в основную память по своему, отдельному каналу.
3. DMA и DME режимы доступа к памяти
Есть две причины, по которым видеочип обращается к основной (системной, оперативной) памяти. Первое - загрузить оттуда в свою видеопамять необходимые для работы данные (например, текстуры для очередной трехмерной сцены). Это - обычный режим DMA (Direct Memory Access), который используют, например, контроллеры жестких дисков. Не ради этого была задумана эта шина. Режим DME (Direct in Memory Execution) позволяет видеочипу использовать основную память как источник данных для конвейера, добавляя (подключая) основную память к своей локальной видеопамяти при необходимости. Так как основная память выделяется под нужды прикладных программ страницами по 4 Кб, нужно обеспечить имитацию непрерывного блока памяти. Был выбран метод трансляции адресов по таблице, причем то, как строится эта таблица и как обеспечивается переадресация, остается на совести разработчика чипсета и драйвера GART (Graphic Aperture Remapping Table). Апертура - это тот диапазон адресов, при обращении к которому включается механизм переадресации на реальные страницы памяти. Таким образом, конвейер рендеринга может обращаться за данными прямо к основной памяти, а не к своей локальной - это часто называют AGP-текстурированием.
Перед тем, как начать перекачку данных (транзакцию), нужно подать запрос и указать адрес блока основной памяти. Шина AGP предусматривает два механизма передачи адреса контроллеру AGP. Первый - передача по тем же каналам, по которым передаются данные. Адрес - 64-битный, передается за два приема (шина AGP - 32-битная, как и PCI). Второй способ - передача по отдельной боковой шине, адрес - 48-битный, боковая шина - 8-битная. Этот режим называется Sideband Addressing, SBA. Основной канал полностью отдается под данные, адреса по нему не передаются, в итоге загрузка шины более полная.
Рис.1 – Архитектура компьютера с шиной AGP
4. Три ревизии шины
AGP 1.0: Шина имеет два основных режима работы: Execute и DMA. В режиме DMA основной памятью является память карты. Текстуры хранятся в системной памяти, но перед использованием (тот самый execute) копируются в локальную память карты. Таким образом, AGP действует в качестве "тыловой структуры", обеспечивающей своевременную "доставку патронов" (текстур) на передний край (в локальную память). Обмен ведется большими последовательными пакетами. В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится выбирать из памяти относительно малые случайно расположенные куски. Поскольку системная память выделяется динамически, блоками по 4К, в этом режиме для обеспечения приемлемого быстродействия необходимо предусмотреть механизм, отображающий последовательные адреса на реальные адреса 4-х килобайтных блоков в системной памяти. Эта нелегкая задача выполняется с использованием специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти.
Рис. 2 – таблица GART
При этом адреса, не попадающие в диапазон GART (GART range), не изменяются и непосредственно отображаются на системную память или область памяти устройства (device specific range). На рисунке в качестве такой области показан локальный фрейм-буфер карты (Local Frame Buffer или LFB). Точный вид и функционирование GART не определены и зависят от управляющей логики карты. Шина AGP полностью поддерживает операции шины PCI, поэтому AGP-траффик может представлять из себя смесь чередующихся AGP и PCI операций чтения/записи. Операции шины AGP являются раздельными (split). Это означает, что запрос на проведение операции отделен от собственно пересылки данных.
Такой подход позволяет AGP-устройству генерировать очередь запросов, не дожидаясь завершения текущей операции, что также повышает быстродействие шины.
AGP 2.0: В результате использования новых низковольтных электрических спецификаций появилась возможность осуществлять 4 транзакции (пересылки блока данных) за один 66-мегагерцовый такт (AGP 4x), что означает пропускную способность шины в 1GB/сек! Единственное, чего не хватает для полного счастья, так это чтобы устройство могло динамически переключаться между режимами 1х, 2х и 4х, но с другой стороны, это никому и не нужно.
AGP 3.0: Последняя ревизия шины. Было увеличено число контактов в разъеме, благодаря чему пропускная способность увеличилась до 2133 МБ/с, мощность подводимого питания – 40ВТ. Если мощности питания недостаточно (в случае очень «сильных видеокарт»), используется molex: