You are on page 1of 34

Universidade Federal de Pelotas

Instituto de Fsica e Matemtica Departamento de Informtica


Bacharelado em Cincia da Computao

Arquitetura e Organizao de Computadores II


Aula 22
7. Mtodos de comunicao: entrada e sada programada, entrada e sada controlada por interrupo, acesso direto memria (DMA), polling. Prof. Jos Lus Gntzel
guntzel@ufpel.edu.br www.ufpel.edu.br/~guntzel/AOC2/AOC2.html

6. Mtodos de Comunicao Relembrando von Neumann


CPU
end dado

Memria
end dado
linhas de controle

barramento de sistema

linhas de dados linhas de endereos

Dispositivo de E/S

Dispositivo de E/S

Dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.2

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Mdulo de E/S


Interface com Barramento do sistema Interface com Dispositivos externos

Linhas de dados

Registrador de dados Registrador de estado/controle

Lgica de interface com dispositivo externo Lgica de interface com dispositivo externo

dados estado controle

Linhas de endereo Linhas de controle

Lgica de E/S

dados estado controle

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.3

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Mdulo de E/S


Processador de E/S ou canal de E/S:
um mdulo de E/S mais complexo, realiza a maior parte dos trabalhos proporciona uma interface de alto nvel com o processador

Controlador de E/S ou controlador do dispositivo:


um mdulo de E/S mais simples requer controle mais detalhado

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.4

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao O Papel do Sistema Operacional


O Sistema operacional o principal responsvel pelo tratamento da E/S Garante que o programa do usurio somente acesse os dispositivos de E/S para os quais o programa de usurio tenha permisso Fornece rotinas de manipulao das operaes de baixo nvel dos dispositivos de E/S Trata as interrupes geradas pelos dispositivos (da mesma maneira que trata as excees geradas por um programa)
ComputaoUFPel Arquitetura e Organizao de Computadores II Prof. Jos Lus Gntzel

slide 22.5

6. Mtodos de Comunicao O Papel do Sistema Operacional


Tipos de comunicao do SO com os dispositivos de E/S: Envio de comandos para os dispositivos de E/S polling

O dispositivo deve poder avisar ao SO o trmino de uma operao (ou erro) interrupo Dados devem ser transferidos entre a memria e os dispositivos de E/S de maneira rpida acesso direto memria (DMA)

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.6

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Mtodos de Endereamento


Para dar um comando a um dispositivo de entrada/sada, o processador precisa ser capaz de enderear o dispositivo. Existem dois mtodos para enderear dispositivos: Entrada/sada mapeada na memria Entrada/sada independente (com comandos especiais de entrada/sada)

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.7

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Mtodos de Endereamento


Entrada/Sada Mapeada na Memria Parte do espao de endereamento reservado aos dispositivos de entrada/sada Leituras e escritas envolvendo estes endereos so interpretadas como comandos Uma operao de escrita na memria usada para enviar dados para um dispositivo de E/S Barramento no precisa ter linhas especiais para comandos (somente para leitura e escrita)

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.8

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Mtodos de Endereamento


Entrada/Sada Independente Barramento possui linhas de comandos de entrada e sada Uma linha de comando especifica se um endereo corresponde a uma posi o de memria ou a um dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.9

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Comandos de Entrada/Sada


Tipos de comandos que podem ser enviados do processador para um dispositivo de E/S: Controle: ativar um perifrico e indicar uma ao a ser executada Teste: testar vrias condies de estado Leitura: fazer com que o dispositivo de E/S obtenha um item de dado do perifrico, armazenando-o no registrador de dado Gravao: faz com que o dispositivo de E/S obtenha um item de dado (byte ou palavra) do barramento de dados, transmitindo-o para o perifrico
ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.10

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia com Polling


Dispositivo de E/S: Executa a operao requisitada sinaliza o trmino da operao carregando um valor apropriado no registrador de estado de E/S
Envia comando de leitura para dispositivo E/S CPU E/S

L estado do dispositivo E/S no pronto Verifica o estado pronto L uma palavra do dispositivo E/S Escreve uma palavra na memria

E/S

CPU

Condio de erro

E/S

CPU

O Processador: No alertado sobre o trmino da operao Precisa ficar verificando periodicamente o estado do dispositivo de E/S
slide 22.11

CPU

Memria

no Terminou? sim

ComputaoUFPel Arquitetura e Organizao de Computadores II

Prof. Jos Lus Gntzel Prxima instruo

6. Mtodos de Comunicao Transferncia com Polling


Processador + rpido que dispositivos de E/S Processador gasta uma grande quantidade do tempo
Envia comando de leitura para dispositivo E/S CPU E/S

L estado do dispositivo E/S no pronto Verifica o estado pronto L uma palavra do dispositivo E/S Escreve uma palavra na memria

E/S

CPU

Condio de erro

E/S

CPU

CPU

Memria

no Terminou? sim ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.12

Prof. Jos Lus Gntzel Prxima instruo

6. Mtodos de Comunicao Transferncia com Polling


Porm, se um dispositivo pode iniciar operaes de entrada e sada de maneira independente Polling precisa ser usado! Exemplo: mouse

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.13

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia por Interrupo


Do lado do processador: 1.Envia um comando READ 2.Prossegue a execuo de outras instrues 3.No final de cada ciclo, verifica se existe alguma instruo pendente 4.Ao detectar uma interrupo, salva o contexto e processa a interrupo (lendo a palavra e armazenando-a na memria)
ComputaoUFPel Arquitetura e Organizao de Computadores II Envia comando de leitura para dispositivo E/S CPU E/S Executa outras instrues interrupo E/S CPU

L estado do dispositivo E/S

Verifica o estado pronto L uma palavra do dispositivo E/S Escreve uma palavra na memria E/S

Condio de erro

CPU

CPU

Memria

no Terminou? sim

slide 22.14

Prof. Jos Lus Gntzel Prxima instruo

6. Mtodos de Comunicao Transferncia por Interrupo


Do lado do dispositivo de E/S: 1.Recebe comando READ 2.L o dado requerido do perifrico 3.Quando o dado estiver em seu registrador de dados, interrompe o processador
Verifica o estado pronto L uma palavra do dispositivo E/S Escreve uma palavra na memria E/S CPU Condio de erro Envia comando de leitura para dispositivo E/S CPU E/S Executa outras instrues interrupo E/S CPU

L estado do dispositivo E/S

CPU

Memria

no Terminou? sim ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.15

Prof. Jos Lus Gntzel Prxima instruo

6. Mtodos de Comunicao Transferncia por Interrupo


Mas onde est o ganho em relao ao Polling ?
Envia comando de leitura para dispositivo E/S CPU E/S Executa outras instrues interrupo E/S CPU

L estado do dispositivo E/S

Verifica o estado pronto L uma palavra do dispositivo E/S E/S

Condio de erro

CPU

Est na relao de velocidades CPU/perifricos!


no

Escreve uma palavra na memria

CPU

Memria

Terminou? sim ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.16

Prof. Jos Lus Gntzel Prxima instruo

6. Mtodos de Comunicao Processamento de uma Interrupo


HW
Um controlador de dispositivo ou outro hardware do sistema envia uma interrupo Processador termina a execuo da instruo corrente O processador envia o reconhecimento da interrupo O processador armazena o contedo dos registradores PSW e PC na pilha de controle O processador carrega um novo valor no registrador PC, conforme a interrupo
ComputaoUFPel Arquitetura e Organizao de Computadores II

SW
As demais informaes do processo so armazenadas

Processo da interrupo

A informao de estado do processo restaurada

Os antigos valores dos registradores PSW e PC so restaurados slide 22.17


Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia por Interrupo


E se houver mais de uma interrupo a ser atendida? Usar interrupes com prioridades E para interrupes de mesma prioridade? Fazer polling entre elas OBS: nas transferncias por polling e por interrupo o processador controla totalmente a transferncia Os dados passam por dentro do processador (usando seus registradores!)
ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.18

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Acesso Direto Memria (DMA)


Desvantagens das transferncias por polling e por interrupo: 1. 2. Taxa de transferncia limitada pela velocidade que o processador pode testar e servir o dispositivo O processador se ocupa de gerenciar a transferncia de dados de E/S, tendo que executar vrias instrues a cada transferncia

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.19

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Acesso Direto Memria (DMA)


1. 2. A tcnica de DMA libera o processador de acompanhar todos os passos de uma transferncia Exige um recurso de hardware especial, o controlador de DMA (DMAC)

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.20

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Estrutura de um Controlador de DMA


barramento de ends

barramento de dados

buffers bar. de dados


barramento interno

buffers bar. de ends

Registrador de ends

seleo de DMA seleo de registrador leitura escrita requisio do barramento concesso do barramento interrupo

DS RS

Lgica de WR Controle
BR BG

RD

Contador de palavras

Registrador de controle

requisio de DMA confirmao de DMA p/ dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.21

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Acesso Direto Memria (DMA)


Um controlador de DMA pode ter mais de um canal: Neste caso, cada canal possui
um par de sinais de requisio e confirmao Um conjunto de registradores

em caso de conflitos, seguida uma ordem de prioridades

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.22

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Acesso Direto Memria (DMA)


Passo 1: processador ativa o DMAC (controlador de DMA)
Informando a identidade do dispositivo A operao a ser realizada pelo dispositivo O endereo de memria que a fonte ou o destino do dado e O nmero de bytes a serem transferidos

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.23

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Acesso Direto Memria (DMA)


Passo 2: O DMAC inicia a operao sobre o dispositivo:
Arbitrando o barramento Quando os dados estiverem disponveis ele os transfere Fornece os endereos de memria a serem lidos ou escritos Gera o prximo endereo de memria e inicia a nova transferncia

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.24

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Acesso Direto Memria (DMA)


Passo 3: Uma vez completada a transferncia sob o
controle do DMAC: O DMAC interrompe o processador, O processador deve verificar se toda a operao de transferncia foi realizada com sucesso. O processador retoma o controle do barramento

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.25

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Acesso Direto Memria (DMA)


O controlador de DMA no sistema
interrupo BG BR RD

CPU
WR end dado
controle de leitura controle de escrita

Memria
RD WR end dado

barramento de ends barramento de dados

Decod. de endereos DS RS BR BG interrupo RD WR end dado requisio DMA

Controlador DMA

confirmao DMA

Dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.26

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia DMA


interrupo BG BR RD

CPU
WR end dado
controle de leitura controle de escrita

Memria
RD WR end dado

O dispositivo envia uma requisio de DMA

barramento de ends barramento de dados

Decod. de endereos DS RS BR BG interrupo RD WR end dado requisio DMA

Controlador DMA

confirmao DMA

Dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.27

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia DMA


interrupo BG BR RD

CPU
WR end dado
controle de leitura controle de escrita

Memria
RD WR end dado

BR=1

barramento de ends barramento de dados

Decod. de endereos DS RS BR BG interrupo RD WR end dado requisio DMA

Controlador DMA

confirmao DMA

Dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.28

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia DMA


interrupo BG BR RD

CPU
WR end dado
controle de leitura controle de escrita

Memria
RD WR end dado

A CPU inicializa o controlador por meio do bar. de dados

barramento de ends barramento de dados

Decod. de endereos DS RS BR BG interrupo RD WR end dado requisio DMA

Controlador DMA

confirmao DMA

Dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.29

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia DMA


interrupo BG BR RD

CPU
WR end dado
controle de leitura

Memria
RD WR end dado

BG=1

controle de escrita barramento de ends barramento de dados

Decod. de endereos DS RS BR BG interrupo RD WR end dado requisio DMA

Controlador DMA

confirmao DMA

Dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.30

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia DMA


interrupo BG BR RD

CPU
WR end dado
controle de leitura

Memria
RD WR end dado

BG=1 R=1 ou W=1


DS RS BR BG interrupo RD WR end dado

controle de escrita barramento de ends barramento de dados

O controlador coloca no bar. de ends. o valor do Registrador de ends e faz R=1 ou W=1

Decod. de endereos

requisio DMA

Controlador DMA

confirmao DMA

Dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.31

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Transferncia DMA


interrupo BG BR RD

CPU
WR end dado
controle de leitura

Memria
RD WR end dado

BG=1 R=1 ou W=1


DS RS BR BG interrupo RD WR end dado

controle de escrita barramento de ends barramento de dados

Quando o dispositivo de E/S recebe a confirmao, Inicia-se a transferncia

Decod. de endereos

requisio DMA

Controlador DMA

confirmao DMA

Dispositivo de E/S

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.32

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Concluses da Aula


desempenho Polling Interrupo DMA pior Interm. melhor Necessita de HW extra custo Mais baixo OBS necessrio

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.33

Prof. Jos Lus Gntzel

6. Mtodos de Comunicao Para Ir Alm


Ler a seo 8.5 do Patterson & Hennessy (HW/SW Interface) Ler captulo 6 de Stallings (Arq. E Org. de Computadores, 5a edio) Ler a seo 11.6 do livro Computer Engineering: hardware design, de M. Morris Mano (h um exemplar na biblioteca setorial de C&T/UFPel)

ComputaoUFPel Arquitetura e Organizao de Computadores II

slide 22.34

Prof. Jos Lus Gntzel

You might also like