Comunicação dos Dispositivos Periféricos com o Processador/Memória

Neste momento, é importante que você lembre que os algoritmos são executados em processadores e que ficam armazenados nas memórias. No entanto, os sistemas computacionais necessitam que os seres humanos possam enviar informações para os algoritmos; isto pode ser conseguido através da colocação de dados na memória. Por exemplo, se você quiser calcular a raiz quadrada de um número inteiro, é necessário que você informe esse número ao algoritmo que vai realizar o cálculo. De maneira semelhante, quando o algoritmo precisar mostrar o resultado de uma operação (o resultado do cálculo da raiz quadrada), ele precisa colocá-lo na memória, para então, ser mostrado em um monitor. Você vai ver agora como isso acontece.

A comunicação dos dispositivos periféricos com o processador/memória ocorre principalmente de três maneiras. Vejamos cada uma delas.

  1. Pooling
  2. Sistema de interrupções
  3. Acesso direto à memória (DMA: direct memory access)

No sistema de pooling, o processador fica monitorando os periféricos a cada “x” tempo, a fim de verificar se o dispositivo periférico necessita se comunicar; em caso afirmativo, uma comunicação é estabelecida, caso contrário, o processador simplesmente segue executando os algoritmos. É importante perceber que a cada um desses acessos, o processador precisa parar a execução do algoritmo naquele momento para executar um algoritmo de comunicação com o periférico. Se o processador se comunica com um periférico que não deseja se comunicar, houve uma perda de desempenho no sistema computacional devido ao desperdício de tempo do processador.

No sistema de interrupções, a iniciativa da comunicação parte do periférico e não do processador: toda vez que o periférico precisa se comunicar, ele envia ao processador um sinal específico, o qual interrompe o processador; isso quer dizer que o processador para de executar o algoritmo que está executando no momento para atender a interrupção: executar a comunicação com o periférico. Com isso, o processador somente precisa parar de executar as suas operações quando necessário (quando algum periférico precisa comunicar) e não ficar monitorando os periféricos. Podemos observar este procedimento na Figura 13.

Sistema de interrupções.

Veja, na animação a seguir, como ocorre este procedimento:

Note, no entanto, que as comunicações ocorrem no nível da palavra binária do processador, ou seja, uma interrupção é gerada para cada palavra que o periférico quer comunicar (leitura/escrita) com a memória. Isso pode ser um problema para dispositivos que comunicam muitos dados e a taxas elevadas como, por exemplo, discos rígidos e memórias de vídeo. Para estes dispositivos outra alternativa foi criada: acesso direto à memória (DMA: direct memory access). Veja a Figura 14.

Acesso ao processador via DMA.

Na técnica do DMA, quando uma interrupção é gerada, o periférico informa ao processador a quantidade de dados que irá comunicar; o processador então delega a tarefa da comunicação ao controlador do DMA. A partir desse momento, o processador continua a executar o algoritmo que executava antes da interrupção e o DMA fica responsável por toda comunicação entre o periférico e a memória. Somente ao final da comunicação (independente do tamanho desta) o controlador DMA interrompe novamente o processador para indicar o final da comunicação e liberar o barramento. Observe a animação a seguir.

Assim, independentemente do tamanho da comunicação, o processador é interrompido somente duas vezes.

Veja mais alguns exemplos de dispositivos periféricos:

  • HDs externos (Figura 15)
  • Placas de vídeo (Figura 16)
  • Barramentos de E/S (entrada/saída): cabos USB (Figura 17) e FireWire (Figura 18)
  • Mouse infravermelho (Figura 19)
HDs externos.

 

Placa de vídeo.

 

Cabo USB.

 

Cabo <span class='italico'>FireWire</span>

 

Mouse infravermelho.

Neste momento, chegamos a um ponto chave dentro do nosso curso: conseguimos entender quais são os componentes de arquiteturas que compõem qualquer sistema computacional. Podemos ver como funcionam e interagem processadores, memórias e dispositivos periféricos. O que muda em termos de arquitetura de um sistema para outro é justamente qual o tipo de cada um desses componentes.

Fazendo uma revisão de tudo o que estudamos até esta aula, é possível você determinar o funcionamento dos computadores, bem como comparar diferentes possibilidades de implementação. Vamos ver se você compreendeu?

Versão 5.3 - Todos os Direitos reservados