A sua denominação correcta é Unidade Central de Processamento (em inglês CPU-Central Process Unit). No entanto os termos processador e microprocessador (m P) são vulgarmente usados para referir o mesmo elemento.
O que agora se chama de microprocessador, surgiu pela primeira vez em 1971, e teve como característica principal o facto de ter integrado numa única peça (chip) vários componentes que até então surgiam em separados, facilitando assim a implementação, as comunicações, diminuindo o tamanho, o consumo de energia e o preço. A empresa que desenvolveu era a então pouco conhecida Intel, e o processador o 4004.
Basicamente, um m P tradicional contém muitas das características que os anteriores sistemas de processamento continham, mas que para além de estarem compactados num único chip foram sendo desenvolvidos e aperfeiçoados.
O CPU é o elemento central de coordenação e de processamento de todo o sistema, dito o computador. O CPU, recebe instruções (as aplicações, ou software) de manipulação dos dados. Dessa manipulação (processamento) são gerados novos dados, os resultados.
Os componentes fundamentais dum m P
são os seguintes:
Unidade
de Controlo
(UC);
Unidade Lógica e
Aritmética
(ULA);
Registos;
Sistema de comunicações.
A Unidade de Controlo (UC) é responsável pela leitura e sequenciação do programa de processamento. É esta unidade que envia ordens de cálculo para a ULA, que indica os valores a processar, e os coloca nos registos para esse efeito. É também a partir da UC que a informação é transferida para as outras partes que constituem o computador, como a memória, os sistemas de I/O, etc..
A Unidade Lógica e Aritmética é responsável, como o seu nome indica pelas operações matemáticas, e pelas operações lógicas (AND, OR, XOR, NOT, comparações, etc.) ocorridas no processamento. Para essas operações utiliza os dados existentes nos Registos, aí colocados pela UC e actualizados em certos casos pela própria ALU, aquando das operações.
Os Registos são células de memória, em número inconstante mas bastante limitado, e com capacidade normal de 8, 16, 32 ou 64 bits cada (consoante se trate de microprocessadores ditos a 8, 16, 32 ou 64 bits), embora no mesmo processador seja comum existirem registos com vários destes tamanhos.
Para que todos estes subsistemas funcionem é necessário que haja comunicação entre eles. Para isso, existe um sistema de comunicações interno, composto nomeadamente por barramentos, que os interliga. O largura (em bits) destes barramentos é função da capacidade da UC, dos Registos e da ALU. Apenas é necessário existir um bus de dados com a capacidade máxima igual à menor dos componentes que interliga, no entanto, por vezes o barramento de dados tem maior capacidade que esses outros componentes.
Com o evoluir da técnica e da necessidade crescente de mais capacidade de cálculo, mais memória, etc., foram sendo introduzidos novos componentes e unidades, que estão lentamente a tornar-se standards. É o caso da memória cache interna, de co-processador (unidade de vírgula flutuante), pipelines, etc..
São várias formas de classificação dos CPU, das quais se destacam as seguintes:
Família;
Velocidade de
relógio;
Número de bits;
CISC/RISC.
A família diz respeito ao conjunto básico de instruções que o processador compreende (ou aceita). Cada família de processadores tem um conjunto básico de funcionamento e um conjunto básico de instruções que executa.
Cada especialização (cada processador dessa família) tem formas específicas de realização das instruções, durações diferentes para a mesma operação, mais instruções, etc.. No entanto, o conjunto básico é suportado por todos os elementos da família.
As famílias de processadores mais conhecidas daquelas utilizadas em computadores de uso pessoal são:
Por norma, cada uma destas famílias não é "compatível com" (leia-se "utilizável como") outra família, excepção feita à família Power PC que é compatível com a família Intel x86, a troco de alguma falta de desempenho quando se trata de utilizar o conjunto de instruções da família i80x86.
A velocidade dum processador mede-se em função da velocidade do seu relógio, que se mede em frequência (Hertz (Hz) ou Mega Hertz (MHz)). A frequência corresponde ao número de ciclos por segundo. Na figura seguinte representa-se duas frequências. Na figura a), o ciclo repete-se 3 vezes em cada segundo, daí tratar-se duma frequência de 3 Hz. Na figura b), o ciclo repete-se 7 vezes em cada segundo, daí tratar-se duma frequência de 7 Hz.
A frequência interna do relógio do processador varia de
processador para processador,
sendo comuns velocidades entre 2 MHz e 1200 MHz (1,2 GHz).
Instruções por segundo
Por vezes, erradamente, esta medida é confundida com o número de instruções que o processador realiza por segundo. Na realidade, cada instrução é realizada num número específico de ciclos, o que torna impossível definir com exactidão o número de instruções realizadas num segundo. Existem instruções que são realizadas num único ciclo de relógio (no limite é o que se deseja), enquanto outras demoram várias dezenas.
A figura seguinte representa esta situação.
Multiplicação da velocidade do processadorUm dos problemas existentes na aplicação de microprocessadores é o baixo desempenho dos sistemas com que se interliga, nomeadamente barramento de dados e memória.
Aquando das primeiras gerações de microprocessadores, as velocidades do processador e do resto do computador eram as mesmas para que as interligações se realizassem em momentos específicos.
No entanto, constatou-se que:
- É fácil aumentar as velocidades do microprocessador;
- É difícil aumentar as velocidades dos restantes componentes;
- Enquanto processa, o CPU é independente dos outros componentes.
Nesse sentido, é possível que o processador processe a velocidades superioras, mantendo no entanto a noção de velocidade e coordenação com o resto dos componentes. Assim, o processador, internamente trabalha a velocidades superiores, mas quando interage com o exterior, fá-lo à velocidade especificada pelo relógio do sistema.
Por exemplo, um processador que trabalhe a velocidade de 300 MHz e o resto do sistema funcione a velocidades de 50 MHz, então diz-se que o factor de multiplicação é de 6.
Esta técnica surgiu pela primeira vez na família Intel 80x86 em 1993 com o processador 80486. Tal processador tinha a sigla i80486DX2-50, que significa tratar-se dum processador Intel 80486, com co-processador (DX), com duplicação (2) de velocidade de relógio sendo a sua velocidade máxima a 50MHz. Posteriormente surgiu o i80486DX2-66, i80486DX4-100, etc.
Actualmente as siglas dos processadores desta família não incluem esta característica, mas a técnica continua a ser usada, e mais que nunca!...
A classificação baseada no número de bits está relacionada com a capacidade de manipulação do processador:
Estes termos referem-se à arquitectura do processador. Podem ser:
NOTA: É mais comum, em vez de Code, usar o termo Computer ou Computing.
Desde o surgimento do conceito de RISC (em 1974), que existem apologistas e cépticos em relação ao conceito. Mas pior do que isso é a falta de consenso em relação às características. As características mais importantes associadas ao conceito RISC são:
No entanto, estas características não são suficientes para definir o tipo de processador, pois da conjugação destas, alguns processadores são considerados simultaneamente CISC e RISC como é o caso do Pentium. Para alguns este processador é um processador RISC para outros é um processador CISC.
Ciclos de Relógio | É a dimensão em que se mede a velocidade do processador, quanto maior for a velocidade maior é o desempenho. Não existe uma relação directa entre o número de ciclos de relógio e o número de instruções por segundo [ver Velocidade]. |
Nº de bits de endereçamento | É o número de bits com que os dados (informação) é representada. Assim, quanto maior for o número de bits que representa os dados maior é facilidade e maior a complexidade de cálculo do processador. Normalmente este valor refere-se ao processamento interno do processador e não ao sistema. |
Nº de bits de barramento | É o número de bits com que as instruções e dados circulam no sistema, quer interna quer externamente ao processador. Como nos outros casos, quanto maior for a largura do barramento, maior é informação transmitida, logo maior é a performance. |
CISC | Acrónimo de Complex Instruction Set Computer, que genericamente significa que o conjunto de instruções admitidas é substancialmente grande, complexo, de formato e duração diferentes. Internamente, o processador subdivide instruções complexas em instruções mais simples, o que obriga a aumentar a complexidade do chip (micro-código) e nesses termos diminuir a velocidade de relógio para não surgirem problemas electrónicos, com as resultantes e inconvenientes perdas de desempenho. |
Co-processador | Este termo corresponde à unidade de vírgula flutuante (em inglês FPU-Floating Point Unit) existente dentro ou externamente ao processador, mas directamente interligado com este. De base, o processador apenas tem capacidade de processamento de números inteiros (sem vírgula), sendo necessário implementar esse processo ao nível de software, com a consequente degradação de desempenho e de aumento da complexidade de software. Assim, foi desenvolvido o co-processador, que permite a interligação com o processador e realiza por este as operações relacionadas com números com vírgula. |
MIPS | Million Instructions Per Second, ou em português, Milhões de Instruções Por Segundo. |
RISC | Reduced Instructions Set Computer, é o oposto de CISC, visto que a tecnologia pressupõe que cada instrução não seja subdivisível, tenha um tamanho fixo e seja exequível num número fixo de ciclos de relógio. Desta forma a complexidade do processador é menor e torna-se mais simples aumentar a velocidade de relógio e de processamento. |
(Super)Escalar | Tecnologia usada no desenho de processadores, que possibilita através da utilização de dois ou mais pipelines (níveis de processamento) a execução de mais do que uma instrução por ciclo de processamento. |
Mas apesar do sucesso da linha x86,
todo o sucesso começou com um não x86, o 8088 que
era simplesmente uma versão menor do 8086. Surgiu em 1979, e a
diferença principal e fundamental para o seu predecessor era o
barramento a 8 bits. Deve o seu sucesso ao facto de a IBM o ter
escolhido como base do seu futuro computador pessoal.
Só que a Intel, não continuou a linha 8080, mas apostou
sim nas características e princípios do 8086,
aliás como seria de esperar.
Alguns temas abordados sobre o processador (CPU):