Buscar

Principios do Hardware - Entrada e Saída

Prévia do material em texto

Sistemas Operacionais 
Princípios do hardware de E/S 
Prof. Sílvio Fernandes 
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO 
DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS 
CURSO DE CIÊNCIA DA COMPUTAÇÃO 
Introdução 
2 
 Dispositivos de 
entrada/saída (E/S) 
 Função do SO 
 Controlar todos os 
dispositivos E/S 
 Interceptar 
interrupções 
 Tratar erros 
 Interface intuitiva 
 E/S fração 
significativa do SO 
Introdução 
 O SO deve emitir comandos para os 
dispositivos, interceptar interrupções e tratar 
erros 
 Deve fornecer uma interface entre os 
dispositivos e o restante do sistema, que seja 
simples e fácil de usar 
 Na medida do possível, ela deveria ser a mesma para 
todos os dispositivos 
3 
Dispositivos de E/S 
 Dispositivos de blocos 
 Armazena informações em blocos endereçáveis de 
tamanho fixo 
 Os discos são os dispositivos mais comuns 
 Dispositivos de caracteres 
 Envia e recebe um fluxo de caracteres 
 Não é endereçável e não dispõe de qualquer 
operação de posicionamento 
 Ex: Impressoras, interfaces de rede, mouses 
4 
Dispositivos de E/S 
 Esse modelo de classificação não é perfeito 
 Relógios 
 Não são endereçáveis nem enviam ou recebem 
fluxos 
 Geram interrupções em intervalos bem definidos 
 Vídeo mapeado na memória também não se 
enquadra em nenhuma das 2 classificações 
 Os dispositivos de E/S podem apresentar uma 
ampla variação de velocidades 
5 
Dispositivos de E/S 
 
6 
Controladores de dispositivos 
 As unidades de E/S consistem, usualmente, em 
um componente mecânico (dispositivo 
propriamente dito) e um eletrônico 
(controlador ou adaptador) 
7 
Dispositivos de E/S 
 Muitos controladores são capazes de tratar 
vários dispositivos 
 Tarefas do controlador 
 converter fluxo serial de bits em bloco de bytes 
 executar toda correção de erro necessária 
 tornar o bloco disponível para ser copiado para a 
memória principal 
8 
E/S mapeada na memória 
 Cada controlador possui 1 ou mais 
registradores para comunicação com a CPU 
 SO pode ligar ou desligar o dispositivo, entregar ou 
receber dados, descobrir o estado do dispositivo 
 Além dos registradores, muitos dispositivos têm 
um buffer de dados que pode ser lido ou 
escrito 
 Há duas formas de fazer essa comunicação 
9 
E/S mapeada na memória 
 A 1ª é associar cada registrador de controle a 
um número de porta de E/S 
 Usando instruções especiais de E/S 
 IN REG, PORT 
 OUT PORT, REG 
 O espaço de endereçamento para a memória 
e E/S são diferentes 
 As instruções a seguir são completamente diferentes 
 IN R0, 4 
 MOV R0, 4 
10 
E/S mapeada na memória 
 O 2º métodos mapeia todos os registradores de 
controle no espaço de endereçamento da 
memória: E/S mapeada na memória 
 Possui endereços únicos na memória 
 Um esquema híbrido com buffer de dados de 
E/S mapeados na memória e portas de E/S 
separadas também pode ser usado 
11 
E/S mapeada na memória 
 
 
 
 
 
 
a) Espaços de memória e E/S separados 
b) E/S mapeada na memória 
c) Híbrido 
12 
E/S mapeada na memória 
13 
 Vantagens 
 Acesso E/S em linguagem de alto nível 
 Não é necessário mecanismo de proteção especial 
 Cada instrução capaz de referenciar a memória 
pode referenciar os registradores de controle 
 Desvantagens 
 Hardware deve desabilitar cache dessas regiões 
 Todos os dispositivos E/S e módulos de memória 
devem examinar as referências a memória 
E/S mapeada na memória 
14 
 
 
 
 
 
 
 
 
 
 
(a) Arquitetura com barramento único 
(b) Arquitetura com barramento dual 
 
E/S mapeada na memória 
15 
 A tendência é ter um barramento de memória 
de alta velocidade dedicado 
 Esse barramento é usado para otimizar o 
desempenho da memória, sem qualquer 
compromisso quanto aos interesses dos 
dispositivos de E/S lentos 
• Ex: PCI, ISA etc. 
E/S mapeada na memória 
 
16 
Fonte: TANENBAUM, Andrew S. “Sistemas Operacionais Modernos”. 2 ed. São Paulo: Prentice Hall, 2005. 
E/S mapeada na memória 
17 
 Quando se tem um barramento separado 
surge a preocupação de que os dispositivos de 
E/S não têm como enxergar os endereços de 
memória quando estes são lançados no 
barramento de memória 
 Uma ponte PCI pode filtrar os endereços (pré-
carregados) que estejam em uma faixa de 
endereços reservados não utilizáveis como 
memória 
Acesso direto a memória (DMA) 
18 
 Quando a CPU requisita diretamente dados de 
um controlador de E/S, um byte de cada vez, 
ela desperdiça muito tempo, de modo que um 
esquema chamado acesso direto à memória é 
muitas vezes utilizado 
 Depende de um chip (controlador de DMA) 
que tem acesso ao barramento do sistema, 
independente da CPU 
 Ele contém registradores que são preenchidos 
pela CPU e especificam a porta de E/S a ser 
usada, a direção, a unidade de transferência e 
o número de bytes a ser transferido 
Acesso direto a memória (DMA) 
19 
 Operação de transferência usando DMA 
Acesso direto a memória (DMA) 
20 
 Os controladores DMA variam 
consideravelmente em termo de sofisticação 
 Os mais simples tratam uma transferência por vez 
 Os mais complexos podem ser programados para 
tratar múltiplas transferências simultaneamente 
 Ele pode ser configurado para usar um algoritmo de 
alternância circular (round robin) ou ter um esquema 
de prioridade 
Acesso direto a memória (DMA) 
21 
 No modelo discutido até aqui é chamado de 
modo direto, pois o controlador de DMA diz 
para o controlador do dispositivo transferir 
dados diretamente para a memória principal 
 No modo indireto o controlador DMA 
estabelece que o controlador do dispositivo 
deve enviar uma palavra para qualquer que 
seja seu destino 
 Permite cópias de dispositivo para dispositivo 
Acesso direto a memória (DMA) 
22 
 A maioria dos controladores de DMA usa 
endereçamento físico para sua transferências, 
um esquema alternativo deve usar a MMU 
para tradução do endereço virtual para físico 
Interrupções revisitadas 
23 
 Quando um dispositivo de E/S finaliza seu 
trabalho, ele gera uma interrupção (sinal no 
barramento) 
 O sinal é detectado pelo chip controlador de 
interrupções 
 Caso nenhuma outra interrupção esteja 
pendente ela é imediatamente tratada 
 Se já há outra interrupção em tratamento o 
dispositivo é momentaneamente ignorado, e 
continua a gerar o sinal de interrupção até ser 
atendido 
Interrupções revisitadas 
24 
 O controlador apenas coloca um valor no 
barramento especificando qual dispositivo 
requer atenção e repassa a interrupção a CPU 
 A CPU para o que estava fazendo e usa esse 
valor como índice para um vetor de 
interrupções 
 Cada elemento do vetor é na verdade um 
endereço na memória que aponta para o 
início de uma rotina de tratamento de 
interrupção correspondente 
Interrupções revisitadas 
25 
 Imediatamente após o início da execução de 
uma rotina de tratamento ela escreve um certo 
valor em um registrador do controlador de 
interrupções que confirma que a interrupção 
está sendo tratada e deixa o controlador livre 
para passar outra interrupção para a CPU 
Interrupções revisitadas 
26 
 
Interrupções revisitadas 
27 
 Uma interrupção que deixa a máquina em um 
estado bem definido é chamada de 
interrupção precisa, e possui as propriedades: 
1. O PC é salvo em um lugar conhecido 
2. Todas as instruções anteriores àquela apontado 
pelo PC foram totalmente executadas 
3. Nenhuma instrução posterior à apontada pelo PCfoi executada 
4. O estado de execução da instrução apontada 
pelo PC é conhecido 
Interrupções revisitadas 
28 
 Não existe proibição para instruções posteriores 
ao PC tenham sido iniciadas 
 Cabe observar que quais alterações que elas 
façam aos registradores ou memória devem ser 
desfeitas antes que a interrupção ocorra 
 Uma interrupção que não atende a esses 
requisitos é chamada de interrupção imprecisa 
 Esse tipo de máquina geralmente coloca uma 
grande quantidade de informações de estado 
interno da pilha para o que SO possa calcular 
o que estava acontecendo 
Referências 
 TANENBAUM, Andrew S. Sistemas Operacionais 
Modernos. 2. ed., Prentice Hall, 2007. 
 TANENBAUM, Andrew S.; WOODHULL, Albert S. 
Sistemas Operacionais: Projeto e 
Implementação. 3ª Ed., Prentice Hall, 2008. 
29

Continue navegando