Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos...
-
Upload
duongquynh -
Category
Documents
-
view
218 -
download
0
Transcript of Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos...
![Page 1: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/1.jpg)
Entrada e SaídaWalter Fetter [email protected]
Universidade Federal do Rio Grande do Sul
Escola de Engenharia
Departamento de Engenharia Elétrica
Programa de Pós-Graduação em Engenharia Elétrica
ELE0002 Sistemas de Automação
Copyright (c) Walter Fetter Lages – p.1
![Page 2: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/2.jpg)
Introdução
• Sistemas de tempo real usualmente tem comoobjetivo o controle de dispositivos de I/O
• Acessos a dispositivos de I/O usualmentepossuem exigências de temporização
• Diferentes perspectivas do hardware• Interface física• Interface de programação
• Device drivers• Dispositivos de caractere• Dispositivos de bloco
Copyright (c) Walter Fetter Lages – p.2
![Page 3: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/3.jpg)
Mecanismos de I/O
• Programmed I/O (PIO)• Polling• Arquitetura com barramentos de I/O e
Memória• Independentes• Multiplexados
• Arquitetura com barramento único• I/O mapeado em memória
• Instruções privilegiadas• Interrupções• Acesso direto à memória (DMA)• Chanal de I/O
Copyright (c) Walter Fetter Lages – p.3
![Page 4: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/4.jpg)
Polling
Copyright (c) Walter Fetter Lages – p.4
![Page 5: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/5.jpg)
PIO
• Menor latência possível• Alta carga para a CPU• Pouco overhead• Em sistemas multitarefa pode-se ter uma tarefa
exclusivamente para fazer o polling• Do ponto de vista das outras tarefas é
semelhante a uma interrupção• Hardware mais simples• Boa previsibilidade temporal
Copyright (c) Walter Fetter Lages – p.5
![Page 6: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/6.jpg)
Interrupções
Copyright (c) Walter Fetter Lages – p.6
![Page 7: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/7.jpg)
Interrupções
• Mascaráveis• Podem ser desabilitadas
• Não mascaráveis• Não podem ser desabilitadas
• Ativas por borda• Solicitação ativa quando ocorre transição
(subida ou descida) do sinal• Ativas por nível
• Solicitação ativa quando o sinal está em umdeterminado nível (alto ou baixo)
Copyright (c) Walter Fetter Lages – p.7
![Page 8: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/8.jpg)
Interrupções
• Latência• Tempo entre a solicitação de interrupção e o
início da rotina de tratamento• Aninhamento
• Se o sistema permite aninhamento deinterrupções, rotinas de tratamenteo deinterrupções podem ser interrompidas
• Prioridade• Interrupções de maior prioridade interrompem
as rotinas de tratamento das interrupções demenor prioridade
Copyright (c) Walter Fetter Lages – p.8
![Page 9: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/9.jpg)
Tipos de Interrupções
• Interrupções (dehardware)• Exceções
• Geradas internamente pelo processador• Interrupções de software
• Concebidas para testar as rotinas detratamento de interrupção
• Interface com o sistema operacional
Copyright (c) Walter Fetter Lages – p.9
![Page 10: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/10.jpg)
Exceções
• Faltas• Gerada antes da execução da instrução• No retorno da rotina de tratamento, a
instrução que causo a falta é re-executada• Traps
• Gerada após a execução da instrução• Abortos
• Não permitem o reinício da execução• Erros dehardware• Inconsistência nas tabelas de sistema
Copyright (c) Walter Fetter Lages – p.10
![Page 11: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/11.jpg)
Interrupções
• Latência dependente da arquitetura da CPU e dosoftware de tratamento de interrupção
• Baixa carga para a CPU• Overhead considerável se o tratamento de I/O for
simples
Copyright (c) Walter Fetter Lages – p.11
![Page 12: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/12.jpg)
Tratamento de Interrupções
• Chaveamento de contexto• Preserva o estado da tarefa que estava
executandoBásico Apenas o contador de programa é
salvo/restauradoParcial Contador de programa e alguns
registradores são salvosCompleto
• Vetor de interrupção• Eventualmente utilizado para priorização
Copyright (c) Walter Fetter Lages – p.12
![Page 13: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/13.jpg)
Tratamento de Interrupções
• Compartilhamento• Encadeamento de rotinas de tratamento• Identificação do dispositivo
• Escalonamento• Interrupções rápidas• Reescalonamento
• Botton-halves• Interrupção faz um pré-tratamento imediato e
marca um bottom-half para fazer ohouse-keeping
Copyright (c) Walter Fetter Lages – p.13
![Page 14: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/14.jpg)
Acesso Direto à Memória
• O controlador de DMA assume o controle dobarramento e faz a transferência
• Interrupções são frequentemente utilizadasjuntamente com DMA, para sinalizar o fim datransferência de um bloco de dados
Copyright (c) Walter Fetter Lages – p.14
![Page 15: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/15.jpg)
Modos de Transferência
• Transferência única• Uma transferência a cada requisição
• Transferência em bloco• Um bloco transferido por requisição
• Transferência por demanda• Transferências enquanto a requisição estiver
ativa• Transferência memória-memória
Copyright (c) Walter Fetter Lages – p.15
![Page 16: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/16.jpg)
Característica da Transferência
• Inicialização• Inicialização única• Reinicialização automática
• Prioridade• Fixa• Rotativa
Copyright (c) Walter Fetter Lages – p.16
![Page 17: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/17.jpg)
DMA
• Baixa carga para a CPU• Baixo overhead• Não se presta para I/O interativo• Frequentemente utilizado com interrupções para
sinalizar o fim da transferência de um bloco dedados
• Uso de DMA pode comprometer aprevisibilidade do sistema de tempo real
Copyright (c) Walter Fetter Lages – p.17
![Page 18: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/18.jpg)
Canais de I/O
• Processador de I/O que faz a interface com osdispositivos
• Processador de I/O executa um programacarregado pela CPU principal
• Baixa carga para a CPU• Baixo overhead• Baixa latência• Se a memória de código for compartilhada com a
CPU causa imprevisibilidade
Copyright (c) Walter Fetter Lages – p.18
![Page 19: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/19.jpg)
Drivers de Dispositivos
• Fornecem uma interface uniforme para os níveissuperiores do software• Definem um conjunto de operações que
devem/podem ser suportadas• Mapeamento das operações suportadas pelo
driver nas operações suportadas pelodispositivo
• Virtualização de dispositivos de I/O• Através do driver• Hardware Abstraction Layer
Copyright (c) Walter Fetter Lages – p.19
![Page 20: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/20.jpg)
Relógio
• Manter hora• Temporizar o chaveamento de tarefas• Registrar o uso da CPU• Profiling• Time-stamping de mensagens
Copyright (c) Walter Fetter Lages – p.20
![Page 21: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/21.jpg)
Temporizadores
• Usualmente em sistemas de tempo real tarefasprecisam ser executadas em instantes específicos
• Hardware• Simulados em software
• Lista ligada ordenada por instante deexpiração
• Watchdog
Copyright (c) Walter Fetter Lages – p.21
![Page 22: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/22.jpg)
Níveis de Privilégio no ix86
Copyright (c) Walter Fetter Lages – p.22
![Page 23: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/23.jpg)
Proteção de I/O no ix86
• Existe um nível de privilégio de I/O• Apenas processos com nível de privilégio
menor ou igual podem executar instruções deI/O
• Associado a cada processo pode existir umbitmap de permissões de I/O• Apenas as portas habilitadas podem ser
acessadas• Hardware Virtual
• Virtualização de dispositivos
Copyright (c) Walter Fetter Lages – p.23
![Page 24: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/24.jpg)
Verificação de Privilégios
Copyright (c) Walter Fetter Lages – p.24
![Page 25: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/25.jpg)
I/O Permission Bit Map
Copyright (c) Walter Fetter Lages – p.25
![Page 26: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/26.jpg)
Entradas e Saídas em Automação
• Digitais• Analógicas• Em tensão• Em corrente
Copyright (c) Walter Fetter Lages – p.26
![Page 27: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/27.jpg)
Entradas e Saídas Digitais
• Em tensão• TTL
• 0-5V• Coletor Aberto
• Tensão variável (usualmente 0-30V)• Útil para implementarwired-or
• Isolamento óptico• Em corrente
• Usualmente 0-20mA• A Relé
• Normalmente aberto• Normalmente fechado
Copyright (c) Walter Fetter Lages – p.27
![Page 28: Entrada e Saída - GCAR - Grupo de Controle …fetter/ele00002/io.pdf• Arquitetura com barramentos de I/O e Memória • Independentes • Multiplexados • Arquitetura com barramento](https://reader031.fdocument.pub/reader031/viewer/2022022714/5c0c683d09d3f247038c0c38/html5/thumbnails/28.jpg)
Entradas e Saídas Analógicas
• Em tensão• Unipolar• Bipolar• Usualmente 5, 12, 24 ou 30V• Geralmente a tensão máxima é superior à
faixa de operação• Entrada para termopar
• Em corrente• Usualmente 0-20mA
• Single-end• Diferencial• Em largura de pulso (PWM)
Copyright (c) Walter Fetter Lages – p.28