Você está na página 1de 4

Dentro de um microprocessador

Para entender o funcionamento de um


microprocessador, vamos entender a lgica
utilizada para se criar um. Neste processo, voc
tambm vai aprender um pouco de linguagem
assembly (a lngua nativa de um
microprocessador) e muitas outras coisas que os
engenheiros fazem para aumentar a velocidade do
computador.

Foto cedida por Intel Corporation

Processador Intel Pentium 4

Um microprocessador executa uma srie de


instrues de mquina que dizem a ele o que fazer. As trs funes bsicas de um
processador so:

utilizando sua ULA (Unidade Lgica e Aritmtica), o microprocessador pode


executar operaes matemticas como adio, subtrao, multiplicao e diviso.
Os microprocessadores modernos contm processadores de ponto flutuante que
podem executar operaes extremamente sofisticadas com nmero grandes
em pontos flutuantes;

um microprocessador pode mover dados de um endereo de memria para


outro;

um microprocessador pode tomar decises e desviar para um outro conjunto de


instrues baseado nestas decises.
O microprocessador pode fazer coisas muito complicadas, mas as trs atividades citadas
acima so as suas principais aes. O diagrama a seguir mostra um microprocessador
extremamente simples que capaz de fazer estas trs coisas:

Este microprocessador simples possui:

um barramento de endereos (pode ser de 8, 16 ou 32 bits) que envia um


endereo para a memria;

um barramento de dados (pode ser de 8, 16 ou 32 bits) que envia e recebe


dados da memria;

uma linha RD (Read ou Leitura) e WR (Write ou Escrita) que diz memria se


ela deve gravar ou ler o contedo da posio de memria endereada;

um sinal de clock que fornece uma seqncia de pulsos de relgio para o


processador;

um sinal de reset que reinicia o contador do programa para zero (ou outro valor)
e recomea a execuo do programa.
Vamos supor que os barramentos de endereos e de dados tenham 8 bits neste exemplo.
Os componentes deste microprocessador simples so:

os registradores A, B e C so simples latches simples formados de flip-flops (para


obter mais informaes, consulte a seo sobre "latches disparados por borda",
em Como funciona a lgica booleana;

o latch de endereos igual aos registradores A, B e C;

o contador do programa um latch com as habilidades extras de incrementar de


1, quando solicitado e de ser zerado, quando solicitado;

a ULA pode ser um simples somador de 8 bits (para obter mais informaes,
consulte a seo sobre somadores em Como funciona a lgica booleana) ou pode
somar, subtrair, multiplicar e dividir valores de 8 bits. Vamos supor que ela faa
parte do segundo grupo;

oregistrador de teste um latch especial que armazena valores das


comparaes realizadas na ULA. A ULA pode comparar dois nmeros e
determinar se eles so iguais ou se um maior do que o outro. O registrador de

teste tambm pode armazenar um bit de carry (carry-out) do ltimo estgio do


somador. Ele armazena esses valores em flip-flops e o decodificador de instrues
pode usar os valores para tomar decises;
existem seis caixas no diagrama com a indicao "3-state". Estes so os buffers
tri-state. Um buffer tri-state pode deixar passar 1, 0 ou pode se desconectar
da sada (imagine uma chave que se desconecta totalmente da linha de sada).
Um buffer tri-state permite mltiplas sadas conectadas a um fio, mas somente
uma delas leva 1 ou 0 para a linha;
o registrador de instruo e o decodificador de instruo so responsveis pelo
controle de todos os outros componentes.

Voc no v neste diagrama, mas existem linhas de controle do decodificador de instrues


que:

mandam o registrador A colocar o seu valor atual no barramento de dados;


mandam o registrador B colocar o seu valor atual no barramento de dados;
mandam o registrador C armazenar o valor atual da sida da ULA;
mandam o registrador de contador de programa colocar o valor atual no
barramento de dados;

mandam o registrador de endereos travar o seu valor atual no barramento de


dados;

mandam o registrador de instruo colocar o seu valor atual no barramento de


dados;

mandam o contador de programa incrementar;

mandam o contador de programa resetar (ir para zero);

ativam qualquer um dos seis buffers tri-state (seis linhas separadas);

informam a ULA sobre qual operao ela deve executar;

mandam o registrador de teste armazenar os bits de teste da ULA;

ativam a linha RD;

ativam a linha WR.


Dentro do decodificador de instrues entram os bits do registrador de teste e do sinal
de clock line, alm dos bits do registrador de instrues.
Memria RAM e ROM
A seo anterior falou sobre endereamentos e barramentos de dados, assim como as
linhas RD e WR. Esses barramentos e linhas se conectam com as memrias RAM e ROM.
No nosso microprocessador de exemplo, ns temos um barramento de endereos de 8 bits
e um barramento de dados de 8 bits. Isso significa que o microprocessador pode enderear
(28) 256 bytes de memria e ler ou escrever 8 bits da memria por vez. Vamos supor que
este microprocessador simples tenha 128 bytes de ROM que comea no endereo 0 e 128
bytes de RAM que comea no endereo 128.

Memria ROM

ROM significa memria apenas para leitura (read-only memory). Um chip ROM
programado com uma coleo permanente de bytes pr-definidos. O barramento de
endereamento diz ao chip ROM qual byte pegar e colocar
no barramento da dados. Quando a linha RD muda o
estado, o chip ROM apresenta o byte selecionado ao
barramento de dados.
RAM significa memria de acesso aleatrio (random access
memory). A memria RAM contm bytes de informao e o
microprocessador pode ler ou escrever nestes bytes,
dependendo da linha de comando utilizada: RD ou WR. Um
dos problemas dos chips RAM que eles esquecem tudo
uma vez que a energia desligada. por isso que o
computador precisa de ROM.

Memria RAM

Todos os computadores tm alguma memria ROM, e possvel criar um computador


simples que no tenha memria RAM. Muitos microcontroladores fazem isso, colocando um
pouco de memria RAM no prprio chip do processador. Porm, impossvel criar um
computador que no tenha memria ROM. Em um PC, a memria ROM conhecida como
BIOS (sistema bsico de entrada/sada). Quando um microprocessador comea a funcionar,
ele executa primeiro as instrues contidas na BIOS. As instrues da BIOS realizam testes
no hardware e depois vo para o disco rgido para buscar o boot sector (para obter mais
informaes, consulte Como funcionam os discos rgidos). O boot sector outro pequeno
programa e a BIOS o armazena na RAM depois de l-lo no disco. O microprocessador
ento comea a executar as instrues do boot sector a partir da memria RAM. O
programa de boot sector manda o microprocessador copiar algo mais do disco rgido para a
memria RAM, que o microprocessador executa posteriormente. Esta a maneira pela qual
o microprocessador carrega e executa todo o sistema operacional.

Você também pode gostar