A coluna tecnologia & inovação é uma contribuição do Conselho Brasil Tech Export, presidido pelo diretor executivo da Associação Brasileira de Terminais e Recintos Alfandegados (Abtra), Angelino Caputo.
tecnologia & inovação
Paralelismo, um truque sem limites para a evolução tecnológica
A evolução tecnológica é um movimento contínuo que não cansa de nos surpreender a cada dia. Hoje temos milhões de dispositivos conectados em tempo real, transmitimos e recebemos dados em velocidades antes inimagináveis e a capacidade computacional dos celulares que temos nos nossos bolsos supera em milhares de vezes todos os computadores da Nasa que levaram o homem à lua.
Isso leva as pessoas mais curiosas a questionarem quais seriam as “mágicas” usadas pela engenharia para atingirem esses patamares, que parecem não ter fim. Nem conseguimos instalar ainda as redes 5G, por exemplo, e os caras já estão desenvolvendo o 6G.
O que temos que comemorar é a incrível capacidade e a criatividade dos cientistas para vencerem os limites impostos pela natureza. Vou exemplificar.
Os primeiros computadores pessoais funcionavam basicamente assim. Alguém desenvolvia um programa que era instalado em uma memória. O microprocessador tinha uma unidade funcional especializada em ler a primeira posição dessa memória e trazer a instrução ali contida para uma posição específica, onde uma outra unidade funcional decodificava essa instrução e a passava para uma terceira unidade funcional, onde a instrução era executada e finalmente o resultado era acumulado numa posição específica de memória. A depender do que aconteceu, aquela primeira unidade lia então outra posição específica de memória, buscava a instrução ali contida e o ciclo se repetia.
Tudo isso ocorria cadenciado por um relógio interno do computador (conhecido como clock). Assim, no primeiro ciclo do clock, a instrução era lida, no segundo, decodificada, no terceiro, executada, no quarto, o resultado acumulado, no quinto, lida a próxima instrução e assim por diante.
Então nada mais natural, para aumentar a capacidade do computador, do que acelerar o clock. Assim, quando comprávamos os computadores, um dos requisitos mais importantes era a velocidade do clock: 1.2 GHz, 1.6 Ghz, 2.4 Ghz etc. Mas como esses clocks são cristais que vibram em função de serem excitados eletricamente, rapidamente esbarraram num limite físico para essa vibração, ou seja, os computadores não poderiam ser mais rápidos do que aquilo.
Foi então que alguém pensou no primeiro paralelismo. Aquela unidade que lia as instruções ficava parada, enquanto as outras trabalhavam, o que também acontecia com as demais. Por que não fazer com que ela já adiantasse a busca da próxima instrução enquanto a segunda unidade funcional estivesse interpretando a primeira instrução, assim como a terceira enquanto a primeira instrução estivesse sendo executada e assim por diante? Isso parecia muito o ciclo de ondas dos surfistas no Havaí e logo foi batizado de Pipeline. Tivemos então um grande salto na capacidade dos computadores.
Aí, alguém mais esperto pensou o seguinte. Se as coisas podem ser feitas de forma paralela dentro de um único processador, por que não colocar vários processadores trabalhando em paralelo e alguém coordenando a distribuição das diversas tarefas, juntando tudo isso no final? Nesse momento chegaram os processadores dual-core, quad-core, octa-core e assim por diante. Claro que estou falando de forma muito simplista aqui – coordenar esses paralelismos todos é extremamente complexo e exige várias teses de mestrado e doutorado.
Só de curiosidade, vale lembrar que o computador mais perfeito já inventado, o cérebro humano, tem um clock de apenas 50 Hz e trilhões de processamentos paralelos!
Pulando para o mundo da telefonia móvel, o truque dos engenheiros foi o mesmo. Nós leigos não sabemos, mas as características físicas da nossa atmosfera limitam a velocidade de transmissão de dados por um determinado canal. Para quem é engenheiro, é só lembrar do Teorema de Shannon-Hartley, mas deixa isso pra lá! É claro que esses limites já foram alcançados há muito tempo. Então, como as velocidades dos celulares continuam aumentando? A maioria não sabe, mas o truque continua sendo o uso indiscriminado do paralelismo. Vários canais em frequências diferentes e, também, para uma mesma frequência, várias modulações diferentes, muitas anteninhas paralelas no hardware dos nossos celulares e, no final, alguém montando tudo isso para que a comunicação faça sentido.
Pensando assim e copiando nossos cientistas e engenheiros, o que poderíamos fazer em paralelo para aumentar a eficiência da nossa logística?