Buscar

Dispositivos de Entrada e Saída atps

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Dispositivos de Entrada e Saída E/S
Introdução
É o que permite a comunicação entre o homem e a máquina, é através dos dispositivos de entrada/saída que é possível inserir os dados e códigos para que a máquina possa interpretar. Como por exemplo, o teclado, que serve como dispositivo de entrada. 
Esta comunicação é válida no sentido contrário também, para que a máquina possa transmitir o resultado de um processamento.
Estes dispositivos de entrada e saída podem também ser denominados como periféricos. 
Existem diversos tipos de elementos de E/S, impressoras, mouse, teclado, monitor, e ainda outros com diferentes aspectos, como, sensores analógicos, termostato, elementos sensíveis ao calor ou um sinal eletromagnético, como um radar ou um sonar, que servem para captar informações do mundo exterior passando ao sistema para processamento ou vice-versa.
É através do barramento (system bus) que é feita a interligação entre os dispositivos E/S ao processador/MP, e é onde fluem as informações, dados, endereços e sinais de controle.
O barramento do sistema permite o compartilhamento de informações entre os diversos componentes de um computador
Apesar dos dispositivos de entrada/saída terem o mesmo objetivo (comunicação, homem/máquina) possuem características diversas. Como por exemplo, o próprio dispositivo em si; a interface, que controla o dispositivo, e também provêm a conexão com o barramento e o resto do sistema, e os barramentos onde são conectados tais dispositivos. Costuma-se integrar os diversos elementos que cooperam no processo de entrada e saída em um subsistema, que é parte do sistema de computação.
Um subsistema de entrada e saída deve em conjunto ser capaz de realizar duas funções: receber ou enviar informações ao meio exterior, e converter as informações (de entrada ou saída) em uma forma inteligível para a máquina (se estiver recebendo) ou para o programador (se estiver enviando).
Esta linguagem pode ser interpretada pelo ser humano visualmente, como por exemplo: caracteres alfabéticos, algarismos decimais, sinais de pontuação, etc. Já os computadores se restringe a 0 e 1, através de dois sinais elétricos com intensidade diferente, campos magnéticos com dois sentidos de magnetização, etc. Então eles convertem o movimento de uma tecla que está sendo apertada em um conjunto de sinais elétricos para que o computador possa compreender qual caractere ou função foi solicitada.
Interfaces de E/S
Existem algumas peculiaridades que podemos citar na relação entre o conjunto processador/MP e o subsistema E/S:
Exemplos de dispositivo de E/S e a sua velocidade de transmissão de dados:
	Dispositivo
	Taxa de transmissão (KB/s)
	Teclado
	0,01
	Mouse
	0,02
	Impressora Matricial
	1
	Modem
	2 a 8
	Disquete
	100
	Impressora a Laser
	200
	Scanner
	400
	CD-ROM
	1000
	Rede Local
	500 a 6000
	Vídeo Gráfico
	60000
	Disco Rígido (HD)
	2000 a 10000
A primeira coisa é que a taxa de transmissão é diferente de cada dispositivo;
As atividades do E/S são assíncronas, ou seja, não estão sincronizadas com o clock do processador, sendo imprevisíveis no tempo. Por esta razão precisa estabelecer regras para o início e o fim das comunicações entre os dispositivos e o barramento.
As linhas de conexão que existem entre cada periférico e o sistema processador/MP possuem um determinado comprimento (um a dois metros), sendo assim podem ocorrer falhas na transmissão nos sinais deles, corrompendo ou invertendo os valores de um ou mais bits. Para se precaver quanto a este problema é necessário que dote um sistema para detecção e correção de possíveis erros.
Cada dispositivo possui suas próprias características, tais como: formato dos dados a serem transmitidos/recebidos, quantidade de sinais (bits) passados de cada vez, etc. Devido a serem vários periféricos conectados a um só elemento (processador/memória), seria muito difícil a comunicação se fosse realizada individualmente entre processador e o periférico, não seria viável e muito menos prático. 
Devido a essas diferenças não é possível conectar o processador diretamente a cada periférico, sendo assim foi introduzido entre o barramento e o periférico, um dispositivo chamado de interface de E/S ou controlador, para realizar a tradução dos bits e a compatibilização das características de um dispositivo E/S para o outro, assim com outras tarefas como o controle.
Então o dispositivo de entrada ou saída se comunica com o usuário ou dispositivo, e com a sua interface de E/S. Compreendendo o envio e o recebimento de dados (bits) e sinais de controle.
Existem três partes distintas , sendo a primeira o módulo de interface de E/S e suas conexões
- registradores de dados, ligado à parte de dados – BD – do barramento do sistema;
- registrador de endereços, ligado à parte de endereço – BE – do barramento do sistema;
- registrador de controle, armazena o (s) sinal (ais) de controle trocado (s) entre o barramento e a interface durante uma operação de E/S.
Já a segunda parte distinta é no espaço de armazenamento dos dados que vão trafegar durante a operação ou operações de E/S, podendo agir a interface de modo como “amortecedor/acelerador” – buffer – das diferentes velocidades entre o dispositivo de E/S e o barramento-sistema processador/MP.
A terceira parte é onde se localiza a lógica de funcionamento da interface, que faz com que exista a interação com os dispositivos externos, detecção de erros e outros processos, que dependem da natureza da interface e do(s) dispositivo(s), enquanto outras controlam vários deles, ou até mesmo o funcionamento eletromecânico.
Uma interface de E/S pode servir somente para a conexão do periférico ao barramento, pode servir também para controle de um único dispositivo de E/S ou a vários dispositivos sendo iguais ou diferentes.
A interface de E/S tem duas funções básicas:
Compartilhar o fluxo diferente de dados entre processador (através do barramento) e do dispositivo de E/S; e
Acionar e controlar o funcionamento do dispositivo.
Para isso, executam-se múltiplas tarefas, bem com:
Controlar e sincronizar o fluxo de dados entre o barramento e o periférico (parte de compatibilização);
Realizar a comunicação com o processador, inclusive interpretando suas instruções ou sinais de controle para o acesso físico ao periférico (parte de controle);
Servir de memória auxiliar para o tráfego das informações entre os componentes (buffer de dados) (parte de compatibilização); e
Realizar algum tipo de detecção e correção de erros durante as transmissões (parte de controle).
A sequência de etapas (simples) realizadas para utilização do periférico é um protocolo de comunicação entre o processador (barramento) e o periférico (pela interface). Casos mais complexo exigem protocolos mais complexos. 
Tipos de Transmissão
Existem três categorias dentro da classificação dos dispositivos:
Os que transmitem/recebem informações inteligíveis para o ser humano, por exemplo: impressoras, monitores de vídeo, teclados.
Os que transmitem/recebem informações inteligíveis apenas para a máquina, por exemplo: discos magnéticos e sensores.
Os que transmitem/recebem de/para outros dispositivos remotamente instalados, como por exemplo: modems e regeneradores digitais em redes de comunicação de dados.
Há duas maneiras básicas de se realizar transmissão/recepção de dados entre os periféricos/interfaces e o barramento e processador/MP, bem como entre dispositivos interconectados entre si, local ou remotamente: 
A informação pode ser transmitida/recebida, bit a bit, um em seguida do outro (transmissão serial); e
A informação pode ser transmitida/recebida em grupos de bits de cada vez, ou seja, um grupo de bits é transmitido simultaneamente de cada vez (transmissão paralela).
A escolha do tipo de interligação os elementos de E/S depende de vários fatores, assim como: tipo e natureza do periférico, custo de implementação e velocidade de transmissão desejada.
Transmissão Serial
Neste tipo de transmissão o periférico
é conectado ao dispositivo controlador ou interface de E/S por uma única linha de transmissão de dados. Como a transmissão é realizada de bit a bit, é necessário que o receptor e o transmissor estejam sincronizados bit a bit, ou seja, com a mesma velocidade. Para que o receptor seja capaz de receber todos os bits (um por um),ele precisa saber quando um bit inicia e qual é a sua duração (largura do bit), e ele precisa “sensar”, que é identificar o nível de tensão da linha para captar o bit que está chegando e identificá-lo como 0 ou 1.
Há dois métodos de fazer a transmissão serial:
Transmissão assíncrona; e 
Transmissão síncrona.
Transmissão Assíncrona
Consiste em um processo de sincronização do receptor a cada novo caractere transmitido (por isso o nome assíncrono). Para tanto antes de iniciar a transmissão cada caractere é acrescido de dois pulsos, um no início do caractere, denominado START, com a duração exta de 1 bit e valor de tensão correspondente ao bit 0, e o outro, denominado STOP, com valor de tensão igual ao do bit 1 e duração variável de entre 1 e 2 bits. No caso do START, trata-se de um bit 0 inserido antes do primeiro bit do caractere, passando a ser o novo primeiro bit do caractere. 
Quando não há transmissão, o transmissor envia continuamente bits 1 pela linha (nível alto de tensão). Quando um caractere é enviado, o receptor detecta a queda de tensão (nível alto quando não há transmissão, e nível baixo do START) e entra em sincronismo, recebendo, daí por diante, os demais bits do caractere até o STOP (ele possui um circuito contador e sabe quantos bits cada caractere tem, já que transmissor e receptor funcionam com o mesmo código de armazenamento).
Para se realizar a transmissão serial de forma assíncrona é necessário que em ambos os lados da linha de transmissão haja um dispositivo capaz de decompor cada caractere bit a bit e providenciar a inclusão dos bits START/STOP na transmissão e sua retirada após a recepção do caractere. Um dispositivo muito comum, usado em microcomputadores e que faz parte da maioria das pastilhas (chips) de entrada/saída, denomina-se UART (Universal Asynchronous Receiver/Transmiter), transmissor/receptor universal assíncrono. A UART é uma pastilha que emprega a integração em larga escala (LSI), cuja função básica é a decomposição e composição de um caractere em bits e vice-versa.
Principais componentes de uma UART: 
“Buffer” de saída de dados a serem transmitidos – recebe os n bits do caractere (podem ser 5, 6, 7 e 8 bits, dependendo do dispositivo que está sendo usado) e os envia para o registrador de transmissão.
Registrador de transmissão – desloca os bits do caractere um a um (shift register) para a linha de saída. Este deslocamento é realizado a cada pulso de relógio da UART.
Registrador de recepção e buffer de saída de dados recebidos – funcionam de modo semelhante, porém em sentido inverso ao dos dois registradores já descritos. O caractere é recebido bit a bit no registrador de recepção, que efetua o deslocamento de cada bit até completar todo o caractere e, então, o encaminha para o buffer de saída.
Unidade de controle – permite que a UART funcione de modo diferente, conforme a escolha do usuário: opção de paridade, e se houver, se será par ou ímpar.
Registrador de estado (semelhante ao flag dos microprocessadores) – possui um bit para indicar algumas ocorrências durante o funcionamento da UART, tais como: erro de paridade, erro de sincronização (a UART perdeu o bit START), dados disponíveis (para que o microprocessador leia o caractere).
Relógio – divide a frequência de transmissão (taxa de bands) para permitir o deslocamento de cada bit dos registradores e deslocamento.
Em geral, a taxa de transmissão é medida em bands (quantidade de símbolo transmitidos por segundo), que pode variar entre 110 bands e 38.400 bands.
Transmissão Síncrona
Consiste na transmissão de cada vez de blocos de caracteres sem intervalo entre eles e sem pulso START/STOP (isto reduz a quantidade de bits que não são usados para efetiva representação dos caracteres e que ocupam a capacidade de linha).
Na transmissão síncrona a eficiência seria:
E=100 caracteres= 95%
 105 caracteres
Os 105 caracteres do denominador compreendem os 100 caracteres da informação que se deseja transmitir mais cinco caracteres especiais necessários ao controle da transmissão e formato do bloco de caracteres.
Como os caracteres são agrupados em blocos, surge a necessidade de um outro nível de sincronização entre transmissor e receptor – para identificação do início e do fim do bloco. Para tanto, usa-se a inserção de um grupo de bits no início do bloco (marca o início da contagem de bits a serem recebidos) e outro no seu final.
Há pastilhas (chips) que podem realizar as tarefas necessárias à formação do bloco de transmissão, inclusão dos caracteres especiais de controle e detecção de erros, denominadas USART (Universal Synchronous Asynchronous Receiver Transmiter), transmissor/receptor universal síncrono e assíncrono, que também podem realizar as atividades de uma UART.
Transmissão Paralela
Um grupo de bits é transmitido de cada vez, cada um sendo enviado por uma linha separada de transmissão. Sua utilização é mais comum para transmissão interna no sistema de computação e para ligação de alguns periféricos a curta distância, visto que o custo da transmissão paralela é maior em face da quantidade de linhas utilizadas. Quanto maior a distância entre os dispositivos, maior será o comprimento da conexão e maior o custo correspondente. A pastilha Intel 8255 A (Programmable Peripheral Interface – PPT) é um bom exemplo par controlar a transmissão paralela em microcomputadores. Outra interface muito utilizada na conexão de impressoras é o CENTRONICS. O padrão CENTRONICS (padrão porquê é comumente mais usado, define um conjunto de sinais que fluem pelas linhas de conexão, e um outro tipo de interface paralela é a CSI – Small Computer Systems Interface), empregado para controlar dispositivos com elevado volume e velocidade de transmissão, como discos magnéticos e CD-ROM.
Imagina-se que a transmissão paralela seja mais rápida que a transmissão serial, permitindo maiores taxas de transmissão. No entanto, no caso dos bits de dados, para que o receptor capte o dado enviado em paralelo é necessário que todos os N sinais caminhem e cheguem no mesmo instante para que o pulso de relógio do instante. Nas transmissões paralelas à medida que as velocidades de transmissão forem aumentando podem ocorrer falhas, pois pode ocorrer dos bits não chegarem ao destino exatamente no mesmo instante, isto se chama de desvio (skew), devido a ligeiras diferenças de comprimento dos cabos que constituem os canais. A solução foi retornar à transmissão em série, transmitindo um bit de cada vez.
Por conta disso, em 1995, surgiu o padrão USB (Universal Serial Bus), com o padrão fireware e outros sistemas em série de alto desempenho.
Dispositivos de E/S
Teclado
Do modo geral há três categorias no mercado:
Teclados apenas numéricos – é o caso das calculadoras de bolso ou de mesa;
Teclados para sistemas dedicados – consistem em teclas necessárias apenas para a entrada de informações relativas à tarefa do sistema. Como um teclado para controle de um sistema, como por exemplo de um ar condicionado, aquecimento, ventoinha, bomba, etc.
Teclado comum para uso geral – constituído de todas as teclas alfabéticas (permite a entrada de caracteres maiúsculos e minúsculos), numéricas, de sinais de pontuação, de operações aritméticas e outras teclas para certas funções especiais, tendo de 80 a 125 teclas.
Existem três tecnologias de fabricação de teclas:
Teclas mecânicas;
Teclas capacitivas; e
Teclas de efeito-hall.
O funcionamento básico dos teclados utilizados nos computadores:
 Detecção do pressionamento de uma tecla – um processador interno ao teclado efetua periodicamente uma varredura para detectar o pressionar de uma tecla;
Realização
de “debouncing” do pressionamento – consiste em confirmar se realmente a tecla foi pressionada, sendo assim o processador repete várias vezes a varredura;
Geração do código correspondente à identificação da tecla pressionada – no caso dos microcomputadores, isto significa a geração, por um circuito codificador de colunas e linhas, de um código binário (8 bits) referente à tecla pressionada, denominado código de varredura (scan code);
Geração de m sinal de interrupção - referente à ação corrente (o pressionar da tecla), de modo a fazer com que o processador tome providências relativas à identificação da tecla em questão e o seu valor seja passado ao programa corrente;
O processador troca sinais (relativos a interrupção) com o processador do teclado, para finalmente o código de varredura ser transmitido para a área de memória principal, onde é interpretado por um programa de E/S residente no microcomputador;
O programa em questão (BIOS – Basic Input Output System), sistema básico de entrada/saída, realiza uma detalhada análise do código recebido, para verificar, por exemplo, se a tecla foi pressionada sozinha ou em combinação com outra, ou se já existe uma tecla acionada anteriormente, e finalmente coloca o código ASCII correspondente na área da memória apropriada.
Monitor de Vídeo
Um dos periféricos mais populares e necessários, existem diversas tecnologias:
VRC – válvula de raios catódicos (CRT – cathode – ray tube);
DEL – diodos emissores de luz (LED – light emitting diodes);
VCL – vídeos de cristal líquido (LCD – liquid – crystal display);
VPE – vídeos com painel estreito (TDP – flat panel display).
O elemento básico de um monitor VRC é uma válvula composta dos seguintes elementos:
Um catodo, mais comumente denominado canhão de elétrons;
Um anodo, que é a tela frontal, coberta com fósforo;
Um par de bobinas (Yoke), que servem para deflexionar o feixe horizontalmente e verticalmente.
Seu funcionamento básico, pode ser resumido da seguinte forma:
O canhão de elétrons emite os elétrons, que devido à diferença de potencial elétrico entre ambos os elementos caminha em velocidade para a tela frontal, bombardeando-a de tal forma que o fósforo se torna iluminado, aparecendo no local um ponto pequeno e brilhante.
No caminho para a tela, o feixe de elétrons sofre uma deflexão de modo a produzir o ponto brilhante em qualquer local que deseje. Essa deflexão pode ser acarretada por uma corrente elétrica que passe em dois pares de placas, X e Y, ou pode ser realizada magneticamente através da passagem de corrente elétrica por um par de bobinas orientadas em ângulo reto, e colocadas na parte externa da VRC.
Um dos modos de deflexionar o feixe de elétrons (seja com yoke ou por coordenada X e Y) denomina-se varredura de rastro (raster-scan).
É importante como o feixe de elétrons acende e apaga em seu percurso pela tela, isto é, de onde vem o sinal e como ele constitui, para controlar o acendimento e apagamento do feixe. Trata-se da informação propriamente dita, armazenada no computador sob a forma binária, mas que representa um símbolo que desejamos ver na tela.
Há basicamente duas modalidades de representação de símbolos em uma tela de vídeo:
Modalidade textual – a tela é dividida em linhas e colunas para formar uma matriz de localização, cada local servindo para armazenar um símbolo válido conforme o código de representação utilizado. Cada símbolo é construído por uma matriz de pontos (o ponto brilhante que surge quando o feixe de elétrons acende), em geral sendo de tipo 5X7, 5X9 ou 7X9 (colunas x linhas). Para produzir estes pontos a interface do vídeo deve produzir e emitir as frequências horizontal e vertical. Cada caractere é armazenado na memória de vídeo (do processador ou da interface) como um conjunto de 2 bytes de informações, um para indicar o código de armazenamento do caractere propriamente dito e o outro para indicar os atributos de representação do caractere na tela.
Modalidade gráfica ou Bit a Bit – a tela do monitor é composta por uma única matriz de pontos, que podem estar em um certo instante, brilhantes (ligado) ou apagado (desligado). Cada ponto ou elemento é denominado um pixel (picture element), que contém 1 bit de informação para terminais monocromáticos ou mais bits se for colorido. Esta flexibilidade presente nesta tecnologia, fez surgir a s fontes de caracteres (fonts), largamente empregados nos mais diversos aplicativos. Cada informação é movimentada da memória de vídeo para a tela em grandes quantidades de bits.
Resolução dos monitores de vídeo:
VGA – Video Graphics Array – surgiu em 1987 com o lançamento do PS/2 da IBM, tendo várias medidas, sendo o mais popular 640X480 pixels, com 16 cores, frequência vertical de 70Hz e horizontal de 3,5kHz.
SVGA – Super VGA – surgiu em 1989 com uma medida de 800X600 pixels, com 16 cores, e uma faixa de frequências verticais entre 56 e 72 Hz, com frequências horizontais entre 31,5 e 48,0kHz.
8514A – surgiu também em 1987, pela IBM para seus sistemas de vídeo, e aceita resoluções de 640X480, 1024X768, e até 1280X1024 pixels, com 16 e 256 cores.
Impressoras
Um periférico clássico de saída, onde as informações armazenadas internamente no computador sob a forma binária são de algum modo convertidas em símbolos impressos em um meio externo qualquer e em formato inteligível ao homem.
Características básicas:
O volume de impressão que ela suporta em uma unidade de tempo, impressoras podem indicar a sua vazão de impressão em caracteres por segundo (cps), em linhas por minuto (lpm) e em páginas por minuto (ppm).
A tecnologia utilizada, de impacto podendo ser: esfera, margarida, matricial, jato de tinta, laser, por transferência de cera aquecida (thermal-wax) ou por sublimação de tinta (dye-sublimation).
Mouse
Um periférico que cujo propósito é facilitar o trabalho da comunicação do usuário com o sistema. É um dispositivo apontador, é apropriado apenas para interligação visual do usuário com o sistema. Possui um sensor (podendo ser ótico, mecânico ou ótico-mecânico) que capta seu movimento em uma superfície plana e transmite informações sobre este dispositivo ao sistema e dois ou três botões. Um programa que controla o funcionamento do dispositivo e se comunica com o computador, converte as informações do movimento do mouse em movimento de um elemento apontador na tela do vídeo. O usuário escolhe o que quer apontar e seleciona, pressionando um dos botões do mouse.
Métodos para realização de operações de E/S
A comunicação entre a UCP e a interface pode ocorrer através de um entre três possíveis métodos:
Entrada/saída por programa – o processador é utilizado intensamente para a realização de uma operação de E/S, sendo que ele perde tempo apenas questionando se um determinado dispositivo está pronto para uso (pooling), quando o estado é reconhecido como pronto, então o processador comanda a operação de escrita ou leitura, até se completar todo o processo. O processo de entrada/saída isolada consiste em criar um espaço de memória próprio de E/S e diferente da memória principal. Com memória compartilhada, basta haver no barramento de controle uma única linha de leitura (read) e de escrita (write), visto que a memória é a mesma, somente poderá ocorrer em cada instante uma operação de leitura/escrita para UCP/MP ou uma para UCP/E/S. Os endereços de E/S isolada são chamadas de portas (ports). Existem também sinais de controle especiais para o espaço de E/S, como a memória é compartilhada (memory-mapped) tem a vantagem de não necessitar de qualquer instrução especial.
Entrada e saída com emprego de interrupção – a comunicação UCP/interface/periférico funciona assim:
O processador emite a instrução de E/S para a interface e, como não deverá haver uma resposta imediata, em vez de ficar continuamente verificando o estado do periférico, o processador desvia-se para realizar outra atividade;
Quando a interface está pronta para enviar os dados do periférico para o processador ela “avisa” ao processador através de um
sinal de interrupção, rompendo a atividade do programa corrente do processador para que este dê atenção ao dispositivo que interrompeu;
 O processador inicia, então o programa de E/S como se fosse o método anterior.
Acesso direto à memória – DMA – a melhor alternativa para se realizar operações de E/S com o máximo de rendimento da UCP, consiste na realização da transferência de dados entre uma determinada interface e a memória principal, praticamente sem intervenção do processador, pois o processador se limita a solicitar a transferência para um dispositivo denominado DMA controller, que realiza por si só a transferência. O processador fica liberado para fazer outras atividades, e quando finalizada a operação é sinalizado o processador através de uma interrupção.
Fonte: Introdução à Organização de Computadores, Autor> Mário A. Monteiro, 5ª Edição, 
 Editora LTC.
Os ultrabooks e tablets utilizam a transmissão síncrona e serial, por ser mais fácil e prática. Pois a transmissão serial é mais segura, comumente não possui falhas, pelo fato de ser transmitido bit por bit, o oposto da paralela. Já a forma síncrona é utilizada por ser mais eficiente conforme a conta de eficiência apresentada neste resumo com eficiência de 95%.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando

Outros materiais