Articulo de referencia

Puerto de gráficos acelerados

Up to 2133 [[Megabyte|MB]]/s"},"website":{"wt":"{{web archive|url=https://web.archive.org/web/20031002014501/http://www.intel.com/technology/agp/|title=intel.com/technology...

El puerto de gráficos acelerados ( AGP ) es un estándar obsoleto de tarjeta de expansión paralela , diseñado por Intel independientemente de PCI-SIG para conectar una tarjeta de video a un sistema informático y ayudar a acelerar los gráficos 3D . Originalmente, se diseñó como un sucesor generalmente compatible de las conexiones tipo PCI para tarjetas de video. El bus AGP estaba separado del bus PCI, de modo que la tarjeta gráfica, como principal consumidor de ancho de banda en un sistema informático, no tuviera que competir por ancho de banda con otros dispositivos , mientras que el rendimiento general del sistema aumentaba considerablemente con la adición de otro bus de datos. La separación también permitió mejoras que rompieron la compatibilidad con la multitud de tarjetas PCI existentes y AGP no estaba obligado a ser un estándar de mínimo común denominador. La introducción de transacciones en cola más eficientes sobre PCI hizo posible que la tarjeta gráfica utilizara la memoria del sistema directamente en muchas circunstancias en las que las tarjetas PCI normales requerían copias locales de los datos. Desde 2004, AGP y PCI se fueron eliminando progresivamente en favor de PCI Express (PCIe). A mediados de 2008, las tarjetas PCI Express dominaban el mercado y solo había unos pocos modelos AGP disponibles, [ 1 ] y los fabricantes de GPU y los socios de tarjetas de expansión finalmente dejaron de dar soporte a la interfaz relativamente rápido en favor de PCI Express. El análogo de AGP en los sistemas de bus ISA era el VESA Local Bus .

Ventajas sobre PCI

AGP es un superconjunto del estándar PCI, diseñado para superar las limitaciones de PCI al satisfacer los requisitos de las tarjetas gráficas de alto rendimiento de la época. [ 2 ]

La principal ventaja de AGP es su independencia del bus PCI , lo que proporciona una conexión directa y dedicada entre la(s) ranura(s) de expansión y el chipset de la placa base. Esta conexión directa también permite modificaciones retrocompatibles, como un voltaje de señal más bajo, lo que a su vez posibilita una mayor velocidad de reloj.

El segundo cambio importante es el uso de transacciones divididas , donde las fases de dirección y datos (fases de solicitud y respuesta) están separadas. Puede haber más de una transacción en curso. Esto permite que las transacciones de LECTURA se realicen igual de bien que las transacciones de ESCRITURA, lo cual es difícil de lograr con un procesamiento de transacciones estrictamente serial donde el bus debe permanecer inactivo (en estado de espera) mientras espera que finalice el acceso a los datos de lectura (por otro lado, con o sin colas, una transacción de escritura "disparar y olvidar" puede completarse cuando se recibe y antes de que finalice la escritura real en la memoria). Con las transacciones en cola de AGP, el ancho de banda realizado puede estar cerca del ancho de banda máximo teórico. AGP tiene una cola de alta prioridad y una cola de baja prioridad para permitir una optimización de grano fino. [ 3 ] : 26 Esta gran mejora en el rendimiento de lectura de memoria hace que sea práctico para una tarjeta AGP leer texturas directamente de la RAM del sistema, mientras que una tarjeta gráfica PCI debe copiarlas de la RAM del sistema a la memoria de video de la tarjeta . La memoria del sistema se pone a disposición mediante la tabla de reasignación de direcciones gráficas (GART), que distribuye la memoria principal según sea necesario para el almacenamiento de texturas. [ 4 ] La cantidad máxima de memoria del sistema disponible para AGP se define como la apertura de AGP . Por lo tanto, se podría lograr una compensación en la que el ancho de banda recién ganado se podría intercambiar por una menor cantidad de componentes (tarjetas gráficas con poca o ninguna memoria integrada).

En tercer lugar, AGP permite (obligatorio solo en AGP 3.0) el direccionamiento de banda lateral , lo que significa que los buses de direcciones y datos están separados, de modo que la fase de direccionamiento no utiliza las líneas principales de dirección/datos (AD). Esto se logra añadiendo un bus adicional de "Dirección de Banda Lateral" de 8 bits , a través del cual el controlador gráfico puede emitir nuevas solicitudes AGP mientras otros datos AGP fluyen por las 32 líneas principales de dirección/datos (AD). Esto resulta en un mejor rendimiento general de datos AGP.

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

Historia

Una tarjeta AGP

La ranura AGP apareció por primera vez en placas base compatibles con x86 basadas en procesadores Intel Pentium P5 Socket 7 y Pentium II P6 Slot 1. Intel introdujo la compatibilidad con AGP con el chipset i 440LX Slot 1 el 26 de agosto de 1997, y a continuación se produjo una avalancha de productos de todos los principales fabricantes de placas base. [ 5 ] Intel desarrolló AGP independientemente del Grupo de Interés Especial PCI , que no lo revisó ni lo respaldó. [ 3 ] : 20

Los primeros chipsets Socket 7 compatibles con AGP fueron el VIA Apollo VP3 , el SiS 5591/5592 y el ALI Aladdin V. Intel nunca lanzó un chipset Socket 7 con soporte AGP. FIC presentó la primera placa base Socket 7 AGP en noviembre de 1997, la FIC PA-2012, basada en el chipset VIA Apollo VP3, seguida rápidamente por la EPoX P55-VP3, también basada en el chipset VIA VP3, que fue la primera en llegar al mercado. [ 6 ]

Entre los primeros chipsets de vídeo con soporte AGP se encontraban el Rendition Vérité V2200, el 3dfx Voodoo Banshee , el Nvidia RIVA 128 , el 3Dlabs PERMEDIA 2, el Intel i740 , la serie ATI Rage , el Matrox Millennium II y el S3 ViRGE GX/2 . Algunas de las primeras placas AGP utilizaban procesadores gráficos basados ​​en PCI y simplemente se conectaban a AGP. Esto provocaba que las tarjetas se beneficiaran poco del nuevo bus, siendo la única mejora la  frecuencia de reloj del bus de 66 MHz, con el consiguiente aumento del ancho de banda sobre PCI y la exclusividad del bus. El Intel i740 se diseñó específicamente para aprovechar las nuevas características de AGP; de hecho, se diseñó para texturizar solo desde la memoria AGP, lo que dificultaba la implementación de versiones PCI de la placa (la RAM local de la placa tenía que emular la memoria AGP), aunque esto se logró mucho más tarde mediante puentes AGP a PCI.

Microsoft introdujo por primera vez la compatibilidad con AGP en Windows a través del parche Suplemento USB para OSR2 de Windows 95 en 1997, también conocido como OSR2.1. [ 7 ] [ b ] El primer sistema operativo basado en Windows NT en recibir compatibilidad con AGP fue Windows NT 4.0 con Service Pack 3, también en 1997. La compatibilidad de Linux para transferencias de datos rápidas mejoradas con AGP se agregó por primera vez en 1999 con la implementación del módulo del kernel AGPgart .

Uso posterior

Con la creciente adopción de PCIe, los fabricantes de tarjetas gráficas continuaron produciendo tarjetas AGP a medida que el estándar se volvía obsoleto. A medida que las GPU comenzaron a diseñarse para conectarse a PCIe, se requirió un chip puente PCIe-AGP adicional para crear una tarjeta gráfica compatible con AGP. La inclusión de este puente y la necesidad de un diseño de tarjeta AGP independiente generaron costos adicionales en la placa.

Las GeForce 6600 y ATI Radeon X800 XL, lanzadas entre 2004 y 2005, fueron las primeras tarjetas puenteadas. [ 8 ] [ 9 ] En 2009, las tarjetas AGP de Nvidia tenían un techo 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 las 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 corrección de errores AGP AMD Catalyst 11.2 - 11.6 en Windows 7 con las tarjetas de video AGP de la serie HD 4000; [ 10 ] El uso de controladores AGP de revisión 10.12 o 11.1 es una posible solución alternativa. Varios de los proveedores mencionados anteriormente ofrecen versiones anteriores de los controladores AGP.

En 2010, ningún chipset de placa base nuevo era compatible con AGP y pocas placas base nuevas tenían ranuras AGP; sin embargo, algunas se siguieron fabricando con chipsets más antiguos compatibles con AGP.

En 2016, Windows 10 versión 1607 dejó de ser compatible con AGP. [ 11 ] En 2020 se consideró la posible eliminación futura de la compatibilidad con AGP de los controladores del kernel de Linux de código abierto. [ 12 ]

Versiones

Intel publicó la "especificación AGP 1.0" en 1997. [ 14 ] Esta especificaba  señales de 3,3 V y velocidades de 1× y 2×. [ 5 ] La especificación 2.0 documentó  la señalización de 1,5 V, que podía utilizarse a 1×, 2× y la velocidad adicional de 4×. [ 15 ] [ 16 ] Y la 3.0 añadió  la señalización de 0,8 V, que podía operar a velocidades de 4× y 8×. [ 17 ] (Las velocidades de 1× y 2× son físicamente posibles, pero no se especificaron).

Existen diversas interfaces físicas (conectores); consulte la sección de 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 tal fin. Las tarjetas AGP Pro solían ser tarjetas de clase estación de trabajo utilizadas para acelerar aplicaciones profesionales de diseño asistido por computadora empleadas en los campos de la arquitectura, el mecanizado, la ingeniería, las simulaciones y campos similares. [ 18 ]

AGP de 64 bits

En los documentos preliminares se propuso un canal de 64 bits como estándar opcional para AGP 3.0, [ 19 ] 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×; y la transferencia de 32 bits para operaciones PCI.

Variaciones no oficiales

Los fabricantes han producido diversas variantes no estándar de la interfaz AGP.

Interfaz AGP interna

Ultra-AGP, Ultra-AGPII
Se trata de 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.

Ranuras AGP basadas en PCI

AGP Express
No es una interfaz AGP propiamente dicha, 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 , diseñada para permitir el uso de una tarjeta AGP existente en una placa base nueva en lugar de requerir la adquisición de una tarjeta PCIe (desde la introducción de las tarjetas gráficas PCIe, pocas placas base ofrecen ranuras AGP). Una ranura "AGP Express" es básicamente una ranura PCI (con el doble de potencia eléctrica) con un conector AGP. Ofrece retrocompatibilidad con tarjetas AGP, pero proporciona soporte incompleto [ 20 ] (algunas tarjetas AGP no funcionan con AGP Express) y un rendimiento reducido: la tarjeta se ve obligada a utilizar el bus PCI compartido con su menor ancho de banda, en lugar de tener el uso exclusivo del AGP más rápido.
AGI
La interfaz gráfica ASRock (AGI) es una variante propietaria del estándar Accelerated Graphics Port (AGP). Su propósito es brindar compatibilidad con AGP a las placas base ASRock que utilizan chipsets sin soporte nativo para AGP. Sin embargo, no es totalmente compatible con AGP, y se sabe que varios chipsets de tarjetas de video no son compatibles.
AGX
La EPoX Advanced Graphics eXtended (AGX) es otra variante propietaria de AGP con las mismas ventajas y desventajas que la AGI. Los manuales de usuario recomiendan no utilizar tarjetas ATI AGP 8× con ranuras AGX.
XGP
La Biostar Xtreme Graphics Port es otra variante de AGP, que también presenta las mismas ventajas y desventajas que AGI y AGX.

Ranuras AGP basadas en PCIe

AGR
El Advanced Graphics Riser es una variante del puerto AGP utilizado en algunas placas base PCIe fabricadas por MSI para ofrecer una compatibilidad retroactiva limitada con AGP. En la práctica, se trata de una ranura PCIe modificada que permite un rendimiento comparable al de una ranura AGP 4×/8×, [ 21 ] pero no es compatible con todas las tarjetas AGP; el fabricante publicó una lista de algunas tarjetas y chipsets que funcionan con la ranura modificada. [ 22 ]

Compatibilidad

Compatibilidad, claves 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 clave de 1,5 V no se pueden instalar en ranuras de 3,3 V y viceversa, aunque existen tarjetas "universales" que sí se adaptan a ambos tipos de ranura. También hay ranuras "universales" sin clave que aceptan ambos tipos de tarjeta. Cuando una tarjeta AGP universal se conecta a 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 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 para 1,5 V. Algunas de las últimas tarjetas modernas con soporte para 3,3 V fueron:

  • la serie Nvidia GeForce FX (FX 5200, FX 5500, FX 5600, FX 5700, algunos FX 5800, FX 5900 y algunos FX 5950),
  • ciertas series Nvidia GeForce 6 y 7 (algunas tarjetas 6600, 6800, 7300, 7600, 7800, 7900 y 7950, realmente poco comunes en comparación con sus versiones AGP de solo 1,5 V; la GeForce 6200 es la única excepción, ya que era la tarjeta más común con soporte para 3,3 V),
  • la serie ATI Radeon 9000 ( Radeon 9500/9700/9800 (R300/R350) , pero no 9600/9800 (R360/RV360)).

Algunas tarjetas tienen muescas dobles incorrectas, y algunas placas base tienen ranuras completamente abiertas incorrectamente, lo que permite conectar una tarjeta 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 con un diseño incorrecto tienen la llave de 1,5 V.

Las tarjetas AGP Pro no caben en las ranuras estándar, pero las tarjetas AGP estándar sí funcionan en una ranura Pro. Las placas base equipadas con una ranura Universal AGP Pro admiten tarjetas de 1,5 V o 3,3 V, ya sea en configuración AGP Pro o AGP estándar, tarjetas Universal AGP o tarjetas Universal AGP Pro.

Algunos sistemas propietarios son incompatibles con el estándar AGP; por ejemplo, los ordenadores Apple Power Macintosh con el conector de pantalla de Apple (ADC) tienen un conector adicional que suministra energía a la pantalla conectada. Algunas tarjetas diseñadas para funcionar con una arquitectura de CPU específica (por ejemplo, PC, Apple) pueden no ser compatibles con otras debido a problemas de firmware .

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

...  nadie fabrica tarjetas AGP 3.0, ni placas base AGP 3.0. Al menos, ningún fabricante que yo haya podido encontrar. Todas las tarjetas de video que encontré que afirmaban ser AGP 3.0 eran en realidad tarjetas AGP 3.0 universales de 1.5 V. Y todas las placas base que afirmaban ser AGP 3.0 resultaron ser placas base AGP 3.0 universales de 1.5 V. Tiene sentido, si lo piensas, porque si alguien lanzara un producto para el consumidor que solo admitiera 0.8 voltios, terminaría con muchos clientes confundidos y una pesadilla de soporte. En el mercado de consumo, habría que estar loco para lanzar un producto que solo admita 0.8 voltios. [ 23 ]

Consumo de energía

La potencia real suministrada por una ranura AGP depende de la tarjeta utilizada. La corriente máxima extraída de los distintos raíles se indica en las especificaciones de las distintas versiones. Por ejemplo, si se extrae la corriente máxima de todas las fuentes de alimentación y todos los voltajes están en sus límites superiores especificados, [ 17 ] : 95 una  ranura AGP 3.0 puede suministrar hasta 48,25 vatios ; esta cifra puede utilizarse para especificar una fuente de alimentación de forma conservadora, pero en la práctica es improbable que una tarjeta consuma más de 40 W de la ranura, y muchas consumen menos. AGP Pro proporciona potencia adicional de hasta 110 W. Muchas tarjetas AGP tenían conectores de alimentación adicionales para suministrarles más potencia de la que la ranura podía proporcionar.   

Protocolo

Un bus AGP es un superconjunto de un bus PCI convencional  de 66 MHz y, tras el reinicio, sigue el mismo protocolo. La tarjeta debe funcionar como destino PCI y, opcionalmente, puede funcionar como maestro PCI. (AGP 2.0 añadió 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).

Tras la inicialización de la tarjeta mediante transacciones PCI, se permiten las transacciones AGP. En este caso, la tarjeta siempre actúa como maestro AGP y la placa base como destino AGP. La tarjeta pone en cola múltiples solicitudes que corresponden a la fase de direccionamiento PCI, y la placa base programa posteriormente las fases de datos correspondientes. Un aspecto importante de la inicialización consiste en indicar a la tarjeta el número máximo de solicitudes AGP pendientes que pueden estar 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 a 8 bytes ; su dirección inicial y longitud siempre son múltiplos de 8 bytes (64 bits). Los tres bits de menor orden de la dirección se utilizan para comunicar la longitud de la solicitud.

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

Códigos de comando AGP

Al igual que en PCI, cada transacción AGP comienza con una fase de direccionamiento, en la que se comunica una dirección y un código de comando de 4 bits. Sin embargo, los comandos posibles son diferentes a los de PCI:

000p
Leer
Lee 8×(AD[2:0]+1) = 8, 16, 24, ..., 64 bytes. El bit menos significativo p es 0 para baja prioridad, 1 para alta.
001x
(reservado):
010p
Escribir
Escribe 8×(AD[2:0]+1) = 8 64 bytes.
011x
(reservado):
100 peniques
Lectura larga
Se leen 32×(AD[2:0]+1) = 32, 64, 96, ..., 256 bytes. Esto es lo mismo que una solicitud de lectura, pero la longitud se multiplica por cuatro.
1010
Enjuagar
Fuerza la escritura de datos previamente registrados en memoria para su sincronización. Esto funciona como una lectura de baja prioridad, ocupando un espacio en la cola y devolviendo 8 bytes de datos aleatorios para indicar su finalización. La dirección y la longitud proporcionadas con este comando se ignoran.
1011
(reservado):
1100
Cerca
Esto actúa como una barrera de memoria , exigiendo que todas las solicitudes AGP anteriores se completen antes que las siguientes. Normalmente, para mejorar el rendimiento, AGP utiliza un modelo de consistencia muy débil y permite que una escritura posterior preceda a una lectura anterior. (Por ejemplo, después de enviar solicitudes "escritura 1, escritura 2, lectura, escritura 3, escritura 4", todas a la misma dirección, la lectura puede devolver cualquier valor entre 2 y 4. Solo está prohibido devolver 1, ya que las escrituras deben completarse antes que las lecturas posteriores). Esta operación no requiere ranuras de cola.
1101
Ciclo de doble dirección
Al realizar una solicitud a una dirección superior a 2 32 , esto indica que seguirá un segundo ciclo de direccionamiento con bits de dirección adicionales. Funciona como un ciclo de direccionamiento dual PCI estándar; va acompañado de los 32 bits de menor orden de la dirección (y la longitud), y el ciclo siguiente incluye los 32 bits de mayor orden de la dirección y el comando deseado. Los dos ciclos realizan una sola solicitud y ocupan solo un espacio en la cola de solicitudes. Este código de solicitud no se utiliza con el 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 impuso el direccionamiento de banda lateral, eliminando así el ciclo de doble dirección y dejando solo cuatro tipos de solicitudes: lectura de baja prioridad (0000), escritura de baja prioridad (0100), vaciado (1010) y cercado (1100).

Solicitudes AGP en banda mediante PIPE#

Para poner en cola una solicitud en banda, la tarjeta debe solicitar el bus usando 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 activar FRAME# para iniciar una transacción PCI, la tarjeta activa la señal PIPE# mientras conduce el comando AGP, la dirección y la longitud en las líneas C/BE[3:0], AD[31:3] y AD[2:0], respectivamente. (Si la dirección es de 64 bits, se usa un ciclo de doble dirección similar a PCI). Por cada ciclo en el que PIPE# está activado, la tarjeta envía otra solicitud sin esperar la confirmación de la placa base, hasta la profundidad máxima de cola configurada. El último ciclo se marca desactivando REQ#, y PIPE# se desactiva en el siguiente ciclo inactivo.

Solicitudes 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 su lugar, las solicitudes se dividen en fragmentos 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 máxima de cola configurada. Los valores posibles son:

0aaa aaaa aaaa alll
Se encola 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 previamente. Se pueden encolar varias solicitudes enviando únicamente este patrón, siempre que los bits de comando y de dirección superior permanezcan iguales.
10cc ccra aaaa aaaa
Utilice el comando C[3:0] y los bits de dirección A[23:15] para futuras solicitudes. (El bit R está reservado). Esto no agrega una solicitud a la cola, sino que establece valores que se utilizarán en todas las solicitudes en cola futuras.
110r aaaa aaaa aaaa
Utilice los bits de dirección A[35:24] para futuras solicitudes.
1110 aaaa aaaa aaaa
Utilice los bits de dirección A[47:36] para futuras solicitudes.
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. [ 14 ] : 68 [ 16 ] : 163
1111 1111
Sin operación ; sin solicitud. A velocidad AGP 1×, esto puede enviarse como un solo byte y una solicitud de banda lateral de 16 bits posterior se inicia un ciclo después. A velocidades AGP 2× y superiores, todas las solicitudes de banda lateral, incluida esta 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 la  frecuencia del reloj básico del bus de 66 MHz. El direccionamiento de banda lateral tiene la ventaja de que prácticamente elimina la necesidad de ciclos de espera en el bus AD entre transferencias, en el caso habitual en que las operaciones de lectura superan ampliamente a las de escritura.

Respuestas de AGP

Al activar GNT#, la placa base puede indicar, mediante los bits ST, que a continuación se realizará una fase de datos para una solicitud en cola. Existen cuatro colas: dos de prioridad (baja y alta) para lecturas y escrituras, y cada una se procesa en orden. Obviamente, la placa base intentará completar primero las solicitudes de alta prioridad, pero no hay límite en el número de respuestas de baja prioridad que se pueden entregar mientras se procesa la solicitud de alta prioridad.

En cada ciclo en el que se activa GNT# y los bits de estado tienen el valor 00p, se programa la devolución de una respuesta de lectura con la prioridad indicada. En la siguiente oportunidad disponible (normalmente el siguiente ciclo de reloj), la placa base activará TRDY# (objetivo listo) y comenzará a transferir la respuesta a la solicitud más antigua en la cola de lectura indicada. (Otras señales del bus PCI, como FRAME#, DEVSEL# e IRDY#, permanecen desactivadas). Se transfieren hasta cuatro ciclos de reloj de datos (16 bytes en AGP 1× o 128 bytes en AGP 8×) sin esperar la confirmación de la tarjeta. Si la respuesta es más larga, tanto la tarjeta como la placa base deben indicar su capacidad para continuar en el tercer ciclo activando IRDY# (iniciador listo) y TRDY#, respectivamente. Si alguna de ellas no lo hace, se insertarán estados de espera hasta dos ciclos después de que ambas lo hagan. (El valor de IRDY# y TRDY# en otros momentos es irrelevante y normalmente se desactivan).

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

La tarjeta también puede activar 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 dejará de programar respuestas de lectura de baja prioridad. La tarjeta debe poder recibir el final de la respuesta actual y el primer bloque de cuatro ciclos de la siguiente, si está programada, además de cualquier respuesta de alta prioridad que haya solicitado.

En cada ciclo en que se activa 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 siguiente oportunidad disponible (normalmente el siguiente ciclo de reloj), la tarjeta activará 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 son más largos que cuatro ciclos de reloj, la placa base indicará su capacidad para continuar activando TRDY# en el tercer ciclo. A diferencia de las lecturas, no hay ninguna disposición para que la tarjeta retrase la escritura; si no tenía los datos listos para enviar, no debería haber puesto la solicitud en cola.

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

El multiplicador en AGP 2×, 4× y 8× indica la cantidad de transferencias de datos a través del bus durante cada  ciclo de reloj de 66 MHz. Dichas transferencias utilizan sincronización con la fuente mediante una señal de "estroboscopio" (AD_STB[0], AD_STB[1] y SB_STB) generada por la fuente de datos. AGP 4× añade señales de estroboscopio complementarias.

Dado 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 (manteniendo desactivadas las líneas de habilitación de bytes C/BE#).

Diagrama de pines del conector

El conector AGP contiene casi todas las señales PCI, además de algunas adicionales. El conector tiene 66 contactos en cada lado, aunque se eliminan 4 para cada muesca de identificación. El pin  1 es el más cercano al soporte de E/S, y los lados B y A son como se muestra en la tabla, vistos desde arriba del conector de la placa base.

Los contactos están espaciados a  intervalos de 1 mm, pero se disponen en dos filas verticales alternadas, de manera que haya  un espacio de 2 mm entre los pines de cada fila. Los contactos impares del lado A y los pares del lado B se encuentran en la fila inferior (de 1,0 a 3,5  mm del borde de la tarjeta). Los demás se encuentran en la fila superior (de 3,7 a 6,0  mm del borde de la tarjeta).

Las señales PCI omitidas son:

  • La  fuente de alimentación de −12 V
  • La tercera y cuarta solicitud 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 de 66  MHz (M66EN)
  • El PIN LOCK# para la compatibilidad con transacciones bloqueadas

Las señales añadidas son:

  • Señales 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,5 V)
  • 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,8 V)
  • La señal WBF# (extensión de escritura rápida AGP 3.0)

Véase también

Notas

  1. siempre que se puedan iniciar muchas transacciones en paralelo y la penalización por el aumento de la latencia por transacción sea insignificante, condiciones que se cumplen para los patrones de acceso a la memoria que presentan las tarjetas gráficas.
  2. Después de aplicar el parche, el sistema operativo Windows 95 se convirtió en Windows 95 versión 4.00.950 B.
  3. Microsoft solo menciona públicamente la versión 3.5 de AGP bajo Universal Accelerated Graphics Port (UAGP) , que especifica la compatibilidad obligatoria con registros adicionales que antes eran opcionales en AGP 3.0. Los registros actualizados incluyen PCISTS, CAPPTR, NCAPID, AGPSTAT, AGPCMD, NISTAT y NICMD. Los nuevos registros obligatorios incluyen APBASELO, APBASEHI, AGPCTRL, APSIZE, NEPG, GARTLO y GARTHI.
  4. 1 2 Desde la parte extendida del conector AGP.
  5. Las especificaciones de AGP Pro implican un máximo de 25 W.

Referencias

  1. "AGP casi al final, Softpedia" . 5 de junio de 2008. Archivado del original el 23 de octubre de 2014. Consultado el 15 de septiembre de 2014 .
  2. Por (2024-03-03). "Un mejor uso para la ranura AGP, décadas después" . Hackaday . Consultado el 11 de noviembre de 2024 .
  3. 1 2 Especificación AGP 2.0
  4. "¿Qué es AGP?" . Archivado del original el 9 de mayo de 2012 . Consultado el 15 de septiembre de 2014 .
  5. 1 2 "Intel 440LX AGPset" . Consultado el 15 de septiembre de 2014 .
  6. Lal Shimpi, Anand (1 de agosto de 1997). "Guía de chipsets" . AnandTech. Archivado del original el 8 de diciembre de 2007. Consultado el 3 de marzo de 2015 .
  7. "¿Qué versión de Windows 95 es compatible con AGP?" . Consultado el 15 de septiembre de 2014 .
  8. Gasior, Geoff. Tarjeta gráfica GeForce 6600 GT AGP de Nvidia: Un puente hacia atrás. Archivado el 11 de octubre de 2007 en Wayback Machine , Informe técnico, 16 de noviembre de 2004.
  9. Gasior, Geoff. Las nuevas Radeon AGP de ATI: Nace un puente. Archivado el 24 de octubre de 2007 en Wayback Machine , Informe técnico, 20 de mayo de 2005.
  10. "Foros de la comunidad AMD" . Archivado del original el 7 de octubre de 2011. Consultado el 15 de septiembre de 2014 .
  11. "Compatibilidad con AGP en la actualización de aniversario de Windows 10 (1607)" .
  12. Michael Larabel (11 de mayo de 2020). "Se propone eliminar la compatibilidad con tarjetas gráficas AGP de los controladores Linux Radeon/NVIDIA" . Phoronix .
  13. Actualización y reparación de servidores . Pearson Education. 24 de abril de 2006. ISBN 978-0-13-279698-9.
  14. 1 2 3 Intel (31 de julio de 1996), Especificación de la interfaz del puerto de gráficos acelerados Revisión 1.0 (PDF) , archivado del original (PDF) el 3 de mayo de 2015 , recuperado el 18 de octubre de 2007
  15. "AGP 4×: Transferencia de datos más rápida e imágenes de mejor calidad" . Archivado del original el 15 de noviembre de 2007. Consultado el 15 de septiembre de 2014 .
  16. 1 2 3 Intel (4 de mayo de 1998), Especificación de la interfaz del puerto de gráficos acelerados, revisión 2.0 (PDF) , archivado del original (PDF) el 31 de diciembre de 2014 , recuperado el 15 de septiembre de 2014.
  17. 1 2 3 Intel (septiembre de 2002), Especificación de la interfaz AGP V3.0 (PDF) , archivado (PDF) del original el 09/10/2022 , recuperado el 09/10/2011
  18. "Especificación AGP Pro 1.1a" (PDF) .
  19. "Borrador de la especificación de la interfaz AGP8× Rev. 0.91R" (PDF) . Archivado del original (PDF) el 13 de junio de 2001.
  20. "Sitio web de ECS" . Archivado del original el 16 de diciembre de 2005. Consultado el 15 de septiembre de 2014 .
  21. "Análisis de la placa base MSI K8N Neo3-F: ¿Qué es una ranura de vídeo AGR?" . Archivado del original el 10 de noviembre de 2014. Consultado el 15 de septiembre de 2014 .
  22. "Lista de tarjetas y chipsets que funcionan con el puerto MSI AGR" (PDF) . Archivado del original (PDF) el 8 de marzo de 2007. Consultado el 15 de septiembre de 2014 .
  23. Allen, Mark (2006). "Compatibilidad AGP para puristas" . Información sobre tarjetas de vídeo . PlayTool.com. Archivado del original el 22 de junio de 2016.
  • Foro de implementadores de AGP archivado
  • Especificaciones AGP: 1.0 , 2.0 , 3.0 , Pro 1.0 , Pro 1.1a
  • Compatibilidad con AGP para los más exigentes
  • Diagrama de pines AGP
  • Ranuras de expansión AGP
  • Compatibilidad con AGP (con imágenes)
  • Puerto de gráficos acelerados universal (UAGP)
  • Cómo funcionan las cosas - AGP
  • Un debate de 2003 sobre qué es la apertura AGP, cómo funciona y cuánta memoria se le debe asignar.