Puerto de gráficos acelerados - Accelerated Graphics Port

AGP
Puerto de gráficos acelerados Puerto de gráficos acelerado (logotipo) .svg
Zócalos AGP, PCI, CNR en PCChips M925LR Motherboard.jpg
Ranura AGP universal (marrón, superior), 2 ranuras PCI 2.2 (blanco beige, medio) y ranura CNR (marrón, inferior)
Año de creación 1997 ; Hace 24 años ( 1997 )
Creado por Intel
Reemplaza PCI para gráficos
Sustituida por PCI Express (2004)
Ancho en bits 32
No. de dispositivos Un dispositivo por ranura
Velocidad Half-duplex
Hasta 2133  MB / s
Estilo Paralelo

El puerto de gráficos acelerado ( AGP ) es un estándar de tarjeta de expansión paralela , diseñado para conectar una tarjeta de video a un sistema informático para ayudar en la aceleración de gráficos 3D por computadora . Originalmente fue diseñado como un sucesor de las conexiones de tipo PCI para tarjetas de video. Desde 2004, AGP se ha ido eliminando progresivamente a favor de PCI Express (PCIe), que es serie , en lugar de paralelo; a mediados de 2008, las tarjetas PCI Express dominaban el mercado y solo unos pocos modelos AGP estaban disponibles, y los fabricantes de GPU y los socios de placas complementarias finalmente dejaron de admitir la interfaz en favor de PCI Express.

Ventajas sobre PCI

A medida que las computadoras se orientaron cada vez más a los gráficos, las sucesivas generaciones de adaptadores gráficos comenzaron a superar los límites de PCI , un bus con ancho de banda compartido. Esto llevó al desarrollo de AGP, un "bus" dedicado a los adaptadores de gráficos.

AGP se basa en gran medida en PCI y, de hecho, el bus AGP es un superconjunto del bus PCI convencional , y las tarjetas AGP deben actuar como tarjetas PCI.

La principal ventaja de AGP sobre PCI es que proporciona una ruta dedicada entre las ranuras y el procesador en lugar de compartir el bus PCI. Además de la falta de contención para el autobús, la conexión directa permite velocidades de reloj más altas.

El segundo cambio importante es que AGP usa transacciones divididas, donde las fases de dirección y datos de una transacción PCI están separadas. La tarjeta puede enviar muchas fases de dirección y el host las procesa en orden. Esto evita grandes retrasos, con el bus inactivo, durante las operaciones de lectura.

En tercer lugar, se simplifica el protocolo de enlace de bus PCI. A diferencia de las transacciones de bus PCI cuya longitud se negocia ciclo por ciclo utilizando las señales FRAME # y STOP #, las transferencias AGP son siempre un múltiplo de 8 bytes de longitud y la longitud total se incluye en la solicitud. Además, en lugar de utilizar las señales IRDY # y TRDY # para cada palabra, los datos se transfieren en bloques de cuatro ciclos de reloj (32 palabras a una velocidad AGP 8 ×) y las pausas se permiten solo entre bloques.

Finalmente, AGP permite (opcional en AGP 1.0 y 2.0, obligatorio en AGP 3.0) el direccionamiento de banda lateral , lo que significa que los buses de dirección y datos están separados para que la fase de dirección no use las líneas principales de dirección / datos (AD) en absoluto. Esto se hace mediante la adición de un niño de 8 bits extra "banda lateral Dirección" bus sobre el que el controlador de gráficos puede emitir nuevas solicitudes AGP mientras que otros datos AGP está fluyendo a través de los principales / líneas de datos (AD) 32 de dirección. Esto da como resultado una mejora del rendimiento general de los datos AGP.

Esta gran mejora en el rendimiento de lectura de la memoria hace que sea práctico para una tarjeta AGP leer texturas directamente desde la RAM del sistema, mientras que una tarjeta gráfica PCI debe copiarla de la RAM del sistema a la memoria de video de la tarjeta . La memoria del sistema está disponible mediante la tabla de reasignación de direcciones de gráficos (GART), que distribuye la memoria principal según sea necesario para el almacenamiento de texturas. La cantidad máxima de memoria del sistema disponible para AGP se define como la apertura AGP .

Historia

Una tarjeta AGP

La ranura AGP apareció por primera vez en placas de sistema compatibles con x86 basadas en procesadores Socket 7 Intel P5 Pentium y Slot 1 P6 Pentium II . Intel introdujo el soporte AGP con el chipset i 440LX Slot 1 el 26 de agosto de 1997, y siguió una avalancha de productos de todos los principales proveedores de placas del sistema.

Los primeros conjuntos de chips Socket 7 compatibles con AGP fueron VIA Apollo VP3 , SiS 5591/5592 y ALI Aladdin V. Intel nunca lanzó un conjunto de chips Socket 7 equipado con AGP. FIC demostró la primera placa del sistema Socket 7 AGP en noviembre de 1997 como FIC PA-2012 basada en el chipset VIA Apollo VP3, seguida muy rápidamente por la EPoX P55-VP3 también basada en el chipset VIA VP3 que fue el primero en el mercado.

Los primeros chipsets de video con soporte AGP incluían Rendition Vérité V2200, 3dfx Voodoo Banshee , Nvidia RIVA 128 , 3Dlabs PERMEDIA 2, Intel i740 , ATI Rage series , Matrox Millennium II y S3 ViRGE GX / 2 . Algunas de las primeras placas AGP usaban procesadores gráficos construidos alrededor de PCI y simplemente estaban puenteados a AGP. Esto dio como resultado que las tarjetas se beneficiaran poco del nuevo bus, y la única mejora utilizada fue el reloj del bus de 66 MHz, con su ancho de banda duplicado resultante sobre PCI, y la exclusividad del bus. Ejemplos de tales tarjetas fueron Voodoo Banshee, Vérité V2200, Millennium II y S3 ViRGE GX / 2. El i740 de Intel se diseñó explícitamente para aprovechar el nuevo conjunto de funciones AGP; de hecho, fue diseñado para texturizar solo a partir de la memoria AGP, lo que dificulta la implementación de las versiones PCI de la placa (la RAM de la placa local tenía que emular la memoria AGP).

Microsoft introdujo por primera vez el soporte AGP en Windows 95 OEM Service Release 2 (OSR2 versión 1111 o 950B) a través del parche USB SUPPLEMENT to OSR2 . Después de aplicar el parche del sistema de Windows 95 se convirtió en Windows 95 versión 4.00.950 B . El primer sistema operativo basado en Windows NT que recibió compatibilidad con AGP fue Windows NT 4.0 con Service Pack 3, introducido en 1997. La compatibilidad con Linux para transferencias de datos rápidas mejoradas con AGP se agregó por primera vez en 1999 con la implementación del módulo de kernel AGPgart .

Versiones

AGP y PCI : buses de 32 bits que operan a 66 y 33  MHz respectivamente
Especificación Voltaje Reloj Velocidad Traslados / reloj Tasa (MB / s)
PCI 3,3 / 5 V 33 MHz - 1 133
PCI 2.1 3,3 / 5 V 33/66 MHz - 1 133/266
AGP 1.0 3,3 V 66 MHz 1 × 1 266
AGP 1.0 3,3 V 66 MHz 2 × 2 533
AGP 2.0 1,5 V 66 MHz 4 × 4 1066
AGP 3.0 0,8 V 66 MHz 8 × 8 2133
AGP 3.5 * 0,8 V 66 MHz 8 × 8 2133

Intel lanzó la "especificación AGP 1.0" en 1997. Especificó señales de 3.3 V y velocidades de 1 × y 2 ×. La especificación 2.0 documentó la señalización de 1,5 V, que podría usarse a 1 ×, 2 × y la velocidad adicional de 4 × y 3.0 agregó señalización de 0,8 V, que podría funcionar a velocidades de 4 × y 8 ×. (Las velocidades 1 × y 2 × son físicamente posibles, pero no se especificaron).

Las versiones disponibles se enumeran en la tabla adyacente.

La versión 3.5 de AGP solo es mencionada públicamente por Microsoft en Universal Accelerated Graphics Port (UAGP) , que especifica el soporte obligatorio de registros adicionales una vez marcados como opcionales en AGP 3.0. Los registros actualizados incluyen PCISTS, CAPPTR, NCAPID, AGPSTAT, AGPCMD, NISTAT, NICMD. Los nuevos registros requeridos incluyen APBASELO, APBASEHI, AGPCTRL, APSIZE, NEPG, GARTLO, GARTHI.

Hay varias interfaces físicas (conectores); consulte la sección Compatibilidad .

Extensiones oficiales

Tarjeta gráfica AGP ( Apple Macintosh )
Tarjeta gráfica AGP Pro

AGP Pro

Una extensión oficial para tarjetas que requerían más energía eléctrica, con una ranura más larga con pines adicionales para ese propósito. Las tarjetas AGP Pro solían ser tarjetas de tipo estación de trabajo que se utilizaban para acelerar las aplicaciones profesionales de diseño asistido por computadora empleadas en los campos de arquitectura, mecanizado, ingeniería, simulaciones y campos similares.

AGP de 64 bits

Una vez se propuso un canal de 64 bits como estándar opcional para AGP 3.0 en los borradores de documentos, pero se eliminó en la versión final del estándar.

El estándar permite la transferencia de 64 bits para lecturas, escrituras y escrituras rápidas AGP8 ×; Transferencia de 32 bits para operaciones PCI.

Variaciones no oficiales

Los fabricantes han producido una serie de variaciones no estándar de la interfaz AGP.

Interfaz AGP interna

Ultra-AGP, Ultra-AGPII
Es un estándar de interfaz AGP interno utilizado por SiS para los controladores del puente norte con gráficos integrados. La versión original admite el mismo ancho de banda que AGP 8 ×, mientras que Ultra-AGPII tiene un ancho de banda máximo de 3,2 GB / s.

Puertos AGP basados ​​en PCI

AGP Express
No es una verdadera interfaz AGP, pero permite conectar una tarjeta AGP a través del bus PCI heredado en una placa base PCI Express . Es una tecnología utilizada en placas base fabricadas por ECS , destinada a permitir que una tarjeta AGP existente se utilice en una nueva placa base en lugar de requerir la obtención de una tarjeta PCIe (desde la introducción de las tarjetas gráficas PCIe, pocas placas base proporcionan ranuras AGP). Una ranura "AGP Express" es básicamente una ranura PCI (con el doble de energía eléctrica) con un conector AGP. Ofrece compatibilidad con versiones anteriores de las tarjetas AGP, pero proporciona un soporte incompleto (algunas tarjetas AGP no funcionan con AGP Express) y un rendimiento reducido: la tarjeta se ve obligada a utilizar el bus PCI compartido en su ancho de banda más bajo, en lugar de tener un uso exclusivo del más rápido. AGP.
AGI
La interfaz de gráficos ASRock (AGI) es una variante patentada del estándar de puerto de gráficos acelerado (AGP). Su propósito es proporcionar soporte AGP para placas base ASRock que usan conjuntos de chips que carecen de soporte AGP nativo. Sin embargo, no es totalmente compatible con AGP, y se sabe que varios conjuntos de chips de tarjetas de video no son compatibles.
AGX
El EPoX Advanced Graphics eXtended (AGX) es otra variante AGP patentada con las mismas ventajas y desventajas como AGI. Los manuales de usuario recomiendan no utilizar tarjetas AGP 8 × ATI con ranuras AGX.
XGP
El puerto de gráficos Biostar Xtreme es otra variante de AGP, también con las mismas ventajas y desventajas que AGI y AGX.

Puertos AGP basados ​​en PCIe

AGR
El elevador de gráficos avanzado es una variación del puerto AGP utilizado en algunas placas base PCIe fabricadas por MSI para ofrecer una compatibilidad retroactiva limitada con AGP. Es, efectivamente, una ranura PCIe modificada que permite un rendimiento comparable a una ranura AGP 4 × / 8 ×, pero no es compatible con todas las tarjetas AGP; el fabricante publicó una lista de algunas tarjetas y conjuntos de chips que funcionan con la ranura modificada.

Compatibilidad

Compatibilidad, teclas AGP en la tarjeta (arriba), en la ranura (abajo)

Las tarjetas AGP son compatibles con versiones anteriores y posteriores dentro de ciertos límites. Las tarjetas con llave de 1,5 V no se colocarán en las ranuras de 3,3 V y viceversa, aunque existen tarjetas "universales" que caben en cualquier tipo de ranura. También hay ranuras "universales" sin llave que aceptan cualquier tipo de tarjeta. Cuando se conecta una tarjeta AGP Universal en una ranura AGP Universal, solo se utiliza la parte de 1,5 V de la tarjeta. Algunas tarjetas, como la serie GeForce 6 de Nvidia (excepto la serie 6200) o la serie Radeon X800 de ATI , solo tienen claves para 1,5 V para evitar que se instalen en placas base antiguas sin soporte de 1,5 V. Algunas de las últimas tarjetas modernas con soporte de 3.3 V fueron la serie Nvidia GeForce FX (FX 5200, FX 5500, FX 5700, algunas FX 5800, FX 5900 y algunas FX 5950), ciertas Geforce 6 Series y 7 series (se fabricaron pocas tarjetas con soporte de 3.3v excepto para 6200 donde el soporte de 3.3v era común) y el ATI Radeon 9500/9700/9800 (R300 / R350) (pero no 9600/9800 (R360 / RV360)). Algunas tarjetas Geforce 6200/6600/6800 y Geforce 7300/7600/7800/7900/7950 funcionarán con ranuras AGP 1.0 (3.3v), pero esas son realmente poco comunes en comparación con sus versiones de solo AGP 1.5v.

Las tarjetas AGP Pro no encajarán en las ranuras estándar, pero las tarjetas AGP estándar funcionarán en una ranura Pro. Las placas base equipadas con una ranura Universal AGP Pro aceptarán una tarjeta de 1,5 V o 3,3 V en la configuración AGP Pro o estándar AGP, una tarjeta Universal AGP o una tarjeta Universal AGP Pro.

Algunas tarjetas tienen muescas dobles incorrectamente y algunas placas base tienen ranuras completamente abiertas de manera incorrecta, lo que permite que una tarjeta se conecte a una ranura que no admite el voltaje de señalización correcto, lo que puede dañar la tarjeta o la placa base. Algunas tarjetas antiguas de 3,3 V diseñadas incorrectamente tienen la llave de 1,5 V.

Hay algunos sistemas propietarios incompatibles con AGP estándar; por ejemplo, las computadoras Apple Power Macintosh con Apple Display Connector (ADC) tienen un conector adicional que suministra energía a la pantalla adjunta. Algunas tarjetas diseñadas para funcionar con una arquitectura de CPU específica (por ejemplo, PC, Apple) pueden no funcionar con otras debido a problemas de firmware .

Mark Allen de Playtools.com hizo los siguientes comentarios sobre la compatibilidad práctica de AGP para AGP 3.0 y AGP 2.0:

"... nadie fabrica tarjetas AGP 3.0 y nadie fabrica placas base AGP 3.0. Al menos no hay ningún fabricante que pueda encontrar. Cada una de las tarjetas de video que pude encontrar y que afirmaban ser una tarjeta AGP 3.0 era en realidad una tarjeta universal de 1.5V AGP 3.0 . Y cada placa base que decía ser una placa base AGP 3.0 resultó ser una placa base universal 1.5V AGP 3.0. Tiene sentido, si lo piensas bien, porque si alguien realmente envió un producto orientado al consumidor que solo soportaba 0.8 voltios, terminarían con muchos clientes confundidos y una pesadilla de soporte. En el mercado de consumo, tendrías que estar loco para enviar un producto de solo 0,8 voltios ".

El consumo de energía

Aprovisionamiento de energía AGP
Tipo de ranura 3,3 V 5 V 12 V 3,3 V Aux 1,5 V 3,3 V 12 V Poder total
AGP 6 A 2 A 1 A 0,375 mA 2 A - - 48,25 W
AGP Pro110 7,6 A 9,2 A 50 hasta 110 W
AGP Pro50 7,6 A 4,17 A 25 a 50 W

La energía real suministrada por una ranura AGP depende de la tarjeta utilizada. La corriente máxima extraída de los distintos rieles se indica en las especificaciones de las distintas versiones. Por ejemplo, si la corriente máxima se extrae de todos los suministros y todos los voltajes están en sus límites superiores especificados, una ranura AGP 3.0 puede suministrar hasta 48,25  vatios ; esta cifra puede usarse para especificar una fuente de alimentación de manera conservadora, pero en la práctica es poco probable que una tarjeta extraiga más de 40 W de la ranura, y muchas usan menos. AGP Pro proporciona energía adicional hasta 110 W. Muchas tarjetas AGP tenían conectores de energía adicionales para suministrarles más energía de la que la ranura podría proporcionar.

Uso posterior

En 2010, pocas placas base nuevas tenían ranuras AGP. No se equiparon nuevos conjuntos de chips de placa base con soporte AGP, pero las placas base se siguieron produciendo con conjuntos de chips más antiguos con soporte para AGP.

Los procesadores de gráficos de este período utilizan PCI-Express, un estándar de uso general (no restringido a los gráficos) que admite velocidades de transferencia de datos más altas y full-duplex . Para crear tarjetas gráficas compatibles con AGP, esos chips requieren un chip puente PCIe a AGP adicional para convertir señales PCIe hacia y desde señales AGP. Esto incurre en costos de placa adicionales debido a la necesidad de un chip puente adicional y de una placa de circuito diseñada por AGP separada.

Varios fabricantes de tarjetas gráficas continuaron produciendo tarjetas AGP para la cada vez menor base de usuarios de AGP. Las primeras tarjetas con puente fueron las placas GeForce 6600 y ATI Radeon X800 XL, lanzadas durante 2004-2005. En 2009, las tarjetas AGP de Nvidia tenían un límite máximo de la serie GeForce 7 . En 2011, las tarjetas AGP compatibles con DirectX 10 de los proveedores de AMD (Club 3D, HIS, Sapphire, Jaton, Visiontek, Diamond, etc.) incluían Radeon HD 2400, 3450, 3650 , 3850, 4350, 4650 y 4670 . La serie HD 5000 AGP mencionada en el software AMD Catalyst nunca estuvo disponible. Hubo muchos problemas con los controladores de revisión AGP AMD Catalyst 11.2 - 11.6 en Windows 7 con las tarjetas de video AGP de la serie HD 4000; el uso de controladores de revisión AGP 10.12 o 11.1 es la solución alternativa recomendada. Varios de los proveedores enumerados anteriormente ofrecen versiones anteriores de los controladores AGP.

En 2016, Windows 10 versión 1607 eliminó la compatibilidad con tarjetas de video AGP, lo que convirtió a Windows 10 1511 en la última versión de Windows compatible con AGP. También se consideró la eliminación de la compatibilidad con AGP en futuros kernel y controladores de Linux.

Protocolo

Un bus AGP es un superconjunto de un bus PCI convencional de 66 MHz e, inmediatamente después del reinicio, sigue el mismo protocolo. La tarjeta debe actuar como un objetivo PCI y, opcionalmente, puede actuar como un maestro PCI. (AGP 2.0 agregó una extensión de "escritura rápida" que permite que las escrituras PCI desde la placa base a la tarjeta transfieran datos a mayor velocidad).

Una vez que se inicializa la tarjeta mediante transacciones PCI, se permiten transacciones AGP. Para estos, la tarjeta es siempre el maestro AGP y la placa base es siempre el objetivo AGP. La tarjeta pone en cola múltiples solicitudes que corresponden a la fase de dirección PCI, y la placa base programa las fases de datos correspondientes más adelante. Una parte importante de la inicialización es decirle a la tarjeta el número máximo de solicitudes AGP pendientes que se pueden poner en cola en un momento dado.

Las solicitudes AGP son similares a las solicitudes de lectura y escritura de memoria PCI, pero utilizan una codificación diferente en las líneas de comando C / BE [3: 0] y siempre están alineadas con 8 bytes ; su dirección inicial y su longitud son siempre múltiplos de 8 bytes (64 bits). Los tres bits de orden inferior de la dirección se utilizan en cambio para comunicar la longitud de la solicitud.

Siempre que se afirma la señal PCI GNT #, otorgando el bus a la tarjeta, tres bits de estado adicionales ST [2: 0] indican el tipo de transferencia a realizar a continuación. Si los bits lo son 0xx, se transferirán los datos de una transacción AGP previamente en cola; si los tres bits lo son 111, la tarjeta puede comenzar una transacción PCI o (si el direccionamiento de banda lateral no está en uso) poner en cola una solicitud en banda usando PIPE #.

Códigos de comando AGP

Como PCI, cada transacción AGP comienza con una fase de dirección, comunicando una dirección y un código de comando de 4 bits. Sin embargo, los comandos posibles son diferentes de PCI:

000p
Leer
Leer 8 × (AD [2: 0] +1) = 8, 16, 24, ..., 64 bytes. El bit p menos significativo es 0 para prioridad baja, 1 para alta.
001x
(reservado):
010p
Escribir
Escriba 8 × (AD [2: 0] +1) = 8–64 bytes.
011x
(reservado):
100p
Lectura larga
Leer 32 × (AD [2: 0] +1) = 32, 64, 96, ..., 256 bytes. Es lo mismo que una solicitud de lectura, pero la longitud se multiplica por cuatro.
1010
Enjuagar
Forzar datos escritos previamente a la memoria, para sincronización. Esto actúa como una lectura de baja prioridad, tomando un espacio en la cola y devolviendo 8 bytes de datos aleatorios para indicar que se completó. La dirección y la longitud proporcionadas con este comando se ignoran.
1011
(reservado):
1100
Valla
Esto actúa como una barrera de memoria , requiriendo que todas las solicitudes AGP anteriores se completen antes de las siguientes solicitudes. Normalmente, para un mayor rendimiento, AGP utiliza un modelo de consistencia muy débil y permite que una escritura posterior pase a una lectura anterior. (Por ejemplo, después de enviar solicitudes de "escribir 1, escribir 2, leer, escribir 3, escribir 4", todas a la misma dirección, la lectura puede devolver cualquier valor de 2 a 4. Solo se prohíbe devolver 1, ya que las escrituras deben completarse antes de seguir lee.) Esta operación no requiere ningún espacio en la cola.
1101
Ciclo de dirección dual
Cuando se hace una solicitud a una dirección por encima de 2 32 , esto se usa para indicar que seguirá un segundo ciclo de dirección con bits de dirección adicionales. Esto funciona como un ciclo normal de dirección dual PCI; va acompañado de los 32 bits de orden inferior de la dirección (y la longitud), y el ciclo siguiente incluye los 32 bits de dirección altos y el comando deseado. Los dos ciclos realizan una solicitud y solo ocupan un espacio en la cola de solicitudes. Este código de solicitud no se utiliza con direccionamiento de banda lateral.
111x
(reservado):

AGP 3.0 eliminó las solicitudes de alta prioridad y los comandos de lectura larga, ya que se usaban poco. También ordenó el direccionamiento de banda lateral, eliminando así el ciclo de dirección dual, dejando solo cuatro tipos de solicitud: lectura de baja prioridad (0000), escritura de baja prioridad (0100), flush (1010) y cerca (1100).

Solicitudes de AGP en banda mediante PIPE #

Para poner en cola una solicitud en banda, la tarjeta debe solicitar el bus utilizando la señal estándar PCI REQ # y recibir GNT # más el estado del bus ST [2: 0] igual a 111. Luego, en lugar de afirmar FRAME # para comenzar una transacción PCI, la tarjeta afirma la señal PIPE # mientras maneja el comando AGP, la dirección y la longitud en C / BE [3: 0], AD [31: 3] y AD [ 2: 0] líneas, respectivamente. (Si la dirección es de 64 bits, se usa un ciclo de dirección dual similar a PCI). Por cada ciclo que se afirma PIPE #, la tarjeta envía otra solicitud sin esperar el reconocimiento de la placa base, hasta la profundidad de cola máxima configurada. El último ciclo se marca anulando REQ #, y PIPE # se anula en el siguiente ciclo inactivo.

Solicitudes de AGP de banda lateral mediante SBA [7: 0]

Si se admite y configura el direccionamiento de banda lateral, no se utiliza la señal PIPE #. (Y la señal se reutiliza para otro propósito en el protocolo AGP 3.0, que requiere direccionamiento de banda lateral). En cambio, las solicitudes se dividen en partes de 16 bits que se envían como dos bytes a través del bus SBA. No es necesario que la tarjeta solicite permiso a la placa base; se puede enviar una nueva solicitud en cualquier momento siempre que el número de solicitudes pendientes esté dentro de la profundidad de cola máxima configurada. Los posibles valores son:

0aaa aaaa aaaa alll
Ponga en cola una solicitud con los bits de dirección de orden inferior A [14: 3] y una longitud de 8 × (L [2: 0] +1). Los bits de comando y de orden superior son los especificados anteriormente. Se puede poner en cola cualquier número de solicitudes enviando solo este patrón, siempre que el comando y los bits de dirección superiores permanezcan iguales.
10cc ccra aaaa aaaa
Utilice el comando C [3: 0] y los bits de dirección A [23:15] para solicitudes futuras. (El bit R está reservado). Esto no pone en cola una solicitud, pero establece valores que se utilizarán en todas las solicitudes futuras en cola.
110r aaaa aaaa aaaa
Utilice los bits de dirección A [35:24] para solicitudes futuras.
1110 aaaa aaaa aaaa
Utilice los bits de dirección A [47:36] para solicitudes futuras.
1111 0xxx, 1111 10xx,1111 110x
Reservado, no utilizar.
1111 1110
Patrón de sincronización utilizado al iniciar el bus SBA después de un período de inactividad.
1111 1111
Sin operación ; sin solicitud. A una velocidad AGP 1x, esto puede enviarse como un solo byte y una solicitud de banda lateral de 16 bits siguiente iniciada un ciclo más tarde. A velocidades AGP 2 × y superiores, todas las solicitudes de banda lateral, incluido este NOP, tienen una longitud de 16 bits.

Los bytes de dirección de banda lateral se envían a la misma velocidad que las transferencias de datos, hasta 8 veces el reloj de bus básico de 66 MHz. El direccionamiento de banda lateral tiene la ventaja de que en su mayoría elimina la necesidad de ciclos de respuesta en el bus AD entre transferencias, en el caso habitual cuando las operaciones de lectura superan en gran medida a las escrituras.

Respuestas de AGP

Mientras afirma GNT #, la placa base puede indicar a través de los bits ST que a continuación se realizará una fase de datos para una solicitud en cola. Hay cuatro colas: dos prioridades (baja y alta prioridad) para cada una de las lecturas y escrituras, y cada una se procesa en orden. Obviamente, la placa base intentará completar las solicitudes de alta prioridad primero, pero no hay límite en la cantidad de respuestas de baja prioridad que se pueden entregar mientras se procesa la solicitud de alta prioridad.

Para cada ciclo cuando se afirma el GNT # y los bits de estado tienen el valor 00p, se programa para devolver una respuesta de lectura de la prioridad indicada. En la próxima oportunidad disponible (generalmente el siguiente ciclo de reloj), la placa base afirmará TRDY # (objetivo listo) y comenzará a transferir la respuesta a la solicitud más antigua en la cola de lectura indicada. (Otras señales de bus PCI como FRAME #, DEVSEL # e IRDY # permanecen sin confirmar). Hasta cuatro ciclos de reloj de datos (16 bytes en AGP 1 × o 128 bytes en AGP 8 ×) se transfieren sin esperar el reconocimiento de la tarjeta . Si la respuesta es más larga que eso, tanto la tarjeta como la placa base deben indicar su capacidad para continuar en el tercer ciclo afirmando IRDY # (iniciador listo) y TRDY #, respectivamente. Si alguno de los dos no lo hace, se insertarán estados de espera hasta dos ciclos después de que ambos lo hagan. (El valor de IRDY # y TRDY # en otros momentos es irrelevante y generalmente se anulan).

Las líneas de habilitación de bytes C / BE # pueden ignorarse durante las respuestas de lectura, pero la placa base las mantiene afirmadas (todos los bytes son válidos).

La tarjeta también puede afirmar la señal RBF # (búfer de lectura lleno) para indicar que temporalmente no puede recibir más respuestas de lectura de baja prioridad. La placa base se abstendrá de programar más respuestas de lectura de baja prioridad. La tarjeta aún debe poder recibir el final de la respuesta actual y el primer bloque de cuatro ciclos del siguiente si está programado, además de cualquier respuesta de alta prioridad que haya solicitado.

Para cada ciclo cuando se afirma GNT # y los bits de estado tienen el valor 01p, se programa el envío de datos de escritura a través del bus. En la próxima oportunidad disponible (normalmente el siguiente ciclo de reloj), la tarjeta indicará IRDY # (iniciador listo) y comenzará a transferir la porción de datos de la solicitud más antigua en la cola de escritura indicada. Si los datos tienen más de cuatro ciclos de reloj, la placa base indicará su capacidad para continuar afirmando TRDY # en el tercer ciclo. A diferencia de las lecturas, no existe ninguna disposición para que la tarjeta retrase la escritura; si no tenía los datos listos para enviar, no debería haber puesto en cola la solicitud.

Las líneas C / BE # se utilizan con datos de escritura y la tarjeta puede utilizarlas para seleccionar qué bytes deben escribirse en la memoria.

El multiplicador en AGP 2 ×, 4 × y 8 × indica el número de transferencias de datos a través del bus durante cada ciclo de reloj de 66 MHz. Dichas transferencias utilizan reloj síncrono de origen con una señal "estroboscópica" (AD_STB [0], AD_STB [1] y SB_STB) generada por el origen de datos. AGP 4 × agrega señales estroboscópicas complementarias.

Debido a que las transacciones AGP pueden ser tan cortas como dos transferencias, a velocidades AGP 4 × y 8 × es posible que una solicitud se complete en medio de un ciclo de reloj. En tal caso, el ciclo se rellena con transferencias de datos ficticias (con las líneas de habilitación de bytes C / BE # mantenidas desactivadas).

Pinout del conector

El conector AGP contiene casi todas las señales PCI, además de varias adiciones. El conector tiene 66 contactos en cada lado, aunque se quitan 4 para cada muesca de codificación. El pin 1 es el más cercano al soporte de E / S, y los lados B y A son como en la tabla, mirando hacia el conector de la placa base.

Los contactos están espaciados a intervalos de 1 mm, sin embargo, están dispuestos en dos filas verticales escalonadas para que haya un espacio de 2 mm entre los pines de cada fila. Los contactos del lado A con números impares y los contactos del lado B con números pares están en la fila inferior (1,0 a 3,5 mm desde el borde de la tarjeta). Los demás están en la fila superior (3,7 a 6,0 mm desde el borde de la tarjeta).

Configuración de pines del conector del puerto de gráficos acelerado
Alfiler Lado B Lado a Comentarios
1 OVERCNT # +12 V Advertencia de sobrecorriente del puerto USB
2 +5 V TIPO # Tirado bajo por tarjeta para indicar capacidad de 1.5 V (AGP 2.0 4x)
3 +5 V GC_DET # Tirado bajo por tarjeta para indicar capacidad de 0.8 V (AGP 3.0 8x)
4 USB + USB− Pines USB para pasar al monitor
5 Suelo Suelo
6 INTB # INTA # Interrumpir líneas (drenaje abierto)
7 CLK RST # Reloj de 66 MHz, reinicio de bus
8 REQ # GNT # Solicitud de bus de la tarjeta y concesión de la placa base
9 +3,3 V +3,3 V
10 ST [0] ST [1] Estado AGP (válido mientras GNT # bajo)
11 ST [2] MB_DET # Tirado bajo por la placa base para indicar una capacidad de 0.8 V (AGP 3.0 8x)
12 RBF # TUBO# DBI_HI Lectura de búfer lleno, solicitud de canalización, inversión de bus de datos [31:16]
13 Suelo Suelo
14 DBI_LO WBF # Inversión del bus de datos [15: 0], búfer de escritura lleno
15 SBA [0] SBA [1] Bus de direcciones de banda lateral
dieciséis +3,3 V +3,3 V
17 SBA [2] SBA [3]
18 SB_STB SB_STB #
19 Suelo Suelo
20 SBA [4] SBA [5]
21 SBA [6] SBA [7]
22 Reservado Reservado Muesca de llave para tarjetas AGP de 3,3 V
23 Suelo Suelo
24 +3,3 V auxiliar Reservado
25 +3,3 V +3,3 V
26 AD [31] AD [30] Bus de dirección / datos (mitad superior)
27 AD [29] AD [28]
28 +3,3 V +3,3 V
29 AD [27] AD [26]
30 AD [25] AD [24]
31 Suelo Suelo
32 AD_STB [1] AD_STB [1] #
33 AD [23] C / BE [3] #
34 Vddq Vddq
35 AD [21] AD [22]
36 AD [19] AD [20]
37 Suelo Suelo
38 AD [17] AD [18]
39 C / BE [2] # AD [16]
40 Vddq Vddq 3,3 o 1,5 V
41 IRDY # MARCO# Iniciador listo, transferencia en curso
42 +3,3 V auxiliar Reservado Muesca de llave para tarjetas AGP de 1,5 V
43 Suelo Suelo
44 Reservado Reservado
45 +3,3 V +3,3 V
46 DEVSEL # TRDY # Objetivo seleccionado, objetivo listo
47 Vddq DETENER# Detención de solicitudes de destino
48 PERR # PME # Error de paridad, evento de administración de energía (opcional)
49 Suelo Suelo
50 SERR # PAR Error del sistema, paridad par solo para (1x) transacciones PCI
51 C / BE [1] # AD [15] Bus de dirección / datos (mitad inferior)
52 Vddq Vddq
53 AD [14] AD [13]
54 AD [12] AD [11]
55 Suelo Suelo
56 AD [10] AD [9]
57 AD [8] C / BE [0] #
58 Vddq Vddq
59 AD_STB [0] AD_STB [0] #
60 AD [7] AD [6]
61 Suelo Suelo
62 AD [5] AD [4]
63 AD [3] AD [2]
64 Vddq Vddq
sesenta y cinco AD [1] AD [0]
66 Vregcg Vrefgc Voltajes de referencia de E / S
Leyenda
Pin de tierra Referencia de cero voltios
Pin de alimentación Suministra energía a la tarjeta AGP
Pin de salida Impulsado por la tarjeta AGP, recibido por la placa base
Salida del iniciador Impulsado por el maestro / iniciador, recibido por el objetivo
Señal de E / S Puede ser impulsado por el iniciador o el objetivo, según la operación
Salida de destino Impulsado por el objetivo, recibido por el iniciador / maestro
Aporte Impulsado por la placa base, recibido por la tarjeta AGP
Drenaje abierto Puede tirarse hacia abajo y / o detectarse con una tarjeta o placa base
Reservado No se usa actualmente, no lo conecte

Las señales PCI omitidas son:

  • El suministro de −12 V
  • La tercera y cuarta solicitudes de interrupción (INTC #, INTD #)
  • Los pines JTAG (TRST #, TCK, TMS, TDI, TDO)
  • Los pines SMBus (SMBCLK, SMBDAT)
  • El pin IDSEL; una tarjeta AGP conecta AD [16] a IDSEL internamente
  • Los pines de extensión de 64 bits (REQ64 #, ACK64 #) y 66 MHz (M66EN)
  • El pin LOCK # para soporte de transacciones bloqueadas

Las señales agregadas son:

  • Estrobos de datos AD_STB [1: 0] (y AD_STB [1: 0] # en AGP 2.0)
  • El bus de direcciones de banda lateral SBA [7: 0] y SB_STB (y SB_STB # en AGP 2.0)
  • Las señales de estado ST [2: 0]
  • USB + y USB− (y OVERCNT # en AGP 2.0)
  • La señal PIPE # (eliminada en AGP 3.0 para señalización de 0.8 V)
  • La señal RBF #
  • Los pines TYPEDET #, Vregcg y Vreggc (AGP 2.0 para señalización de 1.5V)
  • Las señales DBI_HI y DBI_LO (AGP 3.0 solo para señalización de 0,8 V)
  • Los pines GC_DET # y MB_DET # (AGP 3.0 para señalización de 0.8V)
  • La señal WBF # (extensión de escritura rápida AGP 3.0)

Ver también

Notas

Referencias

enlaces externos