Clique aqui para voltar à página inicial  http://www.novomilenio.inf.br/ano99/9909dchp.htm
Publicado originalmente pelo editor de Novo Milênio no caderno Informática do jornal A Tribuna de Santos, em 28/9/1999.
Última modificação em (mês/dia/ano/horário): 01/05/00 11:06:01
VOCÊ SABIA?
Veja como funciona um chip

Simples conta de somar envolve complexas operações

Quem não pode ir até o Museu Intel, situado em Santa Clara, no estado norte-americano da Califórnia, tem pela Internet acesso ao museu virtual dessa empresa, que entre outras informações (em inglês), apresenta em animação Shockwave e em páginas hipertexto uma seqüência de imagens, demonstrando o funcionamento passo a passo de um microprocessador. Confira na Web ou a seguir.

Lembra a Intel que um microprocessador - ou chip, como é conhecido -  é uma pequena placa de silício, menor que a unha do dedo mínimo, em que foram gravados, com produtos químicos, caminhos para condução e troca de sinais elétricos contendo informações. E o chip há muito não é mais exclusividade do computador, ele aparece nos mais diferentes aparelhos, como forno microondas, telefone celular, veículos, brinquedos etc.

Cada parte do processador tem uma função especial. Assim, suponhamos a simples adição 2+3=5 e vejamos como ela é processada pelo chip, acompanhando estas dez imagens e as cores citadas no texto:

Imagem: Museu Intel 1 – Quando você pressiona a tecla 2, o microprocessador é alertado e instrui a unidade de pré-solicitação de dados (Prefetch Unit) para perguntar à memória principal do computador por uma instrução específica para lidar com o novo dado, uma vez que não há nada ainda no cachê de instruções (Instruction Cache) (veja a seqüência no caminho em amarelo).

A nova instrução entra no chip através da unidade de transporte de dados (Bus Unit) da memória principal do computador e é armazenada no Instruction Cache, onde recebe o código "2=X" (veja em azul).

2 – A Prefetch Unit então solicita ao Instruction Cache uma cópia do código "2=X" e o envia à unidade de decodificação (Decode Unit) para posterior processamento (veja em amarelo).

Na Decode Unit, a instrução "2=X" é traduzida ou decodificada em uma seqüência de códigos binários que vai para a unidade de controle (Control Unit); o cachê de dados (Data Cache) pergunta a eles o que deve fazer com a instrução (veja em azul escuro).

Como a Decode Unit tinha a informação de que o número 2 deveria ser armazenado para uso futuro no Data Cache, a Control Unit agora produz a instrução para "2=X". Isso faz com que o número 2 seja enviado a um endereço no Data Cache chamado "X", onde você o vê aguardando futuras instruções (em azul claro).

Imagem: Museu Intel
Imagem: Museu Intel 3 – Agora, quando você pressiona a tecla 3, a Prefetch Unit repete o processo, perguntando à memória principal do computador e ao Instruction Cache por instruções específicas para este novo dado. Não encontra  ainda nenhuma instrução no Instruction Cache, então a instrução deve vir da memória principal (veja em amarelo).

Como você vê no caminho em azul, o novo dado entra no microprocessador procedente da memória principal e é armazenado em outro endereço do Instruction Cache, com o código "3=Y".

4 – Mais uma vez, a Prefetch Unit obtém uma cópia do código "3=Y" do Instruction Cache e o envia à Decode Unit para posterior processamento (veja em amarelo)
Na Decode Unit, a instrução "3=Y" é traduzida ou decodificada em uma seqüência de código binário que é emitida para a Control Unit e o Data Cache pergunta o que fazer com a instrução (veja em azul escuro).

Como a Decode Unit tinha instruído que o número 3 deveria ser armazenado para uso futuro no Data Cache, a Control Unit agora monta a instrução "3=Y". Isso faz com que o número 3 seja enviado para um endereço no Data Cache chamado "Y", onde fica esperando por novas ordens, da mesma forma como havia sido feito com o número 2 (veja em azul claro).

Imagem: Museu Intel
Imagem: Museu Intel 5 – Quando você pressiona a tecla de [+], a Prefetch Unit pergunta à memória principal do computador e ao Instruction Cache sobre o novo dado, que deve ser obtido da memória principal (veja em amarelo).

Por ser uma nova instrução, o [+] chega ao chip procedente da memória principal, sendo armazenado em um endereço no Instruction Cache como um código "X+Y=Z", mostrando que o ato de adicionar vai ser então realizado ali (veja em azul escuro).

6 – A Prefetch Unit então requisita ao Instruction Cache uma cópia do código "X+Y=Z" e o envia para ser processado na Decode Unit (veja em amarelo).

Na Decode Unit (veja em azul escuro), "X+Y=Z" é traduzido ou decodificado e então enviado à Control Unit e o Data Cache pergunta o que fazer com a instrução. 

A Unidade Lógico-Aritmética (ALU - Aritmetic Logic Unit) envia mensagem de que a função de adição deve ser realizada (veja em azul escuro).

Imagem: Museu Intel
Imagem: Museu Intel 7 – Na Control Unit, o código é desmontado e o comando de adição é enviado para a ALU, onde X e Y são somados, depois de enviados pelo Data Cache. 

A ALU então envia o resultado (5) para a área dos registradores, e esse valor é armazenado num dos endereços ali disponíveis (veja em azul claro).

8 – Bem, agora você quer o resultado, então pressiona a tecla [=]. Nesse momento, a Prefetch Unit verifica o Instruction Cache para ver se há algum dado novo, e não o encontra (veja em amarelo).

A instrução para [=] segue da memória principal do computador para o chip através da Bus Unit, sendo armazenada num endereço do Instruction Cache como o código "imprima Z" (veja em azul escuro).

Imagem: Museu Intel
Imagem: Museu Intel 9 – A Prefetch Unit então pergunta ao Instruction Cache por uma cópia do código "Imprima Z" e a envia à Decode Unit para posterior processamento (veja em amarelo).

Na Decode Unit, essa instrução "Imprima Z" é traduzida como uma seqüência de código binário e emitida para a Control Unit, que pergunta o que fazer com a instrução (veja em azul escuro).

10 – Agora que o valor de Z foi computado e está residindo na entrada #5 do registrador, o comando de impressão tem apenas de recuperar o conteúdo do registro 5 e mostrá-lo na tela, para que você finalmente possa ver a soma de 2+3 (siga o caminho em azul claro)

O microprocessador completou o trabalho e aguarda sua próxima tarefa.

Imagem: Museu Intel