Core i7, ARM, Zion, x86,
tantos nomes diferentes para processadores
e chegou a hora de entendermos porque existem tantos nomes assim
e, afinal de contas, de que assunto estamos falando?
Nós já sabemos que os processador são o cérebro do computador, ou seja,
aquele maestro que é capaz de processar os dados
e transformar as entradas em saídas,
mas tem um detalhe que impacta a fabricação desses componentes.
Quando uma empresa decide fabricar um novo processador,
ela precisa definir qual é a arquitetura dele.
E quando estamos falando de arquitetura, estamos falando
em como esse processador vai se conectar
aos outros componentes
e também como vamos dar instruções,
como nós vamos dar ordens para ele fazer
o que precisa ser feito.
E quando o assunto é esse, existem dois nomes de arquitetura
que estão na cabeça de todo mundo
que inicia a jornada no mundo da tecnologia.
Eu estou falando das arquiteturas RISC e CISC
e é sobre elas que eu quero explorar um pouquinho agora.
RISC, na verdade, é uma sigla que significa
Reduced Instruction Set Computer
ou se ligarmos a tecla SAP e traduzir isso,
é um computador com um conjunto de instruções reduzidas
e esse tipo de arquitetura é muito comum,
mas ao invés de eu ficar te contando um monte de teorias aqui,
eu quero trazer um exemplo lúdico para entendermos
o que representa esse tipo de computador.
Esse é um exemplo puramente lúdico
e, aqui do meu lado esquerdo, eu tenho um processador
que eu estou dizendo que tem a arquitetura RISC.
Imagina que nós queremos fazer esse cálculo matemático aqui,
então, nós queremos pegar um número da memória RAM do computador,
somar 4 , multiplicar por um outro número
que está em um dos registradores desse processador e somar 1.
Eu sei que esse cálculo não faz nenhum sentido, ainda,
que é um cálculo totalmente hipotético,
mas vamos partir dele para entender
como esses processadores funcionam.
Se eu estiver falando de um processador com a arquitetura RISC,
eu preciso trabalhar com uma instrução de cada vez.
Afinal de contas, ele tem um conjunto reduzido de instruções.
Isso quer dizer que primeiro eu vou fazer a multiplicação:
4 vezes o que está nesse registrador aqui
e vou guardar o resultado.
Depois, eu preciso fazer a adição:
o que estava no endereço da memória
mais o que eu acabei de calcular
e, só então, eu vou conseguir fazer a minha soma final.
O que eu acabei de guardar, mais 1.
Claro que isso aqui é só um exemplo,
mas já dá para entendermos o que é um processador
com um conjunto reduzido de instruções representa.
Aqui, eu não tenho instruções complexas,
eu preciso passar cada uma das operações separadamente
e ir guardando os resultados até chegar naquilo que eu queria por final.
Mas agora, se eu estiver trabalhando
com o processador na arquitetura CISC,
que também é uma sigla e significa
Complex Instruction Set Computer,
ou seja, computador que tem um conjunto complexo de instruções,
eu vou ganhar algumas vantagens
porque esse tipo de arquitetura suporta mais instruções,
inclusive instruções de tamanho variável.
Então, se eu for fazer aquele
mesmo cálculo que está aqui em cima
na arquitetura CISC,
ao invés de eu ter todas essas etapas,
eu teria, simplesmente, uma etapa dizendo:
"Processador, faça esse cálculo aqui para mim".
Agora, por favor, respira fundo,
porque eu não quero que você fique com a impressão
de que o CISC é melhor do que o RISC
ou que o RISC é melhor do que o CISC.
Essas duas arquiteturas diferentes foram pensadas
para resolver problemas muito diferentes um do outro
e você deve estar pensando que lá no caso do RISC,
onde eu tenho aquelas instruções reduzidas
e preciso passar tudo por etapas só existem desvantagens,
mas isso não podia estar mais longe da verdade.
Na verdade, o RISC, por ter menos instruções,
pode sim gerar códigos muito mais complexos.
Só que ele tem uma eficiência energética
muito melhor e não é à toa.
Os processadores do tipo ARM, que estão em boa parte dos celulares,
utilizam essa arquitetura para funcionar.
É por isso que eles estão em dispositivos que têm uma bateria
e não os que estão conectados na tomada.
Por outro lado, o CISC, tem uma grande vantagem:
apesar dele perder bastante em eficiência energética,
ele pode gerar códigos muito mais simples,
o que facilita a vida de quem não é um computador
e está do outro lado.
E é por isso mesmo que um processador como um Core i7
utiliza esse tipo de arquitetura para funcionar.
Afinal de contas, via de regra, temos uma garantia
de que esse computador vai estar lá plugado na tomada.
E existem muitas outras arquiteturas disponíveis,
cada uma para uma aplicação, não é só o RISC e o CISC,
mas essas arquiteturas são tão importantes que a Apple, em 2020,
decidiu lançar a sua própria linha de processadores.
Eles pararam de utilizar processadores de outros fornecedores
e lançaram os processadores Apple Silicon.
E o que vai te surpreender é que esses processadores
utilizam a arquitetura ARM,
justamente baseada no nosso querido RISC.
Não é a toa que uma das grandes marcas dos primeiros MacBooks,
que utilizavam os processadores M1,
era que eles conseguiam fazer muito utilizando pouca energia.
E também não é a toa que quando esses notebooks foram lançados
pela Apple no mercado,
alguns programas demoraram para ser migrados.
Afinal de contas, uma arquitetura diferente
também implica em softwares diferentes
para lidarem com aquele componente específico.
Por isso, conheça o máximo de arquiteturas possível
e entenda para que elas servem.
Assim, você vai ser capaz de criar
soluções muito mais inteligentes,
tendo em mente o equipamento que você tem em mãos.