Porta Gráfica Acelerada
Accelerated Graphics Port (AGP) é um padrão de placa de expansão paralela, projetado para conectar uma placa de vídeo a um sistema de computador para auxiliar na aceleração de gráficos de computador 3D. Ele foi originalmente projetado como sucessor das conexões do tipo PCI para placas de vídeo. Desde 2004, o AGP foi gradualmente eliminado em favor do PCI Express (PCIe), que é serial, em oposição ao paralelo; em meados de 2008, as placas PCI Express dominavam o mercado e apenas alguns modelos AGP estavam disponíveis, com os fabricantes de GPU e parceiros de placas suplementares eventualmente abandonando o suporte para a interface em favor do PCI Express.
Vantagens sobre PCI
AGP é um superconjunto do padrão PCI, projetado para superar as limitações do PCI em atender aos requisitos das placas gráficas de alto desempenho da época.
A principal vantagem do AGP é que ele não compartilha o barramento PCI, fornecendo um caminho ponto a ponto dedicado entre o(s) slot(s) de expansão e o chipset da placa-mãe. A conexão direta também permite velocidades de clock mais altas.
A segunda grande mudança é o uso de transações divididas, em que as fases de endereço e dados são separadas. O cartão pode enviar várias fases de endereço para que o host possa processá-las em ordem, evitando longos atrasos causados pelo barramento ocioso durante as operações de leitura.
Terceiro, o handshaking do barramento PCI é simplificado. Ao contrário das transações do barramento PCI cujo comprimento é negociado ciclo a ciclo usando os sinais FRAME# e STOP#, as transferências AGP são sempre um múltiplo de 8 bytes de comprimento, com o comprimento total incluído na solicitação. Além disso, em vez de usar os sinais IRDY# e TRDY# para cada palavra, os dados são transferidos em blocos de quatro ciclos de clock (32 palavras na velocidade AGP 8×) e as pausas são permitidas apenas entre os blocos.
Finalmente, o AGP permite (obrigatório apenas no AGP 3.0) endereçamento de banda lateral, o que significa que os barramentos de endereço e dados são separados para que a fase de endereço não use as linhas principais de endereço/dados (AD) em todos. Isso é feito adicionando um "Endereço de banda lateral" barramento sobre o qual o controlador gráfico pode emitir novas solicitações AGP enquanto outros dados AGP estão fluindo pelas 32 linhas principais de endereço/dados (AD). Isso resulta em uma taxa de transferência de dados AGP geral aprimorada.
Essa grande melhoria no desempenho de leitura de memória torna prático para uma placa AGP ler texturas diretamente da RAM do sistema, enquanto uma placa gráfica PCI deve copiá-la da RAM do sistema para a memória de vídeo da placa. A memória do sistema é disponibilizada usando a tabela de remapeamento de endereços gráficos (GART), que distribui a memória principal conforme necessário para armazenamento de textura. A quantidade máxima de memória do sistema disponível para AGP é definida como a abertura AGP.
História
O slot AGP apareceu pela primeira vez em placas de sistema compatíveis com x86 baseadas nos processadores Socket 7 Intel P5 Pentium e Slot 1 P6 Pentium II. A Intel introduziu o suporte AGP com o chipset i440LX Slot 1 em 26 de agosto de 1997, e uma enxurrada de produtos se seguiu de todos os principais fornecedores de placas de sistema.
Os primeiros chipsets Socket 7 a suportar AGP foram o VIA Apollo VP3, SiS 5591/5592 e o ALI Aladdin V. A Intel nunca lançou um chipset Socket 7 equipado com AGP. A FIC demonstrou a primeira placa de sistema Socket 7 AGP em novembro de 1997 como a FIC PA-2012 baseada no chipset VIA Apollo VP3, seguida muito rapidamente pela EPoX P55-VP3 também baseado no chipset VIA VP3, que foi o primeiro no mercado.
Os primeiros chipsets de vídeo com suporte a AGP incluíam o Rendition Vérité V2200, 3dfx Voodoo Banshee, Nvidia RIVA 128, 3Dlabs PERMEDIA 2, Intel i740, série ATI Rage, Matrox Millennium II e S3 ViRGE GX/2. Algumas das primeiras placas AGP usavam processadores gráficos construídos em torno do PCI e eram simplesmente ligados ao AGP. Isso fez com que as placas se beneficiassem pouco do novo barramento, com a única melhoria usada sendo o clock do barramento de 66 MHz, com sua resultante largura de banda dobrada sobre PCI e exclusividade do barramento. Exemplos de tais cartões foram Voodoo Banshee, Vérité V2200, Millennium II e S3 ViRGE GX/2. O i740 da Intel foi explicitamente projetado para explorar o novo conjunto de recursos AGP; na verdade, ele foi projetado para texturizar apenas a partir da memória AGP, dificultando a implementação das versões PCI da placa (a RAM da placa local precisava emular a memória AGP).
A Microsoft introduziu pela primeira vez o suporte AGP no Windows 95 OEM Service Release 2 (OSR2 versão 1111 ou 950B) por meio do patch USB SUPLEMENT to OSR2. Depois de aplicar o patch, o sistema Windows 95 tornou-se Windows 95 versão 4.00.950 B. O primeiro sistema operacional baseado no Windows NT a receber suporte AGP foi o Windows NT 4.0 com Service Pack 3, lançado em 1997. O suporte Linux para transferências rápidas de dados aprimoradas AGP foi adicionado pela primeira vez em 1999 com a implementação do módulo kernel AGPgart.
Uso posterior
Com a crescente adoção do PCIe, os fabricantes de placas gráficas continuaram a produzir placas AGP, pois o padrão se tornou obsoleto. Como as GPUs começaram a ser projetadas para se conectar ao PCIe, um chip de ponte PCIe para AGP adicional foi necessário para criar uma placa de vídeo compatível com AGP. A inclusão de uma ponte e a necessidade de um design de cartão AGP separado incorreu em custos adicionais de placa.
A GeForce 6600 e a ATI Radeon X800 XL, lançadas entre 2004 e 2005, foram as primeiras placas em ponte. Em 2009, as placas AGP da Nvidia tinham um teto da GeForce 7 Series. Em 2011, placas AGP compatíveis com DirectX 10 de fornecedores da AMD (Club 3D, HIS, Sapphire, Jaton, Visiontek, Diamond etc.) incluíam Radeon HD 2400, 3450, 3650, 3850, 4350, 4650 e 4670. A série AGP mencionada no software AMD Catalyst nunca esteve disponível. Houve muitos problemas com os drivers de hotfix AMD Catalyst 11.2 - 11.6 AGP no Windows 7 com as placas de vídeo AGP da série HD 4000; o uso de drivers de hotfix AGP 10.12 ou 11.1 é a solução alternativa recomendada. Vários dos fornecedores listados acima disponibilizam versões anteriores dos drivers AGP.
Em 2010, nenhum novo chipset de placa-mãe suportava AGP e poucas novas placas-mãe tinham slots AGP, no entanto, algumas continuaram a ser produzidas com chipsets mais antigos que suportavam AGP.
Em 2016, a versão 1607 do Windows 10 abandonou o suporte para AGP. A possível remoção futura de suporte para AGP de drivers de kernel Linux de código aberto foi considerada em 2020.
Versões
Especificação | Tensão | Relógio | Velocidade | Transferências/ relógio | Taxa (MB/s) |
---|---|---|---|---|---|
PCI | 3.3/5 Serviço rápido e eficaz | 33 MHz | 0— | )1 | 0133 |
PCI 2.1 | 3.3/5 Serviço rápido e eficaz | 33/66 MHz | 0— | )1 | 0133/266 |
AGP 1.0 | 3.3 V | 66 MHz | 01 × | )1 | 0266 |
AGP 1.0 | 3.3 V | 66 MHz | 02 × | )2 | 0533 |
AGP 2.0 | 1.5 V | 66 MHz | 04 × | )4 | 1066 |
AGP 3.0 | 0,8 V | 66 MHz | 08 × | )8 | 2133 |
AGP 3.5* | 0,8 V | 66 MHz | 08 × | )8 | 2133 |
A Intel lançou a "especificação AGP 1.0" em 1997. Ele especificou sinais de 3,3 V e velocidades de 1× e 2×. A especificação 2.0 documentou a sinalização de 1,5 V, que pode ser usada em 1×, 2× e a velocidade adicional de 4× e a 3.0 acrescentou a sinalização de 0,8 V, que pode ser operada nas velocidades de 4× e 8×. (As velocidades 1× e 2× são fisicamente possíveis, mas não foram especificadas.)
As versões disponíveis estão listadas na tabela ao lado.
AGP versão 3.5 só é mencionada publicamente pela Microsoft em Universal Accelerated Graphics Port (UAGP), que especifica suportes obrigatórios de registros extras uma vez marcados como opcionais sob AGP 3.0. Registros atualizados incluem PCISTS, CAPPTR, NCAPID, AGPSTAT, AGPCMD, NISTAT, NICMD. Novos registros necessários incluem APBASELO, APBASEHI, AGPCTRL, APSIZE, NEPG, GARTLO, GARTHI.
Existem várias interfaces físicas (conectores); consulte a seção Compatibilidade.
Extensões oficiais
AGP Pro
Uma extensão oficial para cartões que requerem mais energia elétrica, com um slot mais longo com pinos adicionais para esse fim. Os cartões AGP Pro eram geralmente cartões de classe de estação de trabalho usados para acelerar aplicativos profissionais de design auxiliado por computador empregados nos campos de arquitetura, usinagem, engenharia, simulações e campos semelhantes.
AGP de 64 bits
Um canal de 64 bits já foi proposto como padrão opcional para o AGP 3.0 em documentos preliminares, mas foi descartado na versão final do padrão.
O padrão permite transferência de 64 bits para leituras, gravações e gravações rápidas AGP8×; Transferência de 32 bits para operações PCI.
Variações não oficiais
Várias variações não padronizadas da interface AGP foram produzidas pelos fabricantes.
Interface AGP interna
- Ultra-AGP, Ultra-AGPII
- É um padrão interno de interface AGP usado pela SiS para os controladores de ponte norte com gráficos integrados. A versão original suporta a mesma largura de banda que AGP 8×, enquanto Ultra-AGPII tem largura de banda máxima de 3.2GB/s.
Portas AGP baseadas em PCI
- AGP Express
- Não é uma verdadeira interface AGP, mas permite que um cartão AGP seja conectado sobre o ônibus PCI legado em uma placa-mãe PCI Express. É uma tecnologia usada em placas-mãe feitas pela ECS, destinada a permitir que um cartão AGP existente seja usado em uma nova placa-mãe em vez de exigir que um cartão PCIe seja obtido (desde a introdução de placas gráficas PCIe poucas placas-mãe fornecem slots AGP). Um slot "AGP Express" é basicamente um slot PCI (com duas vezes a potência elétrica) com um conector AGP. Ele oferece compatibilidade retroativa com cartões AGP, mas fornece suporte incompleto (alguns cartões AGP não funcionam com AGP Express) e desempenho reduzido - o cartão é forçado a usar o ônibus PCI compartilhado em sua largura de banda inferior, em vez de ter uso exclusivo do AGP mais rápido.
- AGI
- A ASRock Graphics Interface (AGI) é uma variante proprietária do padrão Accelerated Graphics Port (AGP). Seu objetivo é fornecer suporte AGP para placas-mãe ASRock que usam chipsets sem suporte AGP nativo. No entanto, não é totalmente compatível com AGP, e vários chipsets de cartão de vídeo são conhecidos por não ser suportados.
- AGX
- O EPoX Advanced Graphics eXtended (AGX) é outra variante proprietária do AGP com as mesmas vantagens e desvantagens que o AGI. Os manuais do usuário recomendam não usar cartões AGP 8× ATI com slots AGX.
- XGP
- O Biostar Xtreme Graphics Port é outra variante AGP, também com as mesmas vantagens e desvantagens como AGI e AGX.
Portas AGP baseadas em PCIe
- AGR
- O Advanced Graphics Riser é uma variação da porta AGP usada em algumas placas-mãe do PCIe feitas pela MSI para oferecer compatibilidade reversa limitada com o AGP. É, efetivamente, um slot PCIe modificado que permite o desempenho comparável a um slot AGP 4×/8×, mas não suporta todos os cartões AGP; o fabricante publicou uma lista de alguns cartões e chipsets que funcionam com o slot modificado.
Compatibilidade
Os cartões AGP são compatíveis com versões anteriores e posteriores dentro dos limites. Os cartões codificados apenas de 1,5 V não entrarão em slots de 3,3 V e vice-versa, embora "Universal" existem cartões que se encaixam em qualquer tipo de slot. Há também "Universal" slots que aceitam qualquer tipo de cartão. Quando uma placa AGP Universal é conectada a um slot AGP Universal, somente a parte de 1,5 V da placa é usada. Algumas placas, como a série GeForce 6 da Nvidia (exceto a 6200) ou a série Radeon X800 da ATI, possuem apenas chaves para 1,5 V para evitar que sejam instaladas em placas-mãe mais antigas sem suporte para 1,5 V. Algumas das últimas placas modernas com suporte a 3,3 V foram as séries Nvidia GeForce FX (FX 5200, FX 5500, FX 5700, algumas FX 5800, FX 5900 e algumas FX 5950), algumas Geforce 6 Series e 7 series (poucas placas foram feitas com suporte 3.3v exceto para 6200 onde o suporte 3.3v era comum) e ATI Radeon 9500/9700/9800 (R300/R350) (mas não 9600/9800(R360/RV360)). Algumas placas Geforce 6200/6600/6800 e Geforce 7300/7600/7800/7900/7950 funcionarão com slots AGP 1.0 (3.3v), mas esses são realmente incomuns em comparação com suas versões somente AGP 1.5v.
Os cartões AGP Pro não cabem em slots padrão, mas os cartões AGP padrão funcionam em um slot Pro. As placas-mãe equipadas com um slot Universal AGP Pro aceitarão uma placa de 1,5 V ou 3,3 V na configuração AGP Pro ou AGP padrão, uma placa Universal AGP ou uma placa Universal AGP Pro.
Algumas placas incorretamente possuem entalhes duplos e algumas placas-mãe incorretamente possuem slots totalmente abertos, permitindo que uma placa seja conectada a um slot que não suporta a tensão de sinalização correta, o que pode danificar a placa ou a placa-mãe. Algumas placas de 3,3 V projetadas incorretamente têm a chave de 1,5 V.
Existem alguns sistemas proprietários incompatíveis com o padrão AGP; por exemplo, os computadores Apple Power Macintosh com o Apple Display Connector (ADC) têm um conector extra que fornece energia ao monitor conectado. Algumas placas projetadas para funcionar com uma arquitetura de CPU específica (por exemplo, PC, Apple) podem não funcionar com outras devido a problemas de firmware.
Mark Allen, da Playtools.com, fez os seguintes comentários sobre a compatibilidade prática de AGP para AGP 3.0 e AGP 2.0:
... ninguém faz cartões AGP 3.0, e ninguém faz placas-mãe AGP 3.0. Pelo menos não há fabricantes que eu possa encontrar. Cada placa de vídeo que eu poderia encontrar que alegou ser um cartão AGP 3.0 foi na verdade um cartão universal 1.5V AGP 3.0. E cada placa-mãe que alegou ser uma placa-mãe AGP 3.0 acabou por ser uma placa-mãe universal 1.5V AGP 3.0. Faz sentido, se você pensar sobre isso, porque se alguém realmente enviou um produto orientado para o consumidor que suportava apenas 0,8 volts, eles acabariam com muitos clientes confusos e um pesadelo de suporte. No mercado de consumo, você teria que ser louco para enviar apenas um produto de 0,8 volts.
Consumo de energia
Tipo de fenda | 3.3 V | 5 V | 12 V | 3.3 V Auxiliar | 1.5 V | 3.3 V | 12 V | Potência total |
---|---|---|---|---|---|---|---|---|
AGP | 6 A | 2 A | 1 A | 0,75 mA | 2 A | - Não. | - Não. | 48.25 W |
AGP Pro110 | 7.6 A | 9,2 A | 50 a 110 W | |||||
AGP Pro50 | 7.6 A | 4.17 A | 25 a 50 W |
A energia real fornecida por um slot AGP depende da placa usada. A corrente máxima extraída dos vários trilhos é fornecida nas especificações das várias versões. Por exemplo, se a corrente máxima for consumida de todas as fontes e todas as tensões estiverem em seus limites superiores especificados, um slot AGP 3.0 pode fornecer até 48,25 watts; esse valor pode ser usado para especificar uma fonte de alimentação de forma conservadora, mas, na prática, é improvável que uma placa consuma mais de 40 W do slot, com muitas usando menos. O AGP Pro fornece energia adicional de até 110 W. Muitas placas AGP tinham conectores de energia adicionais para fornecer mais energia do que o slot poderia fornecer.
Protocolo
Um barramento AGP é um superconjunto de um barramento PCI convencional de 66 MHz e, imediatamente após a redefinição, segue o mesmo protocolo. A placa deve atuar como um alvo PCI e, opcionalmente, pode atuar como um mestre PCI. (O AGP 2.0 adicionou uma extensão de "gravações rápidas" que permite que as gravações PCI da placa-mãe para o cartão transfiram dados em alta velocidade.)
Depois que o cartão é inicializado usando transações PCI, as transações AGP são permitidas. Para estes, a placa é sempre o mestre AGP e a placa-mãe é sempre o alvo AGP. A placa enfileira várias solicitações que correspondem à fase de endereço PCI e a placa-mãe agenda as fases de dados correspondentes posteriormente. Uma parte importante da inicialização é informar ao cartão o número máximo de solicitações AGP pendentes que podem ser enfileiradas em um determinado momento.
As solicitações AGP são semelhantes às solicitações de leitura e gravação de memória PCI, mas usam uma codificação diferente nas linhas de comando C/BE[3:0] e são sempre alinhadas em 8 bytes; seu endereço inicial e comprimento são sempre múltiplos de 8 bytes (64 bits). Os três bits de ordem inferior do endereço são usados para comunicar o tamanho da solicitação.
Sempre que o sinal PCI GNT# é ativado, concedendo o barramento ao cartão, três bits de status adicionais ST[2:0] indicam o tipo de transferência a ser realizada a seguir. Se os bits forem 0xx
, os dados de uma transação AGP enfileirada anteriormente devem ser transferidos; se os três bits forem 111
, a placa pode iniciar uma transação PCI ou (se o endereçamento de banda lateral não estiver em uso) enfileirar uma solicitação dentro da banda usando PIPE#.
Códigos de comando AGP
Assim como o PCI, cada transação AGP começa com uma fase de endereço, comunicando um endereço e um código de comando de 4 bits. Os comandos possíveis são diferentes do PCI, porém:
- 000p
- Leia mais
- Leia 8×(AD[2:0]+1) = 8, 16, 24,..., 64 bytes. O p bit menos significativo é 0 para baixa prioridade, 1 para alta.
- 001x
- (reservado):
- 010p
- Escrever
- Escreva 8×(AD[2:0]+1) = 8–64 bytes.
- 011x
- (reservado):
- 100p
- Longa leitura
- Leia 32×(AD[2:0]+1) = 32, 64, 96,..., 256 bytes. Este é o mesmo que um pedido de leitura, mas o comprimento é multiplicado por quatro.
- 1010
- Flush
- Forçar dados previamente escritos à memória, para sincronização. Isso atua como uma leitura de baixa prioridade, tomando um slot de fila e retornando 8 bytes de dados aleatórios para indicar a conclusão. O endereço e o comprimento fornecidos com este comando são ignorados.
- 1011
- (reservado):
- 1100
- Cerca
- Isso atua como uma vedação de memória, exigindo que todas as solicitações anteriores do AGP sejam concluídas antes de qualquer solicitação a seguir. Ordinariamente, para maior desempenho, o AGP usa um modelo de consistência muito fraco, e permite que uma gravação posterior passe uma leitura anterior. (E.g. após o envio de "escrita 1, escrever 2, ler, escrever 3, escrever 4" pedidos, todos para o mesmo endereço, a leitura pode retornar qualquer valor de 2 para 4. Somente retornar 1 é proibido, como os escritos devem completar antes de seguir as leituras.) Esta operação não requer nenhum slot de fila.
- 1101
- Ciclo de endereço duplo
- Ao fazer um pedido para um endereço acima 232, isto é usado para indicar que um segundo ciclo de endereços seguirá com bits de endereço adicionais. Isso funciona como um ciclo de endereço duplo PCI regular; é acompanhado pelos 32 bits de baixa ordem do endereço (e o comprimento), e o seguinte ciclo inclui os 32 bits de endereço alto e o comando desejado. Os dois ciclos fazem um pedido e levam apenas um slot na fila de solicitação. Este código de solicitação não é usado com endereçamento de banda lateral.
- 111x
- (reservado):
O AGP 3.0 descartou as solicitações de alta prioridade e os comandos de leitura longa, pois eram pouco usados. Também exigia endereçamento de banda lateral, eliminando assim o ciclo de endereço duplo, deixando apenas quatro tipos de solicitação: leitura de baixa prioridade (0000), gravação de baixa prioridade (0100), flush (1010) e cerca (1100).
Solicitações AGP em banda usando PIPE#
Para enfileirar uma solicitação em banda, a placa deve solicitar o barramento usando o sinal padrão PCI REQ# e receber GNT# mais o status do barramento ST[2:0] igual a 111. Então, em vez de afirmar FRAME# para iniciar uma transação PCI, a placa afirma o sinal PIPE# enquanto conduz o comando AGP, endereço e comprimento no C/BE[3:0], AD[31:3] e AD[ 2:0] linhas, respectivamente. (Se o endereço for de 64 bits, um ciclo de endereço duplo semelhante ao PCI é usado.) Para cada ciclo em que o PIPE# é ativado, o cartão envia outra solicitação sem esperar confirmação da placa-mãe, até a profundidade máxima da fila configurada. O último ciclo é marcado pela desabilitação do REQ#, e o PIPE# é desabilitado no próximo ciclo inativo.
Solicitações AGP de banda lateral usando SBA[7:0]
Se o endereçamento de banda lateral for suportado e configurado, o sinal PIPE# não é usado. (E o sinal é reutilizado para outra finalidade no protocolo AGP 3.0, que requer endereçamento de banda lateral.) Em vez disso, as solicitações são divididas em partes de 16 bits que são enviadas como dois bytes pelo barramento SBA. Não há necessidade de a placa pedir permissão à placa-mãe; uma nova solicitação pode ser enviada a qualquer momento, desde que o número de solicitações pendentes esteja dentro da profundidade máxima configurada da fila. Os valores possíveis são:
0aaa aaaa aaaa alll
- Consultar um pedido com os bits de endereço de baixa ordem A[14:3] e comprimento 8×(L[2:0]+1). O comando e os bits de alta ordem são conforme especificado anteriormente. Qualquer número de pedidos pode ser questionado enviando apenas este padrão, desde que o comando e os bits de endereço superior permaneçam iguais.
10cc ccra aaaa aaaa
- Use o comando C[3:0] e endereço bits A[23:15] para futuras solicitações. (Bit R é reservado.) Isso não faz fila de uma solicitação, mas define valores que serão usados em todas as solicitações futuras.
110r aaaa aaaa aaaa
- Use bits de endereço A[35:24] para futuras solicitações.
1110 aaaa aaaa aaaa
- Use bits de endereço A[47:36] para futuras solicitações.
1111 0xxx
,1111 10xx
,1111 110x
- Reservado, não use.
1111 1110
- Padrão de sincronização usado ao iniciar o ônibus SBA após um período ocioso.
1111 1111
- Sem operação; sem solicitação. Na velocidade AGP 1×, isso pode ser enviado como um único byte e um seguinte pedido de banda lateral de 16 bits começou um ciclo mais tarde. Em AGP 2× e velocidades mais altas, todas as solicitações de banda lateral, incluindo este NOP, têm 16 bits de comprimento.
Os bytes de endereço de banda lateral são enviados na mesma taxa que as transferências de dados, até 8× o clock do barramento básico de 66 MHz. O endereçamento de banda lateral tem a vantagem de eliminar a necessidade de ciclos de retorno no barramento AD entre as transferências, no caso usual quando as operações de leitura superam em muito as gravações.
Respostas AGP
Enquanto afirma GNT#, a placa-mãe pode, em vez disso, indicar por meio dos bits ST que uma fase de dados para uma solicitação na fila será executada a seguir. Existem quatro filas: duas prioridades (baixa e alta prioridade) para cada uma das leituras e gravações, e cada uma é processada em ordem. Obviamente, a placa-mãe tentará concluir as solicitações de alta prioridade primeiro, mas não há limite para o número de respostas de baixa prioridade que podem ser entregues enquanto a solicitação de alta prioridade é processada.
Para cada ciclo quando o GNT# é ativado e os bits de status têm o valor 00p
, uma resposta de leitura da prioridade indicada é programada para ser retornada. Na próxima oportunidade disponível (normalmente o próximo ciclo de clock), a placa-mãe irá declarar TRDY# (alvo pronto) e começará a transferir a resposta para a solicitação mais antiga na fila de leitura indicada. (Outros sinais de barramento PCI como FRAME#, DEVSEL# e IRDY# permanecem desativados.) Até quatro ciclos de clock de dados (16 bytes em AGP 1× ou 128 bytes em AGP 8×) são transferidos sem esperar pela confirmação do cartão. Se a resposta for maior do que isso, tanto a placa quanto a placa-mãe devem indicar sua capacidade de continuar no terceiro ciclo, afirmando IRDY# (iniciador pronto) e TRDY#, respectivamente. Se um não o fizer, os estados de espera serão inseridos até dois ciclos depois que ambos o fizerem. (O valor de IRDY# e TRDY# em outros momentos é irrelevante e eles geralmente são desativados.)
As linhas de habilitação de byte C/BE# podem ser ignoradas durante as respostas de leitura, mas são mantidas declaradas (todos os bytes válidos) pela placa-mãe.
O cartão também pode ativar o sinal RBF# (buffer de leitura cheio) para indicar que está temporariamente incapaz de receber mais respostas de leitura de baixa prioridade. A placa-mãe se absterá de agendar mais respostas de leitura de baixa prioridade. O cartão ainda deve ser capaz de receber o final da resposta atual e o primeiro bloco de quatro ciclos do seguinte, se programado, além de quaisquer respostas de alta prioridade solicitadas.
Para cada ciclo quando o GNT# é ativado e os bits de status têm o valor 01p
, os dados de gravação são programados para serem enviados pelo barramento. Na próxima oportunidade disponível (normalmente no próximo ciclo de clock), o cartão irá declarar IRDY# (iniciador pronto) e começará a transferir a porção de dados da solicitação mais antiga na fila de gravação indicada. Se os dados forem maiores que quatro ciclos de clock, a placa-mãe indicará sua capacidade de continuar afirmando TRDY# no terceiro ciclo. Ao contrário das leituras, não há previsão para o cartão atrasar a gravação; se não tivesse os dados prontos para enviar, não deveria ter colocado a solicitação na fila.
As linhas C/BE# são usadas com dados de gravação e podem ser usadas pelo cartão para selecionar quais bytes devem ser gravados na memória.
O multiplicador em AGP 2×, 4× e 8× indica o número de transferências de dados pelo barramento durante cada ciclo de clock de 66 MHz. Tais transferências usam relógio síncrono de origem com um "estroboscópio" sinal (AD_STB[0], AD_STB[1] e SB_STB) gerado pela fonte de dados. AGP 4× adiciona sinais estroboscópicos complementares.
Como as transações AGP podem ser tão curtas quanto duas transferências, nas velocidades AGP 4× e 8× é possível que uma solicitação seja concluída no meio de um ciclo de clock. Nesse caso, o ciclo é preenchido com transferências fictícias de dados (com as linhas de habilitação de byte C/BE# mantidas desativadas).
Pinagem do conector
O conector AGP contém quase todos os sinais PCI, além de várias adições. O conector possui 66 contatos em cada lado, embora 4 sejam removidos para cada entalhe de chave. O pino 1 está mais próximo do suporte de E/S e os lados B e A estão como na tabela, olhando para baixo no conector da placa-mãe.
Os contatos são espaçados em intervalos de 1 mm, no entanto, eles são organizados em duas linhas verticais escalonadas para que haja 2 mm de espaço entre os pinos em cada linha. Os contatos do lado A de número ímpar e os contatos do lado B de número par estão na linha inferior (1,0 a 3,5 mm da borda do cartão). Os outros estão na linha superior (3,7 a 6,0 mm da borda do cartão).
Pinças | Side B | Lado A | Comentários | |
---|---|---|---|---|
1 | OBRIGADO | +12 V | Aviso sobrecorrente de porta USB | |
2 | +5 V | TYPEDET | Puxado baixo por cartão para indicar capacidade de 1,5 V (AGP 2.0 4x) | |
3 | +5 V | GC_DET | Puxado baixo por cartão para indicar 0,8 V (AGP 3.0 8x) capacidade | |
4 | USB+ | USB- | pinos USB para passar para monitorar | |
5 | Terreno | Terreno | ||
6 | INTB | INTA | Linhas interrompidas (aberto-drain) | |
7 | CLKK | RST | Relógio de 66 MHz, reset de ônibus | |
8 | REQUÉRITO | GNT! | Pedido de autocarro do cartão e concessão da placa-mãe | |
9 | +3.3 V | +3.3 V | ||
10. | ST[0] | ST[1] | status AGP (válido enquanto GNT# baixo) | |
11 | ST[2] | MULHERES | Puxado baixo pela placa-mãe para indicar 0,8 V (AGP 3.0 8x) capacidade | |
12 | RBF | PIPE | DBI_HI | Leia buffer completo, pedido Pipeline, inversão de barramento de dados[31:16] |
13 | Terreno | Terreno | ||
14 | DBI_LO | WBF | Inversão de barramento de dados [15:0], Escrever buffer completo | |
15 | SBA[0] | SBA[1] | Autocarro de endereço lateral | |
16. | +3.3 V | +3.3 V | ||
17. | SBA[2] | SBA[3] | ||
18. | SB_STB | SB_STB | ||
19 | Terreno | Terreno | ||
20. | SBA[4] | SBA[5] | ||
21 | SBA[6] | SBA[7] | ||
22 | Reservados | Reservados | Notch chave para 3.3 V cartões AGP | |
23 | Terreno | Terreno | ||
24. | +3.3 V aux | Reservados | ||
25 | +3.3 V | +3.3 V | ||
26 | AD[31] | AD[30] | Endereço / barramento de dados (mais acima da metade) | |
27 | AD[29] | AD[28] | ||
28 | +3.3 V | +3.3 V | ||
29 de Março | AD[27] | AD[26] | ||
30 | AD[25] | AD[24] | ||
31 | Terreno | Terreno | ||
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 | Terreno | Terreno | ||
38 | AD[17] | AD[18] | ||
39 | C/BE[2]# | AD[16] | ||
40 | Vddq | Vddq | 3.3 ou 1,5 V | |
41 | IRDY | QUADRO | Iniciador pronto, Transferência em progresso | |
42 | +3.3 V aux | Reservados | Entalhe chave para 1.5 V AGP cartões | |
43 | Terreno | Terreno | ||
44 | Reservados | Reservados | ||
45 | +3.3 V | +3.3 V | ||
46. | DESENVOLVIMENTO | TRDY | Alvo selecionado, Alvo pronto | |
47 | Vddq | Para! | Pedidos de destino parar | |
48 | PERGUNTA | PME | Erro de paridade, Evento de gestão de energia (opcional) | |
49 | Terreno | Terreno | ||
50 | - Sim. | PAR | Erro do sistema, Mesmo paridade para (1x) transações PCI apenas | |
51 | C/BE[1]# | AD[15] | Endereço/autocarro de dados (meio inferior) | |
52 | Vddq | Vddq | ||
53 | AD[14] | AD[13] | ||
54 | AD[12] | AD[11] | ||
55 | Terreno | Terreno | ||
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 | Terreno | Terreno | ||
62 | AD[5] | AD[4] | ||
63 | AD[3] | AD[2] | ||
64 | Vddq | Vddq | ||
65 | AD[1] | AD[0] | ||
66 | Vrecções | Vrefgc | Tensões de referência I/O |
Pino de terra | Referência de volume zero |
---|---|
Pin de energia | Fornece energia para o cartão AGP |
Pin de saída | Dirigido pelo cartão AGP, recebido pela placa-mãe |
Saída do iniciador | Dirigido pelo mestre/iniciador, recebido pelo alvo |
Sinal de E/S | Pode ser conduzido pelo iniciador ou alvo, dependendo da operação |
Saída do alvo | Dirigido pelo alvo, recebido pelo iniciador/master |
Entrada | Dirigido pela placa-mãe, recebido pelo cartão AGP |
Escada aberta | Pode ser puxado baixo e/ou sentido por cartão ou placa-mãe |
Reservados | Não usado atualmente, não se conectar |
Os sinais PCI omitidos são:
- A fonte de −12 V
- O terceiro e quarto pedidos de interrupção (INTC#, INTD#)
- Os pinos JTAG (TRST#, TCK, TMS, TDI, TDO)
- Os pinos SMBus (SMBCLK, SMBDAT)
- O pino IDSEL; um cartão AGP conecta AD[16] ao IDSEL internamente
- A extensão de 64 bits (REQ64#, ACK64#) e pinos de 66 MHz (M66EN)
- O pino LOCK# para suporte de transação bloqueado
Os sinais adicionados são:
- Data strobes AD_STB[1:0] (e AD_STB[1:0]# no AGP 2.0)
- O endereço de banda lateral SBA[7:0] e SB_STB (e SB_STB# no AGP 2.0)
- Os sinais de status ST[2:0]
- USB+ e USB− (e OVERCNT# no AGP 2.0)
- O sinal PIPE# (removed em AGP 3.0 para sinalização de 0,8 V)
- O sinal RBF#
- Os pinos TYPEDET#, Vregcg e Vreggc (AGP 2.0 para sinalização 1.5V)
- Os sinais DBI_HI e DBI_LO (AGP 3.0 para sinalização de 0,8 V apenas)
- Os pinos GC_DET# e MB_DET# (AGP 3.0 para sinalização 0.8V)
- O sinal WBF# (AGP 3.0 extensão de gravação rápida)
Contenido relacionado
Telecomunicações na Bélgica
Kerberos (protocolo)
Máquina Virtual JAVA