Vous êtes sur la page 1sur 10

Interface de E/S Conjunto de circuitos lgicos que j vem embarcados na placa me de um computador, situao esta conhecida como dispositivo

onboard, este mdulo responsvel pelo controle de um ou mais dispositivos externos e pela transferncia de dados entre estes dispositivos com a memria principal e os registradores da CPU. O mdulo de E/S ou I/O (input/output) tem uma interface interna ao computador onde ser feita a comunicao com o processador e a memria, e uma interface externa para comunicao com os dispositivos externos. Essas interfaces externas seguem padres de protocolos mundiais para assim garantir total compatibilidade fsica e lgica dos dispositivos externos com o computador. As principais funes ou requisitos para um mdulo de E/S so os Temporizao e Controle, Comunicao com a CPU, Comunicao com o Dispositivo, Temporizao dos Dados, Deteco de Erros. Essas funes e requisitos acontece em cinco etapas que ocorrem quando a CPU precisa falar com um dispositivo externo ligado ao mdulo de entrada e sada so elas: 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 pronto 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 (8 ou 16 bits) do dispositivo externo. 5. Os dados so transferidos do mdulo de E/S para a CPU. A seqncia acima ilustra tambm que o mdulo de E/S tem que ter a capacidade de se envolver em comunicao com a CPU e com o dispositivo externo em questo. A comunicao com a CPU envolve:

Descodificao de Comandos: O mdulo de E/S aceita comandos da CPU. Estes comandos so geralmente enviados como sinais no barramento de controle. 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 registro. Cada um dos dois ltimos comandos, inclui um parmetro que enviado pelo barramento de dados.

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 trabalhando no

comando 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.

Deteco 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

A transmisso de dados entre o modulo de entrada e sada com os dispositivos internos e externos do computador so feitas de duas formas, transmisso serial e transmisso paralela. Transmisso Serial A comunicao serial, bastante comum nos dias atuais, transmite apenas um bit por vez, porm sua comunicao se d em modo full-duplex, em outras palavras, os dados so enviados e recebidos simultaneamente j que temos canais dedicados para que isso seja possvel, ou seja, apenas este fator j faz com que uma transmisso serial seja duas vezes mais rpida que uma transmisso paralela se comparado com as mesmas taxas de transmisso. As principais caractersticas da transmisso serial so: Transmisso de dados mais simples Utiliza apenas um canal de comunicao Menor velocidade de transmisso

Quando um dispositivo vai iniciar uma comunicao serial, ele obrigatoriamente tem que informar ao receptor que a transmisso do bit foi iniciada e concluda, caso isto no ocorra o receptor no tem como saber qual o conjunto de bits que referencia aquela determinada mensagem, causando problemas de erros de transmisso. Existem trs mtodos que podem ser usados na transmisso serial par que haja a perfeita compreenso entre emissor e receptor, estes so: Comunicao Sncrona: Os dois ns de transmisso se comunicam e sincronizam suas aes. Se dados vo ser transmitidos ou recebidos, os ns sabem da transmisso quase imediatamente e se preparam para a comunicao tendo como base taxas de transmisso e tamanhos ordenados e conhecidos de dados. um tipo de comunicao mais cara, pois exige para o sincronismo relgios sofisticado no hardware. utilizada por redes com alta velocidade de transmisso.

Comunicao Assncrona: Neste tipo de transmisso bits especiais so inseridos no incio e no fim de cada caracter transmitido, permitindo assim que o receptor entenda claramente o que foi transmitido. O receptor no precisa saber quando uma seqncia de dados ser enviada nem o comprimento da mensagem, pois isto poder ser identificado pelos bits de incio-parada. Entretanto, os ns de uma linha de transmisso assncrona precisam estar sempre prontos para receber dados sem aviso prvio do emissor. Isto faz com que comas linhas fiquem ociosas at receber o conjunto de bits caracterstico avisando do incio de uma transmisso. A maioria das comunicaes assncrona.

Comunicao Iscrona: um tipo de transmisso onde a taxa de transferncia de dados pr-negociada entre os dispositivos de origem e recepo, sendo criada uma taxa de entrega de dados contnua. Foi criada originalmente para permitir a entrega constante e completa de comunicaes de vdeo por meio de transmisso. Ao estabelecer que uma sesso de transmisso precisara de uma largura de banda especfica para o caminho e de uma taxa de bits bem definida, um fluxo contnuo e ininterrupto de dados pode ser estabelecido durante a transmisso.

Transmisso Paralela Este tipo de transmisso mais rpida que a serial, esta ficando cada vez menos comum para os dispositivos que no so integrados a placa me, como os Hds e as impressoras, pois este tipo de transmisso apesar de ser rpida pelo fato de transmitir os bits paralelamente, ou seja, todos ao mesmo tempo, infelizmente acaba sofrendo com limitaes fsicas devido s interferncias eletromagnticas geradas pelos cabos que possuem muitos filetes de cobre em paralelo, para termos idia, na comunicao por transmisso paralela, um slot pci 32 bits, tem que obrigatoriamente possuir um meio fsico que possua 32 vias de transmisso. Os efeitos de interferncias eletromagnticas s comeam a causar problemas em distncias grandes de transmisso, como por exemplo, um cabo de impressora, por isso na construo dos barramentos de uma placa me a melhor soluo ainda a comunicao paralela, os principais barramentos que utilizam esta tecnologia so os, PCI, FSB e Hyper Transport, pois estes barramentos necessitam de alta largura de banda e pelo fato de serem curtos fisicamente, a comunicao paralela ainda muito eficiente para estes casos. Na transmiso paralela os bits so transmitidos simultaneamente e sua a taxa e q velocidade de transmisso depende do numero de bits do sistema e da frequncia do sinal de controle ou do CLOCK. Para sabermos a taxa de transmisso aplicamos a formula TX = (CLOCK x BITS) / 8,

logo com um CLOCK de 100mhz e 64BITS, a taxa de transmisso paralela ser de 800MB/S. Temos uma taxa to alta com um clock to baixo porque todos os bits so transmitidos de vez, ao impossvel na transmisso serial. Porm o modo que esses dados so transmitidos, em Half-Duplex, quer dizer que o meio fsico compartilhado para enviar e receber bits. As principais caractersticas da transmisso paralela so: Transmisso de dados mais custosa e complexa Requer mais de um canal de comunicao Maior velocidade de transmisso

A diferena entre Serial paralelo: Caractersticas Velocidade Custo Imunidade a rudo Distancia Serial Baixa Baixo Alto Alta Paralelo Alta Alto Baixo Baixa

Metodos de realizao de entradas e/s Para a realizao de operaes E/S trs tcnicas so utilizadas, so elas a E/S programada, a E/S dirigida a interrupo e a terceira tcnica trata do DMA (Direct Memory Access).

E/S Programada Na E/S programada o processador detm o controle do mdulo de E/S, podendo detectar seu estado, enviar comandos de leitura e escrita alm da transferncia de dados. Neste caso, assim que o processador envia um comando para um mdulo de E/S, precisa ficar aguardando at que a operao seja concluda. Em um cenrio onde o processador mais veloz do que o mdulo de E/S logicamente isso representar uma subutilizao do processador ocasionando desperdcio de processamento. Quando um processador est executando um programa e existe uma instruo relacionada com E/S, nesse caso um comando enviado ao mdulo de E/S correspondente, ento o mdulo de E/S executa a operao e, ao trmino, carrega um sinal no registrador de estado do mdulo E/S

e nada mais realizado a fim de alertar o trmino da operao ao processador, que no interrompido. Ento cabe ao processador a responsabilidade de verificar constantemente o registrador de estado do mdulo de E/S para saber se a operao foi concluda, para descrever melhor essa tcnica vamos entender quatro comandos que so enviados do processador para o mdulo de E/S que so eles: Controle, teste, leitura e gravao. Toda vez que um processador necessita executar operaes de E/S ele gera um comando e um endereo que especifica o mdulo de E/S correspondente e a um dispositivo externo so eles. Controle: Utilizado para ativao de um perifrico e indicao de realizao de alguma operao E/S. Teste: Utilizado para verificar os vrios estados do mdulo de E/S e perifricos. Leitura: Operao em que o mdulo de E/S obtm um dado do perifrico e o armazena em um local temporrio, um registrador, por exemplo, onde o processador poder solicitar que essa informao seja posta no barramento de dados para tenha acesso. Gravao: o inverso do processo de leitura, ou seja, o mdulo de E/S tem acesso ao dado atravs do barramento de dados e o envia para o perifrico. Agora que vimos uma rpida descrio dos comandos vamos falar das instrues de E/S. Nesta tcnica para operao de E/S existe uma correspondncia entre os comandos de E/S e as instrues de E/S, ou seja, entre as instrues de E/S que o processador busca na memria e os comandos que ele envia para o mdulo de E/S. Na verdade essa correspondncia freqentemente uma-para-uma. Num tpico cenrio temos diversos mdulos de E/S conectados a diversos dispositivos (perifricos). A cada um destes dispositivos associado um id ou um endereo distinto. Dessa forma, quando o processador deseja efetuar uma operao de E/S, este envia um comando para o mdulo e neste comando existe o endereo associado ao dispositivo desejado, assim, os mdulos de E/S devem saber interpretar as linhas de endereo para distinguir se o comando destinado a ele ou a no. No cenrio mais comum temos processador, mdulos de E/S e memria compartilhando um barramento comum, neste caso, dois modos de endereamento podem ser utilizados. O endereamento mapeado na memria e o endereamento independente. Na E/S mapeada um nico espao de endereamento utilizado para enderear posies de E/S e posies de memria. Utilizando E/S mapeada na memria, o barramento apenas precisa de duas linhas, uma para a leitura e outra para a escrita. Entretanto, linhas de comandos podem ser includas para especificar se um determinado endereo correspondente a um mdulo de E/S ou a uma

posio de memria. Se analisarmos qualquer endereo pode ser uma posio de memria ou um dispositivo de E/S. No modo E/S independente existe independncia entre os espaos de endereos para posies de memria e para dispositivos E/S. O acesso as portas de E/S por meio desse modo realizado atravs de comandos especiais lanados no barramento para ativao das linhas de comando de E/S.

Fonte da Imagem: Arquitetura e Organizao de Computadores 5 Edio William Stallings Pgina 205.

Fonte da Imagem: Arquitetura e Organizao de Computadores 5 Edio William Staliings Pgina 204.

E/S por interrupo (dirigida interrupo) Antigamente era utilizada E/S programada onde o processador tinha que ficar na espera do dispositivo de E/S requerido estivesse pronto para enviar ou receber dados. Alm de ficar na espera, o processador ainda tinha que ficar verificando continuamente o estado do dispositivo, levando assim a uma perca do desempenho do sistema. Com o adjunto do E/S por interrupo, a CPU no precisa mais ficar aguardando o dispositivo, visto que agora ela pode enviar a requisio para o dispositivo de E/S e pode executar outras instrues que estejam esperando para utilizar a CPU. Quando o dispositivo est pronto para trocar informaes com o processador, este ltimo envia uma mensagem de interrupo avisando ao processador que ele j esta pronto para iniciar a transferncia de dados. Ao receber essa mensagem o processador suspende a operao que estava fazendo salvando o PC e os outros registradores. Ento, comea a processar os dados de E/S.Aps o trmino do

processamento da operao de E/S, o processador recupera o contexto do programa que foi interrompido e segue com sua execuo normalmente. Existem dois tipos de interrupo: Interna ou de programa Externa

As interrupes internas ou de programa so aquelas provocadas geralmente por erros na execuo de um programa ou de uma instruo. Exemplos: uma diviso por zero, overflow em operaes aritmticas, cdigo de operao errado, etc. Interrupes externas so aquelas que o sinal vem de fora da CPU, geralmente relacionado aos dispositivos de E/S que querem avisar ao processador que esto prontos para transferir dados. Voltando a frisar que a CPU precisa salvar todos os estados do programa interrompido, visto que para voltar a executar o programa interrompido sero necessrias essas informaes, isso ocorre por que no se tem tempo exato para ocorrer interrupes, pois as mesmas podem ocorrer a qualquer hora na execuo de outro programa. Mas surge uma questo importante, como a CPU vai identificar da onde veio interrupo devido a vrios dispositivos de E/S existentes.Se chegarem duas ou mais interrupes qual ser a prioridade que ser tratada essas interrupes. Para se descobrir qual dispositivo de E/S so utilizada quatro tcnicas, so elas: Mltiplas linhas de interrupo Identificao por software Dayse Chain (identificao por hardware, vetorada) Arbitrao de barramento (vetorada)

Mltiplas linhas de interrupo utiliza-se entre a CPU e os dispositivos de E/S. Na prtica, entretanto, apenas poucas linhas do barramento e pinos do processador so utilizados para as linhas de interrupo. Com isto, provavelmente alguns dispositivos compartilhem as mesmas linhas. A interrupo por software ocorre quando a CPU detecta uma interrupo, a mesma sai perguntando a cada dispositivo de E/S para descobrir qual deles mandou o sinal de interrupo. Uma linha de comando especial poder ser utilizada para isso (TEST I/O). Neste caso a CPU

ativaria o comando e colocaria o endereo de um dispositivo de E/S nas linhas de endereo.Caso o dispositivo tenha realmente enviado o sinal ele manda um OK para a CPU. O problema deste mtodo que consome muito tempo. O Dayse Chain que diferentemente da tcnica anterior, utiliza identificao via hardware, utilizando-se uma conexo entre os dispositivos e a CPU, na forma de cadeia circular. Nesta tcnica os mdulos de E/S compartilham uma linha de requisio de interrupo, esta linha tambm em forma de cadeia circular. Quando um processador recebe o sinal de interrupo, ele envia um sinal de reconhecimento de interrupo que se propaga pelos dispositivos, ento o mesmo responde colocando uma palavra na linha de dados, essa palavra chamada de vetor de interrupo onde neste vetor h uma informao de identificao do dispositivo. De posse dessa informao, o processador pode ento enviar uma rotina especfica de interrupo para esse dispositivo. A ltima tcnica de identificao de dispositivos, arbitrao de barramento, que consiste primeiramente em o dispositivo obter o controle do barramento. Dessa forma apenas um dispositivo pode ter acesso ao barramento. Quando o processador reconhece um sinal de interrupo, ele responde pela linha de dados, e ento o dispositivo manda seu vetor de interrupo nas linhas de dados. Com essas tcnicas o processador consegue definir quem foi o dispositivo que mandou o sinal de interrupo. No caso das linhas da interrupo, o processador utiliza a linha que tem a prioridade maior, j na tcnica de identificao de software, a prioridade definida pela ordem em que os dispositivos so interrogados pelo processador, com o primeiro tendo maior prioridade. Nesse mesmo caminho est a Dayse Chainonde a prioridade definida pela ordem dos mdulos na conexo em cadeia circular. Na arbitrao de barramento a prioridade definida por quem pegar o barramento primeiro, j que no barramento os dispositivos podem enviar informaes um de cada vez.

DMA (Direct Memory Access) Esta tcnica consiste na insero de um mdulo adicional no barramento de sistema que reproduz o processador e assim controla o sistema do processador. Essa imitao se faz necessria para que o mdulo de DMA possa enviar informaes de e para a memria utilizando o barramento de sistema. Existem duas formas para esta atuao do mdulo DMA, em uma delas o mdulo DMA s utiliza o barramento quando este no estiver sendo utilizado pelo processador, em outra situao, e esta mais comum, o mdulo de DMA forosamente interrompe temporariamente o processador em uma tcnica conhecida como roubo de ciclo.

Vamos agora abordar uma operao em que o processador deseja ler ou escrever um bloco de dados, neste caso ele envia ao mdulo DMA um comando contendo as seguintes informaes: Indicao de Operao de Leitura e Escrita Endereo do dispositivo de E/S envolvido na operao Endereo de memria para incio da operao de leitura ou escrita Nmero de palavras a serem lidas ou escritas

No caso do endereo de memria e nmero de palavras a serem lidas ou escritas, estas so respectivamente armazenadas em registradores especiais de endereo e contador de dados do mdulo DMA. Aps o envio do comando o processador continua a executar outras instrues. Isso porque a execuo da operao de E/S agora responsabilidade do mdulo DMA que transfere o bloco de dados, palavra por palavra, diretamente de ou para a memria sem necessidade da interveno do processador. Ao finalizar a operao do mdulo DMA envia um sinal de interrupo do processador, assim, o processador s necessrio no incio e no final de cada operao E/S. importante salientar que ao transferir uma palavra o mdulo DMA devolve para o processador, mas isso no de fato uma interrupo, j que o processador no necessita salvar o contexto e executar qualquer outra operao. Na verdade apenas uma espcie de pausa com durao de um ciclo de barramento. Podemos ento imaginar que a execuo de instrues se tornar mais lenta, contudo essa tcnica, em se tratando de transferncia de bloco de palavras, mais eficiente que as outras duas tcnicas de E/S Programada e E/S por Interrupo. Abaixo segue alguns arranjos possveis para implementao do mecanismo de DMA.

Vous aimerez peut-être aussi