Se você é um entusiasta da ciência espacial (como eu), já deve ter lido ou escutado a expressão: “O computador da Apollo 11 era menos potente do que uma calculadora”.

No dia 16 de julho de 1969 os astronautas Neil Armstrong, Buzz Aldrin e Michael Collins partiram para a lua na Apollo 11, chamada de “o veículo mais poderoso construído até então“.

Uma das grandes questões a serem respondida pelos engenheiros era a de como os astronautas saberiam que direções seguir e como se posicionariam. Pensando nisso, se depararam com a seguinte questão: você voará pelo espaço, perderá a noção de embaixo ou em cima, como poderá se guiar? Pelas estrelas, assim como os nossos ancestrais? Usando a Terra como referencial?

Como resposta a estas perguntas viram que era necessário algo preciso. As espaçonaves Apollo necessitavam de um sistema de correção de voo. Pensaram em usar um sistema eletromecânico com giroscópios e acelerômetros, parecido com o que usavam em aviões, mas para uma espaçonave era necessário um sistema bem mais preciso e durável, já que, basicamente, iria voar entre dois mundos. Foi então que concluíram: “Precisamos de um Computador”.

Mas, em 1961, quando o presidente americano John F. Kennedy anunciou a meta de colocar o homem à lua até o final daquela década, o computador mais moderno era assim:

Série completa do IBM 1400. No centro o computador IBM 1401, Lançado em 1959. Fonte: [5].

Veja um vídeo com o lançamento desta maravilha da era moderna.

Isso mesmo que você viu na imagem, o computador mais poderoso da época era do tamanho de uma sala.

Nesse incrível computador, de 4.096 bytes (4 KB) de memória, com 6-bits de tamanho de uma palavra. Uma palavra, assim como na definição para uma linguagem, nada mais é do que uma cadeia de caracteres. Só que neste caso, os únicos caracteres possíveis são o 0 e 1 eletrônicos (ausência e presença de sinal elétrico). Ou seja, todos os processos que seriam executados deveriam ser convertidos para binários e, basicamente, divididos e enviados para processar 6 bits por vez. E ele poderia armazenar em sua memória de processamento 24.576 palavras por vez. Possuía um incrível ciclo de 87 KHz. O ciclo é o quanto ele é capaz de processar em um segundo, 87 KHz é o mesmo que 87 mil ciclos/segundo. Ou seja, ele processava 87 mil palavras de 6 bits por segundo. Quase nada se comparado ao computador em que escrevo este post.

Sugiro pesquisar quanto de memória RAM seu computador possui e o seu clico (poderá encontrar como clock).

O IBM 1401 foi primeiro computador da IBM completamente transistorizado (substituindo as válvulas).

O Transistor é o principal responsável pela revolução da eletrônica na década de 1960. Possui diversas funções, como amplificadores e interruptores de sinais elétricos. Foi inventado em 1947 e demonstrado em 1948 por John Bardeen, Walter Houser Brattain e William Bradford Shockley, que em 1956 foram premiados com o Nobel de Física por essa descoberta. Foi estudado com o objetivo de substituir as válvulas. Sua principal vantagem é poder ser integrado com outros componentes, formando circuitos mais complexos.

Mas como a equipe de Neil Armstrong, que mal conheço e já considero pacas, chegou tão longe com um equipamento desses? Você me pergunta.

E eu respondo: Era o que tinha na época. Mas se você tem a verba de uma nação focada no avanço científico, então contratará uma equipe de especialistas para diminuí-lo para um tamanho que caiba em uma nave.

Aí você me pergunta: Como fizeram esse troço imenso evoluir para algo que coubesse na Apollo 11?

E eu respondo: com a utilização de algo recém inventado na época, os Circuitos Integrados (CI’s).

Um Circuito Integrado é um chip eletrônico miniaturizado sob um material semicondutor. Em um único chip foi possível inserir diversos transistores para construir portas lógicas. Os CI’s serão utilizados para realizar os cálculos e executar as operações requisitadas. Substituindo o enorme armário onde os transistores, eram inseridos em placas de circuito impresso um a um, junto com os capacitores e resistores.

E o que são portas lógicas? São pequenos chips que realizam operações com os números binários (um pouco mais sobre números binários você pode encontrar aqui).

O computador de voo da apollo possuía um total de 4100 CI’s.

O Apollo Guidance Computer (AGC) foi o primeiro computador a utilizar CI’s. Foi produzido exclusivamente para o programa Apollo e foi instalado nos Módulos de Comando e Módulo Lunar, providenciando computação e interface eletrônica para orientação, navegação e controle da espaçonave.

O processador utilizado pelo AGC possuía um total de 4100 CI’s em sua primeira versão, mas foi se aproveitando da evolução da produção de CI’s e no final possuía um total de 2800, com mais componentes integrados em um único chip.

O AGC possuía um total de 2KB de memória RAM e 36 KB de memória ROM (Memória Somente de Leitura onde estavam escritos os programas, não pode ser mudada) a memória ROM foi desenvolvida com a tecnologia core rope, que são nada mais que fios passando através dos núcleos, pequenos transformadores, um fio passando por “cima” é lido como 1, passando por “baixo” é lido como zero. E já possuía um ciclo de 2048 MHz. Uma palavra de instrução possuía 16 bits.

Os programas foram escritos na linguagem Assembly própria para o AGC. Os princípios desenvolvidos para o AGC são de fundamental importância para a Engenharia de Software. Seu software era capaz de realizar o escalonamento de prioridades, testes, interação homem-máquina, sincronização. Até o momento esses conceitos ainda não haviam sido desenvolvidos. Por isso foi necessário desenvolvê-los, do princípio.

O AGC ainda possuía um software interpretador, que recebia instruções mais complexas, ou pseudo instruções que o software nativo não possuía, essas instruções simplificavam os programas navegacionais. Poderiam ser feitos então cálculos trigonométricos com dupla precisão, aritmética escalar e vetorial, instruções matriciais entre outros. O computador já possuía diversas camadas de programação.

A interface com o usuário DSKY (display and keyboard) possui um indicador luminoso, display numérico e um teclado estilo calculadora. Os comandos eram fornecidos de forma numérica. Um primeiro comando informava que ação deveria ser realizada e um segundo informava os dados de entrada.

Aqui você pode baixar um simulador do AGC, o computador da Apollo 11.

AGC à esquerda e sua interface DSKY a direita. Computador do programa Apollo. Fonte: [2]

Em 2017, uma calculadora científica, por exemplo a HP 35S, possui 30 KB de memória e possui ciclo de até 2.046 MHz, com palavras de 8 bits. Repare que a calculadora possui 15x mais memória que o AGC, enquanto seus ciclos são equivalentes, mas a palavra possui a metade do tamanho. Com essa memória de 30KB ela pode armazenar mais dados que o AGC, para ser utilizada posteriormente.

Hoje em dia existem calculadoras que até mesmo possuem tela touch screen, como a HP Prime, com um processador AMR9 de 400 MHz e 32MB de memória.

Então, se alguém lhe disser, que o homem chegou a lua com um computador que não possui o mesmo processamento que uma calculadora moderna, você já pode dizer sem dúvidas que sim, é verdade. O homem chegou a lua com um computador, que na verdade era uma calculadora científica com funções pré-programadas em sua memória, para os padrões de hoje.

Mas, se o homem chegou a lua com uma calculadora, imagine o que nós poderíamos fazer utilizando um smartphone, que é, computacionalmente, milhares de vezes mais potente que o AGC?!

Ah, e toda essa corrida foi necessária para que pudéssemos fazer vídeos como esse: Space Oddity.

 

Links Externos:

[1] The Apollo guidance computer: Hardware

[2] Apollo Guidance Computer

[3] Circuitos Integrados

[4] Museu Virtual da Informática. “IBM 1401”.

[5] IBM 1401: The Mainframe

[6] IBM 1401

[7] Transistor

[8] MeioBit. O computador da Apollo: uma história de True Hackers

[9] Há 43 anos, homem chegava à Lua com computador de 2 kb de RAM

[10] MOS Technology 8502


Fábio Ferreira Professor, cientista da computação e criador de formigas artificiais. Curto joguinhos, memes e um cineminha. Meu objetivo é a conquistaaaaa.