Baixe o app para aproveitar ainda mais
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.
Compartilhar