Trabalho Completo Dispositivos De E/S

Dispositivos De E/S

Imprimir Trabalho!
Cadastre-se - Buscar 155 000+ Trabalhos e Monografias

Categoria: Tecnologia

Enviado por: Gabriel 01 dezembro 2011

Palavras: 4246 | Páginas: 17

...

rface aos dispositivos, a comunicação é diferente para cada tipo de dispositivo de e/s.

1.1 Como o processador e interfaces de E/S se comunicam

As interfaces de e/s estão ligadas ao processador através de barramentos de endereços, dados e controle. Assim como o processador se comunica com a memória principal, enviando e recebendo dados, o processador também precisa se comunicar com os dispositivos de e/s, recebendo e enviando dados. Para identificar o dispositivo, cada interface de e/s é identificada por um endereço único. O processador pode realizar operações de leitura ou de escrita.

Nas operações de leitura, o processador envia pelo barramento, o endereço da interface com o qual ele deseja se comunicar, e ativa um sinal de leitura. A interface que possui aquele endereço se identifica e envia a informação desejada pelo barramento de dados. Logo em seguida o processador lê a informação e retira o sinal de leitura.

Semelhantemente, nas operações de escrita, o processador envia o endereço da interface e ativa um sinal de escrita. A interface correspondente àquele endereço responde quando está pronta para receber os dados. Assim que o processador recebe a resposta da interface, envia os dados pelo barramento e a interface armazena essa informação. Ao final, o processador retira os dados enviados e desativa o sinal de controle.

Observa-se que todos esses eventos são comandados pelo processador e ocorrem em sincronismo com o sinal de clock.

1.2 Principais técnicas de transferência de dados em operações de E/S

1.2.1 Comunicação em Paralelo

Na comunicação em paralelo, grupos de bits são transferidos simultaneamente através de várias linhas condutoras de sinais, como mostrado na figura 2, tendo assim uma alta taxa de transferência de dados.

Figura 2 - Comunicação em paralelo

Apesar de se obter uma alta taxa de tranferência de dados, o processo de tranferência de dados numa comunicação em paralelo é mais complexo e mais caro devido ao fato de que os sinais podem ser conduzidos com velocidades diferentes pelos barramentos, esse fenômeno é chamado de skew. Por conta disso, os bits chegam ao destino fora de ordem, e a informação pode ser perdida.

Assim a utilização da comunicação em paralelo é utilizada somente em aplicações que necessitem de altas taxas de tranferência.

1.2.2 Comunicação em Serial

Na comunicação em serial, os bits são transferidos através de uma única linha condutora de sinal. Os bytes são transferidos individualmente, bit após bit. O dispositivo que recebe esse sinal transforma essa informação serial em paralela.

Figura 3 - Comunicação em serial

A transmissão em serial é mais lenta que em paralelo, porém mais simples de ser implementada porque não precisa tratar skew. Porém a transmissão em serial traz consigo um problema de sincronização entre o emissor e o receptor, pois o receptor não consegue distinguir onde começa e onde termina cada byte. Existem dois tipos de transmissão que tratam esse problema: a transmissão síncrona e a transmissão assíncrona.

1.2.3 Transmissão Síncrona e Assíncrona

Na transmissão síncrona, o intervalo de tempo entre o envio de dois bytes é sempre constante. Nesse método o transmissor e o receptor são sincronizados pelo mesmo relógio. O receptor recebe as informações na mesma velocidade em que o emissor as envia. Esse tipo de transmissão não pode ser usado em uma velocidade muito alta, pois o receptor terá dificuldade de distinguir cada byte.

Já na transmissão assíncrona, representada na figura 4, o intervalo de tempo entre o envio de dois bytes não é constante. Como o fluxo de bytes não é homogêneo, não há como diferenciar entre ausência de bits e presença de bits, assim convencionou-se que na ausência de bits, é enviado o bit 1, e quando o emissor for começar a enviar o sinal, antes envia um start bit, ou seja, envia o bit 0 para sinalizar que a partir daí vai chegar um byte. Por medida de segurança, ao final de cada byte é enviado bits de parada (ou stop bits), convencionado em 1 para distinguir do start bit.

Figura 4 – Representação da transmissão assíncrona

Os bits de informação são transmitidos em intervalos de tempo iguais entre o start bit e os stop bits. Portanto, transmissor e receptor estarão sincronizados entre o envio dos bits de start e stop.

1.3 Metodologia de Transferência de Dados

1.3.1 E/S programada

Figura 5 - Funcionamento da E/S programada

Na e/s programa ou também chamada de e/s com polling, o processador controla toda a transferência de dados entre a memória e a interface de e/s. Cada interface possui um registrador de estado, já mencionado anteriormente. Esse registrador armazena um bit chamado de done bit.

Numa operação de leitura, por exemplo, o processador envia um comando de leitura ao controlador e, em seguida, fica testando continuamente (em o que chamamos de busy loop) o registrador de estado para verificar se o dado solicitado já está disponível. Em caso afirmativo, o processador efetua a leitura. Esse procedimento de verificar periodicamente o estado de uma operação de e/s é denominado de polling.

A principal vantagem desse método é sua simplicidade, porém ele gera um grande problema, que é a lentidão causada pelas operações de e/s, pois o processador fica ocupado todo o tempo da operação de e/s “perguntando” ao dispositivo se está disponível. Isso representa um desperdício muito grande de tempo do processador.

O ideal seria que o dispositivo de E/S sinalizasse o processador logo que o dado estivesse disponível.

1.3.2 E/S com interrupção

Nesta técnica, a interface é responsável por notificar o processador, através de um sinal de interrupção, quando o dispositivo de e/s está pronto para ser utilizado ou quando a operação de e/s foi concluída.

Primeiro, o processador envia para a interface o comando (escrita ou leitura) e os dados necessários a realização deste comando. Logo após isso, o processador passa a executar outra atividade qualquer, por exemplo, parte de outro programa.

Quando o dispositivo de e/s fica disponível para a realização do comando recebido pelo processador, a interface manda ao mesmo, um sinal de interrupção. Ao receber o pedido de interrupção, o processador suspende a execução do programa corrente e passa a executar uma rotina especial, chamada rotina de serviço de interrupção (ou device driver, ou device handler). Nesta rotina, o processador verifica se a operação terminou. Se este é o caso, o processador conclui a operação lendo o registrador de estado da interface. Caso contrário, o processador envia um novo dado e retorna para o programa que se encontrava em execução.

Pode acontecer de num computador, várias interfaces diferentes fazerem pedidos de interrupção ao processador. Cada interface deve ser atendida por uma rotina de serviço de interrupção específica para aquela interface. Assim, ao receber um pedido de interrupção, o processador deve determinar qual a rotina de serviço deve ser executada. Além disso, quando duas ou mais interfaces fazem pedidos de interrupção simultâneos, é necessário decidir qual o pedido de interrupção será atendido. Estas duas funções são suportadas por um componente chamado controlador de interrupção (ou interrupt controller).

O sinal de interrupção de cada interface é ligado ao controlador de interrupção. O controlador de interrupção atribui um número e uma prioridade a cada um destes sinais. Quando um pedido de interrupção acontece, o controlador de interrupção envia para o processador, através do barramento de dados, o número do pedido. No caso de dois ou mais pedidos simultâneos, o controlador decide qual é o pedido com maior prioridade e envia para o processador o número correspondente.

Na e/s com interrupção o processador não fica dedicado à operação de e/s, pois enquanto o dispositivo de e/s não se encontra disponível para a realização da operação, o processador pode realizar outras tarefas. Porém gasta-se tempo com o envio da interrupção, com o controlador da interrupção e o desvio para a rotina de serviço. Todo esse tempo gasto é chamado de tempo de latência (ou latency time).

Em alguns tipos de periféricos, a taxa de transferência de dados entre o periférico e a interface é muito alta, ou em outras palavras, o intervalo de tempo entre a transferência de dois dados consecutivos entre o periférico e a interface é muito pequeno. Devido ao tempo de latência, o intervalo de tempo entre acessos do processador à interface pode tornar-se maior que o intervalo de tempo com que os dados chegam à interface. Se isto acontece, um novo dado chega à interface antes que o processador leia o dado anterior, e assim o dado anterior é perdido.

Na realidade, o que contribui para aumentar o tempo de latência é o fato de que o processador ainda é o responsável por controlar a transferência de dados. Para atender periféricos com alta taxa de transferência, usa-se a técnica de e/s com acesso direto à memória, onde o processador não participa da fase de transferência de dados.

1.3.3 E/S com Acesso Direto à Memória

Na e/s com DMA (Direct Memory Access) temos um componente chamado controlador de DMA, que é responsável por transferir os dados entre a memória e a interface de e/s.

Primeiro, o processador informa ao controlador de DMA o número de dados que serão utilizados, o endereço do primeiro dado e o sentido da transferência (da memória para a interface de e/s ou da interface para a memória). Em seguida, o processador envia para a interface o comando da operação.

O processador participa apenas dessa fase. Após isso, o controlador de DMA assume o controle dos barramentos para realizar a transferência entre a memória e a interface. Para tanto, o controlador de DMA coloca o processador em um estado, chamado hold state, no qual o processador fica impedido de iniciar ciclos de barramento.

Na e/s com DMA a transferência de cada dado envolve apenas uma leitura de memória e uma escrita de interface de e/s, realizadas pelo próprio controlador de DMA. A e/s com DMA elimina o tempo de latência associado a cada dado transferido, que existe na e/s com interrupção. Isto permite que a e/s com DMA atinja taxas de transferência bem maiores que as técnicas de e/s que envolvem o controle do processador.

Em geral, é possível ter várias interfaces de e/s operando com a técnica de acesso direto à memória. Para tanto, o controlador de DMA possui várias entradas para pedido de DMA. O controlador de DMA associa a cada uma destas entradas um conjunto independente de registradores para armazenar o número de dados a serem transferidos, o endereço inicial e o sentido da transferência. Um grupo de sinais de controle com seus respectivos registradores formam o chamado canal de DMA. O controlador de DMA se encarrega de arbitrar entre interfaces que fazem pedidos de DMA simultâneos, usando um esquema de prioridades atribuídas aos canais de DMA.

Figura 6 - Sistema com controlador de DMA

1.4 Tipos de barramentos

Barramentos (bus) são, em poucas palavras, padrões de comunicação utilizados em computadores para a interconexão dos mais variados dispositivos.

1.5.1 ISA

O barramento ISA é um padrão não mais utilizado, sendo encontrado apenas em computadores antigos. Seu aparecimento se deu na época do IBM PC e essa primeira versão trabalha com transferência de 8 bits por vez e clock de 8,33 MHz (na verdade, antes do surgimento do IBM PC-XT, essa valor era de 4,77 MHz).

Na época do surgimento do processador 286, o barramento ISA ganhou uma versão capaz de trabalhar com 16 bits. Dispositivos anteriores que trabalhavam com 8 bits funcionavam normalmente em slots com o padrão de 16 bits, mas o contrário não era possível, isto é, de dispositivos ISA de 16 bits trabalharem com slots de 8 bits, mesmo porque os encaixes ISA de 16 bits tinham uma extensão que os tornavam maiores que os de 8 bits. Com a evolução da informática, o padrão ISA foi aos poucos perdendo espaço. A versão de 16 bits é capaz de proporcionar transferência de dados na casa dos 8 MB por segundo, mas dificilmente esse valor é alcançado, ficando em torno de 5 MB. Como essa taxa de transferência era suficiente para determinados dispositivos (placas de modem, por exemplo), por algum tempo foi possível encontrar placas-mãe que contavam tanto com slots ISA quanto com slots PCI (o padrão sucessor).

1.5.2 SCSI

O padrão SCSI (Small Computador System Interface) é uma interface que permite a conexão de vários periféricos de tipos diferentes em um computador através de uma placa, chamada adaptador SCSI ou controlador SCSI (ligado geralmente através de um conector PCI).

O número de periféricos que podem ser ligados depende da amplitude do canal SCSI. Com um canal 8 bits é possível ligar 8 unidades físicas, ou 16 unidades em um canal 16 bits. O controlador SCSI representa uma unidade física nesse canal, portanto na prática, um canal de 8 bits aceita 7 periféricos, e o de 16 bits aceita 15.

O endereçamento dos periféricos se dá por números de identificação. O primeiro número é o ID, que corresponde ao controlado. Um computador pode comportar várias placas SCSI, e é por isso que há um número de placa atribuído a cada uma.

O barramento SCSI assimétrico, chamado de SE (Single Ended), é baseado numa arquitetura paralela na qual cada canal circula sobre um fio, o que o torna sensível às interferências. As coberturas SCSI em modo SE possuem 8 fios no caso de transmissão de 8 bits ou 16 fios para um cabo 16 bits.

1.5.3 PCI

O barramento PCI surgiu no início de 1990 pelas mãos da Intel. Suas principais características são a capacidade de transferir dados a 32 bits e clock de 33 MHz, especificações estas que tornaram o padrão capaz de transmitir dados a uma taxa de até 132 MB por segundo. Os slots PCI são menores que os slots ISA, assim como os seus dispositivos, obviamente.

Mas, há uma outra característica que tornou o padrão PCI atraente: o recurso Bus Mastering. Em poucas palavras, trata-se de um sistema que permite a dispositivos que fazem uso do barramento ler e gravar dados direto na memória RAM, sem que o processador tenha que "parar" e interferir para tornar isso possível. Note que esse recurso não é exclusivo do barramento PCI.

Outra característica marcante do PCI é a sua compatibilidade com o recursoPlug and Play (PnP), algo como "plugar e usar". Com essa funcionalidade, o computador é capaz de reconhecer automaticamente os dispositivos que são conectados ao slot PCI. Atualmente, tal capacidade é trivial nos computadores, isto é, basta conectar o dispositivo, ligar o computador e esperar o sistema operacional avisar sobre o reconhecimento de um novo item para que você possa instalar os drivers adequados (isso se o sistema operacional não instalá-lo sozinho).

1.5.4 USB

Antigamente, conectar dispositivos a um computador era uma tarefa muito dificil e pouco intuitiva,apenas técnicos e usuários experientes conseguiam ,devido a uma série de conexões,cabos e portas. Diante disso, a indústria entendeu a necessidade de criar um padrão que facilitasse a conexão de dispositivos ao computador. Assim, em 1995, um conjunto de empresas - entre elas, Microsoft, Intel, NEC, IBM e Apple - formou um consórcio para estabelecer um padrão. Surgia então o USB Implementers Forum. Pouco tempo depois disso, as primeiras especificações comerciais do que ficou conhecido como Universal Serial Bus (USB) surgiram. Existem muitas vantagens nesse tipo de barramento, por isso vamos apenas alistar algumas delas : existe um padrão de conexão em todos dispositivos USB; quase todos os dispositivos USB são concebidos para serem conectados ao computador e utilizados logo em seguida; a maioria dos dispositivos que usam USB não precisa ser ligada a uma fonte de energia, já que a própria conexão USB é capaz de fornecer eletricidade; é possível conectar até 127 dispositivos ao mesmo tempo em uma única porta USB; o padrão USB é compatível com diversas plataformas e sistemas operacionais entre outros.

2. Gravador de CD

2.1 Aspectos Técnicos do CD-ROM (funcionamento interno do dispositivo):

O funcionamento do CD-ROM básico é bastante simples, baseado na reflexão da luz. Dentro do drive, o CD gira a uma grande velocidade e a cabeça de leitura se desloca dentro do drive para atingir toda a superfície do disco. Embora inclua apenas uma lente, a cabeça de leitura é composta por dois componentes independentes: o laser de leitura e um sensor, que capta a luz refletida pelo disco, possibilitando a leitura.

Figura 7 – Canhão de Leitura Óptica

O ponto importante nos CD-ROMs é a velocidade. Quanto maior for à velocidade de rotação do disco, maior é a taxa de transferência de dados. Os primeiros drives transferiam dados a uma velocidade de 150 KB por segundo (KB/s).

Esses eram chamados de drives de velocidade simples, ou seja, 1X. Com a evolução da tecnologia, foram lançados drives cada vez mais rápidos. Com a tabela abaixo é possível entender melhor a razão sobre velocidade e leitura de dados:

Velocidade | Transferência de Dados |

1x | 150KB/s |

2x | 300KB/s |

8x | 1200KB/s |

16x | 2400KB/s |

24x | 3600KB/s |

56x | 8400KB/s |

Os primeiros drives de CD-ROM operavam em um modo de rotação chamado CLV (Constant Linear Velocity - Velocidade Linear Constante). Sua velocidade de rotação variava, com o objetivo de manter uma taxa de transferência constante, o que era exigido para a reprodução de CDs de áudio. Nas trilhas externas, existem mais bits gravados que nas trilhas internas, assim para compensar a diferença, o disco precisava girar mais depressa quando operava nas trilhas internas e mais lentamente quando nas trilhas externas. Os modelos de velocidade simples (1X) giravam o disco a 530 RPM (rotações por minutos) nas trilhas internas e 200 RPM nas trilhas externas. Não é difícil fazer o disco girar em velocidades altas, mas a aceleração e a desaceleração necessária quando a cabeça de leitura é movimentada ao longo do disco, fazia com que o tempo de acesso ficasse bastante longo.

A partir da velocidade de 16X, os drives de CD passaram a usar um modo de rotação chamado CAV (Constant Angular Velocity - Velocidade Angular Constante). Ao invés de girar o disco com velocidade variável, de modo a obter a mesma taxa de transferência, tanto nas trilhas externas como internas, o drives CAV giram o disco em uma velocidade constante. A vantagem desse processo é um tempo de acesso menor, já que o disco não precisa ser acelerado/desacelerado de acordo com os movimentos da cabeça de leitura. A desvantagem é que a taxa de transferência mais elevada só é obtida nas trilhas externas. Nas internas, essa taxa é aproximadamente igual à metade do seu valor nas trilhas externas.

A variação da taxa de transferência não permite a reprodução de CDs de áudio, pois estes devem operar em CLV, com velocidade 1X. Mas isso não é problema, pois os drives, quando reproduzem CDs de áudio, reduzem automaticamente a sua velocidade para 1X, em modo CLV.

Em suma, as características essências de um CD-ROM são ditadas pela velocidade e taxa de transferência de dados, tudo isso, conforme as especificações internas de cada aparelho.

- Tipos de drives:

CD de áudio: O primeiro tipo de CD, que permite somente a leitura de discos de áudio com 72 ou 80 minutos de som.

CD-ROM: Discos de dados com capacidade para 650/700 MB de dados.

CD-R: CD que pode ser gravado uma única vez (requer um drive próprio para isso).

CD-RW: CD que pode ser gravado e regravado (requer um drive próprio para isso). Os aparelhos de CD-RW conseguem gravar mídias no formato CD-R e executam normalmente CDs de áudio e dados.

2.2 Interfaces de Acessos:

2.2.1 Física

A conexão dos drives de CD-ROM ao computador é feita através da parte traseira desses aparelhos. Nela, existem entradas para a fonte de alimentação (energia), para o cabo de dados (responsável por transmitir os dados do CD para o computador) e para o cabo de áudio (que deve ser ligado na placa de som para que seja possível a reprodução de CDs de áudio).

Na parte da frente dos drives de CD-ROM, encontram-se a bandeja onde o CD é colocado, uma entrada para fones de ouvido (não disponível em alguns aparelhos) e geralmente 2 dois botões: Load/Eject e Play.

Figura 8 – Aparelho de CD-ROM

O cabo de dados dos drives de CD-ROM geralmente deve ser conectado à interface IDE da placa-mãe (a mesma usada por HDs). Por essa característica, os drives desse tipo possuem jumpers para a escolha do modo de operação (Master ou Slave). Normalmente, o HD que contem o sistema operacional fica como master e o CD-ROM fica com slave, mas isso depende de cada computador.

2.2.2 Tipos de técnicas de transferência e metodologia usada no CD-ROM (com barramentos):

No dispositivo de E/S do CD-ROM possui barramento IDE (Integrated Device Electronics), que conta com a comunicação paralela ATA (Advanced Technology Attachment):

Essa interface é a mais comum usada por computadores voltados para usuários finais.

Um PC típico tem duas interfaces ATA. Os dois dispositivos ligados em uma interface são designados como Master e Slave. É preciso atuar sobre seus jumpers para indicar qual deles é o Master (Device 0) e qual deles é o Slave (Device 1).

O jumper mestre/escravo (master/slave) encontrado em unidades ópticas ATA pode ser configurado de três maneiras:

Mestre: Significa que este é o único dispositivo IDE que estará ligado ao cabo ou será o primeiro dispositivo quando dois dispositivos forem ligados ao cabo.

Escravo: Significa que este é o segundo dispositivo IDE que estará ligado ao cabo.

CS (Cable Select): Significa que, com a utilização de um cabo “especial”, chamado CS, a configuração de qual dispositivo será o mestre e o escravo será determinado pela posição do dispositivo e não pela configuração do jumper.

O barramento IDE é um dos mais simples existentes em um PC. O processador enxerga este barramento como um conjunto de 9 endereços de E/S. O barramento IDE primário ocupa os endereços 1F0-1F7 e 3F6. O barramento IDE secundário ocupa os endereços 170-177 e 376 (hexadecimal). O interessante é que os circuitos representados por esses endereços não ficam no barramento, e sim no dispositivo IDE (o disco rígido, por exemplo).

Esses circuitos são chamados de registradores, e cada um dele tem 8 bits. Note que alguns registradores são usados em operações de leitura e escrita, outros são somente para leitura, outros são somente para escrita.

Um valor no endereço 1F7 significa enviar um comando para o dispositivo (leitura de setor, gravação de setor, etc.). Ao lermos este mesmo endereço 1F7, estamos verificando o status do dispositivo, ou seja, obtendo informações sobre as operações em andamento ou finalizadas. Para o BIOS ou os drivers dos dispositivos IDE fazerem seus acessos, precisam executar operações de entrada e saída (IN e OUT) sobre os endereços apropriados do seu barramento.

Em resumo, os barramentos mais usados são: IDE (Integrated Device Electronics), barramento de dados que serve para a conexão do disco rígido, CD-ROM e outros dispositivos e SCSI (Small Computer System Interface), pois existiram alguns drives de CD-ROM que usavam a interface SCSI, que é voltada para o mercado de servidores e é raramente utilizada em computadores para usuários finais, normalmente precisam de uma maior velocidade de conexão com o dispositivo, e interface proprietária, que era utilizada pelas primeiras unidades ópticas (unidades de CD-ROM “1x” e “2x”) antes de o padrão ATA ser compatível com unidades ópticas, ou seja, uma interface criada pelo fabricante do CD-ROM e que não era compatível com outros fabricantes.

Além disso, o barramento SCSI tinha técnica de transferência de dados em paralelo e era descontinuada.

3. Referências bibliográficas

* Sites na internet:

* http://wwwusers.rdc.puc-rio.br/rmano/interfac.html

* http://www3.di.uminho.pt/~amp/textos/COA/node9.html

* http://www.inf.pucrs.br/~celso/a4_textoGerES.pdf

* http://pt.kioskea.net/contents/transmission/transmode.php3

* http://esmf.drealentejo.pt/pgescola/g2t10/html/cartip/tiptrans/sincass.htm

* http://penta2.ufrgs.br/tp951/trans_si.html

* http://www2.fis.ua.pt/fisica2006_CD/pdf/FAP28%20-%20SISTEMAS%20DE%20COMUNICA%C3%87%C3%83O%20S%C3%8DNCRONA%20E%20ASS%C3%8DNCRONA%20DE.pdf

* Livros:

* John L. Hennessy and David A. Patterson, Arquitetura de Computadores: Uma Abordagem Quantitativa. 3ª edição. Editora Campus, 2003

* Notas de aula da professora Roberta