Você está na página 1de 23

1.

DISPOSITIVOS EXTERNOS

Um sistema de computao no utilizvel se no dispuser de alguma espcie de entrada e de sada. As operaes de E/S so realizadas atravs de uma vasta gama de dispositivos externos que fornecem uma forma de transferncia de dados entre o ambiente exter no e o computador. Um dispositivo externo pendura -se ao computador por uma ligao a um mdulo de E/S (Figura 6.1). A ligao usada para trocar controlo, status e dados entre o mdulo de E/S e o dispositivo externo. Um dispositivo externo ligado a um mdulo de E/S muitas designado por dispositivo perifrico ou, simplesmente, por perifrico.
COLOCAR FIGURA

Os dispositivos de entrada e sada (E/S) ou input/output (I /O) so tambm denominados perifricos. Eles permitem a interao do processador com o homem, possibilitando a entrada e/ou a sada de dados. O que todos os dispositivos de entrada tm em comum que eles codificam a informao que entra em dados que possam ser processados pelo sistema digital do computador. J os dispositivos de sada decodi ficam os dados em informao que pode ser entendida pelo usurio. H dispositivos que funcionam tanto para entrada como para sada de dados, como o modem e o drive de disquete. Atualmente, outro dispositivo hbrido de dados a rede de computadores. Os principais dispositivos de entrada de informaes so: teclado, mouse, drive de CD / DVD-ROM, pen drive, scanner, microfone, joystick, cmera filmadora, cmera digital, tela sensvel ao toque, mesa grfica e caneta tica. Os principais dispositivos de sada de informaes so: monitor de vdeo, drive de CD-ROM, caixa de som, impressora, sensores (movimento, temperatura etc) e culos (para realidade virtual). Os principais dispositivos tanto de entrada como de sada de informaes so: modem, drive de disquete, gravador de CD / DVD e disco rgido.

1.1. Monitor de Vdeo

O monitor de vdeo um equipamento semelhante a uma TV, responsvel por transmitir informaes visuais ao usurio. um dispositivo de exibio de sada mais usado , exibindo texto, imagens e vdeos. Assim, na tela aparecem as informaes do sistema operacional e dos programas e em que, tambm, se pode ver o resultado do trabalho feito. importante lembrar que uma imagem na tela composta por pontos. Quanto maior for cada ponto menor ser a resoluo, ou seja, a nitidez da imagem. Quanto menor for o ponto, o mesmo vdeo possu ir mais pontos e melhor ser a resoluo. A resoluo da tela responsvel pela nitidez das imagens e do texto e depende de dpi - dots per inch, pontos por polegada, que servem para formar as imagens na tela. pixel - uma abreviatura de picture elements e representa os pontos. Quanto maiores forem os nmeros de dpi e de pixels melhor ser a resoluo. As imagens que aparecem na tela do monitor so geradas por uma placa que fica no interior do computador. A quantidade de cores e a resoluo que o monitor pode apresentar, tambm dependem da capacidade dessa placa.
1.1.1. Tamanho

O modo como se mede as telas de monitores CRT e LCD diferente. Nos monitores CRT, o tamanho da tela medido diagonalmente partindo das bordas externas da caixa do monitor, incluindo-as. Isto , a caixa tambm est inclusa na medio do tamanho, Nos LCD, o tamanho da tela medido diagonalmente a partir da borda da tela, ou seja, a medio no inclui a caixa.
1.2. Mouse

Pequena pea deslizante que serve para movimentar o cursor na tela, o que facilitado pela sua movimentao sobre um apoio de borracha retangular denominado mouse pad.

Com o mouse se pode apontar comandos na tela e ativ-los pressionando seu boto esquerd o, bastando o cursor estar sobre uma palavra ou figura que represente o comando. Disponibiliza quatro tipos de operaes: movimento, clique, duplo clique e arrastar e largar (drag and drop). Permite executar as mais diversas funes: selecionar textos, redimensionar figuras, arrastar etc... Desde que foi inventado, por Douglas Engelbart, na "Xerox Corporation", em 1963, o mouse tem praticamente as mesmas funes. O nome "mouse" ( = rato, em ingls) foi adotado pela equipe de Engelbart, embora no se saiba exatamente por quem. Entretanto, na poca em que surgiu, o mouse se mostrou pouco prtico, j que os computadores ainda eram incapazes de processar recursos grficos avanados e trabalhavam, essencialmente, com texto, no havendo, portanto, aplicao prtica para a inveno. Um dos primeiros computadores a usar o mouse de maneira expressiva foi o Xerox Star 8010, em 1981, mas ainda era um produto de pesquisa, sem comercializao. S em 1983 a "Apple" lanou o Lisa, o primeiro computador pessoal com mouse. Era tambm o primeiro com interface grfica, ou seja, que usava figuras para acionar comandos. Entretanto, o seu alto preo, quase US$ 10.000,00, era impeditivo para o grande pblico. Logo aps a Microsoft lanou o mouse para pcs, de preo muito menor. Mas o mouse s se popularizou realmente em 1984, quando a Apple lanou o computador Macintosh, que tinha sistema operacional orientado objetos, ou seja, baseado em figuras para acionar comandos, o que facilita o dilogo com o usurio. Assim, o uso do mouse tornou-se fundamental com a criao das interfaces grficas

Unidade de disquete

Permite acessar disquetes, que so discos magnticos flexveis - floppy disks, uma verso menor do disco rgido, porm com a vantagem de poderem ser removidos do equipamento, ou seja, so portteis, permitindo seu transporte de um microcomputador para outro ou guard -las evitando sua perda, caso as informaes que se encontram na memria do pc venham a ser apagadas ou danificadas. Os disquetes so mdias de armazenamento magntico. Embora sejam selados com uma capa dura de plstico, se resumem a um disco magntico que pode ler e gravar dados. O disco um circulo de material magntico semelhante ao encontrado em gravadores de fita cassete. Quando o disco est no drive roda como se fosse uma vitrola. A cabea do floppy funciona como a agulha da vitrola e toca fita magntica que est no disco. O tipo ainda usado tem 3,5 polegadas com capacidade de armazenamento em torno de 1,4 MB. Por oferecem pouco espao para armazenamento de dados e por poderem apresentar muitos problemas (qualquer campo magntico capaz de desorganizar as informaes gravadas), esses discos esto perdendo sua utilidade e sendo substitudos por CDs, DVDs e Pen Drives.
Unidade de CD-ROM

A Philips, em associao com outras empresas, desenvolveu os CDs ("Compact Disc") de udio, com qualidade sonora excelente, para substituir os discos de vinil e as fitas cassete. Desde ento, os CDs tambm se tornaram o meio mais eficiente e barato para armazenamento de dados e, quando so usados para tal fim so chamados de CD-ROM. Rapidamente a indstria de software praticamente eliminou a distribuio de programas em disquetes e passou a us-los. Assim, a unidade de CD permite acessar CD-ROMS, discos que tem grande capacidade de armazenar informao - 650 MB, ou seja, um CD equivalente a centenas de disquetes.

Hoje em dia os CD-ROM's suportam todo o tipo de dados: jogos, programas, textos, msicas, enciclopdias, livros, fotos, imagens (clipart's), cursos, banco de dados, etc O termo ROM vem do ingls "Read Only Memory" que significa que esse meio no se presta regravao de informao, mas apenas leitura. Atualmente os CDs convivem mas podem ser substitudos pelos DVD "Digital Video Disk", que tm capacidade de armazenamento ao redor de 4 GBs. Velocidade Quanto maior for a velocidade de rotao do disco, ou seja, a velocidade na qual o CD gira, maior a taxa de transferncia de dados. Os primeiros drives transferiam dados a uma velocidade de 150 Kb por segundo (Kb/s), que foram chamado s de drives de velocidade simples, ou seja, 1X. Essa velocidade foi aumentada rapidamente e foram lanados drives cada vez mais rpidos. Na parte frontal de cada aparelho consta a velocidade do drive. Para saber qual o valor da taxa de transferncia do d rive de CD-ROM, basta multiplicar esse nmero por 150. Por exemplo, se seu drive possui 52X, faa 52 150 = 7800 KB/s.
Mdias: os tipos de CD

Encontram-se venda dois tipos distintos de CD's (mdias) para a gravao de dados e msica: CD-R ("Compact Disc Recordable") e CD-RW ("Compact Disc Recordable Rewritable"). O CD-R permite que dados sejam gravados num CD somente uma vez, no possibilitando alterar ou apagar informaes. J o CD-RW possibilita gravar e regravar um CD, apagando e adicionando dados. Nas embalagens das mdias de CD-R e CD-RW deve constar a capacidade de armazenamento de dados, por exemplo: 650 MB / 74min. Ela diz que CD tem 650 MB de capacidade de armazenamento de dados e se for usado para gravao de udio, possui 74 minutos de capacidade. Tambm so comuns os discos com 700 MB/80 min.
Gravador de CD

Os "drives", neste caso, so chamados de - CD-R (para uma nica gravao): O gravador de CD, tambm denominado CD-R (CD - Recorder ) permite fazer gravaes de CDs, denominados de CDWORM (Write Once Read Man ), possibilitando armazenar uma grande quantidade de informaes (650 MBs). A nica desvantagem que uma vez gravadas, as informaes no podem ser alteradas. - CD-RW (quando admitem mais de uma gravao): denominado de CD-RW (Re-Writable), no qual as informaes, aps serem gravadas, podem ser apagadas e regravadas por vrias vezes.
Pen Drive

O pen drive (ou "flash memory" ou "memory key") uma espcie de disco rgido porttil, com capacidade de armazenamento de dados muito superior de um disquete ou de um CD. Os primeiros modelos tinham a aparncia de uma pequena caneta (em ingls, pen) o que originou esse apelido. Como pequeno e pesa poucas gramas, pode ser confundido com um isqueiro ou um pingente. Mas a verdade que pode levar uma biblioteca inteira gravada. Possui uma srie de configuraes, e a sua capacidade est em franco desenvolvimento. Assim, no final de 2005, j eram comuns os de 1 GB. O modelo com menor capacidade de armazenamento, 32 MB, equivale a 22 disquetes. Os mais potentes podem carregar sistemas operacionais inteiros, diversos textos, apresentaes, fotos, msicas e filmes. O uso do pen drive vem se tornando muito comum, pois permite levar no bolso o que necessitaria de dezenas de disquetes ou de alguns CDs. Assi m, facilita levar os dados de um computador para outro, com segurana. A utilizao fcil. Basta conectar em uma porta USB e o equipamento reconhecido por qualquer sistema op eracional, mas sob o Windows 98 necessrio instalar um driver, que deve ser procurado no site da empresa fabricante.

H modelos que parece um canivete suo hi-tech. Alm de ser um portas-arquivo, podem tocar msicas em MP3, funcionar como bloco de notas, ter rdio FM e agenda de telefone.
Zip Drive

O Zip Drive outra unidade de disco flexvel, ou seja, tambm um gravador e leitor de disquetes, atualmente em desuso. Porm os disquetes eram especiais, pois mesmo sendo semelhantes ao disquete de 3,5, so um pouco maiores em tamanho e espessura e tm maior capacidade de armazenamento. Os mais comuns conseguiam gravar 100 MB de informaes, o que equivale a 71 vezes mais que um disquete de um 1,44 MB. Assim, destinavase a minimizar o problema de armazenamento de dados a um custo acessvel. Usando uma tecnologia hbrida (magneto -ptica), possua grandes vantagens em relao aos disquetes convencionais: maior capacidade de armazenamento e durabilidade, boa portabilidade, mas o preo no chegou a ser muito acessvel.
Impressora

um equipamento que permite imprimir os trabalhos de textos, desenhos e imagens em uma folha de papel ou folha de transparncia. A qualidade de impresso medida em pontos por polegada (dpi). Uma impressora com qualidade de 600x800 dpi imprime em cada polegada quadrada 600 pontos no sentido longitudinal e 800 pontos no comprimento. As mais comuns so: matricial (baixa resoluo, impresso lenta); laser (altssima resoluo, impresso rpida); jato de tinta (alta resoluo, impresso em velocidade intermediria).
Scanner

Permite digitalizar textos e imagens (impressos em papel) para a memria do pc. A qualidade do scanner medida em pontos por polegada (dpi ), ou seja, pelo nmero de pontos em cada polegada quadrada qu e o equipamento

capaz de detetar e copiar. Muitos scanners possuem uma qualidade em torno de 300 a 2400 dpi. O scanner tem dois tipos de resoluo, a tica mxima e a interpolada. Se a resoluo ptica de um scanner popular de 300 dpi, a resoluo interpolada pode chegar a 9600 dpi. A resoluo interpolada aquela na qual o scanner, aps fazer a leitura ptica mxima, interpola outros pontos entre os pontos que foram captados na leitura (sca n). Os programas para scanners tm um sistema de reconhecimento tico de caracteres que permite ao programa reconhecer os caracteres impressos e escritos, chamado de OCR - Optical Character Recognition.
Joystick

usado principalmente para melhorar o desempenho do usurio em jogos. Permite movimentar de forma mais eficiente as imagens dos objetos na tela e acionar efeitos especiais (giro, tiros, etc.). Existe joystick especial com formato de volante de carro e de manche de avio.
PROJETOR MULTI MIDIA

Permite a projeo de slides ou vdeos transmitidos pelo micro, tornando-se, assim, uma excelente ferramenta para fazer apresentaes de aulas e palestras, que devem ser criadas em programas especiais, como o Impress do BrOffice.org ou o Power Point. Entretanto, o Data Show um aparelho caro. Uma opo mais econmica ligar o micro a uma televiso grande, usando um conversor digital/analgico, assim, os "slides" e as imagens enviadas pelo micro aparecero na tela da televiso.
Microfone e Cmera de Vdeo

Com um microfone e uma cmera de vdeo torna-se possvel a utilizao dos servios da Internet que permitem a transmisso de voz e/ou imagem em tempo real, como o vdeo-papo, vdeo-phone, udio-conferncia e vdeo- conferncia.

A cmera de vdeo pode captar a imagem em preto e branco ou colorido. Ela geralmente fica sobre o monitor para captar a imagem do rosto do usurio.
Cmera Fotogrfica Digital

Posteriormente transferi-las diretamente para o computador, por meio de um cabo. Um dos motivos do grande sucesso desse equipamento vem do fato de dispensar o uso de filme e o processo de revelao. As fotos podem ser armazenadas em um lbum de fotografias no prprio micro ou impressas em papis especiais, tendo uma qualidade prxima de uma fotografia revelada nos padres convencionais. E podem ser trabalhadas e corrigidas com o uso de programas editores de imagem.
MODULOS DE ENTRADA E SADA Funo do Mdulo

Um mdulo de E/S a entidade dentro de um computador responsvel pelo controlo de um ou mais dispositivos externos e pela transferncia de dados entre aqueles dispositivos e a memria principal e os regist ros da CPU. Assim, o mdulo de E/S tem de ter um interface interno ao computador (da CPU e a memria principal) e um interface externo para o computador (ao dispositivo externo). As categorias principais de funes ou requisitos para um mdulo de E/S caem dentro das seguintes:
y y y y y

Temporizao e Controlo Comunicao com a CPU Comunicao com o Dispositivo Temporizao dos Dados Deteco de Erros. Durante qualquer perodo de tempo, a CPU pode comunicar com um

ou mais dispositivos externos de forma imprevisvel, dependendo das necessidades de E/S. Os recursos internos, tais como, a memria principal e o barramento de sistema, tm de ser partilhados entre certo nmero de atividade

incluindo o processamento de informao de E/S. Assim, a funo de E/S inclui um requisito de temporizao e controlo, para controlar o fluxo de trfego entre os recursos internos e os dispositivos externos. Por exemplo, o controlo da transferncia de dados de um dispositivo externo para a CPU pode envolver a seguinte sequncias de passos: 1. A CPU interroga o mdulo de E/S para testar o status do dispositivo associado. 2. O mdulo de E/S retorna o status do dispositivo. 3. Se o dispositivo estiver operacional e pr onto para transmitir, a CPU requer a transferncia de dados, atravs de um comando para o mdulo de E/S. 4. O mdulo de E/S obtm uma unidade de dados (e.g. 8 ou 16 bits) do dispositivo externo. 5. Os dados so transferidos do mdulo de E/S para a CPU. Se o sistema usa um barramento, ento cada uma das interaes entre a CPU e o mdulo de E/S envolve uma ou mais arbitragens do barramento. O anterior cenrio simplificado ilustra, tambm, que o mdulo de E/S tem de ter a capacidade de se envolver em comunicao com a CPU e com o dispositivo externo.
y

Descodificao de Comandos: O mdulo de E/S aceita comandos da CPU. Estes comandos so geralmente enviados como sinais no barramento de controlo. Por exemplo, um mdulo de E/S para um controlador de disco pode aceitar os seguintes comandos: READ SECTOR (ler sector), WRITE SECTOR (escrever sector), SEEK (procura) nmero de pista e SCAN (obtm) ID (identificao) de registo. Cada um dos dois ltimos comandos, inclui um parmetro que enviado pelo barramento de d ados. Dados: Os dados so trocados entre a CPU e o mdulo de E/S atravs do barramento de dados. Relato de status: Uma vez que os perifricos so lentos, importante saber o estado do mdulo de E/S. Por exemplo, se for pedido a um mdulo de E/S para enviar dados para a CPU (leitura), este pode no estar pronto a faz-lo, porque ainda est a trabalhar no c omando de E/S anterior. Este fato pode ser relatado atravs de um sinal de status.

Sinais de status comuns so: BUSY (ocupado) e READY (pronto). Pode, tambm, haver sinais para reportar vrias condies de erro.
y

Deteno de Erros: Cada dispositivo de E/S possui um endereo, tal como acontece com cada palavra na memria. Assim, um mdulo de E/S tem de reconhecer um nico endereo para cada perifrico sobre o seu controlo. Numa outra perspectiva, o mdulo de E/S tem de ser capaz de efetuar

comunicao com o dispositivo. Esta comunicao envolve comandos, informao de status e dados Uma tarefa essencial de um mdulo de E/S a temporizao de dados.
ENTRADA E SADA PROGRAMADA /S Programada

Com operaes de E/S so possveis trs tcnicas. Com E/S programada, os dados so trocados entre a CPU e o mdulo de E/S. A CPU executa um programa que lhe d o controlo dire to da operao de E/S, incluindo a apreenso do status do dispositivo, a emisso de comandos de leitura e de escrita e a transferncia de dados. Quando a CPU emite um comando para o mdulo de E/S, deve esperar at estar completa a operao de E/S. Se a CPU for mais rpida que o mdulo de E/S, isto um d esperdcio de tempo de CPU. Com E/S conduzida por interrupo a CPU emite um comando de E/S, continua a executar outras instrues e interrompida pelo mdulo de E/S quando este tiver concludo o seu trabalho. Tanto com E/S programada como por interrupo, a CPU responsvel por extrair os dados da memria principal e armazenar os dados na memria, para sada ou para entrada de dados, respectivamente. A alternativa conhecida por acesso direto memria (DMA). Neste modo, o mdulo de E/S e a mem ria principal trocam dados diretamente, sem envolvimento da CPU.
Vista Geral

Quando a CPU est a executar um programa e encontra uma instruo relacionada com a E/S, executa-a atravs da emisso de um comando apropriado para o mdulo de E/S. Com E/S programada, o mdulo de E/S vai efetuar a ao requerida e seguidamente ajustar os bits apropriados no regist ro de status de E/S (Figura 6.3). O m dulo de E/S no toma nenhuma a o

ulterior para alertar a CPU. Em particular, no interrompe a CPU. Assim, da responsabilidade da CPU verificar, periodicamente, o status do mdulo de E/S at que a operao esteja concluda. Para explicar a tcnica de E/S programada, v -la-emos primeiramente, do ponto de vista dos comandos de E/S emitidos pela CPU para o mdulo de E/S e, seguidamente, do ponto de vista dos comandos de E/S executados pela CPU.
Comandos de E/S

Para executar uma instruo relacionada com a E/S, a CPU envia um endereo, especificando o mdulo de E/S particular, o dispositivo de E/S e o comando de E/S. H quatro tipos de comandos de E/S que um mdulo de E/S pode receber quando a CPU se lhe dirige. Estes so classificados como controlo, teste, leitura e escrita. Um comando de controlo emitido para ativar um perifrico e dizer-lhe o que tem de fazer. Por exemplo, uma unidade de fita magntica pode ser instruda para rebobinar ou andar para a frente um registro. Estes comandos so ajustados ao tipo particular de dispositivo perifrico. Um comando de teste usado para verificar vrias condies de status associado com o mdulo de E/S e os seus perifricos. A CPU ir querer saber se o perifrico em questo est alimentado disponvel para uso. Tambm querer saber se a operao de E/S mais recente j foi concluda e se ocorreu algum erro. Um comando de leitura leva o mdulo de E/S a obter dados do perifrico e a coloc-los no barramento de dados. De modo oposto, um comando de escrita leva o mdulo de E/S a colher um item de dados (octeto ou palavra) do barramento de dados e transmitir subseqentemente aquele dados para o perifrico. Os dados so lidos uma palavra (e.g. 16 bits) de cada vez. Por cada palavra que for lida, a CPU deve manter-se num ciclo de verificao de status at descobrir que a palavra est disponvel no regist ro de dados do mdulo de E/S. Este diagrama de fluxo pe o descoberto a desvantagem principal desta tcnica: um processo consumidor de tempo que mantm o processador ocupado, sem necessidade.
Instrues de E/S

Com E/S programada, h uma correspondncia apertada entre as instrues relacionada com a E/S que a CPU extrai da memria e os comandos de E/S que a CPU emite para um mdulo de E/S para executar a s instrues. Isto , as instrues so facilmente convertidas em comandos de E/S e h, frequentemente, uma relao simples de um-para-um. A forma da instruo depende da maneira como so endereados os dispo sitivos externos. Tipicamente, existiro muitos dispositivos de E/S ligados ao sistema, atravs de mdulos de E/S. A cada dispositivo atribudo um identificador nico ou endereo. Quando a CPU emite um comando de E/S, o comando contm o endereo do dispositivo pretendido. Assim, cada mdulo de E/S deve interpretar as linhas de endereos para determinar se o comando para si prprio. Quando, a CPU, memria principal e a E/S partilham um barramento comum, dois modos de endereamento so possveis: E/S no espao de memria e E/S isolada. Com E/S no espao de memria h um nico espao de endereamento para posies de memria e para dispositivos de E/S. A CPU trata os registros de status e de dados dos mdulos de E/S como posies de memria e usa as mesmas instrues mquina para ter acesso posies de memria e dispositivos de E/S. Assim, por exemplo, com de endereos, um nmero total, combinado, de endereos de E/S podem ser suportados, em qualquer combinao. Com E/S no espao de memria, so necessrias, apenas, uma linha nica de leitura e uma linha nica de escrita. Em alternativa, o barramento pode estar equipado com linhas de leitura e escri ta na memria, mais linhas de comando para entrada e sada. Agora, a linha de comando especifica quando o endereo designada uma posio de memria ou um dispositivo de E/S. A gama completa de endereos est disponvel para ambos. De novo com linhas, o sistema pode, agora, suportar posies de memria e endereos de E/S. Uma vez que o espao de endereos para E/S est isolada do espao da memria, aquele designado por E/S isolada. linhas localizaes de memria e

SISTEMA DE ENTRADA E SADA DIRIGIDA POR INTERRUPO

E/S Conduzida por Interrupo

O problema com a E/S programada que a CPU tem de esperar muito tempo para que o mdulo de E/S, em causa, esteja pronto que r para receber ou transmitir dados. A CPU enquanto em espera, tem de interrogar, repetidamente, o status do mdulo de E/S. Como resultado, o nvel de desempenho do sistema, na sua totalidade, severamente degradado. Uma alternativa a CPU emitir um comando de E/S para o mdulo e, seguidamente, continuar a fazer outro trabalho til. O mdulo de E/S ir interromper a CPU para requerer um servio quando estiver pronto para trocar dados com a CPU. A CPU, seguidamente, executa a transferncia de dados, tal como antes, e retoma o seu processo inicial. Vamos ver como isto trabalha, em primeiro lugar, do ponto de vista do mdulo de E/S. Para entrada, o mdulo recebe um comando READ (de leitura) da CPU. O mdulo de E/S procede, seguidamente, para ler dados de um dos perifricos associados. Quando os dados esto nos registros de dados de mdulo, este produz um sinal de interrupo da CPU atravs de uma linha de controlo. O mdulo espera, ento, at qu e os seus dados sejam pedidos pela CPU. Quando o pedido efe tuado, o mdulo coloca os seus dados no barramento de dados e fica pronto para outra operao de E/S. A ao para entrada, do ponto de vista da CPU, a seguinte. A CPU emite um comando READ. Seguidamente, vai embora e faz outra coisa qualquer (e.g. a CPU pode estar a trabalhar em vrios programas diferentes ao mesmo tempo). No fim de cada ciclo de instruo, a CPU faz o teste de interrupo (Figura 3.9). Quando ocorre a interrupo, vinda do m dulo de E/S, a CPU salvaguarda o contexto (e.g. contador de programa e regist ros da CPU) do programa corrente e processa a interrupo. Neste caso, a CPU l a palavra de dados do mdulo de E/S e armazena -a na memria. Seguidamente, restaura o contexto do programa em que estava a trabalhar (ou qualquer outro programa) e retoma a execuo. Contudo, a E/S por interrupo continua a consumir muito tempo da CPU, uma vez que toda a palavra de dados que vem da memria para o mdulo, ou do mdulo para a memria, tem de passar atravs da CPU.
Processamento de Interrupo

Consideremos, em maior detalhe o papel do processador na E/S. A ocorrncia de uma interrupo faz desencadear certo nmero de eventos, tanto no hardware como no software do processador. A figura 6.6 mostra uma sequncia tpica. Quando um dispositivo de E/S completa uma operao de E/S ocorre a seguinte sequncia de eventos no hardware 1. O dispositivo emite um sinal de interrupo para o processador. 2. O processador termina a execuo da instruo cor rente, antes de responder ah interrupo, como indicado na figura 3.9. 3. O processador verifica as interrupes, determina se existe alguma e envia um sinal de reconhecimento para o dispositivo que emitiu a interrupo. O reconhecimento permite ao disposit ivo retirar o seu sinal de interrupo. 4. O processador necessita, agora, de preparar-se para transferir o controlo para a rotina de interrupo. Para comear necessita de salvaguardar a informao necessria para retomar o programa corrente no ponto de interrupo. A mnima informao necessria (a) o status de processador, que est contido num regist ro chamado palavra de status de programa (PSW) e (b) a localizao da prxima instruo a ser executada, que est contida no contador de programa. Estes podem ser empurrados para a pilha
6.2

5. O processador carrega, agora, o contador de programa com a localizao de entrada da rotina de tratamento de interrupo que ir responder a esta interrupo. Dependendo da arquitetura do computador e do projeto de sistema de operao, pode existir um nico programa, um por cada tipo de interrupo, ou, um por cada dispositivo e por cada tipo de interrupo. Se existir mais do que uma rotina de tratamento de interrupo, o processador tem de determinar qual delas evocar. Esta informao pode ter sido includa na origem do sinal de interrupo, ou o processador pode ter de enviar um pedido para o dispositivo que emitiu a interrupo p ara obter uma resposta que contenha a necessria informao. Uma vez carregado o contador de programa, o processador prossegue para o prximo ciclo de instruo, que se inicia com uma extrao de instruo. Uma vez que a extra o da instruo determinad a pelo

contedo do contador de programa, o resultado que o controlo transferido para o programa de tratamento de interrupo. 6. Neste ponto, o contador de programa e o PSW relacionados com o programado interrompido tinham sido salvaguardados na pilha de sistema. Contudo, h outra informa o que considerada parte do estado'' do programa em execuo. Em particular, o contedo dos registros do processador necessita de ser salvaguardados, uma vez que, estes registros podem ser usados pela rotina de tratamento de interrupes. Assim, todos estes valores, mais outra qualquer informao de estado, necessitam de ser salvaguardados. Tipicamente, a rotina de tratamento de interrupes comea por salvaguardar o contedo de todos os regist ros na pilha. A figura 6.7a mostra um exemplo simples. Neste caso, um programa de utilizador interrompido depois da instruo na posio. O contedo de todos os regist ros mais o endereo da prxima instruo empurrado para o topo da pilha. O apontador de pilha a tualizado para apontar para o novo topo da pil ha e o contador de programa a tualizado para apontar para o incio da rotina de tratamento de interrupes. 7. A rotina de tratamento pode, agora, prosseguir para processar a interrupo. Isto ir incluir a examinaro da informao de status relacionada com a operao de E/S, ou outro evento que tenha causado a interrupo. Pode tambm envolver o envio de comandos adicionais ou sinais de reconhecimento para o dispositivo. 8. Quando completado o tratamento da interrupo, os registros salvaguardados so recuperados da pilha e restaurados nos regist ros. 9. O ato final a restaurao dos valores do PSW e do contador de programa da pilha. Como resultado, a prxima instruo a ser executada vir do programa previamente interrompido. de notar que importante salvaguardar toda a informao de estado acerca do programa interrompido para que seja reassumida mais tarde. Isto, porque a interrupo no uma rotina chamada do programa. Mais propriamente, a interrupo pode ocorrer a qualquer momento e, alm disso, em qualquer ponto da execuo do programa de um utilizador. A sua ocorrncia imprevisvel. Na verdade, como veremos no prximo captulo, os

dois programas podem no ter nada em comum e podem pertencer a dois utilizadores distintos.
Picos de Projeto

Na implementao da E/S por interrupo sobressaem dois tpicos: Em primeiro lugar, uma vez que haver, quase invariavelmente, mltiplos mdulos de E/S, como que a CPU determina qual o dispositivo que provocou a interrupo? Em segundo lugar, se tiverem ocorrido mltiplas interrupes, como que a CPU decide qual a que dever processar? Em primeiro lugar, vamos considerar a identificao de dispositivo. Quatro categorias gerais de tcnicas so de uso comum:
y y y y

Mltiplas Linhas de Interrupo Sondagem por Software Encadeamento Priorizado (sondagem por hardware vetorizada) Arbitragem de Barramento (vetorizada) A abordagem mais direta do problema fornecer mltiplas linhas de

interrupo entre a CPU e os mdulos de E/S. Contudo, impraticvel dedicar mais do que algumas linhas de barramento, ou pinos da CPU, para linhas de interrupo. Conseqentemente, mesmo se forem usadas mltiplas linhas, de esperar que cada linha ir ter mltiplos mdulos de E/S pendurados. Assim, uma das outras trs tcnicas tm de ser usada em cada linha. Uma alternativa a sondagem por software. Quando a CPU detecta uma interrupo deriva para uma rotina de tratamento de interrupo, cuja tarefa sondar cada mdulo de E/S para descobrir qual dos mdulos provocou a interrupo. A sondagem pode ser sob a forma de uma linha de comando separada (e.g. TESTAE/S). Neste caso, a CPU arma TESTAE/S e coloca o endereo de um mdulo de E/S especfico no barramento de endereos. O mdulo de E/S responde afirmativamente, em caso de ter pedido a interrupo. Alternativamente, cada mdulo de E/S pode conter um registro de status enderevel. A CPU, seguidamente, l o regist ro de status de cada mdulo de E/S para identificar o mdulo que pediu a interrupo. Uma vez identificado o mdulo correto, a CPU deriva para uma rotina de servio de dispositivos especfica daquele dispositivo. A desvantagem da sondagem por software que consumidora de tempo. Uma tcnica mais eficiente usar encadeamento priorizado. O

reconhecimento da interrupo p assa por um encadeamento prior izado atravs dos mdulos. Quando a CPU sente uma interrupo, emite um reconhecimento de interrupo. Este sinal propaga -se atravs de uma srie de mdulos de E/S at que chega a um mdulo requisitante. Tipicamente, o mdulo requisitante responde colocando uma palavra nas linhas de dados. Esta palav ra, designada vetor, o endereo do mdulo de E/S ou outro, qualquer, identificador nico. Em qualquer dos casos, a CPU usa o vetor como um apontador para a rotina de servio de dispositivos. Isto evita a necessidade de executar, em primeiro lugar, uma rotina geral de servio de interrupo. Esta tcnica designada por interrupo vetorizada. H outra tcnica que recorre a interrupes vetorizadas, que a arbitragem de barramento. Com arbitragem de barramento, um mdulo de E/S deve ganhar premedito o controlo do barramento, antes de poder armar a linha de pedido de interrupo. Assim, s um mdulo, de cada vez, pode armar a linha. Quando a CPU detecta a interrupo, responde pela linha de reconhecimento de interrupes. O mdulo requisitante coloca, seguidamente, o seu vetor na linha de dados. As tcnicas listadas, acima, servem para identificar o mdulo de E/S requisitante. Tambm, fornecem uma forma de atribuir prioridades quando mais do que um dispositivo est a requisitar servios de interrupo. C om mltiplas linhas, a CPU seleciona, apenas, a linha de prioridade com prioridade mais elevada. Com sondagem por software a ordem pela qual os dispositivos so sondados determina a sua prioridade. Similarmente, a ordem dos mdulos numa cadeia priorizada determina a sua prioridade. Finalmente, a arbitragem do barramento pode empregar um esquema de priorid ade, tal como o discutido na seo 3.4. Voltamo-nos, agora, para dois exemplos de estruturas de interrupo.
O Controlador de Interrupes, Intel 8259A

A Intel 8259A fornece uma nica linha de PEDIDO de INTERRUPO (INTR) e uma linha nica de RECONHECIMENTO de INTERRUPO (INTA). Para que o 8086 possam manipular com flexibilidade uma variedade de dispositivos e estruturas de priorizao, habitualmente co nfigurado com um

rbitro de interrupes externas, o 8259A. Os dispositivos externos so ligados ao 8259A o qual, por sua vez, se liga ao 8086. Um nico 8259A pode gerir at 8 mdulos. Se for necessrio controlar mais do que 8 mdulos, pode ser usado um arranjo em cascata para gerir um total de 64 mdulos nica responsabilidade de 8259A a gesto de interrupes. Aceita pedida de interrupo dos mdulos agarrados determina qual das interrupes tem a prioridade mais elevada e, seguidamente, assinala a CPU, armando a linha de INTR. A CPU faz o reconhecimento atravs da linha de INTA. O que induz o 8259A a colocar no barramento de dados a informao de vetor de interrupes apropriada. A CPU pode, ento, prosseguir para processar a interrupo e comunicar diretamente com o mdulo de E/S para ler ou escrever dados. O 8259A programvel. O 8086 determinam o esquema de prioridade a ser usado ajustando uma palavra de controlo no 8259A. So possveis os seguintes modos de interrupo.
y

Aninhamento Total: Os pedidos de interrupo so ordenados por prioridade de (IR0) at (IR7). Rotativo: Em algumas aplicaes um certo nmero de dispositivos tm a mesma prioridade. Neste modo um dispositivo, depois de ser servido, recebe a prioridade mais baixa no grupo. Mscara Especial: Este permite ah CPU inibir, seletivamente, as interrupes de certos dispositivos.

O Perifrico de Interface Programvel, Intel 8255A

Consideremos o Perifrico de Interface Programvel, Intel 8255A, como exemplo de um mdulo de E/S usado para E/S programada e E/S conduzida por interrupo. O 8255A um integrado simples, mdulo de E/S de uso geral, usado em conjunto com a CPU, Intel 8086. A figura 6.9 mostra o diagrama de blocos geral, juntamente com a atribuio de pinos para o invlucro de 40-pinos, em que se apresenta. O lado direito do diagrama de blocos o interface externo do 8255A. As 24 linhas de E/S so programadas pelo 8086 atravs do registro de controlo. O 8086 pode m ajustar o valor do registro de controlo para especificar uma variedade de modos de operao e de configuraes. As 24 linhas esto

divididas em trs grupos de 8 bits ( ). Cada grupo pode funcionar como uma porta de E/S de 8-bits. Alm disso, o grupo est subdividido em grupos de e 4-bits ( ), os quais podem ser usados em conjuno com as portas de E/S . Configuradas desta forma transportam sinais de status e de controlo. O lado esquerdo do diagrama de blocos a interface externa para o barramento do 8086. Inclui um barramento de dados bidire cional de 8-bits (D0 at D7), usado para transferir dados das, e para, portas de E/S e para passar informao de controlo para o regist ro de controlo. As duas linhas de endere o especificam uma das trs portas de E/S ou o registro de controlo. A linha de CHIP SELECT (Seleo de Dispositivo) quando habilitada, em conjunto com a linha de (READ) ou de (WRITE) d lugar a uma transferncia. A linha de RESET usada para iniciar o mdulo. O registro de controlo carregado pela CPU para controlar o modo de operao e definir os sinais, se for o caso. Na operao em Modo grupos de , os trs linhas externas funcionam como trs portas de E/S de 8 -bits.

Cada porta pode ser definida co mo entrada ou como sada. De outra maneira, os grupos e funcionam como portas de E/S e as linhas do grupo servem como linhas de controlo para e. Os sinais de controlo servem dois objetivos principais: ``aperto de mo'' e pedidos de interrupo. O aperto de mo um mecanismo simples de temporizao. Uma linha de controlo usada pelo emissor como uma linha de DATA READY (dados preparados), para avisar quando os dados estiverem presentes nas linhas de dados de E/S. Outra linha usada pelo receptor como um ACKNOWLEDGE (reconhecimento), indicando que os dados foram lidos e as linhas de dados podem ser alteradas. Outra linha pode ser designada como uma linha de INTERRUPT REQUEST (pedido de interrupo) vinculada ao barramento de dados do sistema. Como o 8255A programvel atravs do registro de controlo pode ser usado para controlar uma variedade de dispositivos perifricos simples. A figura 6.10 ilustra o seu uso para controlar o teclado/visor de um terminal. O teclado fornece entradas de 8 -bits. Dois desses bits SHIFT e CONTROL (maisculas e controlo) tm um significado especial para o programa de tratamento de teclado executado pela CPU. Contudo, esta interpretao transparente ao 8255A que simplesmente aceita 8 -bits de dados e apresenta-

os ao barramento de dados do sistema. Duas linhas de controlo para aperto de mo so fornecidas para serem usadas com o teclado. O visor est, tambm, ligado por uma porta de dados de 8-bits. De novo, dos bits tm um significado especial que transparen te ao 8255A. Juntamente com as duas linhas para aperto de mo, duas linhas fornecem funes de controlo adicionais. ACESSO DIRETO A MEMORIA (DMA)
Acesso Direto a Memria Obstculos a E/S Programada e por Interrupo

A E/S por interrupo, apesar de mais eficiente do que a E/S programada simples, necessita, ainda, de interveno da CPU para transferir dados entre a memria e o mdulo de E/S. Assim, ambas as formas de E/S tm duas desvantagens inerentes. 1. A taxa de transferncia de E/S est limitada pela velocidade com que a CPU pode testar e servir um dispositivo. 2. A CPU est presa ah gesto do dispositivo. Consideremos a transferncia de um bloco e dados. Usando E/S programada simples, a CPU fica dedicada ao servio de E/S e pode mover dado a uma taxa elevada, ao custo de no fazer mais nada. A E/S por interrupo liberta a CPU, at uma determinada extenso, ah custa da taxa de transferncia de dados. Todavia, ambos os mtodos tm um impacto negativo na actividade da CPU e na taxa de transferncia. Quando for necessrio mover grandes volumes de dados, torna -se necessrio uma tcnica mais eficiente: acesso directo ah memria (DMA).
Funo de DMA

A DMA envolve um mdulo adicional no barramento de sistema. O mdulo de DMA (figura 6.11) capaz de imitar a CPU e, na verdade, de retirar da CPU o controlo do sistema. A tcnica funciona como segue. Quando a CPU pretende ler ou escrever um bloco de dados emite um comando para o mdulo de DMA, atravs do envio para o mdulo de DMA da seguinte informao:

y y y y

Se for feito um pedido de leitura ou de escrita. O endereo do dispositivo de E/S. A localizao inicial de onde ler ou escrever da memria. O nmero de palavras a serem lidas ou escritas. A CPU, em seguida, continua com outro trabalho. Tinha delegado a

operao de E/S ao mdulo de E/S e o mdulo iria tomar conta dela. O mdulo de DMA transfere o bloco de dados completo , uma palavra de cada vez, diretamente para a, ou da memria, sem passar pela CPU. Quando for dada por completa a transferncia, o mdulo de DMA envia um sinal de interrupo para a CPU. Assim, a CPU envolvida, apenas, no incio e no fim da transferncia O mdulo de DMA necessita de tomar o controlo do barramento de forma a transferir os dados para a, e da, memria. Para esse efeito, o mdulo de DMA tem de usar o barramento, apenas, quando a CPU no necessitar dele, ou tem de forar, temporariamente, a CPU a suspender a atividade. A tcnica anterior a mais comum sendo designada por furto de ciclos uma vez que o mdulo de DMA roupa, efetivamente , ciclos de barramento. Em cada caso, a CPU suspensa imediatamente antes de ter necessidade de usar o barramento. O mdulo de DMA, seguidamente, transfere uma palavra e retorna o controlo para a CPU. de notar que ist o no uma interrupo; a CPU no salvaguarda o contexto, nem outra coisa qualquer. Pelo contrrio, a CPU faz uma pausa durante um ciclo de barramento. O efeito global fazer a CPU executar mais lentamente. Todavia, para uma transferncia de E/S de mltiplas palavras, a DMA de longe mais eficiente do que a E/S programada ou por interrupo. O mecanismo de DMA pode ser configurado numa variedade de maneiras. No primeiro exemplo, todos os mdulos partilham o mesmo sistema de barramento. O mdulo de DMA, atua como um substituto da CPU, usa a E/S programada para trocar dados entre a memria e o mdulo de E/S atravs do mdulo de DMA. Esta configurao, apesar de pouco dispendiosa claramente ineficiente. Tal como com E/S programada controlada pela CPU, cada transferncia de uma palavra consome dois ciclos de barramento. O nmero de ciclos de barramento necessrios pode ser reduzido substancialmente integrando a funo de DMA e de E/S. A lgica de DMA pode

ser, efetivamente, uma parte do mdulo de E/S, ou p ode ser um mdulo separado que controla um ou mais mdulos de E/S. Isto reduz para um o nmero de interfaces de E/S, no mdulo de DMA e, ao mesmo tempo, proporciona uma configurao facilmente expansvel. O barramento de sistema, que o mdulo de DMA partilha com a CPU e a memria, so usados pelo mdulo de DMA, s para trocar dados com a memria. A troca de dados entre os mdulos de DMA e de E/S tm lugar fora do barramento de sistema.

Sugestes de Referncias: www.clubedohardware.com.br Apostila sobre Organizao e Arquitetura de Computadores - Prof. Eder Santana Freire