Anda di halaman 1dari 12

Universidade Potiguar

Engenharia da Computação

Arquitetura de Computadores

Entrada e Saída usando


Acesso Direto à Memória - DMA

Prof. Glaucus Brelaz


Acesso Direto à Memória

aE/S Programada e E/S por Interrupção requerem


a participação ativa da CPU
`A taxa de transferência fica limitada
`A CPU fica ocupada
aSolução - DMA!
Função DMA

aModulo Adicional (hardware) no barramento


aO controlador de DMA toma o controle do
barramento para execução da E/S
Operação DMA

aA CPU informa ao controlador de DMA:


`Se é Leitura ou Escrita
`Endereço do Dispositivo
`Endereço inicial do bloco de memória de dados
`Quantidade de dados a ser treansferida
aA CPU vai executar outro trabalho
aO controlador DMA executa a transferência
ae sinaliza com uma interrupção ao concluir
Transferência DMA por
Roubo de Ciclo (Cycle Stealing)

a O DMA toma o controle do barramento por um ciclo


a Transfere uma palavra de dados
a Não é uma interrupção
`A CPU não executa sub-rotina
`Nem precisa salvar registradores e endereços
a A CPU é suspensa antes do acesso ao barramento
`i.e. antes de acessar um comando ou dado
a Atrasa a CPU muito menos que a CPU fazendo toda a
transferência.
Efeitos Colaterais

aQue efeito tem a memória Cache no DMA?


aQual a disponibilidade dos barramentos do
sistema?
Configurações de DMA (1)

DMA I/O I/O Main


CPU
Controller Device Device Memory

aBarramento único com controlador DMA


aCada transferência usa o barramento 2 vezes
`E/S para DMA e DMA para memória
aA CPU é suspensa duas vezes
Configurações de DMA (2)

DMA DMA Main


CPU
Controller Controller Memory
I/O
I/O I/O Device
Device Device
a Barramento único, DMA integrado à E/S
a Cada Controlador pode suportar mais de 1 dispositivo
a Cada Transferência usa o barramento uma só vez
`DMA para memória
a A CPU é suspensa só uma vez
a Cada E/S tem um DMA
Configurações de DMA (3)

CPU DMA Main


Controller Memory

I/O I/O I/O I/O


Device Device Device Device
a Barramento de E/S separado
a Suporta todos os dispositivos que usam DMA
a Cada Transferência usa o barramento uma só vez
a A CPU é suspensa só uma vez
a Apenas um Controlador de DMA para todas E/S
Evolução da Função E/S

1. CPU espera pelo periférico até poder ler dado


2. CPU programa o dado que quer ler do Periférico
3. Periférico sinaliza com Int quando dado pronto
4. Periférico usa DMA p/ liberar CPU de trf. Dados
5. Canal de E/S - Módulo de E/S usa um
processador que executa um programa de E/S
6. Processador de E/S - Módulo de E/S tem
memória local própria, formando um computador
Evolução da Função E/S

aDispositivos de E/S ficando mais sofisticados


aex.: 3D graphics cards
aCPU ensina ao controlador de E/S fazer
transferência
aControlador faz toda a transferência
aMelhora velocidade
`Libera a CPU
`Processador dedicado é mais rápido
Bibliografia

aSTALLINGS, William. Arquitetura e


Organização de Computadores 5ª Ed.
São paulo: Prentice Hall, 2002.

aTANENBAUM, A. S. Organização
Estruturada de Computadores. 4. ed. Rio
de Janeiro: Campus, 1997.