|
DMA (Acesso Direto à Memória)
O DMA visa melhorar a performance geral do micro, permitindo que os periféricos transmitam dados diretamente para a memória, poupando o processador de mais esta tarefa.
Existem 8 portas de DMA, e como acontece com os pedidos de interrupção, dois dispositivos não podem compartilhar o mesmo canal DMA, caso contrário haverá um conflito. Os 8 canais DMA são numerados de 0 a 7, sendo nos canais de 0 a 3 a transferência de dados feita a 8 bits e nos demais a 16 bits. O uso de palavras binárias de 8 bits pelos primeiros 4 canais de DMA visa manter compatibilidade com periféricos mais antigos.
Justamente por serem muito lentos, os canais de DMA são utilizados apenas por periféricos lentos, como drives de disquete, placas de som e portas paralelas padrão ECP. Periféricos mais rápidos utilizam o Bus Mastering, uma espécie de DMA melhorado.
O Canal 2 de DMA é nativamente usado pela controladora de disquetes. Uma placa de som geralmente precisa de dois canais de DMA, um de 8 e outro de 16 bits, usando geralmente o DMA 1 e 5. O DMA 4 é reservado à placa mãe. Ficamos então com os canais 3, 6 e 7 livres. Caso a porta paralela do micro seja configurada no Setup para operar em modo ECP, precisará também de um DMA, podemos então configurá-la para usar o canal 3.
DMAs |
Dispositivos |
DMA 0 |
Disponível |
DMA 1 |
Placa de Som |
DMA 2 |
Controladora de drives de disquetes |
DMA 3 |
Porta paralela padrão ECP |
DMA 4 |
Usado pela placa mãe |
DMA 5 |
Placa de Som |
DMA 6 |
Disponível |
DMA 7 |
Disponível |
Plug-and-Play
Traduzindo ao pé da letra, Plug-and-Play significa “conecte e use”. O objetivo deste padrão é fazer com que o micro seja capaz de reconhecer e configurar automaticamente qualquer periférico instalado, reduzindo o trabalho do usuário a apenas encaixar o novo componente.
Apesar de ser uma idéia antiga, (o barramento MCA lançado em 87 já possuía suporte a PnP) somente há poucos anos o PnP tornou-se popular. A dificuldade é que além de um barramento compatível, é necessário suporte também por parte do BIOS, do sistema operacional e também por parte do periférico para que tudo funcione.
Tudo começa durante a inicialização do micro. O BIOS envia um sinal de interrogação para todos os periféricos instalados no micro. Um periférico PnP é capaz de responder a este sinal, permitindo ao BIOS reconhecer os periféricos PnP instalados.
O passo seguinte é criar uma tabela com todas as interrupções disponíveis e atribuir cada uma a um dispositivo. O sistema operacional entra em cena logo em seguida, devendo ser capaz de trabalhar cooperativamente com o BIOS, recebendo as informações sobre a configuração do sistema e fornecendo todo o software de baixo nível (na forma de drivers de dispositivo) necessário para que os dispositivos possam ser utilizados pelos programas.
As informações sobre a configuração atual da distribuição dos recursos entre os periféricos, é gravada em uma área do CMOS chamada de ESCD. Tanto o BIOS durante o POST, quanto o sistema operacional durante a inicialização, lêem esta lista, e caso não haja nenhuma mudança no Hardware instalado, mantém suas configurações. Isto permite que o sistema operacional (desde que seja compatível com o PnP) possa alterar as configurações caso necessário. No Windows 95/98, o próprio usuário pode alterar livremente as configurações do sistema através do painel de controle.
Problemas com o Plug-and-Play
A maneira como o Plug-and-Play foi implementado nos micros PCs, permite (pelo menos em teoria), que ele funcione bem. O problema é que nem todos os periféricos usados atualmente são compatíveis com o PnP (placas de som e modems mais antigos por exemplo), enquanto outros são apenas parcialmente compatíveis (muitas placas de som e modems atuais, portas seriais e paralelas, entre outros). Estes periféricos são chamados de “Legacy ISA”.
Como o BIOS não possui recursos para identificar quais recursos estão sendo ocupados por este tipo de periférico, é bem possível que atribua os mesmos valores para outros dispositivos PnP, causando conflitos.
Para evitar este problema, é preciso reservar manualmente os endereços de IRQ e DMA ocupados por periféricos ISA de legado através da sessão “PNP/PCI Setup” do CMOS Setup.
Se por exemplo você tiver uma placa de som não PnP, que esteja configurada para utilizar o IRQ 5 e os canais de DMA 1 e 5, você deverá reservar estes três canais, para que o BIOS não os atribua a nenhum outro periférico. Configurando a opção como “Yes” (ou "ISA/PCI PnP") deixa o canal está reservado, e “No/ICU” (ou "Legacy ISA) o deixa livre para uso de periféricos PnP.
Sessão “PnP/PCI Setup” de um BIOS Award
O Windows 95/98 possui algumas rotinas que permitem identificar estes periféricos de maneira indireta, configurando-os e salvando as configurações no ESCD. Esta verificação é feita durante a instalação e através do utilitário “Adicionar novo Hardware”.
Apesar de não ser infalível, este recurso permite diminuir bastante os conflitos gerados por periféricos antigos.
1 - 2 - 3 - 4 - 5 - 6 - 7
|