SóProvas


ID
487018
Banca
CESPE / CEBRASPE
Órgão
MPE-RR
Ano
2008
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Controladoras de acesso direto à memória (DMA) podem transferir dados entre dispositivos e memória. Para iniciar uma transferência, a controladora de um dispositivo tipicamente envia uma solicitação para a controladora de DMA, que assumirá o controle do barramento de acesso à memória e transferirá os dados.

Alternativas
Comentários
  • Na minha opinião, quem envia a solicitação (LEITURA DE E/S, ESCRITA DE E/S, MEMÓRIA-MEMÓRIA) é a CPU e não o dispositivo de E/S.
  • Certo.
    Quando um dispositivo precisa transferir dados sem sobre-carregar o processador, ele aciona o canal DMA, enviando para a controladora DMA uma requisição. A controladora assume o controle do barramento e transfere os dados. Assim o processador não precisa se ocupar com transferências de dados, e quando ele for chamado, os dados já estarão carregados na memória RAM para serem processados.
  • O DMA permite que certos dispositivos de hardware num computador acedam a memória do sistema para leitura e escrita independentemente da CPU. Muitos sistemas utilizam DMA, incluindo controladores de disco, placas gráficas, de rede ou de som
  • O colega que fez o primeiro comentário tem razão ao afirmar que na DMA quem faz a requisição de transferência é a CPU e quem faz a transferência propriamente dita e a DMA. DMA pode operar de dois modos: software e asíncrona (interrupção).

    No primeiro modo: Um driver ao receber uma solicatação de leitura, coloca o processo que fez esta requisição em bloqueio e faz uma requisição para a DMA receber os dados gravando-os em uma porção de memória previamente alocada.

    No segundo modo: Quando um periférico vai transferir dados, ele gera uma interrupção. O driver responsável pela interrupção instrui a DMA a transferrir os dados para o buffer previamente alocado.

    Nos dois casos a gerência da DMA é feita atravéz de um driver, que nada mais é que um pedaço de software executado na CPU.
    Logo o gabarito deveria ser alterado

    Referência: Linux Device Drivers, 2nd Edition
  • De acordo com o livro do Mário A. Monteiro - Introdução à Organização de Computadores - quem solicita a intervenção do Controlador de DMA é o "processador", CPU, conforme informou o colega Bernardo, não o dispositivo de E/S.
    "A técnica DMA consiste na realização  da transferência de dados entre uma determinada interface e a memória principal, praticamente sem intervenção do processador. Este se limita a solicitar a transferência para um dispositivo denominado DMA Controller, o qual realiza por si só a transferência".
    Também resolvi conferir na "Wikipédia", já que as bancas tiram diversas questões de lá. Vejam o que diz:
    "Uma transferência por DMA essencialmente copia um bloco de memória de um dispositivo para outro. A CPU inicia a transferência, mas não executa a transferência." 
    Resumindo: não consegui descobrir de onde o CESPE tirou essa questão.
  • Questão passível de recurso.
    Se a controladora de dispositivo tivesse que se comunicar com o DMA, como tais dispositivos funcionariam máquinas sem DMA? Portanto, o uso do DMA é transparente para o dispositivo. A CPU é que programa o DMA para a realização de operações de E/S. Logo, a afirmação que a controladora do dispositivo envia uma solicitação para a controladora de DMA é equivocada.

    Bons estudos.
  • Funcionamento da EIS por acesso direto à memória (DMA)

    A técnica de acesso direto à memória envolve um módulo adicional no barramento do sistema. Esse módulo ou controlador de DMA (Figura 6.12) é capaz de imitar o processador e, de fato, controlar o sistema do processador. Isso é necessário para que o módulo de DMA possa transferir dados diretamente de e p\lra a memória por meio do barramento do sistema.

    Para esse propósito, um módulo de DMA pode tanto usar o barramento apenas quando este não está sendo usado pelo processador quanto forçar o processador a suspender sua operação temporariamente. Essa última técnica é mais comum, sendo conhecida como roubo de ciclo, porque o módulo de DMA de fato rouba um ciclo de barramento do processador.

    ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES - WILLIAM STALLlNGS

    Cap. 6 pág 216

    Questão correta, pois se refere à situação de barramento ocioso.