Драйвер agp что это
Bus mastering (Управление шиной)
- Передача данных о изображении из системной памяти в видео память - это может включать передачу изображений и текстур которые будут использованы в будущей генерации изображения.
- Считывание графических команд ("список показа") из системной памяти. В этом случае процессор (под управлением графического драйвера) подготавливает последовательность командных примитивов и помещает их где-либо в системной памяти. Затем посылаются команды графическому контроллеру, которые предписывают ему принять и выполнить последовательность команд начиная с данного адреса в системной памяти. Процессор может работать над следующей сценой, в то время как текущая сцена отрисовывается графическим контроллером.
Конфигурация и Инициализация
- Во-первых, BIOS материнской платы пытается найти и инициализировать устройства на шине ISA. Если найден старый, ISA-шный VGA контроллер, BIOS сконфигурирует, но НЕ инициализирует любой VGA контроллер находящийся на PCI или AGP шине. ISA-шная VGA карта становится первичным (по умолчанию) графическим контроллером. В зависимости от установки опции "Video BIOS shadow" команды BIOS будут выполняться либо непосредственно с чипа VGA ROM, либо копироваться в системную память (RAM) в стандартную область VGA BIOS (линейный адрес C0000), с защитой от записи (чтобы имитировать ROM) и выполняться.
- В старых BIOSах следующей проверяется шина PCI. В новых BIOSах пользователь может выбрать, будет ли следующая проверяемая шина для VGA AGP или же PCI. Используя эту настройку (если она доступна) пользователь может задать системе использовать в качестве первичной либо AGP либо PCI VGA карту. Если есть только одна VGA карта (либо на AGP либо на PCI) эта опция BIOS не имеет никакого эффекта. Порядок поиска на PCI шине фиксирован - какая из PCI VGA карт распознается первой зависит только от ее позиции на PCI шине. Если кто-то хочет выбирать одну из двух PCI карт, он должен соответственно менять расположение карт в слотах.
- Первая найденная VGA карта настраивается на ответ стандартным VGA IO адресам и адресам видео памяти первого мегабайта адресного пространства (A0000-BFFFF шестнадц.). Всем картам (первичной, вторичной и т.д.) назначаются расположения в 32-битном адресном пространстве в соответствии с их требованиями.
- Образ BIOS первичной VGA карты (находящийся в ROM чипе VGA платы) помещается где-либо в 32-битном адресном пространстве памяти. В этот момент образ содержит процедуры инициализации и функции BIOS могут превышать 32 КБайта (обычно они занимают от 32 до 64 КБайт). Затем BIOS материнской платы копирует весь образ с ROM на VGA плате в системную RAM по линейному адресу C0000, который является стандартным расположением ISA VGA BIOS. Это часть RAM еще не защищена от записи.
(Вышеуказанное означает, что BIOS PCI/AGP VGA никогда не выполняется с ROM = обязательное затемнение (shadowed), вне зависимости от установки опции "video BIOS shadow" в BIOS материнской платы.)
Затем вводится в действие процедура инициализации VGA BIOS, в то время как образ BIOS в RAM доступен для записи. BIOS может определить и записать некоторые данные в свой образ. Также она может переместить некоторые процедуры и "обрезать" ненужные части (такие как процедуры инициализации), что снижает объем до 32КБайт (если образ до этого был больше). После этого процедура инициализации завершается, и BIOS материнской платы защищает от записи часть системной RAM, содержащей VGA BIOS.
AGP и PCI
В основном AGP это вариант PCI, поэтому все операции контроллеров AGP интерфейса обладают всеми возможностями PCI устройств. Оба интерфейса 32 битной ширины и большинство сигналов одинаковы. В PCI много слотов, в то время как AGP - поточечное соединение. PCI работает с частотой 33 МГц, AGP - 66 МГц. AGP интерфейс может производить два типа транзакций: PCI транзакции и AGP транзакции. Единственные AGP транзакции являются "bus mastering" передачами из системной памяти графическому контроллеру и инициируются графическим контроллером. Все остальные транзакции производятся как PCI передачи. Даже при этом эти транзакции вдвое быстрее чем транзакции на PCI шине из-за более высокой тактовой частоты AGP интерфейса. Некоторые старые AGP-карты могут производить только PCI-транзакции. Предположительно примерами таких "быстрых PCI" карт могут быть Matrox Millenium II AGP и Trident 9650.
AGP транзакции - адресация по побочной частоте
AGP транзакции используются только в "bus mastering" режиме. В то время как в простых PCI транзакциях при быстрейшей транзакции может передаваться 4 32-битных слова за 5 тактов часов (так как передается адрес по линиям адресов/данных для каждого пакета из 4 слов), AGP передачи могут использовать дополнительные AGP линии называемые Побочными (Sideband) для передачи адреса маленькими кусочками одновременно с данными. Во время передачи пакета из 4 слов передаются 4 части адреса для следующего пакетного (взрывного) цикла. По завершении цикла адрес и информация запроса для следующего пакета уже переданы, поэтому следующий 4-словный пакет может начинать сразу же передаваться. Таким образом мы можем передать 4 слова за 4 цикла (а не за 5, необходимые PCI). Вместе с 66 МГц частотой часов это предоставляет максимальную скорость передачи (4x66=) 264 МБайт/с.
1x, 2x и 4x режимы
- 1x режим передает одну порцию (слово) данных и побочную информацию при каждом такте часов. Это приносит 264 МБ/с.
- 2x режим передает данные и побочную информацию в начале и конце каждого такта часов, поэтому две порции данных передаются за один такт часов, при этом общий максимальный вывод соответствует 528 МГц.
- В 4x режиме тактовая частота остается равной 66 МГц, но два других сигнала, запускающиеся синхронно с главными часами с эффективной частотой 133 МГц, используются для передачи данных в начале и конце каждого такта. Это приносит максимальный вывод свыше 1 Гб/с. Эта функция коммерчески еще недоступна, первые чипсеты и видео карты, поддерживающие ее, появятся на рынке примерно в 3 квартале 1999 года.
AGP апертура, GART и DIME
Описанные выше функции делают AGP быстрее чем PCI, но они не представляют никаких новых логических возможностей. Помимо лучшего, более быстрого железа, AGP также воплощает новую логическую модель, которая может значительно улучшить работу графического контроллера.
Попросту говоря, PCI bus mastering подходит для передачи небольших порций данных (от сотен байт до нескольких килобайт). Во время программирования PCI bus master'а система / драйвер записывает физический адрес данных, предназначенных для передачи. Для маленьких объемов данных системах с легкостью может сделать так чтобы логически смежные адреса переносились бы в физически смежные. Это становится трудным и неэффективным для больших структур данных, таких как многомегабайтные текстуры и огромные списки показа, так как система загружает эти структуры в свое логическое адресное пространство которое случайно распределено по физическим адресам.
Главная задача AGP в том, чтобы карта могла "видеть" часть системной памяти как свою собственную память, которую можно использовать для хранения текстур и списков показа. Чтобы использовать возможности AGP более эффективно, система должна предоставлять механизм, который позволял бы переносить "логические" адреса используемые графическим AGP чипом в действительные физические адреса способом, подобным используемому процессорами x86.
AGP апертура
AGP апертура это фрагмент адресного пространства сразу же за физическими адресами используемыми буфером кадров AGP карт (видео память). Эта часть адресного пространства используется AGP картами для доступа к системной памяти в которой хранятся текстуры. Физически системная память адресуется начиная с 0 адреса и до своего объема. AGP апертура поделена на логические страницы, и страницы переносятся индивидуально на физические страницы системной памяти.
Graphics Aperture Remapping Table - Таблица Переноса Графической Апертуры - это аппаратная структура внутри AGP чипсета, которая осуществляет перенос адресов AGP апертуры в физические адреса системной памяти. Она слегка напоминает блок TLB вызова, находящийся во всех современных процессорах. GART находится в NorthBridge части чипсета. Она управляется (программируется) операционной системой и используется AGP картой.
GART драйвер
Так как действительное применение GART зависит от чипсета, у ОС должны быть некоторые значения для доступа к ней. GART драйвер это драйвер используемый ОС (как Win9x) для управления GART. Win95 вообще ничего не знает о GART, поэтому она должна использовать внешние драйвера. Win98 информирована о GART чипсетах Intel и в нее включены соответствующие драйвера. Для не-Intel чипсетов для использования функций GART надо использовать драйвера от производителей чипсета. Это так называемый "AGP driver". Драйвер обычно поставляется с материнской платой и обновления можно скачать непосредственно от производителей чипсета (как VIA или ALi).
Direct Memory Execution - Непосредственное Выполнение из Памяти - это название лучшего рабочего режима AGP достигаемого за счет использования AGP аперутры с GART.
2x mode vs. DIME (2х режим с DIME)
Общая проблема существующая во многих современных материнских платах и графических платах в том, что работать может либо 2х режим, либо DIME, но не оба. Как правило, DIME в 1х режиме работает быстрее чем 2х режим без DIME. Конечно, частные результаты могут отличаться.
Microsoft DirectDraw рассматривает память ускоренного графического порта (AGP) как подкласс отображаемой памяти. Этот тип памяти называется нелокальной памятью монитора. Термины память и Нелокальная память, отображаемые AGP, являются синонимами с точки зрения драйверов DirectDraw и DirectDraw.
Память AGP считается чистым подклассом отображаемой памяти. То есть, если драйвер указывает, что он поддерживает память AGP, в большинстве случаев он должен иметь одни и те же функциональные возможности для локальной и нелокальной памяти экрана, хотя различия в производительности разрешены. Исключением является, если установлен флаг DDCAPS2_NONLOCALVIDMEMCAPS. в этом случае возможности БЛТ для нелокальной видеопамяти могут отличаться от локальных отображаемых памяти.
Например, если драйвер сообщает о том, что он может выполнять текстуру из отображаемой памяти, он должен иметь возможность текстуры как из локальной, так и нелокальной памяти экрана. Блиттинг обрабатывается аналогичным образом. Драйвер, который экспортирует функцию БЛТ исходного цвета, должен иметь возможность сделать исходный цвет ключом БЛТ как до, так и из нелокальной памяти экрана. Единственным исключением из этого правила является возможность исключения определенных типов поверхностей из любого когда-либо выделения в нелокальной памяти для отображения. Например, можно использовать кучи для предотвращения выделения поверхностей наложения в памяти AGP.
Поскольку память AGP обрабатывается как подкласс экранной памяти, DirectDraw не имеет отдельного набора точек входа для драйвера экрана для памяти AGP. Существующие вызовы видеодрайверов используются как для поверхностей AGP, так и для областей памяти для локального дисплея. Совместимый с AGP драйвер должен проверить входящие поверхности, чтобы узнать, находятся ли они в нелокальной или локальной видеопамяти, и предпринять соответствующие действия. Блтс от системы к AGP (и наоборот) переходят на уровень эмуляции DirectDraw как обычная, если драйвер не поддерживает память блтс (в этом случае она должна поддерживать передачу из системы в AGP).
Драйверы должны устанавливать флаг DDCAPS2_TEXMANINNONLOCALVIDMEM насколько это возможно, так как диспетчер текстуры Direct3D сохраняет резервный образ копии видеопамяти, соответствующей поверхности в памяти AGP (а не системной памяти), если это так.
В оставшейся части этого раздела обсуждаются шаги, необходимые для изменения существующего драйвера для поддержки памяти AGP с помощью возможностей нелокальной памяти экрана DirectDraw.
Драйвер видеопорта реализует следующие функции для поддержки порта AGP.
Перед тем как драйвер минипорта видео вызывает функции из предыдущего списка, он должен получить указатели функций, вызвав видеопорткуерисервицес. Дополнительные сведения о получении указателей на функции AGP см. в разделе функции AGP, реализованные драйвером видеопортов.
Драйвер минипорта видео выполняет следующие действия, чтобы зарезервировать и зафиксировать часть апертуры AGP, с помощью которой видеоадаптер может получить доступ к системной памяти:
Вызовите агпресервефисикал , чтобы зарезервировать непрерывный диапазон физических адресов в апертуре AGP.
Затем, чтобы приложение могло видеть и использовать зафиксированные страницы в системной памяти, драйвер минипорта видео выполняет следующие действия:
Вызовите агпресервевиртуал , чтобы зарезервировать диапазон виртуальных адресов в адресном пространстве приложения. Драйвер минипорта видео должен передать агпресервевиртуал маркер, ранее возвращенный агпресервефисикал, чтобы зарезервированный диапазон виртуальных адресов можно было связать с диапазоном физических адресов, созданным агпресервефисикал.
Примечание . При использовании функций AGP для фиксации или резервирования диапазона адресов (физического или виртуального) размер диапазона должен быть кратен 64 КБ.
Драйвер минипорта видео отвечает за освобождение и освобождение всей памяти, которая была зарезервирована и зафиксирована путем вызова следующих функций:
Агпфривиртуал отменяет сопоставление виртуальных адресов, которые были сопоставлены с системной памятью, при предыдущем вызове агпкоммитвиртуал.
Агпрелеасевиртуал выпускают виртуальные адреса, зарезервированные при предыдущем вызове метода агпресервевиртуал.
Агпфрифисикал отменяет сопоставление физических адресов, которые были сопоставлены с системной памятью, при предыдущем вызове агпкоммитфисикал.
Агпрелеасефисикал выпускают физические адреса, которые были зарезервированы предыдущим вызовом агпресервефисикал.
Microsoft DirectDraw treats Accelerated Graphics Port (AGP) memory as a subclass of display memory. This memory type is referred to as nonlocal display memory. The terms AGP memory and nonlocal display memory are synonymous from the perspective of DirectDraw and DirectDraw drivers.
AGP memory is considered a pure subclass of display memory. That is, if a driver indicates it supports AGP memory, in most cases it must have the same functional capabilities for local and nonlocal display memory, although performance differences are permitted. The exception is if the DDCAPS2_NONLOCALVIDMEMCAPS flag is set, in which case the blt capabilities for nonlocal display memory can differ from local display memory.
For example, if a driver states that it can texture from display memory, it must be able to texture from both local and nonlocal display memory. Blitting is treated similarly. A driver that exports the source color key blt capability must be able to do a source color keyed blt both to and from nonlocal display memory. The one exception to this rule is that it is possible to preclude certain surface types from ever being allocated in nonlocal display memory. For example, it is possible to use heaps to prevent overlay surfaces from ever being allocated in AGP memory.
Because AGP memory is treated as a subclass of display memory, DirectDraw has no separate set of display driver entry points for AGP memory. The existing display driver calls are used for both AGP surfaces and local display memory surfaces. An AGP-compatible driver must check incoming surfaces to see if they are in nonlocal or local display memory, and take the appropriate action. Blts from system to AGP (and vice versa) go through DirectDraw emulation layer as normal, unless a driver supports system-to-display memory blts (in which case it must support system-to-AGP transfers as well).
Drivers should set the DDCAPS2_TEXMANINNONLOCALVIDMEM flag as much as possible because the Direct3D texture manager keeps its backing image of the video memory copy of a surface in AGP memory (rather than system memory) when this is the case.
The remainder of this section discusses the steps necessary to modify your existing driver to support AGP memory using DirectDraw nonlocal display memory features.
Загрузки драйверов AGP
Обновление драйверов AGP вручную:
Основные драйверы AGP можно получить через %%os%% или проведя обновление Windows®. Использование этих предустановленных драйверов может поддерживать основные функции вашего Device. Нажмите здесь, чтобы ознакомиться с порядком установки встроенных драйверов.
Как автоматически обновлять драйверы AGP:
Рекомендация: Пользователи Windows, не имеющие опыта в обновлении драйверов устройства AGP , могут выполнить обновления данных драйверов AGP с помощью инструмента для обновления драйверов DriverDoc [DriverDoc - Продукт от Solvusoft]. DriverDoc избавит вас от хлопот и проблем, связанных с загрузкой и установкой правильных драйверов AGP для вашей операционной системы.
Благодаря доступу к базе, содержащей более 2 150 000 драйверов, DriverDoc будет выполнять обновление не только драйверов , но и остальных драйверов на вашем ПК.
AGP Часто задаваемые вопросы относительно обновления
Каковы существуют преимущества и риски обновления драйверов AGP?
Обновление драйверов позволит повысить производительность ПК, разблокировать аппаратные функции и устранить любые несовместимости. Риски установки неправильных драйверов AGP включают сбои программного обеспечения, потерю функций, зависание ПК и нестабильность системы.
Как обновить драйверы AGP?
Большинство опытных пользователей ПК могут обновить драйверы AGP устройства вручную с помощью Device Manager (Диспетчера устройств) или автоматически, загрузив утилиту для обновления драйверов.
Почему избегаются обновления драйверов AGP?
Большинство людей опасаются, что они вызовут сбой компьютера или ошибку, если они обновят драйверы устройств AGP.
Какая ОС совместима с драйверами AGP?
AGP имеет доступную версию драйверов в Windows.
Сложности управления водителем
Ошибки AGP могут быть коренятся в устаревший или поврежденный драйвер устройства. Драйверы устройств могут выйти из строя без какой-либо видимой причины. Есть надежда для пользователей Устройство, потому что они обычно могут решить проблему, обновив свои драйверы устройств.
Правильный драйвер AGP может быть трудно найти на веб-сайте производителя. Даже опытные, технически подкованные люди с хорошей привычкой обновлять драйверы устройств AGP все еще могут найти весь процесс установки и обновления трудоемким и раздражающим. Неправильная загрузка драйвера может привести к проблемам с программным обеспечением и нанести ущерб функциональности компьютера.
Для времени и усилий, связанных с процессом обновления драйверов, мы настоятельно рекомендуем использовать утилиту драйверов. Средство обновления драйверов гарантирует, что драйверы операционной системы компьютера обновлены и правильно подходят для оборудования в системе. Резервные файлы предоставляют возможность отката любого драйвера к более ранней версии, если что-то прерывает или повреждает процесс.
Читайте также: