Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
William Stallings Arquitetura e Organização de Computadores Capítulo 6 Entrada/Saída Problemas de Entrada/Saída �Variedade larga de periféricos �Entregando diferentes quantias de dados �Em diferentes velocidades �Em diferentes formatos �Todos mais lento do que CPU e RAM �Precisa de módulos de E/S Módulo de Entrada/Saída �Interface para CPU e Memória �Interface para um ou mais periféricos �MODELO GENÉRICO DE E/S DIAGRAM 6.1 Dispositivos Externos �Legível ao humano �Tela, impressora, teclado �Legível a máquina �Monitoramento e controle �Discos e fitas magneticas �Comunicação �Modem �Network Interface Card (NIC) - Rede Função do Módulo E/S �Controle & Sincromização �Comunicação da CPU �Comunicação de dispositivos �Proteção de dados �Detecção de erro Passos de E/S �CPU checa o estado dos módulos dos dispositivos de E/S �Módulo de E/S devolve o estado �Se pronto, CPU pede a transferência de dados �Módulo de E/S obtém dados de dispositivo �Módulo de E/S transfere dados para a CPU �Variaçõess para saída, DMA, etc... Diagrama do Módulo de E/S Registro de Dado Registro de Estado/Controle Interface Lógica do Dispositivo Externo Interface Lógica do Dispositivo Externo Entrada e Saída Lógica Linhas de Dados Linhas de Endereço Linhas de Dados Dado Estado Controle Dado Estado Controle Interface do Sistema BUS Interface do Dispositivo Externo Decisões do Módulo de E/S �Esconde ou revela propiedades de dispositivos para a CPU �Suporta dispositivos múltiplos ou único �Controla a função de dispositivos ou deixa para a CPU �Também O/S decisões �Por exemplo. Unix trata tudo que pode como um arquivo Técnicas de Entrada e Saída �Programado �Interrupção �Acesso de Memória Direto (DMA) E/S Programado �CPU tem controle direto sobre E/S �“Sensing status” �Comandos de Leitura/Escrita �Transferindo dados �CPU espera o módulo de E/S completar operação �Desperdiça tempo da CPU E/S Programado - detalhes �CPU pede operação de E/S �Módulo de E/S executa a operação �Módulo de E/S determina bits de estado �CPU checa bits de estado periodicamente �Módulo de E/S não informa a CPU diretamente �Módulo de E/S não interrompe a CPU �CPU pode esperar ou começar depois Comandos de E/S �CPU emite endereço �Identifica módulo (& dispositivo if >1 por módulo) �CPU emite comando �Controle – diz ao módulo o que fazer ⌧Por exemplo. Girar o disco �Teste - checa o estado ⌧Por exemplo. Poder? Erro? �Leitura/Escrita ⌧Módulo transfere dados via buffer do/para o dispositivo Dispositivos de Endereçamento de E/S � Na E/S programada a transferência de dado é como o acesso a memória (ponto de vista da CPU) � Cada dispositivo tem identificador único � Comandos da CPU contêm identificador (endereço) Mapeamento de E/S � Memória mapeou E/S �Dispositivos e memória dividem um espaço de endereço �E/S simplesmente se parece a leitura/escrita da memória �Sem comandos especiais para E/S ⌧Grande seleção de comandos de acesso de memória disponível � E/S isolado �Espaços de endereço separados �Precisa E/S ou Linhas de memória selecionadas �Comandos especiais de E/S ⌧Conjunto limitado Interrupt Driven I/O �Supera espera da CPU �Nenhum repetimento de checagem de dispositivos da CPU �Módulo de E/S interrompe quando pronto Interrupt Driven I/O Operação Básica �CPU emite comando de leitura �Módulo de E/S pega dados de periféricos ainda que a CPU faz outro trabalho �Módulo de E/S interrompe a CPU �CPU pede dados �Módulo de E/S transfere dados Ponto de vista da CPU �Emite comando de leitura �Faz outro trabalho �Checa por interrompimento no fim de cada ciclo de instrução �Se interrompido:- �Salva contexto (registros) �Interrompimento do processo ⌧Busca dados e aloca �Vê notas do SO Assuntos de design �Como você indentifica o módulo que emite a interrupção? �Como você lida com interrupções múltiplas? �Manipulador de interrupção que está suspenso Identificando Módulo Interrompidos (1) �Diferentes linhas para cada módulo �PC �Números limite de dispositivos �Software poll �CPU pergunta a cada módulo por vez �Devagar Identificando Módulo Interrompidos (2) �Daisy Chain ou Hardware poll �Interrompe reconhecimento enviado a uma cadeia �Módulo responsável coloca vetor no bus �CPU usa vetor para identificar rotina do manipulador �Bus Master �Módulo deve reinvidicar o bus antes que este interrompa �Por exemplo. PCI & SCSI Interrupções Múltiplas �Cada linha de interrupção tem uma prioridade �Linhas com prioridade alta pode interromper linhas com prioridade baixa �Se o bus estiver dominando somente o mestre atual pode interromper Exemplo - PC Bus �80x86 tem uma linha de interrupção �Sistemas baseados no 8086 usa um controlador de interrupção 8259A �8259A tem 8 linhas de interrupção Sequência de Eventos �8259A aceita interrupção �8259A determina prioridade �8259A sinaliza 8086 (aumenta linha INTR) �CPU reconhece �8259A coloca o vetor correto no data bus �CPU processa a interrupção Esquema de Interrupção do PC 8086 INTR 8259A IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 Sistema de Interrupção ISA Bus �ISA bus encadeia dois 8259As juntos �Ligação é por via interrupção 2 �Dá 15 linhas �16 linhas menos um por ligação �IRQ 9 é usado para re-dirigir qualquer coisa tentando usar o IRQ 2 �Compatibilidade atrasada �Incorporado em um conjunto de chip Esquema de ISA Interrompido 80x86 INTR 8259A IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 8259A IRQ0 (8) IRQ1 (9) IRQ2 (10) IRQ3 (11) IRQ4 (12) IRQ5 (13) IRQ6 (14) IRQ7 (15) (IRQ 2) Leitura Adicional � http://www.pcguide.com/ref/mbsys/res/irq/func.htm �Na realidade visite http://www.pcguide.com/ Acesso Direto à Memória �Interrupção diridifa e E/S programada requerem a intervenção da CPU ativa �Taxa de transaferência é limitada �CPU é amarrada �DMA é a resposta Função do DMA �Módulo Adicional (hardware) no bus �Controlador do DMA assume o controle da CPU for I/O Operação do DMA �CPU diz ao controlador de DMA:- �Leitura/Escrita �Endereço de Dispositivo �Endereço começando de bloco de memória para dados �Quantia de dados a ser transferido �CPU continua com outro trabalho �Controlador de DMA lida com transferência �Controlador de DMA envia interrupção quando terminado DMA Transfer Roubo de ciclo �Controlador de DMA assume o bus durante um ciclo �Transferência de uma palavra de dados �Não uma interrupção �CPU não troca contexto �CPU suspendeu logo antes que acesse o bus �Por exemplo i.e. antes de um operando ou dados fazer busca ou um dados escrever �Reduz a velocidade a CPU mas não tanto quanto a CPU transferindo A parte �Que efeito tem a memória de caching no DMA? �Sugestão: quantos são os bus de sistemas disponíveis? Configurações do DMA (1) �Único Bus, controlador de DMA destacado �Cada transferência usa o bus duas vezes �E/S para DMA depois DMA para memória �CPU é suspensa duas vezes CPU ControladorDMA Dispositivo de E/S MP Dispositivo de E/S Configurações do DMA (2) �Único Bus, Controlador de DMA integrado �Controlador deve suportar >1 dispositivo �Cada transferência usa o bus uma vez �DMA para memória �CPU é suspensa uma vez CPU MPControlador DMA Controlador DMA Dispositivo de E/S Dispositivo de E/S Dispositivo de E/S Configurações do DMA (3) �Bus de E/S separado �Bus suporta todos os dispositivos de DMA habilitados �Cada transferência usa o bus uma vez �DMA para memória �CPU é suspenso uma vez CPU Controlador Do DMA MP Dispositivo de E/S Dispositivo de E/S Dispositivo de E/S Dispositivo de E/S Canais de E/S �Dispositivos de E/S ficando mais sofisticados �Por exemplo interfaces gráficas 3D �CPU instrui controlador de E/S para fazer a transferência �Controlador de E/S faz a transferência inteira �Melhora a velocidade �Os dados são carregados fora da CPU �Processador dedicado é mais rápido Interfacing �Conecta dispositivos juntos �Processador/memória/bus dedicados? �Por exemplo. SCSI, FireWire Interface de Sistemas de Computadores Pequenos (SCSI) �Interface paralela �8, 16, 32 bit linhas de dados �Daisy chained �Dispositivos são independentes �Dispositivos podem se comunicar um com o outro assim como host SCSI - 1 �Começo da década de 80 �8 bit �5MHz �Taxa de dado 5MBytes.s-1 �Sete dispositivos �Oito incluindo a interfaze host SCSI - 2 �1991 �16 e 32 bit �10MHz �Taxa de dado 20 ou 40 Mbytes.s-1 �(Checar Ultra/Wide SCSI) Sinalizador SCSI (1) �Entre o inicializador e o objetivo �Normalmente host & dispositivo �Bus livre? (c.f. Ethernet) �Arbitragem – toma controle do (c.f. PCI) �Objetivo selecionado �Reselecionar �Permite reconectar depois de suspenso �por exemplo. se o pedido levar tempo para executar, o bus pode ser liberado Sinalizador SCSI (2) �Comando – pedido de objetivo do inicializador �Pedido de dado �Pedido de estado �Pedido de mensagem (ambos caminhos) Fases Bus SCSI Arbitration Bus free (Re)Selection Command, Data, Status, Message Reset SCSI Timing Diagram Configurando SCSI �Bus deve ser terminado a cada final �Normalmente um final é o adaptador de host �Plug na terminação ou na troca(s) �Identidade do SCSI deve ser estabelecido �Jumps ou trocas �Único no encadeamento �0 (zero) para o dispositivo de boot �Números mais altos é uma prioridade maior na arbritagem IEEE 1394 FireWire �Perfomance alta no bus em série �Rápido �Custo baixo �Fácil para implementar �Também sendo usado em camêras digitais, video-cassetes e TV Configuração de FireWire �Daisy chain �Acima de 63 dispositivos em uma única porta �Realmente 64 das quais são suas própias interfaces �Acima de 1022 bus podem ser conectados comh pontes �Configuração automática �Sem bus terminators �Pode ser uma estrutura de árvore FireWire 3 Camadas de Pilha �Físico �Médio de transmissão, elétrico e características sinalizantes �Ligação �Transmissão de dados em pacotes �Transação �Protocolo de pedido-resposta FireWire – Camada Física �Taxa de dados de 25 a 400Mbps �Duas formas de arbritagem �Baseado em estrutura de árvore �Raíz agem como arbitros �Primeiro vem o primeiro servido �Natural priority controls simultaneous requests ⌧Por exemplo. O que está mais próximo da raíz �Arbritagem justa �Arbitragem urgente FireWire – Camada de Ligação �Dois tipos de transmissão �Assíncrona ⌧Quantia variável de dados e vários bytes de dados de transação transferido como um pacote ⌧Para para endereços explícitos ⌧Conhecimento retornado �Síncrona ⌧Quantia variável de dados em seqüência de pacotes de tamanho fixos em intervalos ⌧Endereçamento simplificado ⌧Nenhum reconhecimento Leitura recomendada �Checar Universal Serial Bus (USB) �Comparar com outras estruturas de comunicação por exemplo. Ethernet