Hardware e sistemas operacionais · parte 26 de 27
CPU: o cérebro que só faz uma conta por vez (e cada vez mais contas ao mesmo tempo)
O que é uma CPU, como ela executa instruções, como chegou aos chips atuais e quais limites físicos enfrenta na computação moderna.
iniciantePublicada em · 14 min de leitura
CPU: o cérebro que só faz uma conta por vez (e cada vez mais contas ao mesmo tempo)
A CPU é o funcionário mais ocupado do computador. Ela recebe uma lista de instruções, do tipo “pegue este número, some aquele, guarde o resultado”, e executa uma por uma, em ritmo de relógio. Tudo o que você faz no computador, do navegador ao jogo, vira uma sequência dessas instruções. Quem está nas mãos da CPU é a lista, e quem decide a ordem é o programa.
Um detalhe engana quase todo mundo: a CPU não “entende” o que faz. Ela não sabe que está calculando o preço de um café ou desenhando uma tela. Ela só sabe identificar o padrão de bits de cada instrução e aplicar uma operação simples a ele. A inteligência do sistema está na combinação de milhões dessas operações feitas com muita disciplina. Foi por isso que a história das CPUs virou uma história de como fazer essa disciplina caber em menos espaço, gastar menos energia e, sobretudo, fazer mais de uma coisa de cada vez.
Esta aula é a primeira de uma série com quatro notas. Ela parte do conceito mais simples e chega aos limites atuais, então vale lê-la na ordem. Se você só quer saber o que é um núcleo ou um clock, a seção 1 resolve. Se quer entender por que um Mac parece lento sob carga, a conversa continua em Carga da CPU no Mac.
Mapa da série
| Nota | O que responde |
|---|---|
| Esta nota | O que é uma CPU, para que serve e como as partes se encaixam |
| História das CPUs | Como saímos das válvulas do ENIAC até o Apple M5, e o que mudou em cada época |
| Como a CPU executa instruções | Como portas lógicas viram soma, como a ULA e os registradores trabalham e o que é o ciclo busca, decodifica, executa |
| Pipeline, cache e paralelismo | Como a CPU faz várias coisas ao mesmo tempo, o que é cache, memória virtual e interrupção |
| Gerações e arquiteturas | CISC, RISC, VLIW, x86-64, ARM, RISC-V e POWER, e como são os chips atuais |
| Limites e segurança | Por que o clock parou de subir, a lei de Dennard, a lei de Moore e o que foram Meltdown e Spectre |
1. O que é uma CPU
Pense numa cozinha de restaurante. Há um cozinheiro, uma bancada com ingredientes e uma prateleira com os pratos prontos a servir. O cozinheiro pega um ingrediente, faz uma pequena operação, como cortar, misturar ou aquecer, e guarda o resultado. Depois repete. Ele não planeja o cardápio, não decide quem come o quê e não lembra de nada que não esteja na bancada ou na prateleira. Mesmo assim, com receitas bem escritas, ele serve um jantar inteiro. A CPU é esse cozinheiro. A receita é o programa, a bancada são os registradores e a memória, e o cozinheiro faz o trabalho pequeno e repetitivo que dá sentido ao resto.
Tecnicamente, a CPU (unidade central de processamento, em inglês central processing unit) é o circuito que busca instruções na memória, interpreta cada uma e executa a operação que ela pede. Os dados entram e saem por barramentos, que são conjuntos de fios que transportam bits em paralelo. O ritmo de trabalho é dado pelo clock, um sinal elétrico que oscila periodicamente. Cada oscilação marca um tempo em que o circuito pode avançar um passo. A velocidade desse ritmo, medida em hertz, é a frequência de clock, que você costuma ver escrita como 3,5 GHz, por exemplo. Essa frequência diz quantos passos a CPU pode dar por segundo, mas não diz quanto trabalho ela termina por passo. Esse ponto volta várias vezes ao longo da série, porque é a fonte de mais confusão.
Nas especificações, a CPU costuma ser descrita com alguns termos que valem a pena entender desde já. O número de núcleos é quantas unidades completas de execução existem no chip. A largura em bits, como 32 ou 64, indica o tamanho típico de um dado que a CPU manipula de uma vez e o tamanho do endereço de memória que ela enxerga. O cache é uma memória pequena e muito rápida, escondida dentro do chip, que guarda cópias de dados usados com frequência. Cada um desses assuntos tem uma nota própria, mas todos já estão presentes na imagem do cozinheiro: os núcleos são cozinhas, a largura é o tamanho da colher, o cache é a bancada ao alcance da mão.
A figura abaixo mostra o elemento de CPU do ArchFlow com duas fichas reais. O quadrado central representa o chip, com os núcleos desenhados como blocos na diagonal e a cache L3 como a barra na base. O Intel 4004, de 1971, tem um núcleo, uma thread e clock de 740 kHz. O Ryzen 9 9950X tem 16 núcleos, 32 threads, clock de até 5,7 GHz e 64 MB de L3. O desenho é esquemático, e não uma foto do silício. A barra de cache aparece no 4004 por limitação do elemento, mas esse chip não tinha cache.
2. Para que serve, e por que foi preciso inventá-la
Antes de existir a CPU como a conhecemos, cada máquina era construída para uma tarefa só. Uma calculadora tinha circuitos para somar, e um tear controlado por cartões tinha outro conjunto de mecanismos. Para mudar o que a máquina fazia, era preciso mudar a fiação. Isso é caro, lento e sujeito a erro. A ideia que mudou tudo foi separar o que a máquina é do que ela faz. Se o circuito for um conjunto geral de operações simples, e a ordem dessas operações vier de uma sequência de instruções guardada na memória, então trocar de tarefa vira trocar de programa. Você não precisa mexer no hardware.
É essa separação que faz de um computador uma máquina de propósito geral. O mesmo chip serve para calcular uma folha de pagamento, para renderizar um vídeo e para rodar um servidor web, desde que o programa certo esteja na memória. Os engenheiros que desenvolveram essa ideia nos anos 1940, com o conceito de programa armazenado, transformaram a CPU de máquina especializada em base de qualquer software. Você verá, na nota de história, que a transição de válvulas para transistores e depois para microprocessadores não mudou essa lógica. Ela mudou o tamanho, o custo e a velocidade com que a lógica roda.
3. Exemplos em contextos diferentes
A mesma ideia aparece em aparelhos muito diferentes, e comparar esses casos ajuda a ver o padrão. Um microcontrolador de uma máquina de lavar tem uma CPU pequena, com poucos bits e clock baixo, que executa um programa fixo para ler sensores e acionar o motor. Ele quase nunca troca de tarefa e não precisa de sistema operacional. Um celular tem um chip com vários núcleos de tipos diferentes, um para tarefas leves que gastam pouca bateria e outro para as pesadas, e usa tudo isso para rodar aplicativos de várias pessoas ao mesmo tempo. Um servidor de banco de dados tem dezenas de núcleos e muita memória, porque sua preocupação é atender muitas requisições simultâneas sem que uma atrapalhe a outra.
Em todos esses casos, o núcleo faz o mesmo tipo de trabalho: busca, interpreta e executa. O que muda é a quantidade de núcleos, a potência disponível e a forma como o chip divide o tempo entre tarefas. Um jogo que roda numa placa de vídeo, por outro lado, usa uma arquitetura diferente, com milhares de núcleos pequenos que fazem a mesma conta sobre muitos dados ao mesmo tempo. Esse contraste aparece com mais detalhe em Pipeline, cache e paralelismo. Por enquanto, basta a intuição: a CPU é boa em decisões e tarefas variadas, e a GPU é boa em repetir a mesma conta sobre um volume enorme de dados.
4. Como as partes se encaixam
Uma CPU tem algumas peças que aparecem em qualquer descrição: a unidade lógica e aritmética (ULA), que faz as contas; os registradores, que são pequenas memórias internas usadas como bancada; a unidade de controle, que lê a instrução e liga as peças certas; e o contador de programa, que guarda o endereço da próxima instrução. Essas peças conversam por barramentos e são coordenadas pelo clock. A nota Como a CPU executa instruções mostra cada uma por dentro, com a soma de dois números feita em bits, e desenha o ciclo que o chip repete milhões de vezes por segundo.
Essa lista vale para uma CPU simples. Num chip moderno, as mesmas peças se desdobram em regiões, e vale olhar o chip em duas escalas. A primeira é o die, o pedaço de silício inteiro. Ele reúne os núcleos, uma cache L3 que todos compartilham, o controlador de memória, que fala com a RAM, e o controlador PCIe, que fala com a placa de vídeo e com o SSD. Cada núcleo consulta primeiro as próprias caches. Só quando o dado falta ali a requisição desce para a L3 e, se falhar de novo, para a RAM. O desenho mostra um die genérico com quatro núcleos. Os chips reais variam no número de núcleos, na organização das caches e no que fica dentro ou fora do die, como nos chiplets descritos em Pipeline, cache e paralelismo.
A segunda escala é o interior de um único núcleo, que se divide em duas metades. O front-end descobre quais instruções vêm a seguir e as traduz. O previsor de desvios adivinha o próximo endereço, a cache L1 de instruções entrega os bytes, o decodificador quebra cada instrução em micro-operações e uma cache de micro-operações guarda o que já foi decodificado, para não repetir o trabalho. O back-end executa. O escalonador despacha cada micro-operação assim que seus operandos estão prontos, e não necessariamente na ordem do programa. Elas vão para as ULAs de inteiros, para a unidade de ponto flutuante e vetores ou para a unidade de carga e armazenamento, que calcula endereços e conversa com a L1 de dados e com a L2. Os resultados ficam nos registradores, e o buffer de reordenação os confirma na ordem original, para que o programa nunca perceba a bagunça interna. Os tamanhos de cache da figura são ordens de grandeza típicas, e não o valor de um modelo específico.
As duas figuras detalham o que a nota Como a CPU executa instruções apresenta em versão simples. A ULA e os registradores do caminho de dados clássico continuam ali, cercados de estruturas que existem para manter o ciclo cheio de trabalho.
Para não se perder nos detalhes, guarde a sequência que se repete em todo núcleo: a CPU busca a instrução apontada pelo contador de programa, decodifica o que ela pede, executa a operação e avança o contador. Quase tudo o que acontece dentro de um chip moderno, incluindo pipeline, cache, execução fora de ordem e previsão de desvios, existe para acelerar esse ciclo sem mudar o resultado final.
5. Detalhes e bordas
Uma distinção que vale carregar desde o começo é entre frequência e desempenho. Dois chips com o mesmo clock podem ser muito diferentes, porque um termina mais instruções por ciclo do que o outro. Um chip de 2006 a 2 GHz pode ser mais lento do que um chip de 2017 a 3 GHz, e a diferença não está no clock. A medida que costuma importar é quantas instruções úteis saem por segundo, e ela depende da largura da execução, da hierarquia de memória, da previsão de desvios e até da forma como o software foi escrito.
Outra fronteira importante é entre CPU e memória. A CPU é muito mais rápida que a RAM, e por isso quase toda a engenharia de cache existe para esconder essa diferença. Um programa que acessa dados espalhados pela memória de forma imprevisível pode ficar parado esperando dados, mesmo com uma CPU potente. Isso também explica por que a carga do sistema, medida pelo load average, pode subir sem que a CPU esteja de fato ocupada: tarefas prontas para rodar, ou esperando recursos, entram na conta. A nota Carga da CPU no Mac trata disso com casos reais.
6. Erros comuns e boas práticas
O erro mais repetido é comparar CPUs só pelo clock. Ele vem de uma época, nos anos 1990 e início dos 2000, em que o clock subia depressa e ainda era um bom atalho. Depois que o clock estacionou, e a engenharia passou a ganhar desempenho por instrução e por núcleo, o número sozinho deixou de dizer muito. Compare sempre benchmarks do tipo de tarefa que você usa.
O segundo erro é achar que mais núcleos sempre aceleram. Um programa que roda em um único fio de execução não ganha nada com dezesseis núcleos, e um programa com muitas dependências entre tarefas ganha pouco. A velocidade de um núcleo importa tanto quanto a quantidade. O terceiro erro é achar que uso alto da CPU sempre indica um processo pesado. Muitas vezes o gargalo é a memória, o disco ou uma fila de espera, e a CPU fica ocupada apenas esperando. Olhar só para o percentual de uso esconde a causa.
O quarto erro, que todo mundo comete uma vez, é otimizar sem medir. Quem nunca gastou uma tarde reescrevendo um laço que ocupava 0,1% do tempo ainda não mediu o suficiente. Meça antes, depois otimize o que aparece na medição.
Glossário
CPU: unidade central de processamento. Circuito que busca, interpreta e executa instruções de um programa.
Clock: sinal periódico que marca os passos do circuito. A frequência é medida em hertz, por exemplo 3,5 GHz.
Núcleo: conjunto completo de unidades de execução capaz de rodar um fluxo de instruções por vez. Um chip pode ter vários núcleos.
Instrução: comando elementar que a CPU entende, como somar dois registradores ou ler um valor da memória.
Registrador: pequena memória interna do núcleo, a mais rápida que existe, usada para guardar operandos e resultados.
Barramento: conjunto de fios que transporta bits entre as partes do chip, ou entre o chip e a memória.
Cache: memória pequena e rápida, próxima da CPU, que guarda cópias de dados e instruções usados recentemente.
Exercícios
- Abra o terminal, rode
sysctl -n machdep.cpu.brand_string(no Mac) oulscpu(no Linux) e anote modelo, número de núcleos e frequência. Depois procure no site do fabricante a largura de dados e o tamanho do cache L3. Em uma frase, explique o que cada informação diz sobre o trabalho que a CPU consegue fazer. - Compare dois computadores que você conhece. Se um tem clock mais alto e o outro tem mais núcleos, escreva um tipo de programa que favoreça cada um. Justifique com o conceito de frequência e de paralelismo.
- Explique, com as suas palavras e a analogia da cozinha, por que trocar um programa é mais barato do que trocar um circuito.
Fontes
Consultadas em 1 de novembro de 2026. Os números das CPUs de cada época estão detalhados na nota de história, com a fonte de cada um.
- As definições desta nota (CPU, clock, núcleo, registrador, cache) seguem a terminologia padrão da área de arquitetura de computadores. Não há página específica citada para cada definição.
- Os demais números e datas desta série vêm das fontes listadas ao fim de cada nota, todas consultadas em 1 de novembro de 2026.
Relacionados
- Carga da CPU no Mac
- História das CPUs
- Como a CPU executa instruções
- Pipeline, cache e paralelismo
- Gerações e arquiteturas
- Limites e segurança
- Profiling
- concorrência