0:00:07.774,0:00:13.047 Core i7, ARM, Zion, x86, 0:00:13.047,0:00:16.519 tantos nomes diferentes[br]para processadores 0:00:16.519,0:00:20.821 e chegou a hora de entendermos[br]porque existem tantos nomes assim 0:00:20.821,0:00:24.654 e, afinal de contas,[br]de que assunto estamos falando? 0:00:24.654,0:00:29.164 Nós já sabemos que os processador[br]são o cérebro do computador, ou seja, 0:00:29.164,0:00:32.037 aquele maestro que é capaz[br]de processar os dados 0:00:32.037,0:00:34.769 e transformar[br]as entradas em saídas, 0:00:34.769,0:00:39.243 mas tem um detalhe que impacta[br]a fabricação desses componentes. 0:00:39.243,0:00:42.244 Quando uma empresa[br]decide fabricar um novo processador, 0:00:42.244,0:00:47.106 ela precisa definir[br]qual é a arquitetura dele. 0:00:47.106,0:00:49.729 E quando estamos falando[br]de arquitetura, estamos falando 0:00:49.729,0:00:51.700 em como esse processador[br]vai se conectar 0:00:51.700,0:00:53.156 aos outros componentes 0:00:53.156,0:00:55.786 e também como vamos[br]dar instruções, 0:00:55.786,0:00:57.724 como nós vamos dar ordens[br]para ele fazer 0:00:57.724,0:00:59.555 o que precisa ser feito. 0:00:59.555,0:01:04.093 E quando o assunto é esse,[br]existem dois nomes de arquitetura 0:01:04.093,0:01:05.931 que estão na cabeça[br]de todo mundo 0:01:05.931,0:01:08.872 que inicia a jornada[br]no mundo da tecnologia. 0:01:08.872,0:01:12.443 Eu estou falando das arquiteturas[br]RISC e CISC 0:01:12.443,0:01:15.781 e é sobre elas que eu quero[br]explorar um pouquinho agora. 0:01:15.781,0:01:19.476 RISC, na verdade, é uma sigla[br]que significa 0:01:19.476,0:01:22.635 Reduced Instruction[br]Set Computer 0:01:22.635,0:01:26.412 ou se ligarmos a tecla SAP[br]e traduzir isso, 0:01:26.412,0:01:30.929 é um computador com um[br]conjunto de instruções reduzidas 0:01:30.929,0:01:34.232 e esse tipo de arquitetura[br]é muito comum, 0:01:34.232,0:01:37.616 mas ao invés de eu ficar te contando[br]um monte de teorias aqui, 0:01:37.616,0:01:40.916 eu quero trazer um exemplo[br]lúdico para entendermos 0:01:40.916,0:01:43.579 o que representa esse[br]tipo de computador. 0:01:43.579,0:01:46.278 Esse é um exemplo[br]puramente lúdico 0:01:46.278,0:01:49.081 e, aqui do meu lado esquerdo,[br]eu tenho um processador 0:01:49.081,0:01:51.951 que eu estou dizendo que[br]tem a arquitetura RISC. 0:01:51.951,0:01:56.122 Imagina que nós queremos fazer[br]esse cálculo matemático aqui, 0:01:56.122,0:02:00.093 então, nós queremos pegar um número[br]da memória RAM do computador, 0:02:00.093,0:02:03.463 somar 4 , multiplicar[br]por um outro número 0:02:03.463,0:02:08.437 que está em um dos registradores[br]desse processador e somar 1. 0:02:08.437,0:02:11.672 Eu sei que esse cálculo não faz[br]nenhum sentido, ainda, 0:02:11.672,0:02:13.974 que é um cálculo[br]totalmente hipotético, 0:02:13.974,0:02:16.044 mas vamos partir dele[br]para entender 0:02:16.044,0:02:18.644 como esses processadores[br]funcionam. 0:02:18.644,0:02:21.649 Se eu estiver falando de um[br]processador com a arquitetura RISC, 0:02:21.649,0:02:25.386 eu preciso trabalhar com[br]uma instrução de cada vez. 0:02:25.386,0:02:29.924 Afinal de contas, ele tem um conjunto[br]reduzido de instruções. 0:02:29.924,0:02:33.461 Isso quer dizer que primeiro[br]eu vou fazer a multiplicação: 0:02:33.461,0:02:36.582 4 vezes o que está[br]nesse registrador aqui 0:02:36.582,0:02:38.366 e vou guardar o resultado. 0:02:38.365,0:02:41.961 Depois, eu preciso[br]fazer a adição: 0:02:41.961,0:02:44.373 o que estava[br]no endereço da memória 0:02:44.373,0:02:47.109 mais o que eu[br]acabei de calcular 0:02:47.109,0:02:50.779 e, só então, eu vou conseguir[br]fazer a minha soma final. 0:02:50.779,0:02:53.576 O que eu acabei de guardar,[br]mais 1. 0:02:53.576,0:02:55.869 Claro que isso aqui[br]é só um exemplo, 0:02:55.869,0:02:58.573 mas já dá para entendermos[br]o que é um processador 0:02:58.573,0:03:01.957 com um conjunto reduzido[br]de instruções representa. 0:03:01.957,0:03:04.661 Aqui, eu não tenho[br]instruções complexas, 0:03:04.661,0:03:09.266 eu preciso passar cada uma[br]das operações separadamente 0:03:09.266,0:03:14.180 e ir guardando os resultados até[br]chegar naquilo que eu queria por final. 0:03:14.180,0:03:16.155 Mas agora, se eu estiver[br]trabalhando 0:03:16.155,0:03:18.489 com o processador[br]na arquitetura CISC, 0:03:18.489,0:03:21.302 que também[br]é uma sigla e significa 0:03:21.302,0:03:25.265 Complex Instruction[br]Set Computer, 0:03:25.265,0:03:31.181 ou seja, computador que tem[br]um conjunto complexo de instruções, 0:03:31.181,0:03:33.290 eu vou ganhar[br]algumas vantagens 0:03:33.290,0:03:37.975 porque esse tipo de arquitetura[br]suporta mais instruções, 0:03:37.975,0:03:40.832 inclusive instruções[br]de tamanho variável. 0:03:40.832,0:03:42.301 Então, se eu for[br]fazer aquele 0:03:42.301,0:03:44.369 mesmo cálculo que[br]está aqui em cima 0:03:44.369,0:03:46.087 na arquitetura CISC, 0:03:46.087,0:03:48.841 ao invés de eu ter[br]todas essas etapas, 0:03:48.841,0:03:52.044 eu teria, simplesmente,[br]uma etapa dizendo: 0:03:52.044,0:03:55.528 "Processador, faça esse[br]cálculo aqui para mim". 0:03:55.528,0:03:57.773 Agora, por favor,[br]respira fundo, 0:03:57.773,0:04:00.119 porque eu não quero que[br]você fique com a impressão 0:04:00.119,0:04:02.989 de que o CISC[br]é melhor do que o RISC 0:04:02.989,0:04:05.738 ou que o RISC[br]é melhor do que o CISC. 0:04:05.738,0:04:08.795 Essas duas arquiteturas[br]diferentes foram pensadas 0:04:08.795,0:04:12.734 para resolver problemas muito[br]diferentes um do outro 0:04:12.734,0:04:15.181 e você deve estar pensando[br]que lá no caso do RISC, 0:04:15.181,0:04:17.898 onde eu tenho aquelas[br]instruções reduzidas 0:04:17.898,0:04:21.809 e preciso passar tudo por etapas[br]só existem desvantagens, 0:04:21.809,0:04:24.505 mas isso não podia estar[br]mais longe da verdade. 0:04:24.505,0:04:28.082 Na verdade, o RISC,[br]por ter menos instruções, 0:04:28.082,0:04:31.652 pode sim gerar códigos[br]muito mais complexos. 0:04:31.652,0:04:34.341 Só que ele tem uma[br]eficiência energética 0:04:34.341,0:04:36.166 muito melhor[br]e não é à toa. 0:04:36.166,0:04:41.463 Os processadores do tipo ARM,[br]que estão em boa parte dos celulares, 0:04:41.463,0:04:44.599 utilizam essa arquitetura[br]para funcionar. 0:04:44.599,0:04:48.136 É por isso que eles estão em[br]dispositivos que têm uma bateria 0:04:48.136,0:04:50.925 e não os que estão[br]conectados na tomada. 0:04:50.925,0:04:54.343 Por outro lado, o CISC,[br]tem uma grande vantagem: 0:04:54.343,0:04:57.747 apesar dele perder bastante[br]em eficiência energética, 0:04:57.747,0:05:00.817 ele pode gerar códigos[br]muito mais simples, 0:05:00.817,0:05:03.732 o que facilita a vida de[br]quem não é um computador 0:05:03.732,0:05:05.401 e está do outro lado. 0:05:05.401,0:05:09.392 E é por isso mesmo que um[br]processador como um Core i7 0:05:09.392,0:05:12.849 utiliza esse tipo de arquitetura[br]para funcionar. 0:05:12.849,0:05:16.233 Afinal de contas, via de regra,[br]temos uma garantia 0:05:16.233,0:05:20.195 de que esse computador[br]vai estar lá plugado na tomada. 0:05:20.194,0:05:23.605 E existem muitas outras[br]arquiteturas disponíveis, 0:05:23.605,0:05:28.431 cada uma para uma aplicação,[br]não é só o RISC e o CISC, 0:05:28.431,0:05:32.615 mas essas arquiteturas são tão[br]importantes que a Apple, em 2020, 0:05:32.615,0:05:36.066 decidiu lançar a sua própria[br]linha de processadores. 0:05:36.066,0:05:39.657 Eles pararam de utilizar processadores[br]de outros fornecedores 0:05:39.657,0:05:42.779 e lançaram os processadores[br]Apple Silicon. 0:05:42.779,0:05:45.997 E o que vai te surpreender[br]é que esses processadores 0:05:45.997,0:05:48.375 utilizam a arquitetura ARM, 0:05:48.375,0:05:52.461 justamente baseada[br]no nosso querido RISC. 0:05:52.461,0:05:55.808 Não é a toa que uma das grandes[br]marcas dos primeiros MacBooks, 0:05:55.808,0:05:58.156 que utilizavam[br]os processadores M1, 0:05:58.156,0:06:02.815 era que eles conseguiam fazer[br]muito utilizando pouca energia. 0:06:02.815,0:06:06.243 E também não é a toa que quando[br]esses notebooks foram lançados 0:06:06.243,0:06:07.704 pela Apple no mercado, 0:06:07.704,0:06:10.737 alguns programas demoraram[br]para ser migrados. 0:06:10.737,0:06:13.999 Afinal de contas,[br]uma arquitetura diferente 0:06:13.999,0:06:16.996 também implica[br]em softwares diferentes 0:06:16.996,0:06:19.974 para lidarem com aquele[br]componente específico. 0:06:19.974,0:06:23.759 Por isso, conheça o máximo[br]de arquiteturas possível 0:06:23.759,0:06:25.973 e entenda para que[br]elas servem. 0:06:25.973,0:06:28.027 Assim, você vai ser[br]capaz de criar 0:06:28.027,0:06:30.607 soluções muito[br]mais inteligentes, 0:06:30.607,0:06:33.627 tendo em mente o equipamento[br]que você tem em mãos.