imagina que você é mais uma das vítimas das viagens no tempo acidentais e acabou voltando para uma época anterior às grandes descobertas da ciência ou talvez você seja um dos poucos Sobreviventes de um apocalipse Que destruiu toda tecnologia da terra e já que você não pode voltar pro mundo que você vivia sua única opção vai ser recriar o mundo moderno se você vai encarar esse desafio sozinho a melhor estratégia é desenvolver primeiro uma ferramenta que te ajude a recriar todas as outras uma que acelere o desenvolvimento da tecnologia e do conhecimento humano sim acho que
é melhor a gente começar com a ferramenta mais poderosa já criada está na hora de reinventar o computador do zero nós vamos fazer uma viagem por 2500 anos de história passando por gênios incompreendidos questionamentos filosóficos experimentos fracassados em invenções mirabolantes também vamos olhar pras partes físicas mais fundamentais de um computador e entender como elas se combinam para gerar funções tão inteligentes a ponto de revolucionar a civilização humana mas o que é mesmo um computador e foi por causa dessa segunda invenção de Pascal que o Papa resolveu trocar o nome de feriado trocar o nome trocou
o nome do feriado pra Páscoa era nada mais nada menos que alanur AL Alan Turin o pai da Ciência da Computação tava ali deixa que eu pago não pera aí que eu preciso conferir essa conta usando ISS pedras e madeira junte tudo isso e você tem um Ábaco ele é um instrumento de Contagem inventado Provavelmente na Mesopotâmia há uns 5500 anos para permitir a execução de cálculos aritméticos de forma rápida e mecânica a gente comeu dois pratos de 24 então eu vou precisar multiplicar duas vezes 24 aqui no Ábaco com multiplicação ele funciona de forma
espelhada sendo que essa parte vai apresentar o número que tá multiplicando e essa o número multiplicado E se eu quiser multiplicar duas ve 24 eu preciso primeiro passar duas pedras para cá e depois começar a contar 24 dessas aqui 1 2 3 4 5 6 10 agora eu troco por uma de cima 3 4 5 6 7 1 duas 3 pronto 24 agora eu troco e agora eu preciso fazer de novo de novo uma duas 3 4 5 ah 48 Tá certo então é interessante notar como o ábaco dá pra gente algumas pistas de como
algo abstrato como multiplicação pode ser representado no mundo físico afinal ele é um dos primeiros numa linha de instrumentos de Contagem que eventualmente levou ao computador que você usa só que por mais prático Que ele seja o abaco ainda exige que alguém passe as Pedrinhas manualmente de um lado pro outro na renascência alguns novos dispositivos tentaram resolver ou melhorar esse inconveniência Mas nenhum teve sucesso absoluto até 1642 quando um jovem de 19 anos foi obrigado pelo pai a ajudar com o monótono trabalho de supervisionar a coleta de impostos de uma cidade francesa ele ficou muito
entediado com a natureza repetitiva da tarefa E aí é claro que como qualquer um de nós ele foi lá e inventou a primeira calculadora mecânica que era capaz de executar somas subtrações multiplicações e divisões tudo automaticamente apenas com a ajuda de algumas viradinhas de manivela o nome desse jovem era Blaze Pascal quem mais tarde inclusive Faria outras contribuições tão importantes quanto essa pra matemática física e filosofia o funcionamento da calculadora de Pascal é bem impressionante mas no fundo a gente ainda tá falando apenas da manipulação de números não parece razoável que alguma quantidade de engrenagens
mecanismos engenhocas conseguisse por exemplo rodar um jogo de videogame certo em 1843 ada lov lass publicou em francês a tradução de um artigo científico sobre o projeto de uma nova máquina de calcular usando engrenagens dispositivos e manivelas a máquina seria capaz de manipular palavras lógica música e qualquer outra coisa que precise de símbolos para ser transmitida sentindo-se um pouco insegura de publicar suas ideias em um artigo próprio ada resolveu adicioná-las apenas como notas da tradutora anos depois os comentários da Ada acabariam se tornando muito mais famosos e importantes que o artigo em si que só
é sequer lembrado por causa dela Charles babaj o criador dessa máquina maravilhosa havia impressionado a condessa Anos Antes com a demonstração de sua invenção anterior uma máquina de calcular funções que babaj projetou por inteira mas só conseguiu construir parcialmente por falta de fundos o governo britânico que financiou o projeto inicialmente começou a desconfiar da capacidade de babaj de finalizar sua invenção em resposta ele decidiu criar planos de uma máquina ainda mais complicada e ambiciosa a máquina analítica babaj havia se inspirado no tear de jakar uma máquina inventada em 1800 que conseguia ler papéis furados e
costurar padrões em fios de seda de acordo com esses furos assim como TR a nova geringonça de babagem seria capaz de alterar o seu funcionamento para executar qualquer tarefa sonhada pelo seu usuário Ou seja a máquina poderia ser programada assim como os computadores modernos nos seus comentários ada adicionou a sequência de instruções que permitiria a máquina anal calcular números de bernou le isso fez dela a programadora do primeiro código de computador publicado da história ela que era filha do famoso poeta Lord Byron e talvez tenha herdado parte da inclinação romântica do pai concluiu a máquina
analítica TCE padrões algébricos assim como o tear de jaar TCE folhas e flores hoje nós sabemos que a ADA tava certa e que a máquina analítica era realmente diferente de todos os outros instrumentos de Contagem já feitos a invenção de babaj acabou nunca sendo construída durante sua vida mas os planos eram detalhados o suficiente pra gente saber que se ela tivesse sido construída naquela época ela teria sido o primeiro computador Universal isso quer dizer que descontando ali a lentidão e a memória que seria bem limitada mesmo assim ela seria capaz de executar qualquer programa de
computador isso traz algumas perguntas importantes O que diferencia o computador de babaj do Ábaco e se algo mudou que permitiu com que aquelas calculadoras mecânicas se tornassem tão Gerais quanto os computadores modernos o que foi que mudou como que esse simples movimento de peças conseguiria dar vida toda a complexidade e inteligência que a gente nota nos computadores que a gente usa eu tive perguntas parecidas com essa por bastante tempo desde criança eu tinha aprendido a abrir o computador olhar o que tinha dentro trocar alguma peça ou outra ou limpar algo que precisa ser limpado e
tinham me falado que o o processador era essa parte super inteligente era o cérebro do computador e que de algum jeito usando eletricidade ele conseguia processar qualquer código que alguém escrevesse mas eu nunca entendi de verdade como que isso era possível como que aqueles un e zeros que me falaram tanto se manifesta de fato no mundo físico no resto desse vídeo a gente vai perseguir justamente essas perguntas que moram bem no coração do que é um computador e a primeira dessas pistas vai nos levar a investigar um instrumento um tanto diferente a racional ade humana
como é que a gente faz para saber se algo que alguém te disse por si só tá certo ou errado por volta de 350 anos antes de Cristo Aristóteles tentando responder essa mesma pergunta criou a lógica a disciplina que separa o discurso correto do discurso incorreto o Aristóteles é considerado o pai da lógica Mas isso não significa que as pessoas eram irracionais antes dele aparecer na própria Grécia 200 anos antes antes de Aristóteles nascer o Thales já escrevia argumentos matemáticos sobre o mundo da geometria plana e alguns anos antes de Aristóteles começar o seu trabalho
Platão já falava sobre usar os mesmos métodos que os matemáticos para investigar questões humanas de qualquer forma até onde a gente sabe o Aristóteles foi a primeira pessoa a tentar entender Quais são as pequenas peças e engrenagens da racionalidade humana não só isso mas também tentar sistematizar a forma como essas partes se combinam no discurso e no pensamento [Música] Aristóteles estudava argumentos como esse aqui todo homem é mortal Sócrates é um homem portanto Sócrates é mortal bom se for mesmo verdade que todo homem é mortal e que Sócrates é um homem é inescapável que Sócrates
é mortal mas Aristóteles fez mais do que simplesmente listar argumentos corretos substituindo as particularidades por uma letra ele conseguiu observar as particularidades por atrás de cada argumento a gente pode trocar o x y z por qualquer outra coisa e se as duas primeiras frases forem verdade a terceira não tem outra escolha senão ser verdade também anos depois outras pessoas contribuíram com o projeto de Aristóteles para contemplar outros tipos de problemas incluindo alguns mais práticos e realistas Imagine que você quer para ser apresentador do seu novo canal no YouTube contratar um lobo Gá mas evidentemente não
pode ser qualquer Lobo Gará você teria alguns requisitos profissionais ele teria que ser qualificado de certas formas por exemplo o lobo deve morarem São Paulo saber falar Latin saber TR ou o lobo guará deve saber japonês morar em qualquer lugar menos no Rio de Janeiro e saber onar ou qualquer Lob idate desde que ele saiba dançar a frase complicad com os requisitos que a gente tem para contratar esse lobo guará são feitos da combinação dessas sete frases aqui o lobo guará sabe falar latim Sabe falar japonês sabe cálculo três sabe álgebra linear mora em São
Paulo mora no Rio de Janeiro sabe dançar da mesma forma que antes nós usamos símbolos para representar proposições nós vamos escolher uma letra para representar cada um desses requisitos no caso w Vai representar sabe falar latim J Sabe falar japonês o c sabe cês o a sabe Alin em São Paulo o r Mor no Rio Janeiro e por último o d sabe dançar usando cada um desses símbolos nós podemos reconstruir toda aquela frase complicada e cada uma das afirmações que tinha ali dentro o lobo guará mora em São Paulo e sabe falar latim ou sabe
cálculo TRS ou não mora no Rio de Janeiro e Sabe falar japonês e sabe álgebra linear ou ele sabe dançar escrevendo essa frase assim nós conseguimos notar que o e o ou e o não eles têm certas funções especiais que aparecem de novo e de novo na língua elas servem para combinar proposições lógicas simples como as que nós vimos em proposições lógicas cada vez mais e mais complexas as regras pelas quais elas fazem essa combinação Segue o que a gente já entende intuitivamente da língua por exemplo Suponha que um dos seus candidatos se chame Ná
e env no currículo essa declaração sou um lobo guará Paulista não sei cálculo três sei falar latim não sei falar japonês sei álgebra linear e não sei dançar e aí ele vai se contratado baseado nas autodeclarações do lobo guará na Podemos verificar se cada uma das proposições que mencionamos é verdadeira ou falsa vamos lá p é verdadeira L é verdadeira e d é falsa como pra gente o que interessa mesmo é o resultado final né se a expressão toda é verdadeira ou falsa a gente não precisa preservar V essas letras a gente pode ir trocando
elas por v e f conforme elas forem verdadeiras ou falsas E aí depois no resultado a gente vai ter a nossa resposta Final O que é que a nossa intuição diz sobre combinar frases verdadeiras e falsas bom isso depende de qual operação a gente tá aplicando e ou e não por exemplo intuitivamente parece que a expressão que diz que o lobo guará sabe falar latim e sabe cálculo três só vai ser verdadeira inteirinha se as duas expressões o lobo guará sabe falar latim e o lobo Guará sabe cálculo três forem ambas verdadeiras agora que sabemos
de tudo isso a gente pode checar cada uma das operações para descobrir se o resultado final é verdadeiro ou é falso no caso do ou a operação vai ser verdadeira se pelo menos uma das proposições for verdade inclusive se as duas forem Verdade também já o não inverte o valor verdade de qualquer proposição se é verdadeiro que o lobo guará mora no Rio de Janeiro é falso que o lobo guará não mora no Rio de [Música] Janeiro a boa notícia é que o Ná satisfaz todos os nossos requisitos e vai entrar pra equipe A não
ser que ele não tope o salário parece que a nossa tentativa de codificar parte do pensamento humano tá dando certo mas deu muito trabalho será que a gente vai precisar repetir tudo isso cada vez que a gente quiser contratar um lobo guará diferente em 1838 o editor do recém-fundado jornal matemático de Cambridge recebeu uma carta de um remetente não muito usual o manuscrito se intitulava teoria das transformações analíticas e havia sido escrito por um então desconhecido jovem de 23 anos o qual após abandonar a escola os 16 para ajudar financeiramente os pais continuou estudando uma
temática apenas da companhia silenciosa de seus livros apesar de certas particular idades que revelavam a inexperiência do escritor o editor do jornal percebeu ali uma Faísca de genialidade e decidiu aceitar a publicação do artigo assim começou a carreira científica do inglês George Bull que é um dos matemáticos e lógicos mais importantes do século XIX após ter o seu primeiro artigo Aceito o Bull continua escrevendo de forma prolífica em diversas áreas da Matemática alguns membros da comunidade matemática britânica trataram com certa resistência a considerar o trabalho trabalho de alguém que não possuía nem ao menos um
diploma mas o trabalho do bull falou por si só 16 anos após o seu primeiro artigo em um jornal matemático o Bull publicou a sua obra prima pela qual ele seria lembrado até hoje as leis do pensamento a grande inovação aqui a que seria essencial no desenvolvimento de um computador foi a de trazer as leis do pensamento de Aristóteles para dentro das leis da Matemática A matemática havia passado por três séculos de extremo sucesso investigando as leis da álgebra o que resultou em avanços nas ciências naturais igualmente importantes inspirado por isso o George Bull encontrou
uma forma de expressar frases lógicas em frases algébricas fazendo com que ele conseguisse calcular com facilidade se uma afirmação é verdade ou não voltando a contratação de lobos guarás dessa vez nós vamos considerar o v como um e o f como zero a grande Inovação de Bully foi notar como as operações lógicas que nós vimos antes podem ser substituídas por certas operações aritméticas nesse caso por exemplo o e pode ser substituido pela multiplicação o ou pela adição e o não que é um pouquinho mais complicado na verdade vira um menos o valor que a gente
tinha antes que eu vou chamar de X aqui na lógica de Bull a multiplicação ela funciona igual a multiplicação normal só que usando só um e [Música] zero já a adição vai continuar igualzinho antes com a exceção de que 1 mais 1 nesse caso aqui vai ser igual a 1 isso é porque algo não pode ser mais verdade do que já é então traduzindo a expressão que a gente tinha antes a gente vai ter algo do [Música] tipo nós mostramos duas coisas importantes aqui a primeira é que de alguma forma nós conseguimos reduzir as investigações
da racionalidade humana de Aristóteles H cálculos tão simples que poderiam ser feitos em um Ábaco de apenas uma pedra a segunda coisa é que organizando as coisas direitinho o cálculo quase se faz sozinho quase se faz sozinho a ideia de babag foi boa mas já deu para notar que vai ser meio difícil rodar um jogo por exemplo usando um computador mecânico por isso vamos utilizar algo que gere Mais energia e que não Force ninguém a ficar parado girando uma manivela a eletricidade as fontes mais acessíveis para serem transformadas em eletricidade são o fogo o vento
e a água e na dúvida escolhe a água porque ela é abundante renovável e o gerador que é usado é relativamente simples de fazer afinal as primeiras versões datam de mais de 2000 anos para construir o nosso gerador a gente vai precisar bas basicamente de madeira cobre e ímã só que a gente tem alguns probleminhas com a nossa lista de materiais madeira a gente tem de sobra e o cobre também é simples porque ele é um material abundante ele é o primeiro material a ser dominado né é amplamente pela civilizações antigas justamente por ele ser
encontrado na natureza já pronto para ser moldado sem precisar passar por processos complexos de purificação por exemplo e o esforço pro cobre vai compensar em dobro porque a gente vai usar ele depois também para fazer os nossos fios agora para achar os imans vai ser um pouquinho mais complicado eles já eram conhecidos há milhares de anos mas isso não quer dizer que eles eram fáceis de ser encontrados pelo contrário e mesmo que você desse sorte e encontrasse um iman provavelmente ele não ia ter força suficiente para ser usado aqui no nosso gerador e conseguir gerar
eletricidade portanto meu amigo a sua jornada atrás dessas Pedrinhas magnéticas Vai ser longa e bastante trabalhosa cheia de obstáculos e desafios mas mas quem é que diz que fazer um gerador do zero ia ser fácil né juntou tudo então vamos começar a montar o nosso gerador primeiro você vai fazer uma roda de madeira e conectar espátulas por toda a circunferência essa roda vai ser movimentada pela correnteza da água que vai movimentar algumas engrenagens que lá no fim vai fazer com que o nosso íman entra e saia de uma bobina de cobre o campo magnético do
nosso ã entrando e saindo de uma bobina de cobre Como Michael farad descobriu em 1832 vai gerar uma corrente elétrica agora é simples basta você levar essa corrente elétrica através de um fio até o nosso computador e pronto Achou fácil Pois é você acabou de inventar a eletricidade agora que a gente já tem eletricidade disponível vamos aproveitar para falar melhor das limitações da máquina de babagem mais tarde a gente vai ver exatamente o porquê dessa máquina apesar da velocidade da memória conseguir executar todos os programas que os computadores modernos consegue mas todo mundo que já
usou um computador para algo importante como jogar Minecraft sabe que a velocidade é fundamental e pra gente entender o longo caminho que temos pela frente usando essa eletricidade que a gente acabou de inventar para melhorar a máquina analítica vamos compará-la com um dos processadores mais poderosos do mercado o Intel Core I9 13.900 k como referência para essa disputa a gente vai usar uma versão da máquina diferencial de babag que é mantida pelo museu da história da computação e que teria mecanismos de adição muito similares ao da máquina analítica essa geringonça de babagem conseguiria fazer em
média uma operação por segundo para fazer a quantidade de operações que o nosso I9 aqui faz em um minuto a gente precisaria de mais de 10 bilhões de máquinas de babagem operando lá a lado mas se você acha que essa comparação é um tanto injusta Que tal um supercomputador que em 1985 custava 32 Milhões de Dólares o Cray 2 no ano do seu lançamento era o computador mais poderoso que a humanidade já tinha construído ocupando a área de um armário inteiro e pesando tanto quanto um elefante ele era 150.000 vezes mais rápido que o computador
guia da Apollo 11 impressionante vai mas mesmo assim nós precisaríamos de mais de 20.000 desses super computadores rodando ao mesmo tempo para chegar na velocidade desse processador aqui que cabe na sua mão ó e tem muito mais do que simplesmente velocidade num processador moderno como esse 9 aqui existem diversos outros fatores da arquitetura desses chips alcançados depois de décadas de evolução que tornam eles capazes de rodar até os jogos e programas mais pesados E olha que a gente nem tá falando da 14ª qu geração da Intel que acabou de chegar no Brasil vai ser liderada
pelo in9 14.900 k e além de ter um poder bruto de computação muito maior vai contar com diversos sistemas de Inteligência Artificial que se adaptam às tarefas mais pesadas Ainda bem que você não precisa Reinventar o computador para ter um processador desses quer saber mais sobre os novos processadores da Intel os links estão na descrição para conseguir controlar diferentes partes da nossa nova rede elétrica a gente vai precisar de um interruptor uma forma de de ou liberar a passagem de energia pro nosso circuito como por exemplo se a gente precisar ligar ou desligar uma lâmpada
Mas pensa comigo Parece que tem uma ideia Sutilmente escondida aqui as proposições lógicas que a gente viu antes podem ser verdadeiras ou falsas um ou zero e esse nosso circuito parece ter uma característica similar ou o interruptor está fechado ou aberto ou a lâmpada tá ligada ou desligada isso nos sugere uma forma nova de representar o valor verdade de uma proposição ou seja se ela é verdadeira ou falsa mas dessa vez usando eletricidade mas será que poderíamos combiná-los com outros circuitos para representar aquelas proposições compostas Como foi no caso lá do recrutamento dos nossos funcionários
a resposta é sim esse circuito aqui com dois interruptores em sequência só acende a lâmpada Quando os dois estão fechados análogo aquele el Lógico que só é verdadeiro quando as duas proposições ali sendo combinadas também são verd verdadeiras já esse circuito aqui com os dois interruptores em paralelo e vai ser verdadeiro quando pelo menos um dos interruptores estiver fechado já se os dois estiverem abertos aí o circuito fica desligado e sem surpresa nenhuma esse circuito aqui se comporta como aquele nosso ou lógico já esse circuito aqui é um pouco diferente a gente tem dois caminhos
que a energia pode passar esse de cima tendo uma resistência maior e sendo que a energia passa pela lâmpada o de baixo tem uma resistência menor Então se o interruptor for fechado a energia vai preferir passar pelo interruptor de baixo desligando a lâmpada assim a gente tem a funcionalidade do Não lógico quando o interruptor fecha a lâmpada desliga o contrário do que a gente estava acostumado é claro que a próxima etapa é tentar usar isso na contratação de lobos guarás cada uma das proposições que a gente viu antes tá representada aqui com interruptores a gente
tem aqui três caminhos diferentes e cada um deles representa um ou isso quer dizer que se a energia passar por qualquer um desses caminhos já seria o suficiente para ligar a nossa lâmpada ou seja o nosso lobo guará ser contratado por exemplo se o lobo guará souber dançar olha só ele já vai ser contratado pra energia conseguir passar por esse outro caminho aqui por exemplo o nosso Lobo Guará tem que saber japonês e tem que saber álgebra linear só quando ele cumpra esses dois requisitos que ele pode ser contratado porém ele não pode ser do
Rio de Janeiro se ele for do Rio de Janeiro ó só o que acontece ele não é contratado então Aqui nós temos o exemplo de um note funcionando ao vivo Olha só contratado e se for carioca não contratado pra energia passar pelo último caminho ele tem que ser de São Paulo Então vou até colocar o p que não estava aqui então Ó ele tem que ser de São Paulo a gente tem que fechar aqui o contato mas não basta ser só de São Paulo ele tem que saber ou cálculo três ou tem que saber latim
olha só que legal se ele souber latim ele já é contratado não precisa saber cálculo TR E se ele souber só cálculo TR ele também já é contratado não precisa saber os dois se ele souber os dois também não tem problema se fechar os dois aqui tá tudo certo mas é ou um ou outro vamos ver se o na o nosso Lobo que estava concorrendo à vaga passaria Ou não Aqui segundo o nosso circuito de teste e verificação de candidatos p é verdadeiro o l é verdadeiro o c é falso tá certo o r é
falso o a é verdadeiro o J é falso e o d é falso e o l é verdadeiro e tá aqui confirmado mais uma vez que o Ná vai entrar pra equipe Agora eu quero que você pare um pouco e pense sobre o que a gente acabou de fazer que foi simplesmente enganar eletricidade para pensar logicamente por nós é surreal a pessoa acreditada com a descoberta da relação entre a lógica buana e circuitos elétrons foi Claud shenon que em 1937 publicou sua descoberta na tese de Mestrado mais famosa de todos os tempos uma análise simbólica
de relz e circuitos de comutação shenon não sabia mas o cientista japonês Akira Nakashima havia chegado à mesma conclusão Dois Anos Antes essa não vai ser a única vez nesse vídeo que a gente vai ver dois cientistas separados para um oceano inteiro chegarem na mesma descoberta com poucos anos de diferença ah e um outro detalhe anos mais tarde shenon seria o criador da teoria da informação uma área da matemática que foi fundamental na invenção da internet a gente viu que a gente consegue apresentar muita coisa só com interruptores mas espa aí quem que vai ficar
abrindo e fechando os interruptores dentro do computador bom Claro que não tem ninguém lá dentro né Espero que não não do meu fique tranquilo que a gente não vai ferir o direito dos gnomos nem das Fadas Porque tem uma forma muito mais eficiente de otimizar essa parte com uma tecnologia que a gente já usou para gerar eletricidade o elro eletromagnetismo como a gente viu quando a gente gerou eletricidade usando o moinho mover um ímã dentro de um cilindro de fios gera uma corrente elétrica nesses fios mas se ao invés da gente mover um ã no
centro da nossa bobina a gente aplicar uma corrente nesse fio a gente vai criar um campo eletromagnético aqui que vai poder afastar ou atrair objetos o que a gente acabou de fazer é criar um eletroimã um íman que pode ser ligado e desligado quando a gente quiser e se a gente usar o Eletro íman que a gente acabou de criar para construir uma Engenhoca dessa aqui a gente vai ser capaz de fechar ou abrir o interruptor apenas usando eletricidade Olha só nós acabamos de reinventar o relé que foi criado no início do século X para
servir como um amplificador de sinais pro Telégrafo mas essa invenção tão importante só seria patenteada em 1840 pelo inventor do código morse Samuel Morse essa invenção utiliza um eletroímã igual aquele que a gente reinventou ele tá bem aqui e ele é utilizado para ao invés de transformar energia mecânica em energia elétrica fazer o inverso transformar a energia elétrica em energia mecânica aqui no caso quando ele está ligado ele atrai e quando ele está desligado ele [Música] solta quando o energiza o nosso eletroimã e ele atrai esse ferro aqui de cima ele fecha o circuito que
tá vindo aqui dessas duas pilhas do outro lado e permite com que a energia chegue até o nosso LED acendendo ele Ó o relê Pode não parecer uma inovação tão grande assim mas na verdade ele traz uma mudança muito importante porque agora é possível com que o próprio circuito abra ou feche interruptores ou seja além de pensar por nós eles também se movem por nós e aos poucos as nossas geringonças se tornam cada vez mais Independentes um detalhe A partir de agora nós vamos chamar as operações lógicas pelos seus nomes em inglês seguindo a convenção
internacional mas calma que você não precisa ser bilíngue para entender são só essas três palavras a gente vai chamar o e de end o ou de or e o não de not conectando a entrada de energia de um relê com a entrada de energia do outro relê a gente vai ter uma situação onde o circuito só vai ficar completamente fechado Quando os dois relés estão fechados por exemplo se eu fechar só o meu relê aqui nada acontece nem se só o do Bruno fica fechado mas se os dois estão fechados ao mesmo tempo o LED
acende Esse é o comportamento da porta Eng que é representada com esse símbolo aqui mas olha só se eu criar um circuito independente para cada um dos ELS que liga a pilha na lâmpada eu vou ter uma situação onde Ligar apenas um dos elê já é o suficiente para fechar o circuito e acender o LED por exemplo se só eu fechar ou se só o Bruno fechar e claro se os dois fecham também funciona e mais uma vez a gente tem o comportamento da porta or que tem um símbolo parecidinho com and só um pouquinho
mais rock and roll e por último a gente vai ter uma situação onde o circuito tá sempre completo e o LED tá sempre ligado exceto quando o relê é ativado o que interrompe o circuito e esse é o comportamento do not que é representado com esse símbolo aqui em 50 se você visitasse o escritório de Shannon ele não deixaria você ir embora sem antes de apresentar o tezeu um rato mecânico que ele inventou e que era capaz de aprender aonde ficavam as paredes de um labirinto bastava deixar o roedor navegar pelo labirinto errando várias vezes
o caminho e aí quando o treinamento acabava era possível colocar o Ratinho em qualquer lugar e ele iria até o final sem errar uma única vez o segredo desse Meca Mickey estava justamente no uso de portões lógicos feito com relés como esses nossos né E esses circuitos lógicos conseguiam se adaptar a cada configuração do labirinto demonstrando o potencial dos nossos relés quando são usados para formar portões lógicos mesmo usando materiais diferentes no lugar dos relés o computador que você tá usando nesse momento também é feito a partir dos mesmos portões lógicos nos próximos minutos a
gente vai mostrar exatamente como isso é possível a primeira tarefa será tornar o nosso computador pelo menos tão capaz quanto o ábaco Ou seja que ele consiga realizar operações aritméticas isso é bem importante porque quase todos os programas principalmente os jogos dependem de cálculos acontecendo dentro do computador para isso a gente vai precisar pensar em como a gente representa números no nosso dia a dia a forma mais antiga de representar números de forma escrita é simplesmente fazer uma quantidade de riscos igual ao número que você quer representar assim o número um é um risco o
dois são dois riscos o três são três riscos e assim por diante Dá para ver que essa estratégia não é tão boa quando a gente tenta escrever o número como 128 por exemplo que precisaria de 128 marcas no papel a forma que a gente aprende a representar números na escola já é muito mais eficiente basicamente a gente tem 10 símbolos que representam as quantidades de zero a nove ó só para ninguém se confundir vamos lembrar que o número e a representação de um número são coisas diferentes isso aqui é um símbolo que representa o número
três mas não é o número em si o número três é um conceito abstrato por exemplo outro símbolo que representa o número trê seria isso aqui no sistema decimal é diferente porque cada uma dessas casas aqui vale 10 vezes mais do que a anterior isso quer dizer que a cada dígito adicionado a gente consegue representar uma quantidade 10 vezes maior imagina se eu tivesse que escrever esse número aqui usando riscos né é uma economia muito grande de espaço mas no caso dos nossos circuitos nós não temos 10 símbolos diferentes temos apenas dois ligado e desligado
De qualquer forma podemos usar as ideias do caso decimal só que com uns e zeros no caso do zero e do um continua tudo igual já no dois a gente vai usar a casa esquerda que vale duas vezes mais que a anterior para fazer o três é só ligar novamente a unidade o quatro vai usar a casa que vale quatro vezes mais e assim por diante e Isso é o que chamamos de sistema binário fazendo uma comparação entre os sistemas isso aqui é como se fosse o 99 no sistema decimal as duas casas já estão
cheias então se eu quiser somar mais um ao 99 eu vou ter que liberar essas casas aqui que seriam o zer zer e passar o um para [Música] cá mas por que números binários bom em primeiro lugar não tem nada de especial com sistema decimal ele é só uma convenção que surgiu há muito tempo atrás e provavelmente Por conta desses 10 dedos aqui muito úteis para contar já o sistema binário é realmente especial ele é o sistema mais simples que é capaz de expressar tudo que a gente tá acostumado no sistema decimal Como quine disse
uma vez tudo que se vale a pena dizer pode ser dito com apenas dois caracteres e é do sistema binário que surgiu a palavra bit que vem de binary digit tão conhecida aí no mundo da computação é uma medida de quantos dígitos ários a gente tem disponível para guardar informação imagina um trem chegando numa intersecção em que ele pode virar à direita ou à esquerda ou seja ele tem duas possibilidades de caminho agora se em cada um desses caminhos ele puder virar à esquerda ou à direita de novo então ele tem quatro caminhos possíveis repetindo
isso ele tem oito caminhos possíveis é exatamente assim com os bits adicionar um dígito significa dobrar a quantidade de informação que a gente consegue armazenar por isso com oito bits nós temos o que é chamado de um byte e um único byte pode representar 256 coisas diferentes Nós ainda vamos ver exatamente como esses bytes estão relacionados com a quantidade de memória do seu computador mas antes a gente precisa encontrar uma forma de usar os nossos portões lógicos para calcular somas e subtrações vamos voltar pra época da escola Onde você aprendeu a somar números desse jeito
1 com TR é 4 9 com 2 dá 11 a gente deixa um aqui sobe o outro E aí temos o resultado 114 esse mesmo processo aqui pode ser feito com números binários a gente só precisa mudar um pouquinho as coisas um com um é zero e sobe um e um com um é zero e sobe um temos o nosso resultado Mas como que a gente pode representar essa soma com os nossos circuitos sempre que temos um problema complicado é legal a gente tentar encontrar como ele pode ser reduzido a partes mais simples olhando com
atenção para apenas uma das Linhas aqui da nossa soma a gente só precisa se preocupar com duas coisas qual número fica embaixo da casa sendo somada e se um número vai ser carregado ou seja passar pra próxima casa ou não nessa tabela aqui a gente consegue ver o que acontece na casa do resultado depois daquele traço que a gente coloca na nossa soma no caso da soma de números binários quando a gente soma um com um o resultado lá embaixo né Depois do nosso traço é zero e vai ter um um que vai ser carregado
pra próxima casa que a gente vai ver nessa outra tabela aqui que trata dos valores carregados Apenas quando a gente está somando um com um como a gente tá fazendo aqui o resultado embaixo da nossa linha do resultado é zero como mostra nessa tabela aqui e a gente vai ter um um que vai ser carregado pra próxima linha que é o que diz aqui ó quando a gente soma um com um um valor vai ser carregado pra próxima linha aqui da nossa operação A Estratégia do rolandinho de separar o valor que fica embaixo da casa
e o valor que é carregado nos sugere tentar criar um circuito para cada um desses casos para evitar que a gente precise ficar conectando um relê no outro a gente vai usar essa representação aqui a partir de agora parece que a tabela do valor carregado se encaixa direitinho com o comportamento de um portão end cada um desses botões brancos aqui é uma entrada de energia que vai representar o um quando estiver ligada e o zero quando estiver desligada como a gente já sabe no caso do and o valor de saída só vai ser um Quando
os dois valores de entrada também for em um já o comportamento de escolher o que fica embaixo da casa parece quase um War com a diferença de que quando os dois valores de entrada são iguais a um o valor da casa deveria ser zero para resolver isso primeiro a gente vai combinar um wend e um not para formar um nend uma curiosidade é que o portão nend é considerado bem especial porque combinando ele de diferentes formas a gente conseguiria replicar qualquer outro portão o que não seria possível Só usando um end ou só um or
ou só um not Por exemplo agora unindo um or um end e um nend conseguimos obter exatamente o comportamento que queríamos Quando os dois estão ligados ou quando os dois estão desligados o resultado agora é zero esse circuito também tem um nome próprio e é chamado de sh e finalmente vamos colocar tudo isso para fazer somas lembrando nós vamos receber dois valores e devolver dois valores o shor vai responder Qual o valor da casa baixo da soma e o end Qual o valor que precisa ser carregado Então vamos testar o que a gente tem aqui
1 + 0 tá sendo igual a 1 0 + 1 também tá sendo igual a 1 mas se eu somo 1 + 1 fica Zero no valor da casa e um valor é carregado o nome desse circuito é meio somador mas ele ainda tem um problema quando estamos somando dois bits separados ele funciona muito bem mas e se a gente precisar lidar com os bits que ficam nas casas do meio de uma soma de números maiores nesse caso talvez a gente precise lidar com três bits de entrada sendo um deles o que veio carregado lá
da soma anterior pra fazer isso nós vamos adicionar um segundo meio somador que vai receber o valor da casa do primeiro meio somador somador e o possível valor carregado que veio lado da soma anterior aqui a primeira saída do nosso segundo meio somador já é o resultado da casa mas e os valores que podem ter sobrado nessas segundas saídas dos dois meios somadores como em um meio somador nunca acontece das saídas da casa e do carregamento ser em um ao mesmo tempo também nunca vai acontecer dessas duas saídas sobrando em cada meio somador estarem ligadas
ao mesmo tempo por isso a gente só precisa ligá-las em um War que vai nos dizer se temos um valor carregado pra próxima casa ou não e o nome desse circuito é somador completo ou só somador Agora se a gente precisar somar dois números de quatro bits a gente só precisa alinhar quatro somadores a gente pode ver que tá funcionando direitinho 1 + 1 vai dar igual a 2 1 + 2 vai dar igual a 3 e assim por diante Aqui vai um aviso se quisermos manter apenas essas quatro SA saídas as coisas podem dar
muito errado no caso em que a nossa soma for maior que 4 bits o resultado transborda e começa a contar de novo a partir do zero é como se a gente tivesse Contando os valores em torno de uma roda que deu a volta completa e voltou pro Zero no nosso caso aqui parece fácil de resolver É só adicionar mais uma casa de carregamento Mas se a gente pegar esse resultado e tentar somar ele com outro valor de 4 bits bem grande Não importa quão poderoso seja o seu computador sempre vai existir um limite físico no
Quão grande podem ser esses números somados a amales que vem para o bem porque é justamente o transbordo o artifício que a gente vai usar para trabalhar com subtração em circuitos a definição do negativo de um número o -9 por exemplo é justamente um número que somado ao original vai dar 0 - 9 + 9 = 0 vamos transferir essa lógica pros números binários e vamos usar o nove em binário a estratégia pra gente encontrar uma forma de representar O negativo Num circuito é encontrar um número que se somado a esse aqui Vai resultar zero
vamos começar invertendo ele aqui então tá aqui invertido e depois de somar isso aqui a gente vai receber um em todas as casas somando mais um a gente vai ter zero em todas as casas com um um sobrando né que passaria pra próxima casa mas se a gente tiver limitado só a quatro dígitos esse um vai acabar ficando de fora dos quatro dígitos e vai se perder no transbordo E esses são os nossos números negativos quando estamos usando dos circuitos é basicamente o número em questão com os seus dígitos invertidos e depois acrescido de um
Pode parecer estranho mas vai funcionar com qualquer número que caiba nos nossos quatro bits disponíveis executando o nosso plano mirabolante nós precisamos de alguma forma de inverter os números do segundo bit que estamos somando a gente poderia usar o not que funciona exatamente assim invertendo os valores O problema é que ele deixaria o nosso circuito rígido sem nos dar uma forma de escolher quando queremos somar ou subtrair Nativa é usar o SH Se liga só quando a segunda entrada do sh for igual a um Ele sempre vai inverter o que vier na primeira já se
ela for zero ele não vai alterar a primeira em nada alinhando quatro portas short e Unindo a primeira entrada de cada um ao respectivo bit que queremos inverter e todas as segundas Unidas em um único sinal temos um novo circuito chamado inversor que recebe qu bits e um sinal que indica Se queremos ou não inverter cada um desses bits agora vamos posicionar esse inversor para receber o segundo número que queremos operar no nosso somador de 4 bits e colocar mais essa entrada Extra que vai sinalizar se queremos somar ou subtrair quando quisermos subtrair esse sinal
vai ser um o que vai ativar o inversor como o rolandinho explicou Agorinha a pouco para tornar esses números negativos além de inverter os bits ainda vai faltar somar um por isso vamos aproveitar esse mesmo sinal para adicionar um lá na entrada de dígito carregado desse primeiro somador que claro não estava sendo usada para nada e juntando tudo isso nós temos uma unidade de aritmética se a gente somar 1 mais 1 a gente ainda obtém dois mas se eu ligar o sinal de subtração aí eu tenho zero se eu subtrair de 2 1 aí eu
tenho um E se eu subtrair de três aí eu tenho dois se eu subtrair de oito trê eu tenho que ter cinco tudo muito bonito mas todas essas contas precisam ir para algum lugar né Tá na hora de responder como computadores conseguem se lembrar das [Música] coisas conectando dois portões or e dois portões not de uma forma bem estranha nós temos um dos circuitos mais importantes da história do computador se eu apertar o botão de setar o que vai acontecer é que esse or aqui vai ligar o que vai fazer com que esse esse not
recebe um sinal ligado e ele vai inverter esse sinal desligando ele passando um sinal desligado para esse or que agora vai passar um sinal desligado pro seu respectivo note o que vai inverter esse sinal ligando a lâmpada mas tem algo curioso aqui esse fio aqui volta lá pro primeiro or fazendo com que ele permaneça ligado ou seja enviando um sinal ligado pro not que daí inverte o sinal e leva um sinal desligado pro or que continua desligado e portanto o segundo note continua ligado e agora não importa quanto as vezes eu apertar o botão de
setar a lâmpada vai continuar ligada agora olha só se eu apertar o botão de resetar esse or aqui que tava desligado vai ligar o que vai fazer com que ele envie um sinal ligado pro not que vai desligar esse sinal desligando a lâmpada mas de novo esse fio que volta lá no primeiro or vai fazer com que esse or agora Desligue que antes estava ligado ou seja esse primeiro note vai continuar passando um sinal ligado pro or e agora não importa quantas vezes eu Aperte o botão de detar o sinal continua desligado parece que esse
circuito de alguma forma consegue se lembrar Qual foi o último botão que eu apertei o nome desse circuito é flip flop e ele é a parte mais básica da memória de um computador podemos manter essa mesma ideia Em um formato um pouco mais útil vamos usar dois Ends para substituir os botões de set e reset por um botão que eu vou chamar de info e o outro de modificar o botão info me diz qual informação queremos salvar no flip flop Isso é se é um ou zero já o modificar permite ou não que o que
já estava no flip flop mude se o modificar está desligado não importa o que eu Aperte o valor salvo no flip flop não muda já se ele está ligado aí o flip flop vai assumir o valor vindo do botão info E esse novo formato nos permite combinar vários flip flops com uma certa facilidade por exemplo juntando quatro desses lado a lado e unindo os quatro sinais de modificar deles em uma só entrada nós temos uma memória de 4 bits quando esse valor de modificar das quatro está ligado então eu consigo salvar um número de quatro
bits nessa memória já quando ele tá desligado não importa o que eu envie para essa memória ela continua intacta mantendo a informação que a gente queria que ela conservasse e agora nós finalmente conseguimos conectar essa memória lá na saída da nossa unidade aritmética e ter uma forma de salvar esses números mas ainda falta uma coisa muito importante presente em todas As Memórias de computadores modernos uma forma de ler ou alterar apenas um bit da célula sem precisar mudar todos os outros na volta começamos criando um seletor que é uma forma de usar dois bits para
selecionar quatro saídas diferentes e isso Funciona porque existem quatro formas diferentes de combinar esses dois bits de entrada 0 0 1 1 0 ou 1 1 depois nós vamos usar o seletor e alguns portões end para acessar especificamente uma entrada da memória por vez Dependendo do valor de entrada do seletor esse valor do seletor vai ser o que chamamos de endereço do bit de memória passando o endereço de um bit específico no seletor nós conseguimos alterar apenas aquele bit mantendo todos os outros intactos agora Se quisermos ler apenas um bit do nosso chip de memória
usamos novamente o seletor mas dessa vez nos bits de saída assim só o portão end correspondente ao endereço do seletor vai estar recebendo um sinal ligado na segunda entrada e portanto deixando esse sinal passar a combinação da memória com os circuitos de endereço que nos permitem ler ou alterar apenas um bit por vez é chamado na computação de Random Access Memory e é desse nome que vem a famosa sigla Ram ou como é coloquialmente chamada memória RAM Pode não parecer mas circuitos como esse são suficientes para guardar todo tipo de informação e isso quer dizer
todo texto imagem conhecimento toda a arte em áudio e vídeo produzida pelo ser humano tudo isso pode ser representado num computador com uns e zeros no caso de texto por exemplo a gente pode usar o código Ask que vai associar para cada letra do alfabeto ou cada símbolo um número de 7 bits perfeito pro computador que a gente tá reinventando é claro que para vídeos fotos músicas a gente vai precisar de códigos mais complicados e muito mais espaço a memória que você tem no seu PC Provavelmente tem pelo menos 4 gbb O que significa que
o seu computador tem pelo menos 4 bilhões de vezes o um byte de memória que a gente acabou de fazer só para você ter uma ideia o computador que levou a humanidade pela primeira vez à Lua só precisou de 8.000 bytes ou seja o equivalente a 32.000 flip flops como os nossos aqui é meu amigo o nosso computador Infelizmente vai ter que comer muito feijão antes de lançar um foguete mas todo mundo precisa começar em algum lugar não é mesmo ok a gente pode guardar todas essas coisas mas e os programas os jogos os editores
de vídeo tudo aquilo que a gente sonhava em Rod será que a gente vai mesmo precisar abrir o computador e criar novos circuitos toda vez que lançarem um Call of DUT novo para responder essa pergunta nós vamos ter que conhecer um pouco mais do trabalho de um jovem inglês bem pouco conhecido Alan Madson Turin nasceu em 1912 em Londres filho de pais ausentes que viviam lá na Índia enquanto ele e o irmão moravam com um casal aposentado na Inglaterra na infância Alan Turin já demonstrava sinais do seu interesse em ciência e matemática Mas isso não
impressionou seus professores matemática não era muito valorizado na sua escola e em uma ocasião o professor alertou os pais de lantur em que existia o risco que ele se tornassem um mero especialista científico mesmo sem nenhum incentivo Turin ingressou na universidade King's College em Cambridge para estudar matemática onde se graduou com honras com 22 anos de idade no ano seguinte Turin participou de uma aula sobre Fundações da matemática na qual Max Newman explicou sobre o problema da decidibilidade esse mesmo problema havia sido selecionado por David Hilbert como um dos problemas mais importantes do novo século
o problema da decidibilidade era a tarefa de criar um algoritmo que sempre conseguisse dizer se uma proposição matemática pode ou não ser provada Mas afinal o que é um algoritmo são algoritmos uma sequência de instruções que permite multiplicar dois números com um Ábaco o método de multiplicação que você aprendeu na escola o processo que você segue para ordenar um baralho de cartas e todos os programas de computador que você já usou na vida esses quatro são apenas sequências de instruções finitas que se seguidas de forma mecânica e arrisca levam a um resultado previsível mas o
que significa Exatamente esse de forma mecânica apesar de algoritmos já serem usados desde as civilizações mais antigas da história até a lantur tentar resolver o problema da decidibilidade ninguém tinha conseguido dizer exatamente o que era um algoritmo poucos meses depois daquelas aulas o Tu entregou na mesa de Max Newman o primeiro esboço do artigo chamado sobre os números computáveis que demonstrava ser impossível desenvolver um algoritmo que sempre conseguisse dizer se uma proposição matemática é verdade ou não mas sabe o que é engraçado e que acontece bastante na história da ciência a parte mais relevante do
artigo nem é a solução do problema mas sim a forma como Turin demonstrou essa solução para responder se um dia seria possível criar um algoritmo capaz de decidir a verdade ou falsidade de qualquer afirmação matemática turing teve que primeiro definir o que exatamente é um algoritmo para isso ele imaginou uma pessoa fazendo uma multiplicação simples em uma folha de papel o que todo mundo na época concordava que era um tipo de algoritmo E aí veio a pergunta quais são os elementos absolutamente necessários para executar essa tarefa capturando só o que era essencial Turin visou essa
máquina imaginária que seria capaz de executar qualquer algoritmo ritmo usando apenas operações muito básicas que qualquer pessoa concordaria que são evidentemente mecânicas a máquina atua em uma fita que se estende infinitamente essa fita seria dividida em pequenos segmentos cada um podendo conter um ou zero ou ficar em branco então ela se moveria por essa fita parando em um quadradinho por vez e reconhecendo o símbolo que tá ali inscrito dependendo desse símbolo e de uma regra interna da máquina Ela poderia trocar o símbolo ou deixá-lo intacto e depois disso se mover para esquerda ou pra direita
apenas uma casa por vez como exemplo nós vamos ver uma máquina bem simples que tem a única função de adicionar um ao número que ela recebe na fita nesse caso a fita que a gente tá usando tem o número 27 escrito em binário o resultado que a máquina tem que nos devolver é o número 28 também escrito em binário agora a gente vai entender Quais são as regras que a máquina tem que seguir para conseguir executar essa [Música] tarefa Primeiro ela está no estado começar e encontra um espaço em branco isso faz com que ela
se mova para a direita e troque para o estado mover depois no estado mover ela encontra o um o que faz com que ela troque esse um por zero e se mova para a direita continuando no estado mover ela encontra outro um e por isso ela troca esse um por zero e se move Pra Direita de novo finalmente continuando no estado mover ela encontra um zero Troca esse zero por um troca o estado para voltar e agora se move para a esquerda no estado voltar toda vez que ela encontrar um zero ela vai continuar indo
para a esquerda até que ela chegue no final da fita Onde tem um espaço em branco e lá vendo o espaço em branco ela troca para o estado parar que encerra o funcionamento da máquina esse objeto matemático que descrevemos é conhecido hoje como máquina de turing que o turing Claro Chamou só de máquina essa descrição em particular não é exatamente a que foi feita por Turin no artigo mas é uma versão equivalente inspirada num livro de Martin Davis inclusive foi ele que usou o termo máquina de turing pela primeira vez ó Pode parecer que a
máquina de turing é simples demais mas como t e outros matemáticos demonstraram ela é suficiente para executar todos os algoritmos que são conhecidos um algoritmo Então seria tudo aquilo que a máquina de turing consegue executar ó esse ponto ele é Sutil e super importante porque no fundo o turing propôs que a nossa intuição de algoritmo pode ser totalmente capturada pela máquina que ele imaginou não existe nenhum processo que a gente poderia chamar de mecânico que ela não consegue fazer olha só essa proposta de definição de turing não é algo que pode ser provado matematicamente como
o que ela promete é capturar as noções intuitivas de um algoritmo que matemáticos já tinham por milênios o melhor que a gente pode fazer é verificar que ela de fato consegue Executar tudo aquilo que a gente já entende por um algoritmo uma pista de que turing tava realmente certo é que menos de um ano antes dele entregar o seu artigo na mesa de Newman do outro lado do oceano um matemático americano chamado Alonso Church havia oferecido uma nova definição de algoritmo com seu cálculo lâmbda algo que turing não tinha como saber foi observado com facilidade
que o cálculo lambda de Church e a máquina de Turin são equivalentes ou seja oferecem exatamente a mesma definição de algoritmo essa ideia de que a máquina de turing e todas as outras construções equivalentes capturam O que é computação se chama tese de Church touring algo que pode parecer um pouco surpreendente é que alguns cientistas defende a versão expandida dessa tese que diz que todo o universo é computável ou seja que poderia ser simulado com uma máquina de turing como essa aqui OK mas até aqui o turing nos mostrou que há uma máquina para cada
algoritmo escolhido não é o mesmo problema que descobrimos com o nosso computador já que nós tínhamos que modificá-lo a cada nova função é aí que entra uma das ideias mais bonitas da matemática e da Ciência da Computação a máquina Universal acontece que o turing também provou em seu artigo a existência de uma máquina capaz de se simular qualquer outra máquina de tour ou seja não seria necessário mudar a máquina para cada nova aplicação para ver como isso funciona vamos voltar pro exemplo que a gente viu agora a pouco para construir uma máquina Universal a gente
vai precisar codificar cada uma das regras possíveis que uma máquina de turem pode ter em números binários por exemplo o estado mover poderia se tornar um número de 4 bits como esse a própria seta de passagem que a gente estava usando tornaria outro número binário a mesma coisa Valeria pros comandos de ir pra esquerda ou para direita dessa forma a gente consegue colocar em uma fita só não só o número que vai ser processado como também em forma numérica os comandos que a máquina vai seguir para processar esse número fingindo ser outra máquina o estado
de mover que a gente viu antes estaria na fita escrito assim por exemplo e essa é essencialmente a prova do porque que existe uma máquina Universal a chave tá que eu consigo codificar qualquer máquina de turing na própria fita que vai ser processada por essa outra máquina um sistema que consegue replicar Qualquer máquina de turing Assim como como a máquina Universal é chamado de touring completo Se conseguirmos mostrar que o nosso computador é capaz de fazer as mesmas coisas que a máquina de touring só descando a memória finita vamos ter certeza de que ele é
capaz de executar qualquer algoritmo e por consequência todos os programas que existem ou que ainda serão criados felizmente nós já temos todos os ingredientes principais para tornar isso possível agora a gente só precisa preparar os acompanhamentos para que o nosso computador consiga executar todo tipo de programa sem que a gente precise ficar ligando e desligando circuitos nós vamos nos inspirar na máquina de touring Universal e fazer com que o nosso computador consiga ler códigos e de bônus você vai finalmente entender a diferença entre hardware e software ó pensa comigo a máquina de touring tinha estados
e Dependendo de qual era esse estado ela tratava o número que estava sendo lido de forma diferente nós vamos fazer algo parecido criando circuitos que que executam funções diferentes que são equivalentes aos Estados da máquina de Tun depois nós vamos representar cada uma dessas funções por um código que vai indicar pro computador quando elas devem ser executadas beleza mas quantas funções diferentes nós vamos precisar para criar um computador Universal 1000 2.000 100.000 Na verdade apenas essas cinco aqui são bem mais do que suficientes essa arquitetura que eu vou mostrar foi inspirada no lendário Intel 8080
e um tigo do pesquisador Raul rog sobre computadores universais o primeiro passo vai ser combinar a unidade de aritmética com uma célula de memória para formar um acumulador A diferença é que em vez da unidade aritmética receber dois números e devolver um resultado ela vai receber apenas um número por vez e ir somando ou subtraindo esse valor do valor que fica acumulado ou seja salvo nessa memória especial por isso o nome Além disso de uma forma inspirada lá na fita da máquina de touring a gente vai combinar várias Memórias de 4 bits e juntar elas
lado a lado como tá representado aqui onde cada um desses blocos é uma memória diferente de 4 bits outra coisa vamos dar um endereço para cada uma dessas células de memória que também vai ser um número de 4 bits contando a partir do zero então aqui ó 0 1 2 3 e assim por diante a forma com que o computador vai processar esses endereços vai ser bem parecida com o que a gente mostrou lá na parte sobre memória usando um seletor com a diferença de que agora o endereço não leva apenas para um bit do
chip de memória mas para uma célula inteira dessas como o nosso objetivo secreto é conseguir escrever um programa nessa memória vamos também precisar de um novo circuito chamado contador que vai controlar qual a próxima célula de memória que o computador precisa ler internamente ele é feito com uma memória de 4 bits e mais alguns circuitos espertos que permitem com que ele Adicione um ao valor do endereço agora lembra daqueles códigos que a gente mostrou como a memória só consegue lembrar de números binários nós vamos escolher um número de quatro bits para cada um deles o
AD que adiciona um número ao acumulador vai ser representado por 1100 o sub que subtrai o número do acumulador vai ser o 1101 o save que serve para salvar o número do acumulador na memória vai ser representado pelo 00 10 o Limp que zera o acumulador vai ser o 0011 e o MPR que vem de mudar para vai ser o 10 10 mas como que tudo isso funciona junto para permitir que o computador Leia códigos como ele vai saber o que fazer quando lê um seria um pouco complicado e bem ediante mostrar cada circuito de
controle que seria necessário para essa tarefa mas como a gente já explicou os princípios de como criar novos circuitos antes no vídeo nós vamos falar apenas o principal para que você entenda como os códigos Realmente são lidos na máquina e possa replicar esse feito em caso de emergência sincronizado por um relógio o contador vai levar energia I lá pro endereço de memória da vez esses qu bits guardados na célula Então vão controlar a passagem de energia por uma série de portões em Dior e not que vão descobrir qual o código exato que tá sendo lido
as opções vão ir afunilando cada vez mais até que só sobre energia no circuito correspondente ao código certo ó lembra comigo que cada um desses valores aqui é um ponto onde a energia tá ligada ou desligada no um a energia tá ligada no zero a energia tá desligada se eu passar os dois primeiros bits de um código por um portão end e o resultado for um isso me garante que esses dois bits eram um e portanto só com essa informação a gente sabe que o código precisa ser um AD ou um sub porque eles são
os únicos códigos que começam com dois uns em sequência agora passando um or pelos últimos dois bits e recebendo um Resultado positivo a gente vai saber que pelo menos um deles precisa ser um e portanto o único código que satisfaz isso é o sub é algo muito similar que o computador vai fazer para cada um desses códigos até que ele encontre exatamente qual é o circuito que precisa receber energia Acompanha comigo se o código for AD o contador vai ser ativado para ler o valor da próxima célula como o endereço de memória esse endereço que
tava aqui nessa célula vai ir pro seletor seletor Então vai enviar energia para esse novo endereço que nesse caso vai ser essa célula aqui mas dessa vez com um sinal que diz que Esse valor deve ser lido como um número e somado ao acumulador algo bem similar acontece com sub só que dessa vez um sinal é enviado pro acumulador informando a unidade de aritmética que a operação que ela deve fazer é subtração em vez da adição o save também vai ler a célula seguinte depois dele como um endereço de memória ele vai então ativar uma
série de circuitos que ativa o botão de salvar naquele endereço permitindo com que o que tava lá seja trocado pelo valor que fica salvo no acumulador já o Limp é o mais simples de todos os os nossos códigos tudo que ele faz é ativar um circuito que fica pré-programado aqui no acumulador que vai zerar tudo que tá salvo na memória já o mudar para é o mais complicado de todos primeiro ele checa se o acumulador está sinalizando que está vazio usando uma série de portões end e depois se o acumulador estava realmente vazio ele então
vai ler o valor da próxima célula como um endereço de memória e trocar o valor que tá no contador por esse novo endereço assim enganando computador a pensar que ele estava prestes a ler esse novo endereço que acabou de entrar aqui o MPR Pode parecer um pouco sem sentido mas na verdade ele é essencial porque vai permitir ao computador saltar para diferentes partes da fita ao invés de sempre processá-la na mesma ordem agora vem a parte legal mesmo combinando Esses códigos podemos fazer coisas bem complicadas agora a gente vai fazer coisas bem complicadas Tu acredita
um dos primeiros que vai ser é muito útil pra gente é o código load que carrega o valor do endereço no acumulador nós podemos formar ele com dois códigos básicos assim um código Limp um código AD seguido de um endereço primeiro ele vai limpar o acumulador depois ele vai adicionar o valor que fica salvo no endereço que tá na célula de baixo ou seja aqui seria esse 1010 lá no acumulador portanto dando load do que estava nesse endereço no acumulador outro exemplo simples é o clássico Goto que é bem conhecido na área da programação ele
pode ser feito com um Limp seguido de MPR como o Limp já Zerou o acumulador esse código sempre vai trocar o contador para o endereço que tá na célula seguinte que nesse caso seria essa daqui por isso o nome porque ele faz o computador ir automaticamente para aquela célula e agora a gente vai tentar criar um exemplo daqueles Loops que a gente conhece lá da programação esse programa vai funcionar assim primeiro ele vai dar load no valor que tá nesse endereço aqui ou seja esse número que vai ir aqui pro acumulador depois ele vai dar
sub ou seja ele vai subtrair o valor que tá nesse endereço do acumulador que no caso aqui é só um ou seja em vez de 12 em binário esse valor vai virar 11 em binário depois ele vai salvar o valor que tava no acumulador no mesmo endereço de antes que é esse aqui então agora o valor que fica aqui nesse lugar é o 11 quando chegar no mudar para ele vai conferir se o valor do acumuladora é zero como a gente acabou de ver ele é 11 então o que vai acontecer é que ele vai
ir direto para essa parte aqui do go to que vai fazer o programa voltar pro zero ou seja dar load de novo no valor que estava aqui nesse endereço que agora é 11 subtrair um desse valor depois salvar o valor subtraído nesse endereço depois tentar mudar para um endereço que pula o go to o que não vai dar certo e então voltar pro começo ou seja esse programa vai repetir de novo e de novo e de novo até que o valor que estava aqui no começo fora zero e a gente poderia usar essa mesma estrutura
para repetir qualquer outro processo de programação que a gente queira que aconteceria aqui no meio entre o MPR e o Goto e como Prometemos Agora você entende a diferença entre hardware e software hardware são os elê portões lógicos e todos os circuitos que fizemos software são esses códigos que podemos combinar de múltiplas formas para fazer os mais variados programas sem mexer em nenhum circuito e finalmente dá para ver com bastante facilidade que qualquer programa que poderia rodar na máquina de touring também poderia rodar no nosso computador como você lembra a máquina de touring conseguia pra
esquerda e pra direita uma casa por vez e trocar o valor que estava lá de um para zero ou de zero para um o nosso computador consegue saltar pela fita quantas vezes ele quiser somar e subtrair números de 4 bits e de quebra salvar eles em qualquer lugar da fita mas também não vai achando que o nosso computador é mais poderoso que a máquina de turing por caus disso na verdade eles são equivalentes com exceção de que um é bem mais apto que o outro e do fato de que a máquina de turing tem memória
ilimitada e portanto Nós realmente conseguimos o computador que projetamos se fosse construído de fato seria Universal tão poderoso quanto qualquer computador moderno mas pera os computadores são realmente feitos dessa forma bom sim e não a forma de construir um computador mudou muito durante as últimas décadas mas os princípios que a gente viu até aqui continuam os mesmos no mesmo ano que o Turin publicou o seu artigo tão importante um estudante de doutorado de física de Harvard estava indignado com a necessidade de fazer longos cálculos repetitivos em uma calculadora mecânica de mesa e aí reclamando sobre
isso ele acabou descobrindo que no sótão do departamento haviam algumas rodas de latão que foram construídas anos antes para ajudar com cálculos similares ao que ele estava precisando resolver e foi assim que Howard alken reencontrou partes da primeira invenção de babaj isso 100 anos após o inventor ter abandonado o projeto por falta de fundos e exatamente as mesmas rodas de latão foram usadas no primeiro projeto computacional do alken que foi construído com relê como nosso computador e chegou muito perto de finalmente alcançar o sonho de babagem esse feito no entanto ficou para o Z3 um
projeto construído por conz na Alemanha em 1941 o Z3 usando 2600 relés foi o primeiro computador funcional que pode ser considerado Universal desde então as coisas mudaram muito o relê foi substituído por outras tecnologias que conseguem representar zeros e uns de uma forma muito mais rápida a primeira substituição foi por tubos a vácuo e depois veio a maior invenção de todas o transistor a invenção de engenharia mais importante do século passado foi a de transformar isso nisso o silício é um dos elementos mais comuns do planeta terra e compõe em torno de 25% da Areia
que você encontra na praia e além disso silicio é um semicondutor um elemento que ficam tanto em cima do muro quanto a livre passagem de elétrons a chave dessa invenção foi modificar o silício para que a condutividade dele pudesse ser controlada com a aplicação de uma pequena voltagem positiva dessa forma o transistor consegue funcionar como um interruptor que Ao contrário dos ELS não precisa de nenhuma peça abrindo e fechando para impedir ou permitir a passagem de eletricidade e é exatamente por isso que comparada a qualquer outra forma de representar uns e zeros que veio antes
o transistor em pouquíssimo tempo se tornou mais barato mais duradouro e principalmente muito menor o que possibilitou que computadores fossem produzidos em massa e por consequência transformassem o mundo em 1965 o pesquisador e Engenheiro Gordon Moore que foi um dos fundadores da Intel observou que o número de transistores por microchip tende a dobrar a cada ano algum tempo depois ele corrigiu essa previsão para cada 2 anos que na sua forma final ficou conhecida como a Lady Moore por exemplo em 1971 o primeiro microprocessador comercial da história que foi o Intel 4004 possuía uma densidade de
188 transistores por milm Quad pouco mais de 2 anos depois com Intel 8080 a densidade subiu para 300 8 anos depois o Intel 80286 tinha uma densidade de 2730 transistores nove vezes maior e as mudanças foram cada vez mais drásticas em 2008 o valor já era de quase 2 mil 800.000 com o Core i7 e hoje com o Core I9 14.900 k o valor é absurdo gente é mais de 100 milhões de transistores por milímetro quadrado alguns interpretam que a le de Moore se refere ao inevitável Progresso da tecnologia outros acham que a lei de
Moore chegou ao seu limite no ano desse vídeo aqui devido aos problemas quânticos que vão surgir ao se tentar produzir transistores ainda menores eu pessoalmente prefiro uma terceira visão a de que a Lady de moor não é uma previsão Mas ela é um objetivo a cada ano muito esforço é colocado em alcançar essa meta e se não for possível diminuir o tamanho de transistores nós vamos sim encontrar outra forma de aumentar o poder computacional da humanidade nos primeiros computadores Como foi o caso lá do Mark 1 os programas eram escritos à mão em folhas de
papel mesmo para que ele sequer conseguisse entender o que eles estavam fazendo os programadores escreviam palavras chaves que representavam aquelas funções do computador de forma bem parecida com o que a gente estava fazendo agora a pouco o programa em texto Então seria traduzido para código binário e só então colocado no computador mais tarde foram inventados programas que automaticamente conseguiam fazer essa tradução lá no começo dos anos 50 uma programadora chamada Grace Hopper que foi muitas vezes comparada com a Condessa de L lass escreveu um desses primeiros tradutores e cunhou o termo compiladores não demorou nada
para alguém usar o trabalho de Hopper e de outras pessoas como base para criar linguagens ainda mais amigáveis e isso nunca parou linguagens de programação cada vez mais parecidas com discurso cotidiano foram lançadas todos os anos desde então mesmo que abandonar o código binário tenha feito a gente perder um pouquinho de intimidade com o computador foi esse castelo de abstração que permitiu com que pessoas por todo mundo seguissem os passos de Love lass e escrevessem program cada vez mais complexos e incríveis durante essa jornada a gente investigou Os Estranhos computadores a manivela enganamos a eletricidade
a pensar por nós e criamos um computador usando relés que apesar de ser um pouco lerinho é capaz de simular qualquer computador moderno e se você tá assistindo isso aqui em um futuro pós-apocalíptico e se perguntando se esse esforço todo valeu a pena por um computador tão simples P em como agora você tem mais poder de computação do que uma sala cheia de pessoas que nunca se cansam e como a gente aprendeu com touring ter mais poder de computação não é só uma questão de resolver contas maiores também tem a ver com a capacidade que
a humanidade tem de resolver problemas em geral pisar na Lua investigar as estrelas mapear o genoma humano a internet todos esses acontecimentos só foram possíveis com o computador e se um dia a humanidade For Capaz de curar o câncer domar o poder do Sol e tomar seu lugar entre as estrelas pode ter certeza que participando de todas essas conquistas de alguma forma vai haver um computador e você acabou de inventar um e esse foi o primeiro vídeo do infinitamente um projeto novo um canal de YouTube que vai falar sobre Ciência de uma forma aprofundada mas
sempre divertida interessante sem subestimar Quem tá assistindo se você ainda não é inscrito se inscreve mas se você já era inscrito não f fica assustado Esse era o meu canal pessoal mas os vídeos que estavam aqui estão salvos em outro canal que eu vou deixar o link na descrição mas não vai embora não continua inscrito porque esse projeto aqui tá sendo feito com super carinho você vai ser muito importante pro Futuro desse projeto Ah eu preciso apresentar o Adrian para vocês que é o meu parceiro nessa jornada nova ele gosta muito de computação matemática todos
os temas né envolvendo ciência se apresenta pra galera E aí pessoal beleza fazer esse canal se tornar possível tem sido a realização de um sonho para nós dois né para nós dois de poder trabalhar aprendendo e divulgando ciência então eu espero muito que vocês tenham gostado desse vídeo tanto quanto a gente gostou de fazer ele foi foi uma loucura foi uma loucura ó fazer vídeos como esse que você acabou de assistir Dá muito trabalho exige muito carinho e dedicação esse vídeo por exemplo ele levou mais de 4 meses um arquivo de pesquisa de mais de
40.000 palavras um tera de gravações e a gente queria muito poder continuar fazendo vídeos como esse a gente tem ideias de vídeos sobre astrobiologia sobre neurociência so inteligência artificial artificial é muitos temas legais gente se você curte essa ideia que ajudar nessa missão você pode por exemplo comprar as camisetas exclusivas do canal que estão na loja muito maneira tem até uma que é exclusiva desse vídeo aqui que a gente fez especialmente para esse vídeo ah as referências é vocês assistiram o vídeo Se vocês assistiram o vídeo estão entendendo ol entendendo tudo ó a máquina de
touring transistor tem tudo aí ó e foi essa invenção que fez Papa trocar o nome do feriado pra Páscoa pra Páscoa E você também pode virar assinante Desse Canal aqui e receber conteúdos de backstage material Extra sobre os vídeos que a gente faz e a minha parte preferida você vai poder fazer perguntas que a gente vai responder em um podcast sobre o vídeo que a gente fez muito da hora interagir com a gente de forma direta e a ideia desse podcast vai ser justamente expandir sobre todos os temas que surgiram na pesquisa Mas a gente
não teve tempo de colocar no bicho impressionantemente e ó esse vídeo só foi possível com a ajuda de pessoas muito especiais tem várias pra gente agradecer né começar agradecendo o abiscoitado que é o editor que editou ess vídeo maravilhoso os herbs e a Aline que foram super parceiros eles são os responsáveis pela arte e também as animações aqui do canal e por último mas não menos importante os nossos queridos amigos da Tropical game Lab que nos ajudaram com aquele software de simulação que a gente usou para mostrar os circuitos e o mais importante é ajudar
a gente a divulgar esse conteúdo passar esse material para quem gosta de computação quer saber como o computador funciona curte ciência manda para todo mundo siga as nossas redes sociais que estão todas na descrição e nos vemos no próximo vídeo até lá tchau ficou bom né nossa que isso simpatia