Dispositivos de E/S (I/O) DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Sistema de E/S barramento de sist. CPU Mem. Disp. E/S: comunicação computador/ambiente DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Contr. disp 1 Contr. disp 2 Contr. disp N Dispositivos E/S (barram. dedicado) Disp. E/S (barram. compart.) Subsistema de E/S Sistema de E/S Dispositivos de E/S DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Tipos • Armazenamento • Comunicação com o ambiente Tempo de acesso • Muito maior que o de acesso à memória • Varia com dispositivo Taxa de transferência • Depende da taxa e quantidade de info. Taxa de erro • Códigos corretores Controladores de I/O (E/S) Função • Controlar um ou mais dispositivos e trocar dados entre estes dispositivos, memória e /ou registradores da CPU. • Exemplos: – Controle de temporização – Comunicação com CPU – Comunicação com dispositivos – Armazenamento de dados (Data Buffering) – Detecção de Erro • DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Modelo Genérico de um controlador de Entrada/Saída • Linhas de endereços • Linhas de dados • Linhas de Controle Barramentos do sistema Controlador de E/S • Controle • Status • Dados Links para dispositivos externos Dipsositivos periféricos ou periférivcos DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Módulo de Entrada/Saída (I/O) Interface para barramento do sistema Interface para dispositivo externo Registrador de dados Linhas de Dados Linhas de Endereço Linhas de Controle DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Status/Registrador de Controle Lógica de E/S Interface lógica com dispositivo exerno Dados Status Controle Interface lógica com dispositivo externo Dados Status Controle Dispositivos de E/S Diversidade – Quais dispositivos de E/S podem ser conectados ao computador ? Capacidade – Quantos dispositivos de E/S podem ser conectados ao computador ? Medidas de Performance – Throughput ou Largura de Banda (I/O bandwidth) • Número médio de tarefas computadas pelo servidor na unidade de tempo – Tempo de resposta ou tempo de latência (latency) • Tempo gasto desde que uma tarefa é colocada na fila de execução até sua execução pelo servidor DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Dispositivos de E/S Características na organização de dispositivos de E/S – Utilização – Entrada (Input) – Saída (Output) – Armazenamento – Interface – Um ser humano ou máquina está do outro lado do dispositivo de E/S, oferecendo ou lendo dados – Taxa de transferência DEPARTAMENTO DE INFORMÁTICA UFPE GRECO – Volume de dados por segundo transf. entre os dispositivos de E/S e a memória principal Dispositivos de E/S DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Dispositivo Utilização Interface Taxa (KB/s) Teclado Mouse Scanner Impressora. de linha Impressora laser Network Disco Magnético Disco Ótico Entrada Entrada Entrada Saída Saída Entrada/Saída Armazenamento Armazenamento Humana Humana Humana Humana Humana Máquina Máquina Máquina 0.01 0.02 200 1 100 10000 2000 500 Dispositivo Externo Determina a função do dispositivo - Input ou Read - Output ou Write Info. para o controlador de E/S Indica estado do dispositivo - Ready - Not Ready Status para controlador de E/S Lógica de controle Conjunto de bits a serem enviados para ou recebidos do módulo de I/O Dados para e do controlador de E/S - Converte dados elétricos para outras formas de energia durante Output - Converte outras formas de energia em eletric. durante Input Buffer Transdutor DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Dados para e do ambiente Dispositivos de E/S Modelo Servidor/Produtor Fila Produtor de tarefas Gera tarefas a serem executadas DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Servidor Executa tarefas enviadas pela fila Dispositivos de E/S Modelo Servidor/Produtor Aumento de Througput dividindo tarefas Fila Servidor Produtor de tarefas Gera tarefas a serem executadas DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Fila Executa tarefas enviadas pela fila Servidor Executa tarefas enviadas pela fila Interface de Saída - Impressora Buffer de saída do sistema Buffer de entrada da impressora bit 0 bit 0 bit 1 bit 1 bit 2 bit 2 bit 7 bit 7 Impressora Sinal de Transferência Status Q S Pronto R Dado Presente Flag Q DEPARTAMENTO DE INFORMÁTICA UFPE GRECO CPU Impressora Põe dado no buffer de saída Se Status = 1 - Ativa Sinal de Transferência Se Dado Presente = 0 - Lê dado - Ativa sinal Pronto Software de E/S Organização em camadas: Proc. usuário sw indep. disp. driver disp. tratam. interr. gerencia execução de comandos tradução endereços reordena pedidos comunicação com controlador tratamento de erros DEPARTAMENTO DE INFORMÁTICA UFPE GRECO comandos simbólicos nomes simbólicos conv. bloco lógico em físico alocação e liberação de esp. Técnicas para entrada de um bloco de dados DEPARTAMENTO DE INFORMÁTICA UFPE GRECO I/O programado I/O dirigido por interrupção Acesso Direto à Memória (DMA) Interrupção DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Como funciona um computador? Início Executa a instrução Há interrupção? Não Busca a próxima instrução DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Término Sim Salta p/ rotina de interrupção Processo de Interrupção simples Dispositivo Controlador ou outro dispositivo do sistema pede interrupção Processador termina a execução da instrução em andamento Salve resto da Informação do estado do proesso Processa Interrupção Software Hardware DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Processador sinaliza reconhecimento de interrupção Restaura Informação do estado do processo Processador salva PSW e PC na pilha de controle (Push) Restaura PSW e PC do programa pri ncipal ( em execução) antes da interrupção Processador carrega novo valor do PC baseado na interrupção Interrupção - Ajuste e execução T Y N+1 Contador de programa(PC) Registradores Y Start Y+L Return Ponteiro da pliha (Stack Pointer) T N N+1 Programa do usuário DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Rotina de serviço de interrupção T+M T+M Controle da pilha Interrupção - Retorno ao programa principal T +M N+1 Y+L Contador de programa(PC) Registradores N N+1 Y+L Programa do usuário DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Ponteiro da pliha (Stack Pointer) T Start Y Return Rotina de serviço de interrupção T N+1 Controle da pilha T+M Tratamento de Interrupções Como determinar qual dispositivo gerou a interrupção ? • Várias linhas de interrupção • Software Poll • Daisy Chain (hardware poll, vetorizada) • Arbitragem de interrupção (vetorizada) Controlador de Interrupção (ex. 8259A) – Prioridades fixas – Prioridades rotativas DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Tratamento de Interrupções INT INTA CPU RD WR CS DADOS DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Controlador de Interrupções IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 ......... Sinais de controle: – – – – – – IRQx - Interrupt request x INT (Interrupt) - Houve interrupção INTA (Int. Acknowledge) - Interrupção recebida RD (Read) - Leitura WR (Write) - Escrita CS (Chip select) - Seleção do chip do controlador Tratamento de Interrupções Mecanismo de Interrupção – Dispositivo I/O ativa IRQx – 8259A ativa INT para a CPU – CPU ativa INTA pedindo identificação do dispositivo que gerou a interrupção – 8259A envia dado (vetor de interrupção identificando o dispositivo. Se houver mais de um, 8259A realiza arbitragem. – CPU usa o vetor para executar a rotina apropriada a aquele dispositivo. DEPARTAMENTO DE INFORMÁTICA UFPE GRECO O sistema operacional deve estabelecer níveis de prioridade para os dispositivos. Técnicas para entrada de um bloco de dados I/O programado • A CPU executa programa para controlar a operação de I/O (verifica status do dispositivo, envia/recebe dados). • CPU espera até o final da operação de I/O. I/O dirigido por interrupção • CPU requisita um comando do dispositivo de I/O • CPU continua a executar outras operações • CPU é interrompida pelo módulo de I/O e ocorre transferência de dados. DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Acesso Direto à Memória (DMA) • O módulo de I/O e a memória trocam informações sem o envolvimento da CPU. • Um controlador especial com acesso direto a memória controla a troca de dados com o dispositivo de I/O Fluxo de programas Pois não Sr. um momento Programa sem interrupção Secretária, por favor escreva o contrato agora para que eu possa assiná-lo; estou esperando, ok? Contrato pronto, estou enviando Ok, Obrigado Secretária, por favor escreva o contrato agora, quando estiver pronto me avise, ok? Pois não Sr. Programa com interrupção Um momento, estou terminado de escrever um ofício. ... agora pode enviar o contrato, obrigado. Após receber o contrato, o chefe continua fazendo as outras atividades...... Contrato pronto, posso enviá-lo? Preciso envinhar os contratos que estáo sobre a mesa do chefe para o correio Correio DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Boy por favor apanhe os contratos que estão na pasta sobre a mesa do chefe para mim. Por favor não incomode o chefe, ok? Obrigada Acesso Direto à Memória CPU E/S BUS Técnicas de transferência de dados E/S dirigida por interrupção E/S programada Comando de leitura para módulo de E/S Comando de leitura para módulo de E/S Outras tarefas Ler status de E/S Interrupção OK OK Status de E/S OK Ler dado de E/S Escreve memória DEPARTAMENTO DE INFORMÁTICA UFPE GRECO CPU --> E/S Status de E/S OK Ler dado de E/S Escreve memória E/S --> CPU CPU --> Mem. Volta ao que estava fazendo Técnicas de transferência de dados Control. de DMA transfere dados entre memória e módulo de E/S Comando de leitura de E/S para controlador de DMA Outras tarefas Interrupção Status de E/S DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Parâmetros para DMA • End. memória • End. dispositivo • Tamanho bloco CPU --> DMA DMA --> CPU Volta ao que estava fazendo Mapeamento de I/O: Isolado e em Memória • Linhas de endereços • Linhas de dados • Linhas de Controle Mreq / I/O Controlador de E/S DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Memória Barramento Isolado tem sinal especial (Mreq / I/O) que identifica o tipo de endereço presente no barramento • Permite o uso de instruções especiais para dispositivos de I/O • Para o mesmo núm. de bits de endereço => dobro de I/O + Memória • Requer um sinal extra e, consequentemente, hardware extra na CPU DMA - Acesso Direto à memória O módulo de I/O e a memória principal trocam dados diretamente sem o envolvimento da CPU. DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Contador de dados Linhas de dados Registrador de dados Linhas de endereço Registrador de endereços DMA REQ DMA ACK INTR Read Write Lógica de Controle DMA e pontos de acesso durante ciclos de instrução Cycle Stealing Ciclo de Instrução Ciclo do Ciclo do Ciclo do Ciclo do Ciclo do Ciclo do processador processador processador processador processador processador Apanha Decodifica instrução Instrução (Fetch Instruction) DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Apanha Operando (Fetch Operand) Pontos de acesso de DMA Executa Instrução Armazena resultado Processa Interrupção Acesso de Interrupção Diferentes configurações de DMA CPU Módulo DMA I/O I/O Memória 1. Barramento simples, DMA simples CPU Módulo DMA I/O Módulo DMA I/O Memória I/O 2. Barramento simples, DMA-I/O Integrados CPU DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Módulo DMA I/O Memória I/O I/O 3. Barramento de I/O Dispositivos de E/S - exemplos DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Impressoras PCMIA Terminais Impressoras As impressoras são dispositivos de saída de dados. Podem ser classificá-las sob vários aspectos. Por interface de comunicação: – Impressora com interface serial-RS232 – Twisted pair – Impressora paralela centronics, bicentronics DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Quanto a tecnologia de impressão: – matriz de pontos – linha – jato de tinta – laser Impressoras Outros aspectos importantes: – velocidade de impressão (ppm) – resolução da impressora (dpi) – Preto/branco ou colorida DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Com o advento de sistemas distribuídos e de novos sistemas operacioniais para rede deve-se observar também a disponibilidade de impressoras que: – aceitem protocolo de rede como TCP/IP, Windows NT, Windows 95, protocolo de transferência de arquivos como FTP, etc. – aceitem arquivos Postscript, texto, etc. PCMCIA PCMCIA - Personal Computer Memory Card International • Conhecido como PC card • Usado em laptops • Arquitetura Plug-and-Pla Aplicações • LAN (Ethernet - 10Mbits/s) • Hard disk • Fax/Modem DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Monitor DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Monitor • Monitores requerem controladores de vídeo (alta banda passante) que se conectam a barramentos como: – Barramento PCI – Barramento VESA Local bus Características técnicas do adaptador do display • Resolução gráfica - número de pontos na tela (dots) – 640x480 (VGA) – 800x600 (SVGA) – 1024x768 – 1280x1024, 1600x1200 Dispositivos de Rede Mainframe VMS Micro emulando terminal X Rede local windows NT ETHERNET Estações de trabalho emulamdo terminal VT-100 conectado remotamente ao Maniframe DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Rede local Unix Terminais DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Permitem uma interação direta (on-line) com um computador remoto através de dispositivos auxiliares de entrada e saída como teclado, mouse, monitor, etc. Não executam processamento local, a não ser o básico (vídeo, teclado, mouse) Modelos mais comuns: VT-100, 3270, Terminal X