Cadastrar Perguntas Home Minha Conta Mapa do Site
Buscar:
Buscar Guias sobre:
Escreva um guia
Placas PCI: Tipos, voltagens, sinais, dispositivos e conexões.
Autor:
Ver mais Guias do autor | Ver eShop | Ver Produtos
23 de 24 qualificaram esse guia como útil.
Atualizado em 26/02/2008

Barramento PCI (Peripheral Component Interconnect)

 

Nas placas-mãe modernas podemos encontrar de 3 a 6 slots PCI. Em algumas placas mais simples, geralmente as on-board, teremos apenas um ou dois slots PCI.

 

Nos slots PCI podemos conectar placas de expansão PCI, como por exemplo:

· Placa de vídeo (SVGA)

· Placa de interface SCSI

· Placa de rede

· Placa digitalizadora de vídeo

 

O Barramento PCI não é o mesmo que Slot PCI; o Barra­mento PCI é um conjunto de sinais digitais que partem do chipset e do pro­cessador, atingindo tanto as placas de expansão, através dos slots, como os circuitos da placa-mãe. Por exemplo, as interfaces para disco rígido e as interfaces USB embutidas na placa de CPU são controladas através do barramento PCI, apesar de não utilizar os slots.

 

Tipos de PCI

 

Na maioria das placas-mãe, o barramento PCI opera com 32 bits e utiliza um clock de 33 MHz, mas existem algumas variações:

 

Em placas mais antigas podemos encontrar o barramento PCI operando com 25 ou 30 MHz. Em placas que operam com overclock externo, o clock do barramento PCI pode estar indevidamente programado para 37,5 MHz ou 41,6 MHz, resultando em mau funcionamento. Existem ainda as placas-mãe de alto desempenho, próprias para servidores, nos quais temos barramentos PCI de 64 bits e 66 MHz.

 

A taxa de transferência máxima teórica do barramento PCI depende, assim, de suas características. A tabela abaixo mostra as principais opções:

 

Clock

Número de bits

Taxa de transferência

33 MHz

32

133 MB/s

33 MHz

64

266 MB/s

66 MHz

32

266 MB/s

66 MHz

64

533 MB/s

 

Logo na primeira versão do barramento PCI, apesar de operar com 32 bits, já estava previsto o funcionamento com 64 bits.

 

O slot PCI de 64 bits é diferente do slot de 32 bits: possui duas seções, sendo uma igual ao de 32 bits e outra menor, com os sinais necessários para o funcionamento em 64 bits.

 

Recentemente o barramento PCI sofreu uma revisão e agora suporta também a operação em 66 MHz, tanto em 32 como em 64 bits. Este aumento foi motivado principalmente pelas novas interfaces SCSI, capazes de operar com taxas de 320 MB/s. O barramento PCI de 66 MHz e 64 bits, com sua taxa de transferência máxima de 533 MB/s, suporta perfeitamente este tipo de interface. Só encontramos esta configuração em servidores e estações de trabalho de alto desempenho.

Além das opções usuais de 32 e 64 bits, 33 e 66 MHz, podemos encontrar em algumas placas de CPU antigas (e mesmo em algumas mais novas), alguns clocks incomuns em uso no barramento PCI.

 

A tabela abaixo mostra algumas dessas opções e as respectivas taxas de transferência. Note que valores acima de 33 MHz são considerados overclock. Mesmo que a placa de CPU possa gerar esses valores, nem sempre as placas de expansão PCI irão suportá-los.

 

Clock

Número de bits

Taxa de transferência

25 MHz

32

100 MB/s

30 MHz

32

120 MB/s

33 MHz

32

133 MB/s

37,5 MHz

32

150 MB/s

41,6 MHz

32

166 MB/s

36,6 MHz

32

146,4 MB/s

38,3 MHz

32

153,2 MB/s

 

Nas placas de CPU Pentium antigas, o clock do barramento PCI era sempre igual à metade do clock externo do processador.

Com clock externo de 66 MHz, o resultado era o barramento PCI operando a 33 MHz. No processador Pentium-75, por exemplo, o clock externo é de 50 MHz, portanto o barramento PCI passa a operar com apenas 25 MHz, já que tais placas são programadas para usar no barramento PCI, a metade do clock do processador.

Da mesma forma no Pentium-90, Pentium-120 e Pentium-150, o clock externo é 60 MHz, portanto o barramento PCI opera com 30 MHz. Quando é feito overclock externo nessas placas antigas, obrigando o processador a operar com 75 ou 83 MHz externos, o barramento PCI opera com a metade desses valores, o que corresponde a 37,5 MHz e 41,6 MHz.

Na maioria das placas-mãe com clock externo de 100 MHz, o barramento PCI opera com 1/3 do clock externo do processador, resultando em 33 MHz, mas pode resultar em valores maiores quando é feito o overclock.

Muitas placas de CPU mais recentes têm geradores de clock independentes para o processador e para o barramento PCI. Dessa forma o barramento PCI pode ser mantido em 33 MHz, mesmo que o processador esteja usando overclock externo.

 

Voltagens do PCI

 

Na sua especificação original, o barramento PCI podia operar a partir de uma alimentação de +5 volts ou de +3,3 volts.

Para impedir a conexão de placas incompatíveis, os slots PCI utilizam um chanfro que deve coincidir com outro chanfro localizado na placa de expansão. Nos slots de 3,3 volts, este chanfro fica mais próximo da parte traseira da placa-mãe. Nos slots de 5 volts o chanfro fica no lado oposto.

 

Os slots e placas de 5 volts são os mais usados. Praticamente não encontramos versões de 3,3 volts, mas podemos encontrar algumas placas de expansão PCI que são universais, podendo funcionar tanto em slots de 5 como de 3,3 volts. Essas placas possuem dois chanfros no seu conector, podendo se acomodar tanto em slots de 3,3 quanto de 5 volts.

 

Master e Target

 

As transferências realizadas no barramento PCI são sempre feitas entre dois dispositivos: o Bus Master ou Initiator, e o Target (alvo).

O Bus Master é aquele que toma a iniciativa de solicitar a transferência do Target. O Bus Master é o responsável pela geração de todos os sinais de endereços, controles e dados (no caso de escrita). Quando o computador é ligado, o processador da placa mãe é o Bus Master. Ele é o responsável por comandar a inicialização do hardware, incluindo o chipset e as placas de expansão. Outros dispositivos também podem atuar como Bus Masters, como as interfaces IDE e as interfaces SCSI.

 

Para que um dispositivo opere como Bus Master, precisa inicialmente pedir permissão ao Bus Arbitrer, que faz parte do chipset. Do Bus Arbitrer partem várias linhas REQ (request) e GNT (Grant).

Cada par REQ/GNT é ligado a um dispositivo PCI diferente. No caso dos slots, cada um deles tem um sinal REQ próprio, através do qual envia ao chipset o pedido de requisição para que tome o controle do barramento. Ao receber esta requisição, o Bus Arbitrer verifica se é possível dar a permissão e envia o sinal GNT apropriado para o dispositivo que a requereu.

Cada dispositivo e cada slot possui seu próprio sinal GNT. A maioria dos chipsets atuais possuem 4, 5 ou 6 pares REQ/GNT, através dos quais podem ser conectados 4, 5 ou 6 dispositivos PCI capazes de atuar como Bus Masters.

Mas existem algumas placas nas quais apenas alguns slots PCI são Bus Masters, enquanto outros slots atuam apenas como Target. Ao passar por problemas de funcionamento de placas PCI, experimente a troca do slot. Consulte o manual da placa de CPU para verificar se todos os slots podem operar como Bus Masters. Placas de som, placas de rede, controladoras SCSI e digitalizadores de vídeo, bem como interfaces rápidas em geral, operam em modo Bus Master. Placas de vídeo PCI e modems operam como Target, portanto podem ser remanejadas para slots que não suportam Bus Mastering.

 

Sinais do barramento PCI

 

Alguns dos sinais de maior importância no barramento PCI, juntamente com sua descrição:

 

Sinal

Descrição

AD0-AD31

Barramento de dados e endereços multiplexados. No início de uma transferência, este barramento indica o endereço e, na fase seguinte, os dados. Como muitas transferências são feitas em modo burst, não existe queda de desempenho perceptível pelo fato de ser usado um único barramento para dupla função.

C/BE0-C/BE3

Durante a fase de endereço, esses 4 sinais indicam o comando a ser realizado (leitura, escrita, etc.). Na fase de dados, esses 4 bits indicam quais bytes dos 32 bits do barramento de dados devem ser levados em conta. Isso permite, por exemplo, acessar bytes individuais, apesar do barramento de dados ter 32 bits.

FRAME

O Bus Master ativa este sinal para dar início a um ciclo de transferência.

IRDY

Initiator Ready. Indica que o Master está pronto para ler ou enviar dados. Quando este sinal não é ativado, o Target irá esperar tantos wait states quanto forem necessários.

TRDY

Target Ready. Indica que o Target está pronto para receber dados (escrita) ou que o dado lido já está disponível (leitura). Quando este sinal não é ativado, o Master irá gerar tantos wait states quando forem necessários.

DEVSEL

Ativado pelo Target quando reconhece o seu endereço. Desta forma o Master pode saber se o dispositivo Target está ativo ou presente no barramento.

REQ

Requisição enviada ao Bus Arbitrer, para que o dispositivo se torne Bus Master. Cada dispositivo tem seu próprio sinal REQ.

GNT

Grant. Através deste sinal o Bus Arbitrer indica ao dispositivo solicitante que o barramento está liberado, permitindo assim que se torne Bus Master. Cada dispositivo tem seu próprio sinal GNT.

INTA, INTB, INTC, INTD

São linhas de interrupção a serem usadas pelos dispositivos PCI. Cada dispositivo e cada slot é ligado a um desses sinais, que podem ser compartilhados, ou seja, uma mesma linha INT pode ser usada por mais de um slot. O padrão PCI prevê o compartilhamento de interrupções.

AD32-AD63

Continuação do barramento de dados e endereços nos slots PCI de 64 bits.

C/BE4-C/BE7

Continuação do barramento de comando e habilitação de bytes nos slots PCI de 64 bits.

REQ64

Requisição de transferência de 64 bits.

ACK64

Indica que o Target está apto a realizar transferência de 64 bits.

 

Transferências

 

Vários tipos de transferência podem ser feitas no barramento PCI. Essas transferências podem envolver um ou múltiplos dados. São chamadas de transactions (transações), mas aqui chamaremos apenas de transferências.

 

As operações são sincronizadas pelo clock. Durante o período em que o barramento AD traz endereços, temos a fase de endereços (address phase). Uma vez determinado o endereço, são feitas as transferências de dados, entrando então na fase de dados (data phase). Wait states podem ser gerados por solicitação do Target ou do próprio Master, através dos controles IRDY e TRDY. Os eventos que ocorrem nesta transferência são os seguintes:

 

a) O Bus Master inicia a transferência ativando o sinal FRAME, que permanece ativo até que o Target termine sua última fase de dados. O Master também fornece o endereço (AD0-AD31) e o comando (C/BE0-C/BE3).

b) O Target reconhece seu endereço e prepara-se para fornecer os dados.

c) O Master para de indicar o comando nas linhas C/BE e passa a indicar os controles habilitadores dos bytes desejados.

d) O Target ativa a linha DEVSEL para indicar que foi endereçado, fornece o primeiro dado e ativa a linha TRDY para indicar que o dado está pronto. Wait states podem ser gerados se necessário, bastando retardar a ativação de TRDY.

e) O Master lê os dados e altera as linhas C/BE, se necessário.

f) O Target desativa a linha TRDY enquanto busca o próximo dado, gerando mais um wait state. Isto pode ser necessário quando os circuitos do Target não são suficientemente velozes.

g) Neste exemplo o Master ainda não está pronto para ler o próximo dado, portanto ele desativa o sinal IRDY, gerando mais um wait state que fará o Target manter os dados por mais um ciclo.

h) Após receber o último dado, o Master finaliza a transferência, desativando a linha FRAME.

i) O Target é desativado, liberando o barramento de dados e desativando os sinais TRDY e DEVSEL.

 

Dispositivos de alta velocidade

 

A maioria dos dispositivos ligados ao barramento PCI são capazes de operar como Master. O primeiro deles é o processador da placa-mãe, que através do host bridge (faz parte do chipset), comunica-se com o barramento PCI. Chamamos de bridge um circuito que faz a interface entre dois barramentos. O host bridge é, portanto, um circuito que faz a comunicação entre o barramento do sistema e o barramento PCI. Através deste circuito o processador pode acessar qualquer outro dispositivo PCI. Assim, qualquer um deles pode funcionar como Target em transferências nas quais o processador é o Master.

 

As transferências entre o processador e dispositivos de E/S eram feitas de duas formas nos PCs com arquiteturas antigas:

 

· E/S programada

· E/S por DMA

 

Na E/S programada, cabe ao processador obter os dados na interface e colocá-los na memória (nas operações de entrada), e obtê-los na memória e entregá-los à interface apropriada (nas operações de saída). A vantagem desta técnica é a simplicidade de circuitos; e a desvantagem principal é que deixa o processador muito ocupado quando são transferidos muitos dados em seqüência.

 

Na E/S por DMA, um circuito especial chamado controlador de DMA toma o controle do barramento do processador e realiza a transferência, gastando o mínimo tempo possível. A transferência de um dado através de DMA dura um único ciclo, sem monopolizar o barramento.

Enquanto na E/S programada o processador pode ficar ocupado entre um dado e outro, testando se o próximo dado já pode ser transferido, na E/S por DMA o processador pode executar outras tarefas enquanto o controlador de DMA se encarrega da transferência.

 

O controlador de DMA pode tomar o controle do barramento do sistema graças a dois sinais existentes nos processadores: HOLD e HLDA (Hold Acknowledge).

Quando a interface tem um dado pronto para entregar, envia um comando para o controlador de DMA (DMA Request), que por sua vez ativará o sinal HOLD do processador. O processador termina a execução do ciclo em andamento e entra em tristate, congelando sua atividade, e envia para o controlador de DMA o sinal de HLDA, reconhecendo o estado de HOLD.

A partir daí o controlador de DMA, que antes estava em tristate, passa a gerar os sinais de endereço, dados e controle, passando a ser o mestre do barramento. O controlador de DMA envia para a interface um sinal de DMAACK (DMA Acknowledge, ou reconhecimento de DMA). A interface pode então entregar o dado para o barramento e enviando para a memória (nas operações de entrada), ou então obter o dado da memória (nas operações de saída).

 

Quanto mais lento é um periférico, mais adequada é a transferência por E/S programada; e quanto mais rápido, mais adequada é a transferência por DMA.

Vejamos alguns exemplos, considerando o uso de um barramento externo de 100 MHz para o processador. Supondo que as memórias operem com temporização 2-1-1-1, teríamos cerca de 80 milhões de transferências de 64 bits por segundo. Considere alguns tipos de interface e o tempo entre transferências consecutivas:

 

Interface

Taxa de transferência

Intervalo entre transferências, medido em acessos à memória

Teclado

30 caracteres/s