Como é que a CPU se comunica com o resto do computador?
Bom, pra início de conversa, a comunicação mais importante num computador se dá entre a CPU e a memória principal (chamada de memória RAM ou de memória, apenas). Mas a CPU também tem que se comunicar com outros componentes, como os dispositivos de E/S (Entrada e Saída) e as outras memórias.
Toda essa comunicação se dá pelos Barramentos de Sistema, que são linhas de comunicação que se estendem por todo o micro, atingindo grande parte de seus componentes. Pense nos barramentos de Sistema como sendo três grandes avenidas paralelas (não se cruzam nunca), que levam informações da CPU para os mais remotos componentes do computador e Vice Versa.
A arquitetura dos nossos computadores contempla três diferentes barramentos de sistema: O Barramento de Dados, o Barramento de Endereços e o Barramento de Controle. Cada qual com suas funções apropriadas, vistas a seguir:
- Barramento de Dados: Serve para transportar as instruções dos programas e os dados a serem utilizados nesses programas. Instruções são “ordens”, como já foi visto, e dados são informações básicas para alimentar os programas e sobre quem os cálculos são realizados. Tipo: “Some 12 e 17”.
“Somar” é uma instrução, “12” e “17” são dados necessários à realização da instrução.
- Barramento de Endereços: Serve para transportar os endereços (números que apontam os locais) das posições a serem acessadas na memória. Simples: algumas instruções de programas avisam à CPU que ela precisa buscar dados na memória, mas, para isso, faz-se necessário um endereço que apontará para a posição na memória que deverá ser acessada (ou você pensa que a CPU vai adivinhar se eu disser “Olha! Vai pegar a letra ‘A’ na memória”, pensa?).
Quando uma instrução obriga a CPU a buscar algo na memória, a coisa é mais ou menos assim: “Olha! Vai pegar o conteúdo da posição AF12F8 da memória”)
- Barramento de controle: serve para transportar sinais de controle e sincronia gerados pela UC (Unidade de Controle) ou pelos dispositivos de E/S.
Sinais de ESCREVA, LEIA, INICIE, INTERROMPA são os mais comuns.
Uma pequena imagem para que fiquem cientes acerca do que estou falando (escrevendo):
Então, teríamos que, quando uma CPU encontra a seguinte instrução:
LEIA 3456F1 Vai mandar o sinal LEIA pelo barramento de Controle e, simultaneamente, mandar 3456F1 pelo barramento de endereços, o que avisa à memória que abra seus “portões” para ser lida naquele endereço. Depois disso, o dado presente naquele endereço será trazido pelo barramento de dados até um dos registradores da CPU e lá será processado devidamente. Do mesmo modo que a instrução:
ESCREVA “12” em F2AB34
Faz a CPU mandar o sinal ESCREVA pelo barramento de controle,
simultaneamente ao 12 ser mandado pelo barramento de dados e o endereço F2AB34 ser mandado pelo barramento de endereços. Isso fará a memória se abrir para receber o número 12 na posição correspondente ao endereço F2AB34.