O Processador

Processador

Os microprocessadores — por vezes chamados de processadores ou simplesmente CPU (Central Processing Unit) ou ainda, em português, UCP (Unidade Central de Processamento) — são circuitos integrados passíveis de ser programados para executar uma tarefa predefinida, basicamente manipulando e processando dados. Resumidamente, o papel do microprocessador é somente um: pegar dados, processar esses dados conforme programação prévia e devolver o resultado. De onde vêm tais dados e para onde vai o resultado é, para ele, indiferente. (vide figura abaixo)

Esquema de funcionamento de um processador

Atualmente a maioria dos sistemas eletrônicos são microprocessados, isto é, têm um processador: fornos de microondas (você programa o tempo, temperatura, tipo de alimento, etc.), videocassetes (você programa para ele gravar a sua novela preferida todos os dias), carros (em seu sistema de injeção eletrônica, comanda a quantidade de ar e combustível que devem ser inseridos no motor, de acordo com dados lidos de alguns sensores), aparelhos de CD (você programa o aparelho a ficar repetindo indefinidamente aquela música do ABBA quando você está apaixonado) e, é claro, os computadores (para aquele nosso campeonato de Quake — afinal, ninguém é de ferro). Em teoria, qualquer sistema eletrônico que permita ser programado tem um processador controlando essa programação.

Tal programação é feita através de instruções, que são “comandos” que o processador entende. Cada processador entende uma quantidade finita de instruções, que são listadas em uma tabela conhecida como conjunto de instruções. Cada processador tem um conjunto de instruções diferentes. Não faz sentido para um processador de um forno de microondas ter uma instrução do tipo “repetir faixa n”, bem como não faz sentido para o processador de um carro uma instrução do tipo “fazer pipoca” ou para um processador de um videocassete a instrução do tipo “injetar mais gasolina e cortar um pouco do ar”.

 

Obviamente, no caso de processadores que são usados em sistemas dedicados, isto é, que tem uma quantidade limitada de tarefas que podem executar, como é o caso dos aparelhos que demos como exemplo, o conjunto de instruções é pequeno e limitado, e só servem para aplicações muito específicas.

 

Os computadores, por outro lado, são sistemas que, ao menos teoricamente, têm a capacidade para serem programados até onde a imaginação do programador permitir. O que queremos dizer com isso é que os processadores usados em PC não são processadores de uso específico como os usados em fornos de microondas ou videocassetes, mas sim processadores de uso geral, que podem fazer uma infinidade de coisas.

 

Funcionamento dos Processadores

Como estamos vendo, os processadores são programados através de instruções. Um grupo de instruções forma um programa ou software. Em sistemas dedicados, como fornos de microondas, videocassetes, injeção eletrônica de carros, etc., o programa é sempre o mesmo. Quando anteriormente falamos que você “programa” um videocassete ou um aparelho de CD, na verdade você está entrando dados para o programa que está sendo executado pelo processador.

A Figura abaixo mostra o funcionamento básico de um sistema microprocessado. Dispositivos de entrada podem ser teclados, mouses, os botões localizados no videocassete, microondas, ou mesmo os sensores do sistema de injeção eletrônica do carro; e os dispositivos de saída podem ser monitores de vídeo, impressoras, displays de cristal líquido (no caso de microondas, videocassetes, etc.) e, no exemplo que demos do sistema de injeção eletrônica, o atuador que regula a mistura de ar e oxigênio que é injetada no motor do carro. 

Funcionamento básio de um sistema microprocessado

Você deve ter percebido no esquema apresentado na Figura acima a existência de um componente chamado memória. O processador não tem uma capacidade interna de armazenamento muito grande. Isso significa que, a não ser em casos muito especiais (processadores dedicados), os programas não ficam armazenados dentro do processador, porque simplesmente não cabem lá dentro.

Assim, o papel da memória é armazenar os programas para serem executados posteriormente pelo processador. Quando você está executando um programa em seu computador, o processador busca as instruções necessárias na memória RAM do micro.

Existem dois tipos de memória, como explicaremos mais adiante: RAM (Random Access Memory) e ROM (Read Only Memory). O primeiro tipo permite que os dados presentes sejam modificados, enquanto que o segundo tipo, não. Em compensação, o conteúdo da memória RAM é apagada quando cortarmos a sua alimentação elétrica, o que não ocorre com a memória ROM.

Por esse motivo, como sistemas dedicados executam sempre o mesmo programa, em geral esse programa está armazenado em uma memória ROM. Já em computadores, como podemos executar qualquer tipo de programa que a gente queira, a memória principal é do tipo RAM.

 Na prática, o acesso do processador à memória RAM é intermediado por um circuito da placa-mãe (controlador de memória, que atualmente está embutido em um circuito chamado Ponte Norte). Outrora, nos computadores atuais geralmente o processador não busca dados na memória RAM, mas sim a cópia dos dados da memória RAM presentes em um circuito chamado cache de memória.

Mesmo a memória RAM pode ser pequena para armazenar o programa que necessita ser executado, ou todos os programas que estão sendo executados ao mesmo tempo, no caso dos processadores atuais, que permitem o recurso de multitarefa. Além disso, como comentamos, o conteúdo da RAM é apagado sempre que desligamos o micro e, com isso, a memória está “vazia” sempre em que ligamos o computador. Por isso, dados e programas são armazenados em um sistema de memória secundária, também chamada memória de massa, tais como discos rígidos, onde os dados não são perdidos quando desligamos o micro. Acontece que esse sistema citado como exemplo, por serem de acesso mecânico, têm uma velocidade muito inferior à do processador.

Segue abaixo esquema teórico utilizado na execução de programas em um micro:

Como os programas são carregados pelo processador

Quando você “chama” um programa, o mesmo é transferido normalmente do disco rígido para a memória RAM, e o processador busca as instruções do programa na memória RAM. O único componente capaz de executar instruções é o processador. Dessa forma, os programas não são executados no disco rígido ou no CD-ROM, mas sim transferidos desses dispositivos para a memória RAM, onde posteriormente o processador irá carregar cada instrução do programa que você deseja executar.

Independentemente da aplicação, todos os processadores trabalham de uma forma muito parecida. Para executarem uma determinada instrução, são seguidos os passos mostrados na Figura abaixo:

Passos para a execução de uma instrução