Entrada e Saída Introdução Introdução Constituem a interface de comunicação com o mundo exterior Conecta-se com o barramento ou com o comutador do sistema Controla um ou mais dispositivos Possui uma lógica dedicada a desempenhar a função de comunicação entre periférico e o barramento Dispositivos externos (1/3) Dispositivos periféricos ligados ao sistema via módulo E/S Classificados em: – – – Comunicação com o usuário Comunicação a máquina Comunicação com dispositivo remoto Dispositivos externos (2/3) A unidade básica de troca de dados é o caractere A cada caractere é associado um código tipicamente de 7 ou 8 bits A codificação mais utilizada é a ASCII que possui 7 bits – Permite representar 27 = 128 caracteres Dispositivos externos (3/3) Uma tecla pressionada gera um sinal eletrônico, que é interpretado pelo transdutor do teclado em código ASCII O transdutor é usado para – – Converter dados codificados em outra forma de energia, na saída Converter energia em dados na entrada Funções do modulo E/S Controle e temporização Comunicação com o Processador Comunicação com dispositivos Área de armazenamento temporário de dados Detecção de erros Controle e Temporização Controla o fluxo de dados entre o ambiente externo e interno Ex - Uma determinada seqüência de execução representada pelas seguintes etapas: – – – O processador consulta o estado do modulo E/S O modulo reponde informando o estado Se um dispositivo do modulo E/S estiver pronto para transmitir, a os dados são transferidos para processador Comunicação com o processador Decodificar comandos – – Interpreta um sinal de controle e executa o mesmo Ex: READS para iniciar um ciclo de leitura da dados num setor do disco Informar estado – – – Reponde a uma requisição do processador sobre o estado de um dispositivo Importante, pois dispositivos são lentos Ex: BUSY que representa que o modulo E/S esta ocupado Comunicação com o processador Transferir dados – A função obvia do módulo Reconhecer Endereços – – Cada dispositivo de entrada ou saída tem um endereço O modulo E/S tem que reconhecer um endereço distinto para cada dispositivo Comunicação com os dispositivos Essa comunicação envolve comandos, informação de estado e dados Sinais de controle do módulo E/S Sinais de estado para o módulo E/S Lógica de controle Sinais de dados (bits) de e para o módulo E/S Área de armazenamento temporário Transdutor Dados de e para o Ambiente Armazenamento temporário A taxa de transferência entre a memória e o processador é alta Porem a taxa de transferência dos periféricos e são da ordem de grandezas menores Essas taxas são variáveis Para melhorar a transferência parte dos dados é armazenada temporariamente no modulo E/S Armazenamento temporário A transferência entre a memória e o modulo E/S é rápida Os dados são armazenados temporariamente no modulo E/S e depois transferido para os periféricos num taxa adequada No sentido oposto os dados também são armazenados temporariamente Detecção de Erros Detectar e enviar informações de erro para o processador É utilizado um bit de paridade para verificação – O 8 bit no código ASCII Possíveis erros incluem: – Mau funcionamento mecânico ou elétrico – falta de papel na impressora Alteração no padrão de bits transmitidos Estrutura do modulo E/S Diagrama de blocos Dados Lógica de Interface com dispositivo externo Registradores de dados Estado Controle Registradores de estado/controle Linhas de endereço Lógica de E/S Linhas de dados Lógica de Interface com dispositivo externo Dados Estado Controle E/S programada (1/5) Técnica para realização de operações E/S Os dados são transferidos entre o processador e módulo E/S Método de implementação simples Comum em sistemas de baixo desempenho – Ex: Sistemas embarcados E/S programada (2/5) Cada dispositivo possui dois registradores associados: status e buffer de dados Processador testa registrador de status periodicamente, em laço Continua até verificar se o dispositivo esta pronto para: – – receber (saída) ou disponibilizou um dado (entrada) E/S programada (3/5) O processo de teste continuo de status é chamado Espera Ocupada Mantém o processador ocioso enquanto realiza operação de entrada ou saída Gera baixo desempenho Útil em aplicações dedicadas E/S programada (4/5) Instruções IN e OUT permitem ler e escrever nos registradores. Instruções selecionam um dos dispositivos de E/S disponíveis. 1 caractere é lido ou escrito por vez no registrador de dados Processador precisa executar um seqüência de instruções para cada caractere lido ou escrito E/S programada (5/5) Ex: terminal com um dispositivos de E/S – Teclado (Entrada) Tabela ASCII Ao bits de cada caractere são rotulados de b7 a b1 O bit b7 é o mais significativo (importante) e b1, o menos significativo Geralmente se utiliza um oitavo bit de paridade, o b8 Os caracteres são divididos em imprimíveis e de controle Tabela ASCII Tabela ASCII Os imprimíveis representam aqueles que posem ser exibidos na tela – – Números, letras, símbolos especiais Ex: 1001001 representa a letra I Os de controle servem para controlar a impressão ou exibição de caracteres – Ex: 0000010 representa o comando STX que delimita o inicio de um Texto