Puerto de gráficos acelerados

ImprimirCitar
Nivel de bus de expansión

Puerto de gráficos acelerados (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 sucesor de las conexiones tipo PCI para tarjetas de video. Desde 2004, AGP se eliminó progresivamente a favor de PCI Express (PCIe), que es en 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 tarjetas complementarias finalmente abandonaron el soporte para la interfaz a favor de PCI Express.

Ventajas sobre PCI

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

La principal ventaja de AGP es que no comparte el bus PCI, lo que proporciona una ruta punto a punto dedicada entre las ranuras de expansión y el conjunto de chips de la placa base. La conexión directa también permite velocidades de reloj más altas.

El segundo cambio importante es el uso de transacciones divididas, en las que las fases de dirección y datos están separadas. La tarjeta puede enviar muchas fases de dirección para que el host pueda procesarlas en orden, evitando largas demoras causadas por la inactividad del bus durante las operaciones de lectura.

En tercer lugar, se simplifica el protocolo de enlace del 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 siempre tienen una longitud múltiplo de 8 bytes, con la longitud total incluida 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 de 8x) y solo se permiten pausas entre bloques.

Finalmente, AGP permite (obligatorio solo en AGP 3.0) 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 todos. Esto se hace agregando una "Dirección de banda lateral" adicional de 8 bits. bus sobre el cual el controlador de gráficos puede emitir nuevas solicitudes AGP mientras otros datos AGP fluyen sobre las 32 líneas principales de dirección/datos (AD). Esto da como resultado un rendimiento de datos AGP general mejorado.

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 copiarlas desde 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 de 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 la compatibilidad con AGP con el chipset i440LX Slot 1 el 26 de agosto de 1997, y siguió una avalancha de productos de todos los principales proveedores de placas de 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 de sistema Socket 7 AGP en noviembre de 1997 como la FIC PA-2012 basada en el conjunto de chips VIA Apollo VP3, seguida muy rápidamente por la EPoX P55-VP3 también basado en el conjunto de chips VIA VP3 que fue el primero en comercializarse.

Los primeros conjuntos de chips de video compatibles con 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 de gráficos creados alrededor de PCI y simplemente se conectaban a AGP. Esto dio como resultado que las tarjetas se beneficiaran poco del nuevo bus, y la única mejora utilizada fue el reloj de 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. Intel's i740 fue diseñado explícitamente para explotar el nuevo conjunto de funciones AGP; de hecho, fue diseñado para texturizar solo desde 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 la compatibilidad con AGP en Windows 95 OEM Service Release 2 (OSR2 versión 1111 o 950B) mediante el parche USB SUPPLEMENT to OSR2. Después de aplicar el parche, el sistema Windows 95 pasó a ser 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 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 volvió obsoleto. A medida que las GPU comenzaron a diseñarse para conectarse a PCIe, se requirió un chip puente adicional de PCIe a AGP para crear una tarjeta gráfica compatible con AGP. La inclusión de un puente y la necesidad de un diseño de tarjeta AGP separado incurrieron en costos de placa adicionales.

La GeForce 6600 y la ATI Radeon X800 XL, lanzadas entre 2004 y 2005, fueron las primeras tarjetas con puente. 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 Radeon HD 2400, 3450, 3650, 3850, 4350, 4650 y 4670. La HD 5000 La serie AGP mencionada en el software AMD Catalyst nunca estuvo disponible. Hubo muchos problemas con los controladores de revisión AMD Catalyst 11.2 - 11.6 AGP 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.

Para 2010, ningún conjunto de chips de placa base nuevo admitía AGP y pocas placas base nuevas tenían ranuras AGP; sin embargo, algunas continuaron fabricándose con conjuntos de chips compatibles con AGP más antiguos.

En 2016, la versión 1607 de Windows 10 eliminó la compatibilidad con AGP. 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.

Versiones

AGP y PCI: autobuses de 32 bits que operan en 66 y 33 MHz respectivamente
EspecificaciónVoltajeRelojVelocidadTransferencias/horaTasa (MB/s)
PCI3.3/5 V33 MHz1133
PCI 2.13.3/5 V33/66 MHz1133/266
AGP 1.03.3 V66 MHz1266
AGP 1.03.3 V66 MHz2533
AGP 2.01,5 V66 MHz41066
AGP 3.00,8 V66 MHz82133
AGP 3.5*0,8 V66 MHz82133

Intel lanzó "AGP especificación 1.0" en 1997. Especificaba 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 la 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.

Microsoft solo menciona públicamente la versión 3.5 de AGP en Puerto universal de gráficos acelerados (UAGP), que especifica la compatibilidad obligatoria 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)
AGP Tarjeta gráfica 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 clase de estación de trabajo que se usaban para acelerar las 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.

AGP de 64 bits

Una vez se propuso un canal de 64 bits como estándar opcional para AGP 3.0 en documentos preliminares, 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 interno de interfaz AGP utilizado por SiS para los controladores de puente norte con gráficos integrados. La versión original soporta el mismo ancho de banda que AGP 8×, mientras que Ultra-AGPII tiene un ancho de banda máximo de 3.2GB/s.

Puertos AGP basados en PCI

AGP Express
No es una verdadera interfaz AGP, pero permite que una tarjeta AGP se conecte sobre el autobús PCI legado en una placa madre PCI Express. Es una tecnología utilizada en placas madre hechas por ECS, destinada a permitir que una tarjeta AGP existente se utilice en una nueva placa base en lugar de requerir una tarjeta PCIe para obtener (ya que la introducción de tarjetas gráficas PCIe pocas placas madre proporcionan ranuras AGP). Una ranura "AGP Express" es básicamente una ranura PCI (con el doble de la energía eléctrica) con un conector AGP. Ofrece compatibilidad atrasada con tarjetas AGP, pero proporciona soporte incompleto (algunos tarjetas AGP no funcionan con AGP Express) y menor rendimiento, la tarjeta se ve obligada a utilizar el bus PCI compartido en su ancho de banda inferior, en lugar de tener uso exclusivo de la AGP más rápida.
AGI
La interfaz gráfica ASRock (AGI) es una variante patentada del estándar de Puerto Gráficos Acelerados (AGP). Su propósito es proporcionar soporte AGP para placas madre ASRock que usan chipsets carentes de soporte nativo AGP. Sin embargo, no es totalmente compatible con AGP, y se sabe que varios chipsets de tarjetas de vídeo no son compatibles.
AGX
El EPoX Advanced Graphics eXtended (AGX) es otra variante AGP patentada con las mismas ventajas y desventajas que AGI. Manuales de usuario recomiendan no utilizar tarjetas AGP 8× ATI con ranuras AGX.
XGP
El Biostar Xtreme Graphics Port es otra variante AGP, también con las mismas ventajas y desventajas que AGI y AGX.

Puertos AGP basados en PCIe

AGR
El Avanzado Gráficos Riser es una variación del puerto AGP utilizado en algunas placas madre PCIe hechas por MSI para ofrecer compatibilidad limitada al revés con AGP. Es, efectivamente, una ranura PCIe modificada que permite un rendimiento comparable a una ranura AGP 4×/8×, pero no soporta todas las tarjetas AGP; el fabricante publicó una lista de algunas tarjetas y chipsets que funcionan con la ranura modificada.

Compatibilidad

Compatibilidad, AGP Llaves en la tarjeta (top), en la ranura (abajo)

Las tarjetas AGP son compatibles con versiones anteriores y posteriores dentro de ciertos límites. Las tarjetas con llave de solo 1,5 V no entrarán en las ranuras de 3,3 V y viceversa, aunque "Universal" existen tarjetas que caben en cualquier tipo de ranura. También hay "Universal" ranuras que aceptarán 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 6200) o la serie Radeon X800 de ATI, solo tienen claves para 1,5 V para evitar que se instalen en placas base más 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 series Geforce 6 y 7 (se fabricaron pocas tarjetas con soporte de 3.3v excepto para 6200 donde el soporte de 3.3v era común) y 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 son realmente poco comunes en comparación con sus versiones AGP 1.5v únicamente.

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 AGP estándar, una tarjeta Universal AGP o una tarjeta Universal AGP Pro.

Algunas tarjetas tienen muescas dobles de forma incorrecta y algunas placas base tienen ranuras totalmente abiertas de forma incorrecta, lo que permite conectar una tarjeta en 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 clave de 1,5 V.

Existen 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 proporciona energía a la pantalla adjunta. Algunas tarjetas diseñadas para funcionar con una arquitectura de CPU específica (p. ej., 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 hace tarjetas AGP 3.0, y nadie hace placas madre AGP 3.0. Al menos no hay fabricantes que pueda encontrar. Cada tarjeta de vídeo que pude encontrar que decía ser una tarjeta AGP 3.0 era en realidad una tarjeta universal 1.5V AGP 3.0. Y cada pizarra que decía ser una pizarra AGP 3.0 resultó ser una pizarra universal 1.5V AGP 3.0. Tiene sentido, si lo piensas, porque si alguien realmente envía un producto orientado al consumidor que soporta sólo 0.8 voltios, terminarían con un montón de clientes confundidos y una pesadilla de apoyo. En el mercado de consumo, tendría que estar loco para enviar un producto de 0.8 voltios.

Consumo de energía

AGP power provisioning
Tipo de Ranura3.3 V5 V12 V3.3 V Aux1,5 V3.3 V12 VPotencia total
AGP6 A2 A1 A0,375 mA2 A--48.25 W
AGP Pro1107.6 A9.2 A50 a 110 W
AGP Pro507.6 A4.17 A25 a 50 W

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 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 se puede usar 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 de hasta 110 W. Muchas tarjetas AGP tenían conectores de alimentación adicionales para suministrarles más energía de la que podía proporcionar la ranura.

Protocolo

Un bus AGP es un superconjunto de un bus PCI convencional de 66 MHz e, inmediatamente después de reiniciarse, sigue el mismo protocolo. La tarjeta debe actuar como un destino PCI y, opcionalmente, puede actuar como un maestro PCI. (AGP 2.0 agregó una extensión de 'escrituras rápidas' que permite escrituras PCI desde la placa base a la tarjeta para transferir datos a mayor velocidad).

Después de inicializar 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 varias solicitudes que corresponden a la fase de dirección PCI y la placa base programa las fases de datos correspondientes más tarde. Una parte importante de la inicialización es decirle 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 la memoria PCI, pero usan una codificación diferente en las líneas de comando C/BE[3:0] y siempre están alineadas en 8 bytes; su dirección inicial y longitud son siempre múltiplos de 8 bytes (64 bits). En su lugar, se utilizan los tres bits de orden inferior de la dirección 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 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 comenzar una transacción PCI o (si no se usa el direccionamiento de banda lateral) poner en cola una solicitud en banda usando PIPE#.

Códigos de comando AGP

Al igual que 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. Los posibles comandos son diferentes de PCI, sin embargo:

000p
Leer
Read 8×(AD[2:0]+1) = 8, 16, 24,..., 64 bytes. El bit p menos significativo es 0 para baja prioridad, 1 para alto.
001x
(reservado):
010p
Escriba
Escribe 8×(AD[2:0]+1) = 8–64 bytes.
011x
(reservado):
100p
Larga lectura
Read 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.
Graben 19, 1010
Flush
Forzar datos previamente escritos a la memoria, para la sincronización. Esto actúa como una lectura de baja prioridad, tomando una ranura de cola y devolviendo 8 bytes de datos aleatorios para indicar la terminación. Se ignora la dirección y la longitud suministradas con este comando.
1011
(reservado):
1100
Fence
Esto actúa como una cerca de memoria, exigiendo que todas las solicitudes anteriores de AGP se completen antes de cualquier solicitud siguiente. Ordinariamente, para un mayor rendimiento, AGP utiliza un modelo de consistencia muy débil, y permite una escritura posterior para pasar una lectura anterior. (E.g. después de enviar "escribir 1, escribir 2, leer, escribir 3, escribir 4" solicitudes, todo a la misma dirección, la lectura puede devolver cualquier valor de 2 a 4. Sólo el regreso 1 está prohibido, ya que los escritos deben completar antes de seguir las lecturas.) Esta operación no requiere ninguna ranura de cola.
1101
Ciclo de doble dirección
Al hacer una solicitud a una dirección superior 232, esto se utiliza para indicar que un segundo ciclo de dirección seguirá con bits adicionales de dirección. Esto funciona como un ciclo regular de doble dirección PCI; está acompañado por los 32 bits de baja orden de la dirección (y la longitud), y el siguiente ciclo incluye los 32 bits de dirección y el comando deseado. Los dos ciclos hacen una petición, y tomar sólo una ranura en la cola de solicitud. Este código de solicitud no se utiliza con la dirección 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 doble dirección, dejando solo cuatro tipos de solicitud: lectura de baja prioridad (0000), escritura de baja prioridad (0100), vaciado (1010) y cercado (1100).

Solicitudes AGP en banda usando 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 conduce 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 utiliza un ciclo de dirección dual similar a PCI). Por cada ciclo en el 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 con la desactivación de 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 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 pida permiso a la placa base; se puede enviar una nueva solicitud en cualquier momento siempre que la cantidad de solicitudes pendientes se encuentre dentro de la profundidad de cola máxima configurada. Los valores posibles son:

0aaa aaaa aaaa alll
Realizar una solicitud con los bits de dirección A[14:3] y longitud 8×(L[2:0]+1) dados. El comando y los bits de alto orden son como se especifica anteriormente. Cualquier número de solicitudes puede ser consultada enviando sólo este patrón, siempre y cuando el comando y los bits de dirección superiores sigan siendo iguales.
10cc ccra aaaa aaaa
Utilice el comando C[3:0] y bits de dirección A[23:15] para futuras solicitudes. (Bit R está reservado.) Esto no satisface una solicitud, sino que establece valores que se utilizarán en todas las solicitudes futuras.
110r aaaa aaaa aaaa
Use la dirección bits A[35:24] para futuras solicitudes.
1110 aaaa aaaa aaaa
Use la dirección bits A[47:36] para futuras solicitudes.
1111 0xxx, 1111 10xx, 1111 110x
Reservado, no use.
1111 1110
Patrón de sincronización utilizado al iniciar el autobús SBA después de un período de ocio.
1111 1111
Sin operación; sin petición. A la velocidad AGP 1×, esto puede ser enviado como un solo byte y una siguiente petición de banda lateral de 16 bits comenzó un ciclo más tarde. En AGP 2× y velocidades más altas, todas las solicitudes de banda lateral, incluyendo este NOP, son 16 bits de largo.

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 de escritura.

Respuestas AGP

Mientras afirma GNT#, la placa base puede indicar a través de los bits ST que se realizará a continuación una fase de datos para una solicitud en cola. Hay cuatro colas: dos prioridades (baja y alta prioridad) para cada lectura y escritura, 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 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 la devolución de una respuesta de lectura de la prioridad indicada. En la próxima oportunidad disponible (normalmente el próximo 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 desactivadas). 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 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 por lo general 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 (generalmente el próximo ciclo de reloj), la tarjeta afirmará 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# son usadas con datos de escritura, y la tarjeta puede usarlas para seleccionar qué bytes deben escribirse en la memoria.

El multiplicador en AGP 2x, 4x y 8x indica la cantidad de transferencias de datos a través del bus durante cada ciclo de reloj de 66 MHz. Dichas transferencias utilizan el reloj síncrono de origen con una señal "estroboscópica" señal (AD_STB[0], AD_STB[1] y SB_STB) generada por la fuente 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 4x y 8x es posible que una solicitud se complete en medio de un ciclo de reloj. En tal caso, el ciclo se completa con transferencias de datos ficticias (con las líneas de habilitación de bytes C/BE# mantenidas sin afirmar).

Disposición de pines 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 por cada muesca de llave. El pin 1 está más cerca del soporte de E/S, y los lados B y A están 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 las clavijas en 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 (de 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).

Conector de puerto de gráficos acelerados
PinLado BLado AComentarios
1 OVERCNT#+12 VPuerto USB de advertencia corriente
2 +5 VTYPEDET#Baja por tarjeta para indicar 1.5 V (AGP 2.0 4x) capacidad
3 +5 VGC_DET#Baja por tarjeta para indicar 0.8 V (AGP 3.0 8x) habilidad
4 USB+USB -Pines USB para pasar a través para monitorear
5 TerrenoTerreno
6 INTB#INTA#Líneas interrumpidas
7 CLKRST#66 MHz reloj, Bus reset
8 REQ#GNT#Solicitud de autobús desde 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#Bajado por placa base para indicar 0.8 V (AGP 3.0 8x) habilidad
12 RBF#PIPE#DBI_HILeer buffer completo, Solicitud de Pipeline, Inversión de bus de datos[31:16]
13 TerrenoTerreno
14 DBI_LOWBF#Inversión de bus de datos [15:0], Escribir buffer completo
15 SBA[0]SBA[1]Bus de dirección lateral
16 +3.3 V+3.3 V
17 SBA[2]SBA[3]
18 SB_STBSB_STB#
19 TerrenoTerreno
20 SBA[4]SBA[5]
21 SBA[6]SBA[7]
22 ReservadoReservadoPunto clave para tarjetas AGP 3.3 V
23 TerrenoTerreno
24 +3.3 V auxReservado
25 +3.3 V+3.3 V
26 AD[31]AD[30]Autobús de dirección/data (medio superior)
27 AD[29]AD[28]
28 +3.3 V+3.3 V
29 AD[27]AD[26]
30 AD[25]AD[24]
31 TerrenoTerreno
32 AD_STB[1]AD_STB[1]
33 AD[23]C/BE[3]#
34 VddqVddq
35 AD[21]AD[22]
36 AD[19]AD[20]
37 TerrenoTerreno
38 AD[17]AD[18]
39 C/BE[2]#AD[16]
40 VddqVddq3.3 o 1,5 V
41 IRDY#FRAME#Iniciador listo, Transferencia en progreso
42 +3.3 V auxReservadoPunto clave para tarjetas AGP 1.5 V
43 TerrenoTerreno
44 ReservadoReservado
45 +3.3 V+3.3 V
46 DEVSEL#TRDY#Meta seleccionada, Meta lista
47 VddqPararStop
48 PERR#PME#Error de paridad, Evento de gestión de energía (opcional)
49 TerrenoTerreno
50 SERR#PARError de sistema, Incluso paridad para (1x) transacciones PCI sólo
51 C/BE[1]AD[15]Autobús de dirección/data (media baja)
52 VddqVddq
53 AD[14]AD[13]
54 AD[12]AD[11]
55 TerrenoTerreno
56 AD[10]AD[9]
57 AD[8]C/BE[0]#
58 VddqVddq
59 AD_STB[0]AD_STB[0]#
60 AD[7]AD[6]
61 TerrenoTerreno
62 AD[5]AD[4]
63 AD[3]AD[2]
64 VddqVddq
65 AD[1]AD[0]
66 VregcgVrefgcTensiones de referencia I/O
Leyenda
Alfil de tierra Referencia de cero voltios
Pista de potencia Supone poder a la tarjeta AGP
Puño de salida Conducido por la tarjeta AGP, recibida por la placa base
Salida del iniciador Conducido por el maestro/iniciador, recibido por el objetivo
I/O signal Puede ser impulsado por el iniciador o objetivo, dependiendo de la operación
Producto objetivo Conducido por el objetivo, recibido por el iniciador/master
Input Conducido por la placa base, recibido por la tarjeta AGP
Abastecimiento abierto Puede ser tirado bajo y/o sentido por tarjeta o placa madre
Reservado No se utiliza actualmente, no se conecta

Las señales PCI omitidas son:

  • Suministro −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 transacción bloqueado

Las señales añadidas son:

  • Data strobes AD_STB[1:0] (y AD_STB[1:0]# en AGP 2.0)
  • El bus de dirección 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# (removida en AGP 3.0 para señalización 0.8 V)
  • La señal RBF#
  • Los pines TYPEDET#, Vregcg y Vreggc (AGP 2.0 para señalización 1.5V)
  • Las señales DBI_HI y DBI_LO (AGP 3.0 sólo para señalización 0.8 V)
  • Los pines GC_DET# y MB_DET# (AGP 3.0 para señalización 0.8V)
  • La señal WBF# (extensión de escritura rápida AGP 3.0)

Contenido relacionado

APL (lenguaje de programación)

APL es un lenguaje de programación desarrollado en la década de 1960 por Kenneth E. Iverson. Su tipo de datos central es la matriz multidimensional. Utiliza...

MVS

Almacenamiento virtual múltiple, más comúnmente llamado MVS, era el sistema operativo más utilizado en las computadoras centrales IBM System/370 y...

Oracle solaris

Solaris es un sistema operativo propietario de Unix desarrollado originalmente por Sun Microsystems. Después de la adquisición de Sun por parte de Oracle en...
Más resultados...
Tamaño del texto: