WEBVTT 00:00:07.774 --> 00:00:09.109 Core i7 00:00:09.109 --> 00:00:12.946 ARM Zion x86. 00:00:13.047 --> 00:00:16.550 Tantos nomes diferentes para processadores. 00:00:16.650 --> 00:00:20.721 E chegou a hora da gente entender porque existem tantos nomes assim. 00:00:20.821 --> 00:00:24.726 E afinal de contas, de que assunto a gente está falando? 00:00:24.792 --> 00:00:28.897 Nós já sabemos que os processador são o cérebro do computador, ou seja, 00:00:29.164 --> 00:00:30.231 aquele maestro 00:00:30.231 --> 00:00:34.669 que é capaz de processar os dados e transformar as entradas e saídas. 00:00:34.769 --> 00:00:39.074 Mas tem um detalhe que impacta a fabricação desses componentes. 00:00:39.174 --> 00:00:42.177 Quando uma empresa decide fabricar um novo processador, 00:00:42.244 --> 00:00:46.448 ela precisa definir qual é a arquitetura dele. 00:00:46.515 --> 00:00:49.518 E quando a gente está falando de arquitetura, a gente está falando 00:00:49.518 --> 00:00:53.055 em como esse processador vai se conectar aos outros componentes 00:00:53.156 --> 00:00:56.159 e também como a gente vai dar instruções, como nós 00:00:56.159 --> 00:00:59.662 vamos dar ordens para ele fazer o que precisa ser feito. 00:00:59.729 --> 00:01:01.564 E quando o assunto é esse? 00:01:01.564 --> 00:01:05.001 Existem dois nomes de arquitetura que estão na cabeça 00:01:05.001 --> 00:01:08.805 de todo mundo que inicia a jornada no mundo da tecnologia. 00:01:08.872 --> 00:01:12.342 Eu estou falando das arquiteturas RISC e CISC 00:01:12.443 --> 00:01:16.013 e é sobre elas que eu quero explorar um pouquinho agora. 00:01:16.080 --> 00:01:21.085 Risque na verdade é uma sigla que significa Reduced Instruction 00:01:21.085 --> 00:01:25.123 Set Computer ou se a gente for ligar a tecla SAP, 00:01:25.123 --> 00:01:30.829 traduzir isso é um computador com um conjunto de instruções reduzidas. 00:01:30.929 --> 00:01:33.965 E esse tipo de arquitetura é muito comum. 00:01:34.232 --> 00:01:38.270 Mas ao invés de eu ficar te contando um monte de teorias aqui, eu quero trazer 00:01:38.270 --> 00:01:43.976 um exemplo lúdico pra gente entender o que representa esse tipo de computador. 00:01:44.042 --> 00:01:46.278 Esse é um exemplo puramente lúdico. 00:01:46.278 --> 00:01:47.880 E aqui do meu lado esquerdo 00:01:47.880 --> 00:01:51.884 eu tenho um processador que eu estou dizendo que tem arquitetura RISC. 00:01:51.951 --> 00:01:56.055 Imagina que a gente queira fazer esse cálculo matemático atômico aqui. 00:01:56.122 --> 00:01:59.993 Então nós queremos pegar um número lá da memória RAM do computador, 00:02:00.093 --> 00:02:03.463 somar quatro, multiplicar por um outro número 00:02:03.463 --> 00:02:08.168 que está em um dos registradores desse processador e somar um. 00:02:08.235 --> 00:02:11.571 Eu sei que esse cálculo não faz nenhum sentido, ainda 00:02:11.672 --> 00:02:13.974 que é um cálculo totalmente hipotético. 00:02:13.974 --> 00:02:18.345 Mas vamos partir dele para entender como esses processadores funcionam. 00:02:18.445 --> 00:02:21.449 Se eu estiver falando de um processador quatro leitura RISC, 00:02:21.649 --> 00:02:25.319 eu preciso trabalhar com uma instrução de cada vez. 00:02:25.386 --> 00:02:29.857 Afinal de contas, ele tem um conjunto reduzido de instruções. 00:02:29.924 --> 00:02:33.394 Isso quer dizer que primeiro eu vou fazer a multiplicação 00:02:33.461 --> 00:02:38.266 quatro vezes o que está nesse registrador aqui e vou guardar o resultado. 00:02:38.366 --> 00:02:44.273 Depois eu preciso fazer a adição, O que estava no endereço da memória. 00:02:44.373 --> 00:02:47.109 Mas o que eu acabei de calcular 00:02:47.109 --> 00:02:50.713 e só então eu vou conseguir fazer a minha soma final. 00:02:50.779 --> 00:02:53.616 O que eu acabei de guardar? Mais um. 00:02:53.616 --> 00:02:57.253 Claro que isso aqui é só um exemplo, mas já dá para a gente entender 00:02:57.487 --> 00:03:02.759 o que é um processador com um conjunto reduzido de instruções representa aqui. 00:03:02.826 --> 00:03:04.661 Eu não tenho instruções complexas. 00:03:04.661 --> 00:03:09.166 Eu preciso passar cada uma das operações separadamente 00:03:09.266 --> 00:03:13.203 e guardando os resultados até chegar naquilo que eu queria. 00:03:13.203 --> 00:03:14.304 Por final. 00:03:14.304 --> 00:03:18.175 Mas agora, se eu estiver trabalhando com o processador na arquitetura CISC, 00:03:18.409 --> 00:03:22.279 que também é uma sigla e significa complexo, 00:03:22.446 --> 00:03:27.385 instrução Set computer, ou seja, computador, 00:03:27.585 --> 00:03:30.989 que tem um conjunto complexo de instruções, 00:03:31.055 --> 00:03:35.193 eu vou ganhar algumas vantagens, porque esse tipo de arquitetura 00:03:35.460 --> 00:03:40.765 suporta mais instruções, inclusive instruções de tamanho variável. 00:03:40.832 --> 00:03:44.269 Então, se eu for fazer aquele mesmo cálculo que está aqui em cima 00:03:44.369 --> 00:03:48.741 na arquitetura CISC, ao invés de eu ter todas essas etapas, 00:03:48.841 --> 00:03:51.844 eu teria simplesmente uma etapa dizendo 00:03:52.044 --> 00:03:55.514 Ei, processador, faça esse cálculo aqui pra mim. 00:03:55.581 --> 00:04:00.019 Agora, por favor, respira fundo, porque eu não quero que você fique com a impressão 00:04:00.119 --> 00:04:02.989 de que eu fiz que é melhor do que o risc 00:04:02.989 --> 00:04:05.859 ou que o risco é melhor do que o CISC. 00:04:05.859 --> 00:04:08.795 Essas duas arquiteturas diferentes foram pensadas 00:04:08.795 --> 00:04:12.299 para resolver problemas muito diferentes um do outro. 00:04:12.365 --> 00:04:15.702 E você deve estar pensando que lá no caso do RISC, onde eu tenho 00:04:15.702 --> 00:04:19.673 aquelas instruções reduzidas, é preciso passar tudo por etapas. 00:04:19.907 --> 00:04:24.612 Só existem desvantagens, mas isso não podia estar mais longe da verdade. 00:04:24.678 --> 00:04:27.815 Na verdade, o RISC, por ter menos instruções, 00:04:28.082 --> 00:04:31.552 pode sim gerar códigos muito mais complexos. 00:04:31.652 --> 00:04:35.790 Só que ele tem uma eficiência energética muito melhor. 00:04:35.857 --> 00:04:37.025 E não é à toa. 00:04:37.025 --> 00:04:41.229 Os processadores do tipo ARM, que estão em boa parte dos celulares, 00:04:41.463 --> 00:04:44.466 utilizam essa arquitetura para funcionar. 00:04:44.599 --> 00:04:48.070 É por isso que eles estão em dispositivos que têm uma bateria 00:04:48.136 --> 00:04:51.140 e não os que estão conectados na tomada. 00:04:51.206 --> 00:04:54.210 Por outro lado, o CIS, que tem uma grande vantagem, 00:04:54.343 --> 00:04:57.647 apesar dele perder bastante em eficiência energética, 00:04:57.747 --> 00:05:00.750 ele pode gerar códigos muito mais simples, 00:05:00.817 --> 00:05:05.255 o que facilita a vida de quem não é um computador e está do outro lado. 00:05:05.321 --> 00:05:09.292 E é por isso mesmo que um processador como um Core i7 00:05:09.392 --> 00:05:12.729 utiliza esse tipo de arquitetura para funcionar. 00:05:12.796 --> 00:05:16.233 Afinal de contas, via de regra, a gente tem uma garantia 00:05:16.233 --> 00:05:19.970 de que esse computador vai estar lá plugado na tomada. 00:05:20.070 --> 00:05:25.676 E existem muitas outras arquiteturas disponíveis, cada uma para uma aplicação. 00:05:25.743 --> 00:05:30.348 Não é só o risco, é o CISC, mas essas arquiteturas são tão importantes 00:05:30.448 --> 00:05:35.753 que a Apple, em 2020, decidiu lançar a sua própria linha de processadores. 00:05:35.853 --> 00:05:39.557 Eles pararam de utilizar processadores de outros fornecedores 00:05:39.657 --> 00:05:42.661 e lançaram os processadores Apple Silicon. 00:05:42.827 --> 00:05:45.831 E o que vai te surpreender é que esses processadores 00:05:45.997 --> 00:05:52.071 utilizam a arquitetura ARM, justamente baseada no nosso querido RISC. 00:05:52.171 --> 00:05:55.741 Não é a toa que uma das grandes marcas dos primeiros MacBooks 00:05:55.808 --> 00:05:59.478 que utilizavam os processadores M1 era que eles conseguiam fazer 00:05:59.478 --> 00:06:02.815 muito utilizando pouca energia. 00:06:02.915 --> 00:06:06.286 E também não é a toa que quando esses notebooks foram lançados 00:06:06.286 --> 00:06:10.623 pela Apple no mercado, alguns programas demoraram pra ser migrados. 00:06:10.690 --> 00:06:15.028 Afinal de contas, uma arquitetura diferente também implica 00:06:15.262 --> 00:06:20.000 em softwares diferentes para lidarem com aquele componente específico. 00:06:20.100 --> 00:06:22.803 Por isso, conheça o máximo de arquiteturas 00:06:22.803 --> 00:06:25.806 possível e entenda para que elas servem. 00:06:25.973 --> 00:06:28.743 Assim, você vai ser capaz de criar soluções 00:06:28.743 --> 00:06:33.881 muito mais inteligentes, tendo em mente o equipamento que você tem em mãos e.