Capítulo 7 Entrada/Saída Conteúdo • Dispositivos externos

Transcrição

Capítulo 7 Entrada/Saída Conteúdo • Dispositivos externos
Conteúdo
• Dispositivos externos
• Módulos E/S
• Técnicas de E/S
Capítulo 7
Entrada/Saída
—E/S Programada
—E/S Conduzida por interrupções
– Processamento de interrupções
– Controlador Intel 82C59A
—Acesso Directo à Memória
• Canais de E/S e processadores
• Interface externo: FireWire e InfiniBand
António Pina 11/05
Módulos de E/S para quê?
2
Modelo Genérico de Módulo de E/S
• Grande variedade de periféricos
—Impraticável incorporar a lógica dentro do CPU
• Taxa de transferência é muitas vezes demasiado lenta
—Impraticável quando o dispositivo está directamente ligado
ao barramento
• Dispositivos E/S usam diferentes formatos de dados
António Pina 11/05
3
António Pina 11/05
4
Módulo E/S pode ser designado por...
7.1 Dispositivos Externos
• Canal de E/S ou processador de E/S
• Tipos de dispositivos externos
—Toma conta do processamento mais específico
—Representa um interface de alto nível com o CPU
—Humano-legível
–
–
–
–
–
• Controlador de E/S ou controlador de dispositivo
—Necessita controlo minucioso do CPU
usados para comunicar com o utilizador
terminais de vídeo e monitores
teclado
rato
impressora
—Máquino-legível
– usado para comunicar com equipamento electrónico
– discos magnéticos e sistema de banda magnética
—Comunicação
– usada para comunicar com dispositivos remotos
– modem
– Cartão de Interface de Rede/Network Interface Card (NIC)
António Pina 11/05
5
Dispositivos Externos: Diagrama de Blocos
António Pina 11/05
6
7.2 Módulos de E/S
• Funções dos Módulos
—Controlo & Temporização
—Comunicação com o CPU
—Comunicação com os Dispositivos
– Comandos, informação de status e dados
—Tamporização de Dados
– Dados da memória principal enviados para os módulos de E/S em
rajadas rápidas
– Dados são tamporizados nos módulos de E/S e enviados para os
dispositivos periféricos à sua própria taxa de transferência
—Detecção de erros
– Erros mecánicos
– Erros de transmissão
António Pina 11/05
7
António Pina 11/05
8
Controlo e Temporização
Communicação com o CPU
• Coordenação do fluxo de tráfico entre recursos
internos e dispositivos externos
• Exemplo
• Descodificação de Comandos
—módulo de E/S aceita comandos do CPU
—CPU inquire módulo E/S acerca do status do dispositivo
—módulo E/S retorna status do dispositivo
—quando o dispositivo está pronto o CPU reclama os dados
—módulo E/S obtém os dados do dispositivos
—módulo E/S transfere os dados para o CPU
António Pina 11/05
9
Taxas de Dados Típicas
António Pina 11/05
• Dados
• Relatório de status
—Ocupado e pronto
—Várias condições de erro
• Reconhecimento de Endereço
—Cada dispositivo de E/S tem um endereço próprio
António Pina 11/05
10
Diagrama de Blocos Módulo de E/S
11
António Pina 11/05
12
Técnicas de E/S
• E/S Programada
• E/S Conduzida por Interrupção
• Acesso Directo à Memória (DMA)
António Pina 11/05
13
António Pina 11/05
7.3 E/S Programada
Comandos de E/S
• Vista geral
• CPU envia endereço
—CPU executa instrução de E/S
14
—Identifica o módulo (se dispositivo >1 por módulo)
– Enviando um comando para o módulo de E/S
• CPU emite comando
—Módulo de E/S executa a acção requerida
– Ajusta os bits apropriados do registo de status
—CPU testa os bits de status periodicamente
—Controlo
– usado para activar um dispositivo
– e.g. rotação de disco
– Sem interrupções
– CPU espera que o módulo de E/S termine a operação
– Consome tempo de CPU
—Teste
– usado para testar as condições de status de um dispositivo
– e.g. ligado? erro?
—Leitura/Escrita
– módulo transfere dados através do tampão de/para o dispositivo
António Pina 11/05
15
António Pina 11/05
16
Endereçamento de Dispositivos E/S
• E/S no Espaço de Memória
—Dispositivos e memória no mesmo espaço de endereço
—E/S equivalente à leitura/escrita da memória
—Sem comandos especiais para E/S
–Disponível uma vasta selecção de comandos de acesso à memória
• E/S Isolada
—Espaços de endereçamento separadas
—Necessárias linhas de selecção de E/S ou de memória
—Comandos especiais para E/S
–Pequena variedade
António Pina 11/05
17
António Pina 11/05
18
7.4 E/S Conduzida por Interrupções
E/S Conduzida por Interrupção
• Problemas com a E/S programada
• Vista Geral
—Processador tem de esperar muito tempo até os módulos
de E/S ficarem prontos
• E/S conduzida por interrupção
—Módulo E/S deixa o processador saber quando está pronto
–Enquanto o CPU pode fazer outras coisas utéis
—Ponto de vista do módulo E/S (Entrada)
–
–
–
–
recebe um comando de leitura (READ)
prossegue para ler dados do dispositivo
emite uma interrupção e espera por um pedido do CPU
coloca os dados no barramento e fica pronto para outro comando E/S
—Ponto de vista do CPU (Entrada)
—Envia uma interrupção quando fica pronto
–
–
–
–
emite um comando de leitura (READ)
faz outra coisa qualquer
verifica se há interrupções no fim de cada ciclo de instrução
se houver interrrupção,
+ salva o contexto (registos) do programa corrente
+ trata a interrupção
o extrai os dados e guarda-os
+ restaura o contexto do programa interrompido
António Pina 11/05
19
António Pina 11/05
20
António Pina 11/05
21
António Pina 11/05
22
Tópicos de Projecto
Controlador de Interrupções Intel 82C59A
• Como lidar com interrupções múltiplas?
• 80x86 tem dois pinos para tratar interrupções
—Processamento sequential e aninhado
—um para INTR e o outro para INTA
• Como identificar o módulo responsável pela interrupção?
• O controlador 82C59A é usado para tratar uma
variedade dispositivos
— Múltiplas linhas de interrupção
– Uma linha diferente por cada módulo
– Limitaria o número de dispositivos
— Sondagem por Software
– CPU pergunta a cada módulo, um a um
– Lenta
— Sondagem em cada cadeia (daisy chain) por hardware, vectorizada)
– Sinal de Reconhecimento de Interrupção enviado pela cadeia
– Módulo responsável coloca um vector no barramento
– CPU usa o vector para identificar a rotina de atendimento
— dispositivos externos são conectados através do
controlador que se liga ao 80x86
— tem 8 linhas de interrupção
— pode ser ligado em cascata para tratar até 64 módulos
— programável
– ligação em cascata
– rotativo
– máscara especial
— Arbitragem de Barramento (vectorizada)
– Módulo tem de solicitar o barramento antes de sinalizar a interrupção
António Pina 11/05
23
António Pina 11/05
24
Controlador de Interrupções Intel 82C59A
Controlador
82C59A
• Gestão de interrupções
— aceita interrupções de todos os módulos
— determina a prioridade
— assinala o 80x86 (INTR)
— CPU reconhece a interrupção (INTA)
— lança o vector apropriado no barramento de dados
— CPU faz o processamento da interrupção
António Pina 11/05
25
Intel 82C55A
Periférico Programável de Interface
António Pina 11/05
26
Intel 82C55A
Periférico Programável de Interface
• Um exemplo de módulo de E/S
— Circuito Integrado, módulo de propósito-geral
— Interface Externa
– 24 linhas E/S
– dividido em três grupos de 8-bits
– grupo C sub-dividisível em grupos de 4-bit
+ usado em conjunto com as portas A e B
—Interface Interna
–
–
–
–
–
barramento de dados 8-bits
2 linhas de endereços
1 linha de selecção de integrado (CHIP SELECT)
1 linha de leitura e escrita (READ e WRITE)
1 linha de reinício (RESET)
António Pina 11/05
27
António Pina 11/05
28
Controlo Teclado/Visor
Integrado 82C55A
7.5 Acesso Directo à Memória
• E/S programada e por interrupção requerem
intervenção activa do CPU
—Taxa de transferência é limitada
— CPU fica envolvida na gestão e transferência da E/S
• Quando há grandes volumes de dados a movimentar
o acesso DMA é o mais apropriado
• Módulo de DMA
—Conectado ao barramento de sistema
—Transferência de dados de/para a memória principal
António Pina 11/05
29
António Pina 11/05
30
Diagrama de Blocos de DMA
Acesso Directo à Memória
• CPU emite um comando para o módulo DMA
—
—
—
—
Leitura ou escrita?
Endereço do dispositivo de E/S envolvido
Posição inicial na memória
Número de palavras a ler/escrever
• CPU continua com outro trabalho
— Uma interrupção é emitida quanda a tarefa termina
— CPU é envolvida apenas no início e no final da
transferência
António Pina 11/05
31
António Pina 11/05
32
DMA e pontos de Interrupção
Configuração DMA (1)
• Um único Barramento, Controlador DMA separado
• Cada transferência usa o barramento 2 vezes
— E/S para DMA depois DMA para memória
• CPU é suspensa 2 vezes
António Pina 11/05
33
António Pina 11/05
Configuração DMA (2)
Configuração DMA (3)
• Um único Barramento, Controlador DMA integrado
• Controlador pode suportar mais do que 1 dispositivo
• Cada transferência usa o barramento apenas 1 vez
• Barramento de E/S separado
34
— Expansível facilmente
• Cada transferência usao barramento apenas 1 vez
— DMA para memória
— DMA para a memória
• CPU suspenso apenas 1 vez
• CPU suspenso apenas 1 vez
António Pina 11/05
35
António Pina 11/05
36
7.6 Canais e Processadores de E/S
Características dos Canais E/S
• Evolução da função de E/S
• Operação
—
—
—
—
—
CPU controla directamente um dispositivo externo
Adicionado controlador e usada E/S programada
Adicionado controlador e E/S conduzida por interrupção
Usado DMA
Módulo E/S é um processador em si mesmo
– pode extrair e executar instruções de E/S sem intervenção da CPU
– chamado canal de E/S
— Módulo E/S é um processador com memória local própria
– uma vasta gama de dispositivos de E/S pode ser controlado com
envolvimento mínimo da CPU
– chamado processador de E/S
— CPU inicia uma transferência de E/S indicando ao
canal E/S um programa para executar na memória
— Programa especifica o dispositivo, a área na memória,
a prioridade e outras acções
— O canal E/S segue as instruções e controla a transferência
de dados
• Tipos de canais de E/S
— Canal selector
– dedicado, em cada momento, à transferência de dados com 1 dos
dispositivos
— Canal multiplexador
– Trata da E/S de múltiplos dispositivos, ao mesmo tempo
– Multiplexagem ao octecto (byte) ou bloco
António Pina 11/05
37
7.7 Interface Externo
António Pina 11/05
38
E/S Paralela e Série
• Tipos de interfaces
—Paralelo
—Série
• Diálogo com o periférico (escrita)
—Módulo E/S emite um sinal de controlo pedindo permissão
para enviar os dados
—Periféricos reconhecem o pedido
—Módulo E/S transfere os dados
—Periféricos reconhecem a recepção dos dados
• Módulo E/S tem um tampão interno
—Compensar as diferenças de velocidade entre o barramento
de sistema e os dispositivos externos
António Pina 11/05
39
António Pina 11/05
40
Interface Externo
Barramento Série FireWire
• Conexão
• Norma IEEE 1394 para barramento série
• Rápido, baixo custo e fácil de realizar
• Usa transmissão série
—Ponto-a-ponto
–linha dedicada line entre módulo E/S e o dispositivo externo
—Multi-ponto
– barramentos externos
– usado para dar suporte aos dispositivos de armazenamento de massa
e dispositivos de media
– FireWire e InfiniBand
António Pina 11/05
41
FireWire Configuration
—SCSI usa transmissão paralela
—Desvantagens da transmissão paralela
– mais fios, i.e., cabos e conectores caros
– isolamento para evitar interferências entre fios
– sincronização entre fios
António Pina 11/05
42
Configuração FireWire simples
• Sondagem em cadeia (daisy chain)
— Até 63 dispositivos pendurados numa única porta
• Ligação a quente
— conexão dispositivos sem desligar o sisitema
• Configuração automática
— sem ajuste manual da identificação dos dispositivos (IDs)
• Suporte à organização em árvore
António Pina 11/05
43
António Pina 11/05
44
FireWire
FireWire Protocol Stack
• Três protocolos em camada
— Física
– Meio de Transmissão, características eléctricas e sinalização
— Ligação
– Transmissão de dados em pacotes
—Transacção
– Protocolo de pedido-resposta que esconde os detalhes da camada
mais baixa
António Pina 11/05
45
InfiniBand
António Pina 11/05
46
Estrutura do comutador InfiniBand
• Especificação E/S para servidores de alta-gama
—Resultante da fusão dos projectos:
.Future E/S (Cisco, HP, Compaq e IBM)
.Next Generation E/S (Intel)
• Arquitectura e especificação para fluxo de dados entre
o processador e dispositivos inteligentes de E/S
— Pretendia substituir o barramento PCI em servidores
• Capacidade aumentada, expansibilidade e flexibilidade
António Pina 11/05
47
António Pina 11/05
48

Documentos relacionados