Pesquisa · Mapa mental

Peripheral Component Interconnect

O Peripheral Component Interconnect (PCI) é um barramento de computador local que permite a conexão de dispositivos de hardware. Parte do padrão PCI Local Bus, ele oferece um formato padronizado e independente do processador para funções de barramento. Dispositivos PCI, sejam circuitos integrados na placa-mãe ou placas de expansão em slots, aparecem como mestres de barramento e recebem endereços no espaço do processador. É um barramento paralelo e síncrono, que foi inicialmente implementado em PCs compatíveis com IBM para substituir os barramentos ISA e VLB. Posteriormente, foi adotado por outros tipos de computadores. Placas PCI comuns incluem adaptadores de rede, som, modems, portas USB/seriais, sintonizadores de TV e adaptadores de disco rígido. Embora as placas de vídeo PCI tenham sido populares, foram superadas em largura de banda pelo AGP e, mais tarde, pelo PCI Express.

Fonte: Wikipédia (pt)Texto didático por IAAtualizado em 11/07/2026

Pontos-chave

  • PCI é um barramento de computador local para conectar dispositivos de hardware, padronizado e independente do processador.
  • Ele substituiu os barramentos ISA e VLB em PCs, sendo posteriormente adotado por outros sistemas.
  • Dispositivos PCI podem ser integrados à placa-mãe ou placas de expansão em slots.
  • O PCI utiliza um barramento paralelo e síncrono, com configuração automática de recursos.
  • Foi sucedido pelo AGP e, posteriormente, pelo PCI Express para placas de vídeo devido a demandas crescentes de largura de banda.
01

História do PCI

O desenvolvimento do PCI começou por volta de 1990 nos Intel Architecture Labs (IAL), com uma equipe do IAL definindo a arquitetura e criando um chipset de prova de conceito. Rapidamente, o PCI foi adotado em servidores, substituindo as arquiteturas MCA e EISA. Em PCs convencionais, a transição foi mais lenta, ganhando força no final de 1994 com os PCs Pentium de segunda geração e, em 1996, o VLB estava quase obsoleto. A Apple Computer também adotou o PCI para seus computadores Power Macintosh profissionais em 1995 e para a linha de consumo Performa em 1996, substituindo o NuBus e o LC PDS, respectivamente.

02

Configuração Automática de Dispositivos

O PCI oferece espaços de endereço de memória e porta de I/O separados para processadores x86, de 64 e 32 bits, com endereços atribuídos por software. Um terceiro espaço, o PCI Configuration Space, usa um esquema de endereçamento fixo para que o software determine os recursos necessários a cada dispositivo. Cada dispositivo pode solicitar até seis áreas de memória ou I/O através de seus registradores de configuração. Durante a inicialização, o firmware ou sistema operacional consulta todos os barramentos PCI para identificar dispositivos, alocar recursos (memória, I/O, interrupções) e informar a cada dispositivo sua alocação.

03

Gerenciamento de Interrupções

Dispositivos PCI seguem um protocolo para compartilhar as linhas de solicitação de interrupção (IRQ). O barramento PCI possui quatro linhas de interrupção (INTA# a INTD#), todas disponíveis para cada dispositivo. Em sistemas x86 com APIC, até oito dispositivos PCI podem compartilhar a mesma linha de IRQ (LNKA a LNKH). As linhas de interrupção não são conectadas em paralelo como outras linhas do barramento; suas posições giram entre os slots, distribuindo a carga de interrupção. Dispositivos de função única geralmente usam INTA#. O mapeamento das linhas de interrupção PCI para as linhas de interrupção do sistema é dependente da implementação, e o firmware ou sistema operacional deve configurar o campo 'linha de interrupção' no espaço de configuração de cada dispositivo.

04

Especificações de Hardware Comuns

As especificações a seguir representam a versão mais comum do PCI encontrada em PCs. Embora o padrão PCI também suporte sinalização de 3,3 V, largura de barramento de 64 bits e clock de 66 MHz, essas opções são mais comuns em placas-mãe de servidor com suporte PCI-X. O árbitro de barramento PCI gerencia a arbitragem entre múltiplos mestres no barramento, com um par de sinais de solicitação e concessão dedicado a cada mestre.

Voltagem e Entalhes da Placa

Placas PCI geralmente possuem um ou dois entalhes de chave, que indicam a voltagem de sinalização suportada. Placas de 3,3 volts têm um entalhe a 56,21 mm da placa traseira, enquanto as de 5 volts têm um entalhe a 104,41 mm. Isso garante que as placas sejam inseridas apenas em slots compatíveis com sua voltagem. Placas 'universais' que suportam ambas as voltagens possuem os dois entalhes.

Pinagem do Conector

O conector PCI é definido com 62 contatos em cada lado, mas dois ou quatro são substituídos pelos entalhes de chave, resultando em 58 ou 60 contatos por lado. O lado A é o 'lado da solda' e o lado B é o 'lado do componente'. Olhando o conector da placa-mãe, os pinos A1 e B1 são os mais próximos da placa traseira. O PCI de 64 bits estende essa pinagem com 32 contatos adicionais em cada lado, fornecendo AD[63:32], C/BE[7:4]#, o sinal de paridade PAR64 e pinos de alimentação e aterramento adicionais.

Compatibilidade de Placas PCI 32/64 bits

A maioria das placas PCI de 32 bits funciona em slots PCI-X de 64 bits, mas a taxa de clock do barramento será limitada à frequência da placa mais lenta, devido à topologia de barramento compartilhado do PCI. Para mitigar isso, muitas placas-mãe oferecem múltiplos barramentos PCI/PCI-X. Muitas placas PCI-X de 64 bits são projetadas para operar em modo de 32 bits se inseridas em conectores mais curtos de 32 bits, embora com alguma perda de desempenho. No entanto, algumas placas PCI-X de 64 bits não são compatíveis com slots PCI padrão de 32 bits.

05

Dimensões Físicas do PCI

Esta seção detalha os comprimentos padrão das placas PCI, tanto para o formato padrão quanto para o de baixo perfil, considerando a sinalização de 3,3 V.

Mini PCI

O Mini PCI, introduzido na versão 2.2 do PCI, foi projetado para laptops e alguns roteadores. Ele utiliza um barramento de 32 bits, 33 MHz, com conexões energizadas (apenas 3,3 V; 5 V limitado a 100 mA) e suporte a masterização de barramento e DMA. As placas Mini PCI são significativamente menores que as placas PCI de tamanho normal e não possuem acesso externo ao gabinete, o que restringe suas funcionalidades. Muitos dispositivos foram desenvolvidos para Mini PCI, incluindo Wi-Fi, Fast Ethernet, Bluetooth, modems, placas de som, aceleradores criptográficos, controladores SCSI, IDE-ATA e SATA. Placas Mini PCI podem ser usadas com hardware PCI regular através de conversores. O Mini PCI foi substituído pelo PCI Express Mini Card, que é ainda mais compacto.

06

Transações do Barramento PCI

O tráfego no barramento PCI consiste em uma série de transações, cada uma com uma fase de endereço seguida por uma ou mais fases de dados. A direção dos dados (leitura ou gravação) deve ser consistente em todas as fases de dados de uma transação. Ambas as partes podem pausar ou interromper as fases de dados. Qualquer dispositivo PCI pode iniciar uma transação, solicitando permissão a um árbitro de barramento. O iniciador transmite um endereço de 32 bits e um código de comando de 4 bits, aguardando a resposta de um alvo. Outros dispositivos monitoram o endereço e o alvo responde após alguns ciclos.

Espaços de Endereço PCI

O PCI possui três espaços de endereço: memória, I/O e configuração. Endereços de memória são de 32 bits (opcionalmente 64 bits), suportam cache e transações em rajada. Endereços de I/O são para compatibilidade com a arquitetura Intel x86. Embora a especificação PCI permita transações em rajada em qualquer espaço, a maioria dos dispositivos só as suporta para endereços de memória. O espaço de configuração PCI oferece acesso a 256 bytes de registradores de configuração por dispositivo, com cada slot PCI tendo seu próprio intervalo. Esses registradores são usados para configurar os intervalos de endereço de memória e I/O aos quais os dispositivos devem responder. Na inicialização, o BIOS verifica os dispositivos e atribui seus intervalos de memória e I/O.

Códigos de Comando PCI

Existem 16 códigos de comando de 4 bits possíveis, sendo 12 deles atribuídos. O bit menos significativo do código de comando (exceto para o ciclo de endereço duplo) indica se as fases de dados subsequentes são de leitura (alvo para iniciador) ou gravação (iniciador para alvo). Os alvos PCI devem verificar o código de comando e o endereço, ignorando fases de endereço com códigos não suportados. Comandos relacionados a linhas de cache dependem da configuração correta do registro de tamanho da linha de cache no espaço de configuração PCI e não podem ser usados antes disso.

07

Latência do Barramento PCI

Após a promulgação da especificação PCI, observou-se que transações prolongadas por alguns dispositivos (devido a confirmações lentas, rajadas longas de dados ou ambos) poderiam causar estouro ou sub-estouro de buffer em outros dispositivos. As recomendações de tempo para fases individuais na Revisão 2.0 foram tornadas obrigatórias na Revisão 2.1. A partir da Revisão 2.1, todos os iniciadores capazes de rajadas com mais de duas fases de dados devem implementar um temporizador de latência programável. Este temporizador começa a contar ciclos de clock quando uma transação é iniciada (o iniciador afirma FRAME#). Se o temporizador expirar e o árbitro remover GNT#, o iniciador deve encerrar a transação na próxima oportunidade legal, geralmente na próxima fase de dados, exceto para transações Memory Write e Invalidate, que devem continuar até o fim da linha de cache.

Transações Atrasadas

Dispositivos que não conseguem atender às restrições de tempo devem usar uma combinação de gravações postadas (para gravações de memória) e transações atrasadas (para outras gravações e todas as leituras). Em uma transação atrasada, o alvo registra a transação (incluindo dados de gravação) internamente e aborta a primeira fase de dados (afirmando STOP# em vez de TRDY#). O iniciador deve tentar a mesma transação novamente mais tarde. Enquanto isso, o alvo executa a transação internamente e aguarda a nova tentativa. Quando a transação é tentada novamente, o resultado armazenado em buffer é entregue. Um dispositivo pode ser alvo de outras transações enquanto conclui uma transação atrasada, mas deve lembrar o tipo de transação, endereço, seleção de bytes e (se for uma gravação) o valor dos dados para concluir apenas a transação correta.

08

Pontes de Barramento PCI

O padrão PCI permite que múltiplos barramentos PCI independentes sejam conectados por pontes de barramento, que encaminham operações entre eles conforme necessário. Embora o PCI não utilize muitas pontes de barramento internamente, os sistemas PCI Express empregam muitas pontes PCI para PCI, frequentemente chamadas de PCI Express Root Port, onde cada slot PCI Express atua como um barramento separado conectado por uma ponte. A ponte host PCI (geralmente o northbridge em plataformas x86) interconecta a CPU, a memória principal e o barramento PCI.

Gravações Postadas

Normalmente, quando uma ponte de barramento detecta uma transação que precisa ser encaminhada para outro barramento, a transação original deve aguardar a conclusão da transação encaminhada. Uma exceção são as gravações de memória: a ponte pode registrar os dados de gravação internamente (se houver espaço) e sinalizar a conclusão da gravação antes que ela seja realmente concluída no outro barramento. Essas gravações 'enviadas, mas ainda não recebidas' são chamadas de 'gravações postadas', por analogia com o correio postal. Embora ofereçam ganhos significativos de desempenho, as regras que as governam são complexas.

Combinando, Fundindo e Colapsando Transações

O padrão PCI permite que pontes de barramento convertam múltiplas transações em uma transação maior em certas situações, melhorando a eficiência do barramento. Gravações para endereços consecutivos podem ser combinadas em uma gravação em rajada mais longa, desde que a ordem dos acessos seja mantida. É permitido inserir fases de dados extras com todas as habilitações de bytes desativadas se as gravações forem quase consecutivas. Múltiplas gravações em porções disjuntas da mesma palavra podem ser mescladas em uma única gravação com múltiplas habilitações de bytes ativadas. Nesse caso, as gravações apresentadas à ponte em uma ordem específica são mescladas para ocorrerem simultaneamente quando encaminhadas.

09

Ferramentas de Desenvolvimento PCI

No desenvolvimento e na solução de problemas do barramento PCI, a análise dos sinais de hardware é crucial. Analisadores lógicos e analisadores de barramento são ferramentas que coletam, analisam e decodificam esses sinais, apresentando-os de forma útil para os usuários.

Vídeos recomendados

Fontes consultadas

Continue pesquisando