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