Baixe o app para aproveitar ainda mais
Prévia do material em texto
11-1 Capítulo ONZE Noções de Entrada e Saída 11.1 Introdução Englobam-se sob a denominação de Entrada e Saída (E/S) todas as atividades de troca de informações do computador com o meio externo. Basicamente, o computador pode utilizar atividades de entrada/saída com as seguintes finalidades: • troca de informações com os usuários humanos do sistema, utilizando-se, para a entrada de informações ou para a exibição, dos chamados dispositivos periféricos. Estes dispositivos podem ser teclados, vídeos, mouses, impressoras, leitoras de cartões, etc. • permitir ao computador acessar dispositivos de armazenamento para grandes conjuntos de dados, e que normalmente não podem ser mantidos todo o tempo em memória primária. Estes dispositivos são englobados sob a denominação de memória secundária e incluem, em geral discos e disquetes magnéticos, CD-Rom, discos magneto-óticos e fitas magnéticas. • permitir ao computador comunicar-se com outros equipamentos, tais como outros computadores e outros equipamentos científicos e industriais, através de linhas telefônicas e equipamentos específicos requeridos por este tipo de comunicação (modens). A arquitetura de E/S os elementos que um programa utiliza para transportar dados entre o processador e os diversos dispositivos de E/S. Ela precisa especificar: • um método para identificação do dispositivo a ser utilizado em uma operação de E/S; • o endereço do dado, ou seja, a fonte do dado a ser transportado para uma operação de saída ou o destino do dado em uma operação de entrada; • a quantidade de dados a serem transportados; • os métodos para determinar quando as operações de E/S tiverem terminado ou encontrarem dificuldades que impeçam o seu término. Estes parâmetros não precisam ser necessariamente especificados a cada transferência; alguns deles podem ser convencionados de tal forma que estarão implícitos quando ocorrer o início da operação. Uma característica importante e fundamental da maioria dos dispositivos de E/S, sejam eles orientados ao intercâmbio de informações diretamente com o usuário ou atuando no armazenamento intermediário de informações, é que eles operam em velocidades consideravelmente mais lentas do que em processadores ou memórias (do tipo “primárias”). Assim, referências a dados ou interações com seres humanos consomem enormes quantidades de tempo em comparação a funções computacionais dentro de um par processador-memória. Por esta razão, o projeto de E/S é crucial para minimizar atrasos e o projeto de funções de E/S é normalmente sentido diretamente na arquitetura. 11-2 11.2 Dispositivos periféricos A classe de dispositivos que são utilizados atualmente para realização de operações de entrada e saída (isto é, que atuam na troca de informações tendo de um lado um computador e do outro usuários humanos do sistema) é bastante ampla e diversa, apresentando um leque bastante variado de características e operação. Entre elas estão: • impressoras: para criar cópia em papel ou similar, de textos e figuras. As impressoras variam em atributos, tendo com forma mais primitiva dispositivos que se assemelham a máquinas de escrever. Atualmente, as mais modernas utilizam como tecnologia a impressão a laser e podem imprimir até milhares de linha por minuto; • monitores (ou telas): que mostram textos e figuras, ambos podendo ser formatados de diversas maneiras e utilizar várias cores. O tipo mais comum, utiliza um tubo não muito diferente de um tubo de televisão (tubo de raios catódicos). Atualmente, utiliza-se também visores de cristal líquido, que consomem menor quantidade de energia; • dispositivos gráficos (ou plotters): que criam cópias impressas de gráficos e curvas de papel. Com o avanço tecnológico, as impressoras atualmente tem capacidade de produzir material gráfico de ótima qualidade, tendo sua maior limitação no campo (tamanho) de impressão. Os traçadores, dependendo das suas características podem produzir desenhos com mais de um metro de largura e comprimento limitado pela bobina de papel; • dispositivos de exploração ótica: que podem ler diretamente documentos. Dentre os mais primitivos, pode-se citar as leitoras óticas de cartões ou folhas de marcas (como as usadas no vestibular para registro das respostas). Atualmente, existem dispositivos bem mais complexos como os scanners, que podem transferir para o computador imagens obtidas em figuras, textos e fotografias; • dispositivos de apontamento: que podem indicar informações ao computador através do posicionamento de um cursor sobre a tela, como é o caso do mouse e da caneta luminosa (ou lightpen). O âmbito de dispositivos utilizados por computadores para comunicar-se com os usuários encontra-se em expansão e melhorando em qualidade de interação. De forma a complementar os dispositivos recém-mencionados, há grandes avanços no campo do reconhecimento de voz e saída de voz. Já há alguma disponibilidade nesta última opção. 11.3 Memória secundária O grande volume de dados armazenados no computador inviabiliza a manutenção permanente destas informações integralmente na memória principal. Isto faz com que grande parte das informações, utilizadas menos freqüentemente, seja guardada em dispositivos de uma classe diferente dos empregados para a construção da memória principal (antes, memórias de núcleos magnéticos, atualmente circuitos semicondutores). Os dispositivos mais usados anteriormente eram discos, tambores rotativos e fitas, todos magnéticos; atualmente são os discos e disquetes magnéticos, fitas magnéticas e os CD's. Estes dispositivos são endereçados utilizando-se conceitos de arquitetura e organização de E/S, embora não se enquadrem na primeira classe apresentada de dispositivos de E/S que pressupõem interação entre o computador e o usuário ou ser humano. Eles podem ser considerados como arquivos eletrônicos que estão aptos a responder a uma solicitação de dados. 11.4 Comunicação com outras máquinas A troca de informações com outras máquinas também consiste em uma atividade de entrada e saída. Inicialmente, eram utilizadas para troca de informações entre computadores ou entre computador e algum periférico especial localizados dentro de um prédio, em salas próximas. 11-3 Atualmente são usadas para comunicação entre máquinas situadas geograficamente distantes, empregando linhas telefônicas e outros meios convencionais. Para isto, os sinais empregados devem seguir normas especiais, afim de não perturbar os serviços normais oferecidos pela rede telefônica. Estes serviços são utilizados em larga escala como, por exemplo: por bancos, para transferir informações referentes às transações, saldos, extratos, etc; por universidades e centros de pesquisa, para difusão de conhecimento e troca de informações; por empresas, para difusão de informações entre filiais e setores agregados ou junto a clientes, etc. As características básicas desta atividade diferem das demais, principalmente devido à distância onde os elementos envolvidos estão colocados. Portanto, neste tipo de operação de E/S: • existem equipamentos que operam eletricamente os dados para controlar nível de sinal, forma de transmissão, etc, que são os chamados “modens” (moduladores- demoduladores); • a informação está mais sujeita a ser modificada, com a introdução de erros, por efeito de ruído elétrico. Assim, em geral há necessidade de utilizar formas especiais de codificação; • para evitar que haja muita perda de tempo no estabelecimento da comunicação, incluindo o envio de informações de controle, convém trabalhar com a transmissão de blocos de informação grandes. Isto faz com que, em cada bloco de informação transmitida, haja um percentual pequeno de caracteres ou palavras destinadas ao controle e exigidas pelo protocolo de comunicação. 11.5 Sistemas de E/S Como visto nas unidades anteriores, as atividades principais dos computadores envolvem doiscomponentes: a unidade central de processamento (UCP) e a memória principal. A unidade central de processamento busca instruções e dados na memória principal, processa- os e armazena os resultados na memória principal. Os demais componentes podem ser genericamente denominados de sistema de entrada e saída, uma vez que destinam-se a transferir informações entre a memória ou a CPU e o ambiente externo a estes. O sistema de E/S inclui os dispositivos de E/S (periféricos ou demais elementos), unidades de controle para estes dispositivos e o software especialmente projetado para operações de E/S. Na seqüência, serão referidos apenas periféricos, já que as demais operações de entrada e saída podem ser tratadas de forma análoga. Existem várias maneiras de se executar as operações de E/S: a possibilidade de se empregar estas formas depende dos recursos de software e hardware disponíveis. A opção por uma delas depende basicamente do desempenho desejado, dos dispositivos envolvidos, e do volume dos dados. 11.5 .1 Entrada e saída programada Quando as operações de E/S são controladas inteiramente pela UCP, isto é, a UCP executa programas que iniciam, dirigem e terminam as operações de E/S, diz-se que o computador emprega E/S programada. Este sistema existe em quase todos os computadores: emprega pouco hardware especial, mas pode ocupar tempo demasiado da UCP no controle de operações relativamente simples de E/S. Uma destas funções é o teste do estado dos dispositivos de E/S para determinar se eles estão ou não requisitando serviços da CPU. Neste contexto, a transferência é realizada, em geral, entre um registrador da UCP (por exemplo, o acumulador) e um registrador ligado ao dispositivo de E/S. A transferência de um dado do dispositivo de E/S para a memória principal necessita da execução de duas instruções pela UCP: 11-4 • uma instrução (INPUT) para transferir uma palavra de um dispositivo de E/S para a UCP; • uma instrução (STORE) para transferir uma palavra da UCP para a memória principal. Endereçamento Em sistemas com E/S programada, os dispositivos de E/S, a memória principal e a UCP se comunicam através de um barramento de uso comum, partilhado entre eles. As linhas de endereçamento deste barramento, usadas para para selecionar posições de memória, também podem ser utilizadas para selecionar dispositivos de E/S. Cada ligação entre o barramento principal e o dispositivo de E/S é chamada de porta de E/S, sendo atribuída a ela um endereço exclusivo. A porta de E/S pode incluir um registrador de dados. Em algumas máquinas, parte do espaço de endereçamento da memória principal é usado para portas de E/S (E/S mapeada em memória). Neste caso, não há necessidade de dispor-se de instruções especiais de entrada e saída, mas estes aspectos serão tratados mais tarde, em outras disciplinas. Instruções de E/S O esquema de E/S programada pode ser implementado com poucas instruções. O microprocessador Intel 8080, por exemplo, que usa o sistema de endereçamento explicado no parágrafo anterior, emprega apenas duas instruções de E/S: • IN x, que transfere uma palavra da porta de E/S x para o acumulador do 8080; • OUT x, que transfere uma palavra do acumulador do 8080 para a porta de E/S x. A UCP não atribui qualquer interpretação às palavras transferidas: o programador deve fazê- lo. Algumas palavras podem indicar o estado do dispositivo de E/S e outras podem ser instruções especiais para este dispositivo. O simples envio de dados, sem que o dispositivo esteja pronto para recebê-los, pode resultar na perda de informações. Por outro lado, a espera de informações sem que haja tempos pré- determinados, pode resultar em tempos de execução excessivamente longos. Assim, o ideal é que se tenha possibilidade de testar as condições de recebimento / envio de informações pelo dispositivo de E/S, ou seja, avaliar o estado do dispositivo. Normalmente este estado pode ser especificado por um bit de informação que o dispositivo mantém disponível de forma contínua (independente das linhas de dados). Assim, serão necessários os seguintes passos: • Passo 1: lê a informação de estado; • Passo 2: testa o estado para determinar se o dispositivo está pronto para iniciar a transferência de dados; • Passo 3: se não está pronto, retorna ao passo 1; se está pronto, efetua a transferência do dado. A seguir, tem-se como exemplo um programa escrito para o INTEL 8080, que executa a transferência de uma palavra de dados de um dispositivo de E/S para o acumulador na UCP. Por hipótese, o dispositivo está ligado às portas 1 e 2. O estado do dispositivo está disponível continuamente na porta 1, enquanto que os dados solicitados estão disponíveis na porta 2 quando a palavra de estado tem o valor READY. Instrução Comentário WAIT: IN 1 Lê estado do dispositivo de E/s para o acumulador CMP READY Compara a palavra READY (de forma imediata, com o acumulador; de for igual, liga Z=1, senão, Z=0 JNZ WAIT Se Z„ 1 (disp. de E/S não está pronto), volta para WAIT IN 2 Lê palavra de dados para o acumulador Figura 11.1 - Trecho de programa de E/S 11-5 11.5 .2 Acesso direto à memória Com pequeno aumento na complexidade do hardware, o dispositivo de entrada e saída pode ser munido da capacidade de transferir um bloco de informação da memória principal, ou para esta, sem a intervenção da CPU. Isto requer que o dispositivo de E/S seja capaz de gerar endereços e transferir dados através do barramento da memória principal. Também deve existir um sinal de solicitação de acesso ao barramento e um mecanismo de seleção pré- definido (por exemplo, por prioridades). A UCP é responsável pela inicialização de cada transferência de cada bloco. A partir daí, o dispositivo de E/S pode realizar a transferência sem a necessidade de execução de programa pela UCP, ou seja, sem que a UCP se envolva diretamente na operação, exceto no seu final. Quando isto ocorre, UCP e o dispositivo de E/S interagem e a UCP retoma o controle do barramento através do qual foi feita a transferência. Este tipo de capacidade de entrada e saída é denominada de acesso direto à memória. 11.5 .3 Interrupção O dispositivo de E/S também pode conter circuitos que o habilitam a requisitar serviços da UCP, isto é, provocam na UCP a execução de um programa de atendimento ao dispositivo periférico. Este tipo de solicitação é chamada de interrupção. A disponibilidade de serviços de interrupção livra a UCP de estar periodicamente testando o estado do dispositivo de E/S (afim de verificar se ele tem dados para transferir ou não). Diferentemente do acesso direto à memória, uma interrupção faz com que a UCP páre temporariamente a execução do programa em curso, salvando o estado correspondente, e transfira o controle de execução para um programa de tratamento de interrupção. Assim, quando termina o atendimento da interrupção, a UCP pode reassumir a execução do programa antes interrompido. 11.5 .4 Informações complementares Uma outra opção para execução das atividades de entrada e saída é a existência de processadores especiais, denominados de processadores de E/S ou canais de E/S, que assumem o controle total deste tipo de operações. Com isto, eles aliviam consideravelmente a atividade da UCP, liberando-a para outro tipo de processamento. Estes processadores podem acessar diretamente à memória, podem interromper a UCP, ou executar programas, com conjuntos especiais de instruções, orientadas a operações de E/S. Eles também podem estar ligados à UCP por um barramento especial, chamado de barramento de E/S ou interface de E/S.
Compartilhar