Campos do Cabeçalho
Os códigos (somente leitura) do vendedor e do dispositivo identificam a empresa e o tipo de controladora da placa.
O registrador de comando (leitura e escrita) é o responsável pela programação de alguns parâmetros de acesso, como a permissão para manusear memória e I/O contidos na placa, a habilitação de alguns ciclos especiais de barramento e outros.
O registrador de estado (leitura e escrita parcial) informa algumas condições de velocidade de comunicação e de detecção de erros.
O identificador de revisão (leitura) informa o número da revisão do adaptador, sendo um código criado pelo fabricante.
O código da classe (leitura) identifica a função básica do dipositivo (ex: multimídia, ponte PCI-outro barramento, placa de rede, base de dados, etc.).
O tamanho do cache (leitura e escrita) (4 para um 486) é o tamnho, em doublewords, da linha de cache para escritas na memória da placa.
O temporizador de latência (leitura e escrita) especifica o tempo mínimo, em clocks de barramento, que o barramento mestre pode manter a posse do barramento. Ele é decrementado pelo barramento mestre a cada clock a partir do início da transferência de um dado.
O tipo de cabeçalho (leitura) define se o dispositivo é um adaptador ou uma ponte PCI-PCI.
O BIST (Built In Self Test - leitura) é um registrador opcional que permite efetuar-se uma seqüência de auto-teste do adaptador.
Os registradores para a programação de endereços bases são necessários quando o dispositivo implementa decodificadores de endereços para mapearem porções de memória e I/O. O bit menos significativo destes registradores é reservado para a leitura e indica o tipo se é a defição de endereços de I/O ou de memória. O mecanismo para tal programação é bastante interessante e será comentado posteriormente.
O registrador do pino de interrupção (leitura) indica por que sinal elétrico do barramento a placa PCI gerará o pedido de interrupção (INT# A, B, C ou D - programa-se 1 a 4 - ou não exige recurso de interrupção - programa-se 0).
O registrador de linha de interrupção (leitura e escrita) é programável pelo software plug and play (BIOS ou sistema operacional) e informa à placa qual das linha IRQ que alimentam o controlador de interrupções do PC está alocado para o adaptador.
3 | 2 | 1 | 0 | offsets |
código do dispositivo | código do vendedor | 00h | ||
registrador de estado | registrador de comando | 04h | ||
código da classe | id. de revisão | 08h | ||
BIST | tipo cabeçalho | temp. latência | tam. cache | 0Ch |
primeiro registrador para a programação do endereço base | 10h | |||
segundo registrador para a programação do endereço base | 14h | |||
terceiro registrador para a programação do endereço base | 18h | |||
quarto registrador para a programação do endereço base | 1Ch | |||
quinto registrador para a programação do endereço base | 20h | |||
sexto registrador para a programação do endereço base | 24h | |||
reservado | 28h | |||
reservado | reservado | 2Ch | ||
registrador para endereço base da ROM de expansão | 30h | |||
reservado | 34h | |||
reservado | 38h | |||
reservado | reservado | reg. pino int. | reg. linha int. | 3Ch |
Figura 1: Mapeamento dos registradores PCI. Os 12 primeiros bytes mais o tipo de cabeçalho são campos obrigatórios.
Respostas recomendadas
Não há comentários para mostrar.
Crie uma conta ou entre para comentar
Você precisa ser um usuário para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar agora