25 novembro 2017

O megaprocessador


Smartphones

Estamos numa época em que qualquer adolescente traz nas suas mãos um computador que é muitíssimo mais poderoso do que os computadores que nos anos 60 permitiram a ida do homem à Lua e que ocupavam salas e salas cheias de equipamento eletrónico até ao teto: é o telemóvel "inteligente" ou smartphone.

Um dos microprocessadores mais recentes que equipam smartphones, tablets, smartwatches e outros gadgets, o Snapdragon 835 da Qualcomm, por exemplo, tem três mil milhões de transistores lá dentro!!! Custa a acreditar, mas é verdade: o "cérebro" de um vulgar smartphone tem esses transistores todos lá dentro e cabem todos! A que ponto chegou a miniaturização na Eletrónica!


O processador Core i7-8700K, da Intel, por fora

O processador Core i7-8700K, da Intel, por dentro, com seis núcleos e um número de transistores ainda não revelado pelo fabricante

Os computadores portáteis e de secretária, por seu lado, têm processadores ainda mais poderosos, que têm várias vezes essa quantidade de transistores. As unidades de processamento gráfico (GPU), que nenhum computador minimamente digno desse nome nem nenhuma consola de jogos dispensa, têm um número idêntico de transistores ou ainda mais. E há um FPGA (field programmable gate array), da Xilinx, que contém mais de vinte mil milhões de transistores, dispostos em células lógicas programáveis!!!

A evolução da miniaturização ainda não acabou, longe disso, mas entretanto têm vindo a surgir novas arquiteturas e novas tecnologias, em que a velocidade de execução e o número de transistores deixam de ser tão importantes como são agora ou deixam mesmo de fazer qualquer sentido. É o caso das redes neuronais, dos computadores quânticos ou dos computadores baseados na manipulação de moléculas de ADN, por exemplo. Há muita investigação em curso nestes e noutros domínios e não se sabe aonde é que tudo isto vai parar, o que é muito promissor, mas também é muito assustador.

Estando as coisas neste pé, o que pensar, então, do trabalho e das despesas a que se entregou o engenheiro inglês James Newman, de Cambridge, ao construir um processador com transistores individuais, como se estivéssemos ainda nos anos 60 do século passado?


Alguns transistores individuais

Independentemente da evolução que a computação possa sofrer no futuro, a verdade é que, no presente, são idênticos na sua arquitetura fundamental quase todos os processadores de aplicação genérica usados em computadores, smartphones, tablets, etc. Estes processadores são uns chips genericamente chamados CPU (Central Processing Unit) que, juntamente com chips de memória, fazem parte de uma arquitetura programável proposta em 1946 pelo matemático John von Neumann. Quase todos os processadores genéricos atuais, portanto, baseiam-se na chamada "arquitetura de von Neumann", desde os mais simples microcontroladores PIC de 8 bits (não sei se há algum de 4 bits, mas talvez haja), até aos mais complexos microprocessadores multinúcleo de 64, 128 ou 256 bits da Intel, AMD, Apple, Qualcomm ou outro fabricante qualquer. Aqui reside o interesse do árduo trabalho desenvolvido pelo inglês James Newman: o seu processador de transistores individuais tem uma grande importância didática, porque permite ver como é constituído um processador, de um modo geral, e como é que ele funciona.

James Newman construiu na sua habitação aquilo a que chamou um "megaprocessador", por causa do seu tamanho. O megaprocessador de James Newman é uma "besta" constituída por sete painéis de 2 metros de altura e 10 metros de comprimento total, que contêm uma CPU completamente funcional, 256 bytes de memória RAM (Random Access Memory), interface I/O (entradas/saídas para comunicação com o exterior) e muitas luzinhas LED a acenderem e a apagarem. O homem demorou 4 anos a construir a sua máquina, que contém "apenas" 42 300 transistores individuais, todos soldados à mão!

O megaprocessador é um processador de 16 bits (exceto no caso das instruções de execução de programas, que são de 8 bits), tem uma Unidade Aritmética e Lógica (ALU), que além de somar e subtrair consegue executar algumas operações muito mais complexas, como multiplicação, divisão e cálculo de raiz quadrada(!), quatro registos de uso genérico (posições de memória que contêm os dados a serem trabalhados no imediato pela ALU, assim como resultados intermédios das operações efetuadas pela mesma), apontador de instruções de programas (program counter), apontador de pilha (stack pointer) e registo de estados (status register) com as respetivas flags (bits que indicam se uma determinada operação foi completada ou não, por exemplo, ou que dão outras indicações importantes para a correta execução dos programas). A nível de software, por outro lado, o nosso homem desenvolveu uma linguagem de baixo nível do tipo Assembler, com 256 instruções. Enfim, o megaprocessador de James Newman é bastante mais do que apenas uma cópia "king size" de um microprocessador Z80 ou equivalente, dos que eram usados nos princípio dos anos 80. E é muito útil para o ensino, tendo já sido encomendado por algumas universidades.


O megaprocessador em toda a sua glória (Foto: James Newman)

Comentários: 0

Enviar um comentário