You are on page 1of 60

O Sub-Sistema de Entrada e Sada

Principios Basicos de Hardware


Componentes Interfaces de entrada e sada Dispositivos perifricos comunicao organizao tpica Tcnicas de transferncia de dados Polling Interrupo DMA (Direct Memory Access)

Principios Basicos de Hardware


necessrio que algum tipo de mecanismo exista para que possamos informar problemas ao computador e recuperar uma sua soluo. Esse mecanismo constitui o que chamamos genericamente de dispositivos de Entrada e Sada (I/O). De acordo com o sentido do fluxo de dados entre o computador e o dispositivo, esses podem ser divididos em perifricos de entrada, perifricos de sada, ou ainda perifricos de entrada e sada. Um perifrico pode ser visto como qualquer dispositivo conectado a um computador de forma a possibilitar sua interao com o mundo externo.

Principios Basicos de Hardware


Os perifricos so conectados ao computador atravs de um componente de hardware denominado interface. Isso significa que os perifricos no esto conectados diretamente aos barramentos do computador. Dessa forma, as interfaces constituem um elemento chave para coordenao da transferncia de dados entre perifrico e o processador, ou entre perifrico e memria.

Principios Basicos de Hardware


As interfaces empregam no seu projeto um outro componente de hardware: o controlador. Um controlador nada mais que um processador projetado especificamentepara realizar uma funo, como, por exemplo, controlar um disco rgido.
Os dispositivos de I/O, dependendo de sua interconexo fsica s interfaces, podem ser do tipo serial ou paralelo.

Principios Basicos de Hardware


Uma interface serial aquela que existem apenas uma linha para os dados. Nesse caso, podemos imaginar o protocolo de transferncia como uma forma de transformar um byte em uma seqncia de bits e vice-versa.
Os modems, alguns tipos de mouse e impressoras so exemplos de dispositivos seriais.

Principios Basicos de Hardware


Uma interface paralela possui vrias linhas para os dados, permitindo assim que vrios bits sejam transferidos simultaneamente (em paralelo) entre os dispositivos de I/O e a interface.
As impressoras paralelas so exemplos tpicos desse tipo de dispositivo.

Interao entre Processador e Interfaces de E/S

Interao entre Processador e Interfaces de E/S


Interfaces de E/S so conectadas processador atravs de barramentos endereo dados controle ao

Semelhante a interao entre processador e memria principal Acessos leitura escrita

Interao entre Processador e Interfaces de E/S


Leitura: processador obtm dado recebido do dispositivo perifrico informao de estado sobre uma operao de e/s em andamento ou recm-completada Escrita: processador fornece interface um dado que deve ser enviado ao dispositivo perifrico cdigo de um comando que inicia uma operao de e/s operao de controle sobre dispositivo perifrico

Interao entre Processador e Interfaces de E/S


Interface identificada por um endereo nico Processador executa ciclos de barramento Leitura endereo da interface no barramento de endereos ativa um sinal de leitura a interface coloca a informao desejada no barramento de dados processador finaliza o ciclo de barramento lendo a informao presente no barramento de dados retirando o endereo e o sinal de controle

Interao entre Processador e Interfaces de E/S


Escrita endereo da interface no barramento de endereos fornece dado no barramento de dados ativa um sinal de escrita interface selecionada armazena a informao presente no barramento de dados processador finaliza o ciclo de barramento retirando o endereo, dado e o sinal de controle

Organizao Tpica de uma Interface de E/S

Funo tornar transparente para o processador os detalhes de operao e controle dos dispositivos perifricos Duas partes genrica e especfica

Organizao Tpica de uma Interface de E/S


Parte Generica
esta poro da processador. interface que vista pelo

Em geral, na parte genrica existem alguns registradores, cujo nmero e funo depende em parte do tipo de perifrico acoplado interface. Na maioria das interfaces a parte genrica inclui pelo menos um registrador de dados, um registrador de controle e um registrador de estado.

Organizao Tpica de uma Interface de E/S


Parte Generica Registrador de Dados
O registrador de dados usado para as transferncias de dados entre o processador e o dispositivo perifrico. Em uma operao de sada, o processador escreve um dado neste registrador e a interface se encarrega de envi-lo para o perifrico. No sentido contrrio, em uma operao de entrada, a interface recebe um dado do perifrico e o armazena no registrador de dados. O processador executa ento um acesso de leitura interface o obtm o dado depositado no registrador.

Organizao Tpica de uma Interface de E/S


Parte Generica Registrador de Controle
O processador usa o registrador de controle para enviar comandos interface. Este comando enviado sob a forma de um cdigo. Cada interface possui um repertrio de comandos prprio. Quando o processador escreve um comando no registrador de controle, a interface interpreta o cdigo do comando e executa a operao solicitada, que pode ser uma operao interna interface ou sobre o perifrico a ela conectado.

Organizao Tpica de uma Interface de E/S


Parte Generica Registrador de Estado
O registrador de estado usado para veicular informaes gerais sobre uma operao de e/s.

Tipicamente, este registrador possui bits para indicar o trmino de uma operao e para indicar condies de erro que eventualmente possam acontecer durante a operao.

Organizao Tpica de uma Interface de E/S


Parte Especifica
A parte especfica interage diretamente com o perifrico, e por isso ela difere bastante entre os diferentes tipos de interfaces. No entanto, apesar das diferenas, a parte especfica na maioria das interfaces possui dois conjuntos de sinais. Um deles a prpria via atravs da qual so transferidos os dados entre a interface e o perifrico. O outro conjunto formado pelos sinais usados no controle do perifrico.

Tcnicas de Transferncia de Dados


Em geral, uma operao de e/s envolve a transferncia de dados entre a memria e a interface de e/s;
Existem basicamente trs tcnicas para realizar a transferncia de dados: Polling; Interrupo; Acesso Direto Memria (DMA).

Tcnicas de Transferncia de Dados


Entrada e Sada com Polling O processador controla toda transferncia de dados entre a memria e a interface de e/s; puramente em software; Simples; Pouco eficiente; S para sistemas dedicados.

Tcnicas de Transferncia de Dados


Entrada e Sada com Polling
Normalmente, o registrador de estado possui um bit, chamado done bit, que desativado quando um dado escrito no registrador de dados, sendo ativado quando este dado escrito no setor do disco. Aps escrever um dado no registrador de dados, o processador l o registrador de estado e testa o done bit, para verificar se o mesmo j foi escrito no setor do disco.

Tcnicas de Transferncia de Dados


Entrada e Sada com Polling
Este teste do bit de estado chamado polling.

O processador continua realizando o polling at encontrar o done bit ativado, o que indica que o dado j foi escrito no setor do disco.

Tcnicas de Transferncia de Dados


Entrada e Sada com Polling
Quando isto acontece, e se ainda existe algum dado a ser enviado, o processador escreve o novo dado no registrador de dados e reinicia o polling. Este ciclo repetido at que todos os dados tenham sido escritos no setor do disco.

Tcnicas de Transferncia de Dados


Entrada e Sada com Polling
A principal vantagem da e/s com polling a sua simplicidade. No entanto, esta tcnica possui a desvantagem de que o processador fica dedicado operao de e/s. Isto pode ser extremamente ineficiente, sob o ponto de vista da utilizao do processador.

Tcnicas de Transferncia de Dados


Entrada e Sada com Polling
Por exemplo:
Considere uma operao de envio de um bloco de caracteres para uma impressora. O tempo de impresso de um caracter infinitamente maior que o tempo de execuo de uma instruo. Manter o processador em polling durante o tempo de impresso de cada caracter um desperdcio, j que durante este intervalo de tempo o processador poderia executar algunsmilhes de instrues de um outro programa.

Tcnicas de Transferncia de Dados


Entrada e Sada com Polling
Devido ao fato que o processador fica dedicado operao de e/s at o seu trmino, o uso da tcnica de e/s com polling restrito apenas a sistemas onde apenas um programa pode se encontrar em execuo a cada instante.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo hardware + software mais eficiente do que E/S com Polling duas fases disparo da operao transferncia de dados

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Nesta tcnica, a interface responsvel por notificar o processador quando um novo dado pode ser transferido. Enquanto a e/s com polling uma tcnica puramente de software, a e/s com interrupo requer um suporte de hardware. A interface deve gerar um sinal de interrupo, atravs do qual ela notifica o processador quando uma operao de e/s foi concluda.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo pedido de interrupo chama rotina de servio de interrupo controlador de interrupes
tabela de vetores de interrupo tempo de latncia de interrupo

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
A operao dividida em duas fases. Na fase de disparo da operao, o processador envia para a interface o comando, o nmero da trilha e do setor. Ao final da fase de disparo, o processador passa a executar uma outra atividade qualquer, por exemplo, parte de um outro programa. A interface inicia a fase de transferncia de dados fazendo um pedido de interrupo ao processador, atravs do sinal de interrupo.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Ao receber o pedido de interrupo, o processador suspende a execuo do programa corrente e passa a executar uma rotina especial, chamada rotina de servio de interrupo (tambm chamada device driver ou device handler).
Nesta rotina, o processador verifica inicialmente se o ltimo dado j foi enviado.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Se este o caso, o processador conclui a escrita do setor do disco lendo o registrador de estado da interface. Caso contrrio, o processador envia um novo dado e retorna para o programa que se encontrava em execuo.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Durante a fase de transferncia de dados, a interface faz um pedido de interrupo a cada dado escrito no setor do disco.
O processador responde ao pedido de interrupo executando a rotina de servio e enviando um novo dado. Isto se repete at que todos os dados tenham sido escritos no setor do disco.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Normalmente, a interface de disco conhece o tamanho do setor e mantm uma contagem dos dados j recebidos, de forma que ela pode determinar quando deve encerrar a seqncia de pedidos de interrupo.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Em um sistema comum existirem vrias interfaces diferentes que fazem pedidos de interrupo ao processador. Cada interface deve ser atendida por uma rotina de servio de interrupo especfica para aquela interface. Assim, ao receber um pedido de interrupo, o processador deve determinar qual a rotina de servio a ser executada.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Alm disso, quando duas ou mais interfaces fazem pedidos de interrupo simultneos, necessrio decidir qual o pedido de interrupo que ser atendido.
Estas duas funes so suportadas por um componente do sub-sistema de e/s, chamado controlador de interrupo (interrupt controller).

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo Controlador de Interrupo

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo Controlador de Interrupo
O controlador de interrupo atribui um nmero e uma prioridade a cada um destes sinais. Quando um pedido de interrupo acontece, o controlador de interrupo envia para o processador, atravs do barramento de dados, o nmero do pedido.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo Controlador de Interrupo
No caso de dois ou mais pedidos simultneos, o controlador decide qual o pedido com maior prioridade e envia para o processador o nmero correspondente. O processador usa o nmero recebido do controlador para indexar uma tabela armazenada na memria, chamada tabela de vetores de interrupo (interrupt vector table).

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo Controlador de Interrupo
Cada entrada desta tabela contm o ponteiro, ou vetor, para uma rotina de servio. Ao receber um nmero de interrupo n, o processador l o vetor contido na posio n da tabela e passa a executar a rotina de servio de interrupo apontada por este vetor.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo Controlador de Interrupo
Na e/s com interrupo, o processador no fica dedicado operao de e/s. O processador alocado somente quando realmente deve ser transferido um dado entre a memria e a interface, resultando em uma utilizao mais eficiente do processador. No entanto, esta tcnica apresenta uma desvantagem quanto velocidade de transferncia dos dados.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Na e/s com interrupo, o processador no fica dedicado operao de e/s. O processador alocado somente quando realmente deve ser transferido um dado entre a memria e a interface, resultando em uma utilizao mais eficiente do processador. No entanto, esta tcnica apresenta uma desvantagem quanto velocidade de transferncia dos dados.

Tcnicas de Transferncia de Dados


Entrada e Sada com Interrupo
Note que a transferncia de um dado envolve a arbitrao pelo controlador de interrupo, a comunicao entre o controlador e o processador, o acesso memria para a leitura do vetor de interrupo e finalmente o desvio para a rotina de servio. Todas estas etapas acrescentam um retardo antes que o dado seja realmente transferido. Este retardo chamado de tempo de latncia de interrupo (interrupt latency time).

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA) maior taxa de transferncia de dados controlador de DMA vrios canais sinais de controle para os dispositivos perifricos arbitrao de pedidos

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA) Na e/s com DMA (Direct Memory Access) um componente do subsistema de e/s, chamado controlador de DMA, responsvel por transferir os dados entre a memria e a interface de e/s.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
Considere novamente o exemplo da operao de escrita de um setor de disco. Na fase de disparo da operao, o processador informa ao controlador de DMA o nmero de dados a serem transferidos, o endereo do primeiro dado e o sentido da transferncia (no caso do exemplo, o sentido de transferncia da memria para a interface de e/s).

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
Em seguida, o processador envia para a interface controladora de disco o nmero de trilha, o nmero de setor e o comando da operao. O processador participa apenas da fase de disparo. Na fase de transferncia de dados, o controlador de DMA assume o controle dos barramentos para realizar a transferncia entre a memria e a interface.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
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.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
Mais detalhadamente, a fase de transferncia de dados envolve os seguintes passos:
1) aps receber o comando do processador, a interface de disco faz um pedido de DMA ao controlador de DMA atravs do sinal PDMA. Por sua vez, o controlador faz um pedido de barramento ao processador, atravs do sinal PBAR. Ao liberar os barramentos, o processador responde ativando o sinal LIVRE, indicando ao controlador de DMA que este j pode usar os barramentos.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
Mais detalhadamente, a fase de transferncia de dados envolve os seguintes passos:
2) controlador de DMA coloca no barramento de dados o endereo do primeiro dado e ativa o sinal de leitura de memria. A memria responde colocando o dado endereado no barramento de dados. O controlador de DMA ativa o sinal de escrita em interface de e/s, fazendo com que a interface de disco capture o dado presente no barramento de dados.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
Mais detalhadamente, a fase de transferncia de dados envolve os seguintes passos:
3) ao escrever o dado no setor do disco, a interface faz um novo pedido de DMA. O controlador de DMA inicia uma nova transferncia, colocando o endereo do prximo dado no barramento de endereo e ativando os sinais de controle apropriados. Este passo se repete at que todos os dados tenham sido transferidos. Ao concluir a ltima transferncia, o controlador de DMA retira o pedido de barramento, permitindo que oprocessador volte operao normal.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
Note que na e/s com DMA a transferncia de cada dado envolve apenas uma leitura de memria e uma escrita de interface de e/s, realizadas pelo prprio controlador de DMA. A e/s com DMA efetivamente elimina o tempo de latncia associado a cada dado transferido, que existe na e/s com interrupo.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
Isto permite que a e/s com DMA atinja taxas de transferncia bem maiores que as tcnicas de e/s que envolvem o controle do processador. Em geral, possvel ter vrias interfaces de e/s operando com a tcnica de acesso direto memria. Para tanto, o controlador de DMA possui vrias entradas para pedido de DMA.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
O controlador de DMA associa a cada uma destas entradas um conjunto independente de registradores para armazenar o nmero de dados a serem transferidos, o endereo inicial e o sentido da transferncia. Um grupo de sinais de controle com seus respectivos registradores formam o chamado canal de DMA.

Tcnicas de Transferncia de Dados


Entrada e Sada com Acesso Direto Memria (DMA)
O controlador de DMA se encarrega de arbitrar entre interfaces que fazem pedidos de DMA simultneos, usando um esquema de prioridades atribudas aos canais de DMA.

Projeto de um Sistema de E/S


Duas restries principais latncia limites aceitveis para se completar uma operao de entrada e sada banda passante dada uma carga de trabalho, o sistema deve se manter balanceado

Projeto de um Sistema de E/S


A abordagem geral do projeto de um sistema de entrada e sada a seguinte:
1- Encontre o componente do sistema de entrada/sada que impe a maior restrio ao projeto. Dependendo da carga de trabalho, este componente pode ser qualquer um, processador, memria, barramentos ou os prprios dispositivos;

Projeto de um Sistema de E/S


A abordagem geral do projeto de um sistema de entrada e sada a seguinte:
2- Configure o componente de modo que ele sustente a banda passante desejada; 3- Determine as necessidades dos demais componentes do sistema e configure-os para sustentar a banda passante.