Gabriel Torres Hardware Site
O seu site de informações profissionais sobre hardware de micros.
english English
Version

Artigos
Principal

Anuncie Aqui!

Artigos

Bus Mastering
Por Gabriel Torres

DMA - Acesso Direto à Memória (Direct Memory Access)

O DMA é um controlador existente integrado na placa-mãe desde a época do primeiro PC. Ele permite que periféricos façam transferências de dados para a memória RAM sem a intervenção do processador. Isto economiza um tempo absurdo.

Vamos dar um exemplo simples. Imagine um arquivo de 50 KB gravado em disquete. Se não existisse o recurso de DMA, a transferência seria feita byte-a-byte, ou seja, seriam necessárias mais de 50.000 instruç&otildees por parte do processador para que esta transferência fosse executada.

No mundo real, porém, a transferência seria controlada pelo controlador de DMA e com um detalhe importantíssimo: o processador não interage no processo, ficando disponível para executar outra tarefa. Bastaria uma única instrução para o controlador de DMA iniciar o processo.

O problema, no entanto, é a colcha de retalhos que se tornou o padrão PC. Para manter compatibilidade com o projeto do AT da IBM, o controlador de DMA existente em todos os micros é um controlador de 16 bits, portanto lento para ser utilizado com os discos rígidos atualmente utilizados.


PIO - Programmed Input/Output

Para resolver este problema de velocidade, o padrão ATA/IDE utiliza um outro esquema de transferência, chamado PIO. Existem 5 modos de operação PIO (PIO0 a PIO4), cada um utilizando um protocolo e uma taxa de transferência. Veja abaixo uma comparação das taxas de transferências utilizadas pelo controlador de DMA, PIO e o novo padrão Ultra-ATA que ainda está sendo implantado (colocado aqui somente a título de comparação):

DMA padrão: 1 MB/s
PIO modo 0: 3,3 MB/s
PIO modo 1: 4,2 MB/s
PIO modo 2: 8,3 MB/s
PIO modo 3: 11,1 MB/s (EIDE - Fast ATA)
PIO modo 4: 16,6 MB/s (EIDE - Fast ATA-2)
Ultra-ATA: 33,3 MB/s

Conclusão: por mais lento que seja o disco rígido IDE, ele utiliza PIO modo 0, sendo mesmo assim mais rápido do que se estivesse utilizando o controlador de DMA.


Bus Mastering

O Chipset "Triton" da Intel (430FX, HX, VX ou TX), presente nas placas-mãe Pentium permite um novo modo de transferência de dados do disco rígido para a memória, chamado PIIX (PCI-ISA IDE Xcelerator). Este modo de transferência utiliza um novo esquema de DMA, chamado "Fast Multiword DMA", que transfere ao invés de 1 dado de 16 bits por vez como no padrão AT original, 3 dados de 16 bits por vez (ou seja, 48 bits). Isto faz com que a taxa de transferência chegue a 16,6 MB/s. Com um detalhe: a transferência de dados da memória com o disco rígido é feita sem a interferência do processador, ao contrário do esquema PIO.

Para saber se o seu micro aceita o "bus mastering" é fácil, basta olhar na placa-mãe qual é o "chipset". Normalmente é o circuito escrito "PCIset". Se este circuito for da Intel e possuir o sufixo FX, HX, VX ou TX (ou seja, a maioria das placas-mãe existentes), então o seu micro pode se beneficiar do bus mastering.


Instalando o Bus Mastering

Toda a placa-mãe vem com um disquete. é neste disquete justamente que está o driver de bus mastering para a sua placa-mãe. Muita gente não sabe disto e simplesmente joga fora este disquete.

Se você quiser aumentar a performance do seu micro, instale o driver de bus mastering de acordo com o sistema operacional que você possuir. Geralmente os drivers vêm separados em subdiretórios no disquete e você não deverá encontrar maiores dificuldades neste processo.

E se você não tiver este disquete ? Baixe os drivers de Bus Mastering diretamente de nosso site.


Incompatibilidade

Atenção, muito importante: os drivers de bus mastering no Windows 95 geralmente apresentam incompatibilidade com unidades de CD-ROM IDE, pois as unidades de CD não sabem como operar com DMA, somente com PIO.

Para resolver este problema e instalar os drivers de bus mastering corretamente, siga as instruç&otildees passo-a-passo:

  • Mantenha a unidade de CD-ROM instalada na porta IDE secundária e o seu disco rígido na porta IDE primária.

  • Instale os drivers de bus mastering que vem em um disquete com a sua placa-mãe ou que você baixou na Internet.

  • Após a instalação dos drivers, o que você deverá fazer será alterar o driver da porta IDE secundária de DMA para PIO novamente.

  • Para isto, utilize o editor de registro do Windows 95. Basta executar C:\WINDOWS\REGEDIT.EXE.

  • Abra a chave HKEY_LOCAL_MACHINE/System/
    CurrentControlSet/control/Services/Class/hdc

  • Você encontrará diversos diretórios, como 0000, 0001, 0002, etc. Procure pelo diretório que conter a string "Secondary Bus Master IDE Controller" ou similar (o nome exato depende do fabricante do driver que você instalou).

  • Encontrando o diretório, altere a linha "PortDriver" para "ESDI_506.pdr". Basta selecionar a linha e escolher a opção "Modificar" do menu "Editar". Isto irá alterar o driver para o driver IDE padrão.

  • Altere a linha "DriverDesc" para "Controlador IDE secundário", bastando selecionar a linha e escolher a opção "Modificar" do menu "Editar".

  • Basta dar um reboot no sistema.

    Após este processo, a porta IDE primária estará operando em "Fast Multiword DMA" e a porta IDE secundária em PIO. Recomendamos que este processo seja feito sempre, independentemente se o seu micro possua ou não unidade de CD-ROM IDE (ele, desta forma, já ficará preparado para uma futura instalação).


    Windows 95 OSR2

    O Windows 95 Release 2 (OSR2) já possui drivers de bus mastering, não necessitando a instalação de drivers externos. Para isto, vá no Gerenciador de Dispositivos (Painel de Controle, ícone "Sistema") e selecione "Controladores de Disco Rígido". Selecione a porta IDE primária. Habilite a caixa "DMA" existente em uma das guias. Pronto !


    Dúvidas sobre o assunto

    Gabriel, Recebi uma mensagem eletrônica a respeito do Bus Mastering, a partir daí surgiu algumas dúvidas, portanto como também trabalho com computadores (montagem, manutenção, etc...) achei que você como tendo um grande conhecimento neste ramo poderia me ajudar. Tenho um HD Quantum Bigfoot 2.1 GB, como posso descobrir em que modo está operando (PIO1,PIO2,PIO3, etc...) ? (...) Muito Obrigado, Rafael Jorge

    Olha Rafael: quando você liga o micro, aparece aquele quadro de configuraç&otildees após o POST (auto-teste: contagem de memória, etc). Neste quadro normalmente aparece em qual modo PIO o disco rígido esta trabalhando.


    Olá ! Recebi sua mensagem sobre bus mastering em DMA, que achei muito interessante. Entretanto, gostaria de lhe perguntar (e acredito que os leitores da lista também gostariam de saber):
    1) Há alguma vantagem em utilizar este modo DMA em vez do PIO modo 4 EIDE ?
    2) Posso fazer esta mudança num HD que hoje roda em PIO Modo 4, modo LBA e que já contém dados sem risco de corrupção dos dados ?
    Muito obrigado, Wilson Batista Jr.

    A grande vantagem do Bus Master é a utilização de DMA ao invés do modo PIO. No DMA o processador não precisa controlar o processo de transferencia de dados do disco rígido para a memória (RAM), enquanto no PIO, o processador deverá controlar o processo.

    O seu disco rígido está em PIO 4, o que significa uma taxa de 16,6 MB/s. Se você instalar os drivers de bus master, a taxa de transferência ficará também em 16,6 MB/s (DMA modo multi-word 2), só que com uma vantagem: sem a necessidade de intervenção do processador.

    Em outras palavras: a taxa de transferencia ficará a mesma, porem o seu micro ficará mais rápido porque o processador não precisará controlar a transferência de dados (ele ficará mais "folgado").

    Para instalar o bus master, basta seguir as instruç&otildees da mensagem. Não há qualquer perda e você poderá desinstalar quando quiser -- é apenas um driver, afinal.


    Para saber mais:

  • Dicas sobre a instalação dos drivers de Bus Mastering
  • Teste de desempenho do Bus Mastering


    © 1998-99, Gabriel Torres - Todos os direitos reservados
    É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 5.988 de 14 de dezembro de 1973 (Lei de Direitos Autorais).

    Não nos responsabilizamos por danos materiais de qualquer espécie promovidos pelo uso das informações contidas no Site de Hardware do Prof. Gabriel Torres.