Buscar

Módulos de E/S e Periféricos

Prévia do material em texto

Ele é composto basicamente por Módulos de Entrada e Saída e periféricos. 
Módulo de E/S 
Os módulos de E/S são conectados á CPU através do barramento do sistema e as ligações 
do sistema computacional com o mundo externo. Sua função principal é permitir a 
comunicação entre o periférico que ele controla e a CPU, através do barramento. Existem 
algumas razões para não ligarmos os periféricos ao barramento do sistema, dentre elas: 
1. Há uma grande variedade de periféricos. Cada um tem sua lógica de operação e, 
portanto, seria difícil para a CPU controlar cada um deles; 
2. Outro problema é o fato dos dispositivos externos apresentarem uma taxa de 
transferência de dados muito menor que aquela estabelecida entre CPU e memória. 
Logo, seria inadequado usar o barramento do sistema para fazer uma comunicação 
direta entre CPU e periféricos. 
3. O formato dos dados e o tamanho das palavras usadas pelos periféricos podem ser 
diferentes dos utilizados pelo computador. 
Assim, os módulos de E/S fazem a conexão entre os periféricos e os demais componentes 
do sistema computacional. Os módulos de E/S se comunicam com os periféricos 
transferindo dados, informações de controle e de estado dos periféricos ou da operação. 
As funções mais importantes de um módulo de E/S são: 
1.Controle e temporização; 
2. Comunicação com a CPU 
3. Comunicação com os periféricos 
4. Armazenamento temporário de dados; 
5.Detecção de erros; 
 
A detecção de erros é responsável por informar o processador sobre o mau funcionamento do 
periférico. 
 
A quantidade de dispositivos que um módulo de E/S consegue controlar e a complexidade 
deles podem variar significativamente. Os dados transferidos entre módulo e o computador 
são armazenados temporariamente em registradores de dados, existem registradores de 
estado para informar a situação atual do dispositivo. Cada um dos módulos de E/S possui 
um endereço distinto para ser referenciado pelo processado. Dessa forma, o intuito do módulo 
de E/S é dar ao processador uma visão simplificada da grande variedade de periféricos. 
Ao executar uma operação de E/S em um programa, a CPU envia um comando para o módulo 
de E/S apropriado, solicitando um operação especifica. Para que uma instrução de E/S seja 
executada, o processador gera um endereço e transmite via barramento esse endereço com a 
operação requerida. 
 
Os tipos de comandos de E/S são: 
• Controle: Ativa um periférico e indica uma ação 
• Teste: Verifica as condições de estado do periférico associado ao módulo de E/S. 
• Leitura: Solicita a leitura de itens de dados do periférico. O módulo de E/S os 
armazena no registrados de dados interno até que o processador solicite a transferencia deles 
para o barramento de dados. 
• Gravação: CPU ordena ao modulo E/S que pegue o dado do barramento de dados e o 
armazene no periférico. 
 
Periféricos 
 
Os periféricos podem ser divididos em: 
• periféricos voltados para a comunicação com o usuário ( Teclado, vídeo, impressora , 
etc) 
• periféricos voltados para a comunicação com a máquina (disco magnéticos, sensores, 
etc) 
• periféricos voltados para a comunicação com dispositivos remotos: (Modem, placa de 
rede, etc) 
Os sinais de controle indicam o tipo da operação ou alguma operação de controle, como 
movimentar a cabeça do disco para uma determinada posição. Os dados são bits a serem 
enviados ou recebidos do módulo de E/S. Já os sinais de estado indicam o estado 
propriamente dito do dispositivo, como, por exemplo, pronto ou não ( ready /not-ready) 
O buffer é uma área de armazenamento temporário de dados. O transdutor é o responsavel 
por converter dados codificados como sinais elétricos para alguma outra forma de energia. 
Na comunicação do periférico com a CPU, e as seguintes etapas estão envolvidas: 
• A CPU interroga o módulo de E/S sobre o estado do periférico; 
• O módulo de E/S informa o estado do periférico á CPU; 
• Se o dispositivo estiver pronto, o processador solicita a transferência dos dados 
enviando um comando para o módulo de E/S; 
• Uma palavra de dados é obtida do perifeérico pelo módulo de E/S; 
• O módulo de E/S transfere os dados para a CPU. 
 
Técnicas de Operações de E/S 
 
Existem 3 técnicas diferentes que podem ser utilizadas durante a realização de operações de 
E/S , são elas 
1. E/S programada; 
2. E/S dirigida por interrupção ; 
3. Acesso direto à memória (DMA); 
 
E/S Programada 
Neste modo de comunicação a CPU, além de executar o programa, possui controle total sobre 
as operações de E/S. Esse controle inclui a detecção do estado periférico, o envio de 
comandos para o módulo de E/S e a transferência de dados. Por isso, toda vez que o 
programa em execução realizar alguma operação de E/S, o processador tem que interromper 
a execução do programa para tratar da operação solicitada , até que ela seja finalizada. Nesse 
intervalo, a CPU fica testando o estado do módulo de E/S. Haverá um desperdício de 
processamento, pois o processador é muito mais rapido que o módulo de E/S. 
 
E/S dirigida por interrupção 
Neste modo de comunicação a CPU não fica esperando que a operação de E/S seja finalizada 
para continuar a execução do programa, como acontece no caso da E/S Programada. Em vez 
disso, a CPU emite um sinal para o módulo de E/S com a operação solicitada e continua 
executando outras instruções do programa. Quando o módulo de E/S estiver pronto para 
trocar informações com a CPU, ele envia um sinal de interrupção avisando seu estado de 
“pronto”. Após esse sinal, o processador realiza a tranferência dos dados. Para a CPU, a 
execução acontece do seguinte modo: 
1.CPU envia um sinal de leitura para o modulo de E/S e continua com a execução do 
programa; 
2. Sempre ao final de cada ciclo de execução o processador verifica se existe algum sinal de 
interrupção de um módulo de E/S pendente. Se existir, o contexto do programa é salvo e a 
interrupção é processada, fazendo a leitura dos dados do módulo de E/S e armazenando-os 
na memória. 
3. O contexto do programa é restaurado e sua execução prossegue normalmente . 
 
Devemos ressaltar que tanto na E/S programada quando na dirigida por interrupção, a CPU 
sempre é a intermediária na comunicação entre periféricos e a memória principal, além de 
gerenciar toda a comunicação. 
 
DMA- acesso direto à memória 
Quando é necessário transferir um grande volume de dados, é preciso um método mais 
eficiente de transferência de dados. Especialmente para a memória secundária ( disco). 
A técnica mais eficiente para transferência de dados é o DMA (Direct Memory Access / Acesso 
Direto à memória). 
Nessa técnica, a CPU atua apenas para inicializar e encerrar uma operação de transferência 
de dados, usualmente uma grande quantidade de dados, ao invés de atuar a cada palavra 
de dados transferida. Para a transferencia dos dados o módulo de E/S pode acessar 
diretamente a memória principal. Obviamente é necessário que o módulo de E/S tenha 
suporte para a técnica DMA. 
As informações trocadas entre o módulo de E/S com DMA e a CPU quando esta deseja ler ou 
escrever um conjunto de dados em um periféricos podem ser descritas como segue: 
1. por meio do barramento de controle a CPU indica o tipo de operação ao DMA; 
2. È fornecido o endereço do módulo de E/S correspondente; 
3. È fornecido o endereço de memória para o módulo DMA armazenar ou ler os dados; 
4. É fornecida a quantidade de palavras que serão lidas ou escritas; 
 
Suponha que um programa solicite uma leitura de um arquivo de disco. O Módulo de E/S com 
DMA será o responsavel por controlar a operação e armazenar os dados lidos do disco direto 
ne memória principal, no endereço transmitido pela CPU durante a solicitação. Ao finalizar a 
transferência, o DMA emite um sinal de interrupção ao processador, indicando o término da 
operação. A técnica de DMA melhora o desempenho do sistema computacional ao liberar a 
CPU da intermediação da transferência de dados. Desta forma, a CPU só se envolve no inicio 
eno fim da operação.

Continue navegando