Clube do Hardware
Home
Home
Armazenamento
Armazenamento
Energia
Energia
Entrada
Entrada
Gabinetes
Gabinetes
Placas-Mãe
Placas-Mãe
Processadores
Processadores
Refrigeração
Refrigeração
Vídeo
Vídeo
Outros
Outros
Conteúdo
Artigos
Blog
Editoriais
Notícias
Primeiras Impressões
Rádio CdH
Testes
Tutoriais
Menu Principal
Boletim
Classificados
Descubra a Marca
Dicionário
Download
Drivers
Dúvidas
Facebook
Folding@Home
Fórum
Links
Livros Recomendados
Livros do Autor
Produtos Bomba
Produtos Recomendados
Provas
RSS
Sobre
Sorteio
Twitter
Boletim
Assine hoje mesmo!
Procura




 
Recomendação
Livro Recomendado
Home » Placas-Mãe » Barramentos

ISA Plug and Play
Autor: Ricardo Zelenovsky e Alexandre Mendonça
Tipo: Artigos Última Atualização: 11 de maio de 1998
Página: 4 de 5
Registradores de Controle

Todo projeto ISA plug and play deve implementar 8 registradores para o controle de configuração do adaptador físico (conectado ao slot) e alguns outros para cada dispositivo lógico presente (ex: porta serial, interface de disco, porta paralela, etc. - cada dispositivo pode exigir seus próprios recursos). Ver Figura 1.

Para selecionar qual registrador será acessado num determinado instante, escreve-se um offset (de acordo com a Figura 1) no registrador de endereços (279h). Decodifica-se o valor escrito, visando a condicionar a habilitação do registrador selecionado a um ciclo de I/O para o endereço do registrador de escrita (A79h) ou para o registrador de leitura (programável), e à condição de não se estar no estado de Espera por Chave. O circuito 2 realiza esta função. Notar que os sinais Y00h a Y07h são os offsets já decodificados.

offset registrador presença
00h Reg. de Endereço de Leitura um por placa
01h Reg. de Seqüência de Isolamento um por placa
02h Reg. de Controle de Configuração um por placa
03h WAKE um por placa
04h Reg. Dados dos Recursos um por placa
05h Reg. de Estado um por placa
06h CSN um por placa
07h Reg. Seleção do Dispositivo um por placa
30h Ativação dispositivo
31h I/O Check dispositivo
40h a 5Ch Descritores de Memória dispositivo
60h e 61h bloco de I/O dispositivo
62h e 63h boco de I/O dispositivo
64h e 65h bloco de I/O dispositivo
66h e 67h bloco de I/O dispositivo
68h e 69h bloco de I/O dispositivo
6Ah e 6Bh bloco de I/O dispositivo
6Ch e 6Dh bloco de I/O dispositivo
6Eh e 6Fh bloco de I/O dispositivo
70h e 71h canal de interrupção dispositivo
72h e 73h canal de interrupção dispositivo
74h canal de DMA dispositivo
75h canal de DMA dispositivo
76h a A8h blocos de memória dispositivo

Figura 1: Mapeamento dos registradores de configuração de uma placa ISA plug and play.


clique para ampliar
Circuito 2: Faz a seleção adequada do registrador de controle.

O registrador de Endereço de Leitura (offset 00h) é programado pelo software plug and play e define, dentre 203h e 3FFh, qual o endereço atribuído para o registrador de leitura. A regra é simples: o bit 7 escrito corresponde ao bit 9 do registrador de leitura, o bit 6 ao bit 8 e assim por diante. Os dois bits menos significativos foram arbitrados iguais a 1. O circuito 3 implementa este registrador. A seguinte seqüência de código programa o registrador de leitura para o endereço 203h:

mov dx, 279h	;seleciona reg. de endereços
mov al, 0h	;seleciona offset 00h
out dx, al	;realiza ciclo de I/O
mov dx, A79h	;seleciona reg. de escrita
mov al, 80h	;programa pela regra 203h
out dx, al	;realiza ciclo de I/O


clique para ampliar
Circuito 3: Controla leituras aos registradores de configuração.

O registrador de Seqüência de Isolamento (offset 01h) é responsável por colocar 55h ou AAh no barramento, isto quando o adaptador estiver participando da seqüência de isolamento.

O registrador de Controle de Configuração (offset 02h), conforme ilustrado na Figura 2 e implementado no circuito 4, é utilizado para zerar o número de seleção de todas as placas (CSN) ou o de todos os dispositivos lógicos e também para colocar todas as placas no estado Espera por Chave, para que fiquem operacionais.

 
clique para ampliar
Figura 2: Mapeamento do registrador de Controle de Configuração.
 

 
clique para ampliar
Circuito 4: Implementação do registrador de controle de configuração.

Os offsets relativos a WAKE e CSN (03h e 06h) são gerenciados de forma que, quando WAKE=CSN (CSN é programado durante a seqüência de isolamento), o adaptador fica selecionado como foco de entrada para determinados acessos. Um valor CSN=0 é inválido, devendo ser interpretado como se CSN¹WAKE, pois a placa requer uma seqüência de isolamento. O circuito 5 implementa a comparação CSN=WAKE.

O registrador de Dados dos Recursos (offset 04h) permite que se obtenham dados do fabricante, número de série, identificadores de dispositivos lógicos e descritores que informam que recursos estes exigem.

O registrador de Estado (offset 05h) informa se o adaptador está pronto para ter seu registrador de Dados dos Recursos acessado.


clique para ampliar
Circuito 5: Verifica se o adaptador está selecionado, ou seja, se está no modo de Configuração.

O registrador de Seleção do Dispositivo (offset 07h), em placas com mais de um dispositivo lógico implementado, é comparado com o identificador do dispositivo para, no máximo, permitir que um dos dispositivos lógicos seja o foco de entrada para a programação de recursos. O circuito 6 realiza tal comparação. A partir deste ponto, supõem-se gerados sinais Y30h a YFFh, condicionados ao casamento do dispositivo lógico.

A Figura 3 (circuito 7) sugere a implementação de uma região de 8 endereços consecutivos de I/O, programável pelos offsets 60h e 61h. Notar que os bits A8 a A15, que compõem os endereços da região de I/O são escritos e lidos com offset 60h, e que os bits A3 a A7 são acessados pleo offset 61h. Observar que uma leitura deste offset retorna os 3 bits menos significativos iguais a zero. Desta forma, para que o software plug and play saiba o tamanho da região de I/O a alocar, basta escrever FFh nos offsets 60h e 61h. Em seguida, fazer uma leitura dos mesmos. O número de bits iguais a zero está associado ao tamanho da região a alocar. No exemplo da Figura 3, são lidos três bits nulos, o que informa que são 8 (23) endereços de I/O necessários. A programação de blocos de memória é parecida com a de blocos de I/O, e, por isso, não será detalhada.

 
clique para ampliar
Circuito 6: Checa o casamento do dispositivo selecionado com o dispositivo lógico.
 

 
clique para ampliar
Figura 3: Circuito para a programação de uma região de 8 endereços de I/O.

A Figura 4 (circuito 8) mostra como são programados os recursos de interrupção (offsets 70h e 71h). Pelo offset 70h, é passado o valor da IRQ alocada, que é decodificado para permitir que o pedido de interrupção seja conectado eletricamente ao barramento. O offset 71h é responsável por informar o tipo de ativação elétrica. No caso da Figura 4, optou-se por uma interrupção ativada por nível alto.

O circuito 8 (para programar um canal de DMA) lembra a Figura 3. Contudo, cada sinal gerado pelo decodificador controla duas conexões elétricas: a do pedido de DMA e a do reconhecimento do pedido.

Reparar que os circuitos 8 e 9 são alimentados pelo sinal HAB BARR, que condiciona todas as conexões de saída para o barramento e é gerado pelo circuito 1.

 
clique para ampliar
Figura 4: Circuito para receber um valor de IRQ e conectar o pedido de interrupção ao barramento.
 

clique para ampliar
Circuito 9: Programa um canal de DMA.
« Anterior |  Página 4 de 5  | Próxima »
Imprimir | Enviar a um Amigo | Adicionar aos Favoritos | Comentários (0)

Conteúdo Relacionado
  • Barramento Firewire (IEEE 1394)
  • PCI Plug and Play
  • Arquitetura Plug and Play
  • Classificados
  • Kit Placa Mãe Asus P8p67 Pro + Core I7 2600k + 8gb Corsair - R$ 1.749,90 HOT
  • Kit Quad Core Fx-4100 3.6 Ghz Be + Asus M5a78l-M Lx + 4gb - R$ 579,95 HOT
  • Kit Placa Mãe Asus P8z68-V Pro + Core I7 2600k + 8gb Corsair - R$ 1.749,90
  • Placa Mae Intel Blkdg41rq Lga 775 Ddr2 Oem C/ Garantia E Nfe - R$ 157,98 HOT
  • Kit Asus P5g41t-M + Intel E5700 + 2gb Ddr3 King + Nf - R$ 378,98 HOT
  • Mais Ofertas...
  • Siga o Clube do Hardware!

    Últimas Notícias
    G.Skill Anuncia Memórias de Perfil Baixo
    10 de fevereiro de 2012 - 10:52 H
    Antec Anuncia Gabinete One
    09 de fevereiro de 2012 - 13:59 H
    Cooler Master Lança Gabinete Elite 361
    08 de fevereiro de 2012 - 08:37 H
    Thermaltake Amplia Oferta de Fontes de Alimentação
    07 de fevereiro de 2012 - 12:17 H
    Super Talent Lança Série Quadra de Memórias DDR3
    06 de fevereiro de 2012 - 09:17 H
    Evercool Lança Mesa Para Notebooks
    03 de fevereiro de 2012 - 07:38 H
    Microsoft Lança Kinect para Windows
    02 de fevereiro de 2012 - 09:10 H
    Antec Anuncia Fontes High Current Gamer M
    01 de fevereiro de 2012 - 11:37 H
    Transcend Anuncia Unidades SSD SSD720
    01 de fevereiro de 2012 - 09:59 H
    Fabricantes Lançam Placas de Vídeo Radeon HD 7950
    01 de fevereiro de 2012 - 09:55 H
    .:: Mais Notícias ::.

    Últimos Artigos
    Teste da Unidade SSD Intel SSD 520 Series 240 GB
    Teste do Disco Rígido Seagate Barracuda 3 TB
    Qual é o Melhor Local para Instalar Uma Ventoinha no Gabinete? - Parte 2
    Teste do Gabinete Antec Three Hundred Two
    Teste da Fonte de Alimentação Thermaltake Smart 630 W
    Teste do Cooler para Placas de Vídeo Deepcool Gamer Storm Dracula
    Teste da Placa de Vídeo AMD Radeon HD 7950
    Teste do Cooler Prolimatech Lynx
    Teste do Cooler Prolimatech Panther
    Teste do Gabinete MSI Nighthawk
    Teste da Fonte de Alimentação Antec EarthWatts Platinum 650 W
    Teste da Fonte de Alimentação Rosewill HIVE 650 W
    Qual é o Melhor Local para Instalar Uma Ventoinha no Gabinete?
    Nossa Reunião Mais Importante da CES: Huntkey
    Teste do Gabinete Thermaltake Overseer RX-I


    Últimas Mensagens no Fórum
    389.005 usuários cadastrados
    1.127 usuários on-line
    TV até R$ 1000
    por crisbnu
    (37 visualizações, 1 respostas)
    Manutenção de placa de video GeForce 9500gt
    por Danilo Soetha
    (9 visualizações, 0 respostas)
    TV Samsung UN32D6000
    por crisbnu
    (43 visualizações, 1 respostas)
    Melhor mousepad para o Sentinel Z3RO-G
    por Kalilfss
    (10 visualizações, 0 respostas)
    Pedido de conselho para alternativo Sky livre mais barato
    por crisbnu
    (46 visualizações, 1 respostas)
    Dúvida quanto a postagem sobre operadoras de tv
    por crisbnu
    (36 visualizações, 1 respostas)
    Ajuda - compra tv led 32
    por crisbnu
    (45 visualizações, 1 respostas)
    Duvida Upgrade Memória
    por marcelogon
    (21 visualizações, 1 respostas)
    Motor eletrico, como fazer funcionar
    por Latinock
    (89 visualizações, 4 respostas)
    Fonte Zalman zm360b-aps RUIM/DUVIDA/FOTO
    por Zuner
    (112 visualizações, 14 respostas)
    .:: Visite Nosso Fórum ::.

    Sorteio do Mês
    Xigmatek Dark KnightNeste mês estamos sorteando mais um cooler para processadores, desta vez um Xigmatek Dark Knight. Cadastre-se hoje mesmo e boa sorte!




    © 1996-2012, Clube do Hardware. Todos os direitos reservados.
    Anuncie Conosco | Informações Legais | Política de Privacidade