Cursos / Automação Industrial / Arquitetura de Computadores / Aula
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.
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.
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.
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:
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