Curso Livre de Arquitetura de Computadores/Caderno 6: Entrada e Saída

Dispositivos Externos editar

As operações de E/S são realizadas por meio de uma grande variedade de dispositivos externos, que oferecem um meio de trocar dados entre o ambiente externo e o computador. Um dispositivo externo se conecta ao computador por uma conexão com um módulo de E/S. A conexão é usada para trocar sinais de controle, estado e dados entre os módulos de E/S e o dispositivo externo. Um dispositivo externo conectado a um módulo de E/S normalmente é chamado de periférico. É possível classificar os dispositivos externos em três categorias:[1]

  • Legíveis ao ser humano: adequados para a comunicação com usuários de computador, como monitores e impressoras;[1]
  • Legíveis à máquina: adequados para a comunicação com equipamentos, como sensores;[1]
  • Comunicação: adequados para a comunicação com dispositivos remotos.[1]

A forma mais comum de interação entre usuário e computdor se da através da utilização do teclado/mouse/monitor, pois qualquer entrada de dados seja via mouse ou teclado gera uma saida no monitor. Essa é uma abordagem simples e didatica sobre a diferença de dispositivos de entrada e saida. [1]

Módulo de E/S editar

Funções do módulo editar

As principais funções ou requisitos para um módulo de E/S encontram-se nas seguintes categorias:

  • Controle e temporização;
  • Comunicação com o processador;
  • Comunicação com o dispositivo;
  • Armazenamento temporário (buffering) de dados;
  • Detecção de erro;

Para que o computador consiga lidar com E/S considerando que um ou mais dispositivos externos estejam se comunicando de formas imprevisiveis com ele, é necessário que sejam administrados muitos recursos de forma interna, como controle da memória principal, barramento entre outros dispositivos internos necessários. Para isso, o controle e temporização coordenam o fluxo de tráfego entre os recursos internos e dispositivos externos. [1]


Estrutura do módulo editar

 
Diagrama de blocos de um módulo de E/S

E/S programada editar

Com a E/S programada, os dados são trocados diretamente entre processador e módulo de E/S, para isso, o processador executa um programa que concede acesso direto da operação de E/S incluindo a percepção do estado do dispositivo. Enquanto esse fluxo está acontecendo, o processador precisa aguardar até que a operação seja finalizada para tomar uma nova operação. Caso haja desparidade entre o processador e o módulo de E/S em questão de desempenho, isso fará com que o processador fique ocioso. Outro módo de E/S é o controlado por interrupção, ele é um modo que só interrompe as ações do processador quando o ultimo módulo de E/S tiver completado seu trabalho. Para isso acontece um acesso direto à memória feita pelo dispositivo de E/S.[1]

Comandos de E/S editar

Falando em comandos de E/S, existem quatro tipos de comandos que um módulo de E/S pode receber quando é endereçado por um processador. Eles são:

  • Controle: É utilizado para ativar um periférico e dizer o que fazer.
  • Teste: Revela o estado atual do dispositivo, se ele esta em uso, se esta disponível e até mesmo se em sua ultima operação a finalização dela foi com sucesso ou erro.
  • Leitura: O módulo de E/S obtem um item de dados do periférico e coloca em um buffer interno. Após isso o processador pode obter esse item solicitando o módulo de E/S que o coloque no barramento de dados.
  • Escrita: Apanha um dado do barramento de dados e transmite ao periférico.

[1]

Referências