Uma não tão breve história da ARM – Parte 1

Você já a conhece há muito tempo. Ela faz parte do nosso dia-a-dia e está entre nós de maneira quase onipresente. Há anos em celulares, tablets, smartwatches, recentemente ela também chegou com mais força aos computadores pessoais. Ela é a arquitetura ARM (Advanced Risc Machine), presente nos processadores da imensa maioria dos gadgets do mercado. O que você talvez ainda não saiba, é que ela foi criada por dois amadores, dois jovens estudantes da Universidade de Cambridge no início dos anos 80.

No final dos anos 70 e início dos anos 80, os computadores começaram a se popularizar em todo o mundo. O que até então estava restrito a um nicho de nerds nas universidades, alcançava cada vez mais os lares de pessoas comuns. As máquinas complexas que demandavam treinamentos sofisticados e profissionais altamente especializados para sua operação, estavam se tornando mais fáceis de serem utilizadas, e ferramentas cada vez mais importantes e valiosas para estudantes e profissionais dos mais diversos setores. Já estava claro que os computadores seriam o futuro. Na Inglaterra, essa certeza fez a rede pública de rádio e televisão, BBC, perceber que era necessário educar a população sobre computadores. Afinal, se o computador era o futuro, era necessário ensinar as pessoas a utiliza-los. Então em 1982, a BBC cria um projeto chamado “The Computer Programme”, uma série de programas de TV para introduzir o computador a milhões de lares britânicos e mostrar à população do que aquelas máquinas eram capazes. Além disso, o governo pretendia equipar com computadores as escolas de todo o país. Porém, havia um problema. Esse era um momento extremamente rico e dinâmico da industria de computadores, e isso se traduzia em uma enorme variedade de marcas, modelos e fabricantes. Não existiam padrões bem definidos de hardware e software. Cada computador rodava seus programas específicos e se comunicava com seus periféricos específicos. Como educar um país inteiro em computadores em um cenário como este? Obviamente seria impossível fazer um programa (de tv) para cada fabricante ou modelo de computador. A BBC decidiu que precisava definir um computador específico para usar no seu programa, um micro pra chamar de seu. A empresa então definiu as especificações do que seria chamado de “BBC Micro” e foi atrás das fabricantes de computadores do país em busca de uma fornecedora. O contrato com a BBC para produzir o BBC Micro significava a venda de milhares de unidades ao governo britânico, além de milhões de libras em publicidade expontânea em programas de TV. Quem venceu a disputa e conseguiu o contrato com a BBC foi a Acorn Computers, uma então pequena empresa de Cambridge. A Acorn e o BBC Micro, levariam ao desenvolvimento do processador que permitiu a “revolução mobile” do final dos anos 90 e que atualmente está em 99% dos smartphones do mercado.

By Screencapture, Fair use, https://en.wikipedia.org/w/index.php?curid=4635702

By BBC_Micro.jpeg: Stuart Bradyderivative work: Ubcule (talk) – BBC_Micro.jpeg, Public Domain, https://commons.wikimedia.org/w/index.php?curid=11672213

By The logo may be obtained from BBC Micro., Fair use, https://en.wikipedia.org/w/index.php?curid=26189751

Sinclair e o surgimento da Acorn

Christopher Curry era o braço direito de Clive Sinclair na Sinclair Radionics, uma das diversas empresas criadas pelo icônico inventor britânico. Ao longo da vida, Sinclair inventou e comercializou de tudo, de rádios AM/FM e mini-TV portáteis a relógio de pulso e até um carro elétrico. Na década de 70, o maior produto da Sinclair era sua calculadora portátil, lançada em 1972, a Sinclair Executive. A calculadora foi um enorme sucesso comercial, e levou Sinclair à fortuna. Rumo ao final da década de 1970, Curry estava cada vez mais interessado em computadores pessoais mas encontrava resistência por parte de Sinclair, que só pensava e novos modelos para sua calculadora. [Sinclair rapidamente mudaria de opinião sobre computadores e acabaria entrando para a história como um dos pioneiros da computação pessoal. Com o ZX80, ZX81 e principalmente o ZX Spectrum, seria um dos grandes responsáveis pela popularização dos computadores pessoais no mundo. A história de Sir Clive Sinclair e de como ele se tornou um dos principais nomes da computação pessoal é um caso a parte, e merece um artigo especial dedicado à ela. Talvez meu próximo. Voltemos à história da arquitetura ARM

By MaltaGC, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=2747195

https://thevintagent.com/2023/09/24/sinclair-c5-the-personal-electric-vehicle/

Em 1978, Curry abandona Sinclair e se junta a Hermann Hauser para fundar uma empresa que se dedique aos computadores pessoais. Nasce então a Acorn Computers. O nome foi inspirado em um ditado inglês, “great oaks from little acorns grow”, que pode ser traduzido como a ideia de que coisas grandes podem surgir de algo que começa pequeno. Além disso, “acorn” também é um nome de fruta e tem a vantagem de vir antes de “apple” na lista telefônica (Sim, essa realmente foi uma motivação para a escolha do nome!). Curry e Hauser não eram especialistas em eletrônica ou computadores. Curry era publicitário, um homem de vendas, e Hauser um entusiasta de computadores que estava fazendo seu doutorado em física em Cambridge. Eles precisavam de alguém que realmente entendesse de computadores, de hardware, alguém que pudesse botar a mão na massa e criar os computadores que eles pretendiam vender. Como qualquer grande universidade da época, Cambridge também tinha seu grupo de “nerds” que se reunia em clubes dedicados ao estudo dos computadores (assim como Stanford nos EUA tinha um certo “Homebrew Computer Club”, que você provavelmente já ouviu a respeito). E foi no “Clube de Processadores de Cambridge” que Curry e Hauser encontraram os talentos que precisavam para formar a Acorn: Steve Furber, então estudante de doutorado em física e Sophie Wilson, ainda estudante de graduação em ciências da computação.

O primeiro computador construído pelo time da Acorn foi o Atom, lançado em março de 1980. Sua CPU era o MOS 6502 de 8 bits rodando a incríveis 1 MHz, tinha 2KB de memória RAM e 8 KB de memória ROM. O sistema operacional era uma versão customizada do BASIC escrita por Sophie Wilson, o Acorn System Basic. O Atom competia diretamente com o ZX80 da Sinclair (eu falei que Clive Sinclair ia mudar rapidinho sua opinião sobre computadores!), e foi um relativo sucesso, vendendo em torno de 20.000 unidades. Com o Atom, a Acorn se desenvolveu como empresa e se estabeleceu como fabricante de computadores. Estava na hora de pensar no seu próximo produto.

Public Domain, https://commons.wikimedia.org/w/index.php?curid=52388

Por esse momento, início dos anos 1980, estava surgindo uma nova geração de processadores de 16 bits, como o Motorola 68000 e o Intel 8088. Mais poderosos, porém mais complexos e de custo elevado. A Acorn precisava definir o processador que usaria em seu novo computador, o sucessor do Atom. Manter-se no 6502 poderia significar uma perda de oportunidade e um risco de tornar-se obsoleta em pouco tempo. Porém, uma mudança aos novos processadores de 16 bits poderia significar meter-se em uma aventura de alto custo, que talvez a empresa não pudesse manter. A Acorn acabou adotando uma solução de compromisso, um “meio termo”, mas com uma pitada grande de ousadia: seu próximo computador seguiria baseado no 6502, mas teria uma nova interface de conexão e um módulo de expansão que permitiria a conexão de um segundo processador. Essa interface permitiria o acoplamento inclusive dos novos processadores de 16 bits que estavam surgindo no mercado, o que traria um salto gigantesco de desempenho e potência ao computador. O computador se chamaria “Proton”, e a interface para acoplagem de um segundo processador, “Tube”. Assim, a Acorn seguiria oferecendo a opção de um computador barato e acessível com a opção de uma versão expandida mais cara para quem buscasse mais potência.

O BBC Micro

Enquanto a equipe técnica, liderada por Wilson e Furber, discutia como implementar a ideia de um segundo processador acoplado ao Proton, Chris Curry ficou sabendo dos planos da BBC de produzir um computador para seu futuro programa de educação em computação. Curry entra em contato com a BBC e diz que a Acorn tem um protótipo que atende as especificações requeridas para o modelo. A BBC então pede uma demonstração do protótipo, em uma semana. Curry concorda. Aqui a história fica divertida, e se parece com o caso de Bill Gates vendendo o Microsoft DOS para a IBM contada nessa cena do filme Piratas do Vale do Silício [Se você ainda não viu esse filme faça um favor a você mesmo e assista-o imediatamente! Ou melhor, imediatamente não, termine de ler o artigo primeiro!]. A Acorn não tinha nada! Absolutamente nada para mostrar à BBC. O Proton e a interface Tube eram apenas uma ideia que ainda não estava nem no papel. Era algo apenas na mente de Wilson e Furber, que “achavam” que seria possível fazer tal coisa. Curry e Hauser sabiam disso, mas viram o que significava um contrato com a BBC e as potenciais vendas para o governo britânico. Era uma oportunidade que a Acorn não podia deixar passar. Após Curry dizer sim à BBC e prometer um protótipo funcional em uma semana, faltava convencer seu próprio time que seria possível cumprir a promessa. Hauser telefona para Sophie Wilson e pergunta se aquilo era viável, se poderiam ter um protótipo funcional do Proton para a próxima sexta. A resposta de Wilson foi simples: “é claro que não”. Hauser então liga pra Steve Furber, faz a mesma pergunta e obtém a mesma resposta. Porém, Hauser agora complementa “hum, estranho. Wilson disse que consegue fazer”. A provocação funciona. Furber imagina que “ela deve saber algo que eu não sei”, e concorda “se Wilson acha que é possível então podemos tentar”. Hauser volta a ligar para Wilson, desta vez dizendo Furber acha que consegue fazer, e consegue a mesma resposta positiva. É a vez de Wilson imaginar que “ele deve saber algo que eu não sei”, e concordar com a empreitada “se Furber acha que é possível, então podemos tentar”. Assim, Wilson, Furber e mais alguns membros do time da Acorn mergulham em uma semana intensa e insana de trabalho, e em 5 dias, entregam aos avaliadores da BBC um protótipo funcional do Proton e sua extensão “Tube” para acoplar um segundo processador. Na entrevista abaixo, Sophie Wilson conta como ainda trabalhava no código pra fazer o vídeo funcionar no protótipo quando a equipe da BBC chegou na sede da Acorn, e como coube a Curry “enrolar” um pouco a comitiva enquanto ela terminava de finalizar tudo.

O protótipo funciona e o Proton impressiona a BBC. A Acorn ganha o contrato e o Proton é produzido em escala e comercializado como o nome de BBC Micro. Lançado em dezembro de 1981 e com uma expectativa inicial de venda de algumas milhares de unidades, o BBC Micro acaba vendendo mais de 1,5 milhão de unidades durante sua vida. A Acorn agora é uma gigante européia da computação pessoal. Investe pesado em publicidade, estampa sua marca em carros de corrida e cria até uma revista para a sua base de usuários.

Publicidade do BBC Micro em 1982. O slogan era “a forma das coisas que virão”. Fonte: https://arstechnica.com/gadgets/2022/09/a-history-of-arm-part-1-building-the-first-chip/
Primeiro volume da revista Acorn User, publicada em 1982. A revista teve 267 volumes, e foi publicada até dezembro de 2003.
David Hunt, e seu Formula 3 patrocinado pela Acorn no inicio dos anos 80. https://www.stairwaytohell.com/articles/AU-AcornHistory.html

A interface Tube e uma nova maneira de se construir processadores

Com o sucesso do BBC Micro a Acorn agora tinha os recursos financeiros necessários para investir no desenvolvimento da expansão Tube, que aumentaria enormemente a capacidade de processamento do BBC Micro. Vários processadores foram testados, inclusive os novos Motorola 68000 e o National Semiconductor NS32000, processadores 32 bits supostamente muito superiores ao MOS 6502 de 8 bits utilizado no próprio BBC Micro. Porém, surpreendentemente, nenhum desses processadores mostrava um desempenho muito superior ao velho 6502. De fato, os resultados obtidos com estes novos processadores não eram muito melhores que um segundo 6502 rodando a um clock um pouco superior. A baixa performance, atrelada ao alto custo e complexidade de operação desses novos processadores, não justificavam seu uso como segundo processador no micro. A Acorn precisava de algo diferente.

A busca por um segundo processador para o BBC Micro levou Furber e Wilson a uma viagem ao EUA, para conhecer a sede da Western Design Center (WDC) no Arizona, uma empresa que desenvolvia processadores e fora fundada por Bill Mensch, um dos criadores do 6502 na MOS Technology. A WDC havia desenvolvido o sucessor do 6502, o 65C02, que equipavam o Apple IIc e o Apple IIe. O time da Acorn esperava que Bill Mensch e sua nova empresa pudessem criar uma nova versão do chip 6502 feito sob medida para ser o segundo processador do BBC Micro. Esperavam encontrar uma empresa de alta tecnologia, com máquinas de última geração para o desenho e fabricação de processadores, equipe altamente qualificada, mas não foi nada disso que encontraram. A Western Design Center funcionava em uma pequena casa no subúrbio de Phoenix e era formada praticamente por estudantes usando velhos Apple II para desenhar os chips para a Apple. Furber e Wilson ficaram chocados! A infraestrutura e capacidade técnica da Acorn eram muito superiores às da WDC. Não havia nada que impedisse a Acorn de desenhar seus próprios processadores.

Sede da Western Design Center em Mesa – Arizona. Fonte: LinkedIn

De volta à Inglaterra, Furber e Wilson passaram a se dedicar ao desenho do seu próprio processador. Hermann Hauser, um dos fundadores da Acorn, trouxe algo interessante para Furber e Wilson. Alguns artigos publicados por um grupo de cientistas americanos, da Universidade de Berkeley que estavam trabalhando em um projeto chamado Berkeley RISC, acrônimo para “reduced instruction set computer”. 

Não vou me aprofundar nos detalhes técnicos do funcionamento de um processador. Não é o objetivo deste texto e também não é minha área de especialidade. Mas basicamente, grande parte das tarefas realizadas por um processador envolvem lógica e aritmética. Essas operações são realizadas através da passagem ou não de corrente elétrica pelos transistores que compõe o chip. Cada transistor funciona como uma pequena chave liga-desliga. Para saber quando e qual “chave” ligar ou desligar cada processador precisa de um conjunto de instruções, uma lista de como ele pode mover dados de um lugar a outro, comparar números, fazer operações matemáticas, etc. Acontece que por essa época, início dos anos 80, já se sabia que o conjunto de instruções dos processadores estava subutilizado. Grande parte do seu conjunto de instruções simplesmente não era utilizado pelos programas da época. Reduzir o conjunto de instruções de um processador significava diminuir sua complexidade (de fabricação e de operação) e reduzir significativamente seu custo. Por isso surgiram projetos como o de Berkeley (ele não foi o único), com o objetivo de estudar a viabilidade de processadores mais simples e baratos, com uma quantidade reduzida de instruções. [Para se ter uma ideia do que isso significava, o Intel 80286 lançado em 1982, tinha um total de 357 instruções únicas, enquanto o chip que a Acorn desenvolveria tinha apenas 45. Isso se reflete diretamente na quantidade de transistores no interior do chip: o 80286 tinha em torno de 134 mil transistores enquanto a primeira versão do chip da Acorn teria apenas 25 mil.]

A partir dos artigos de Berkeley, a Acorn decidiu que a melhor opção para um segundo processador no BBC Micro seria desenvolver seu próprio chip, usando a ideia de conjunto de instruções simplificada, RISC, proposta pelos estudos feitos em Berkeley. Steve Furber seria o responsável pelo desenho do hardware do processador, enquanto Sophie Wilson estaria encarregada do conjunto de instruções. Seu processador se chamaria ARM – Acorn Risc Machine, e seria fabricado pela VTI (VLSI Technologies), empresa americana que já era parceira da Acorn e fabricava alguns dos chips utilizados no BBC Micro. Havia ainda um último requisito: o processador precisaria funcionar sendo encapsulado em plástico, sem a necessidade do uso de encapsulamento de cerâmica ou algum sistema extra de refrigeração. Isso manteria o custo do chip baixo, e permitiria a competição direta com o mercado de computadores domésticos dominado pela linha ZX da Sinclair, que eram vendidos a menos de 100 dólares. Não era uma exigência menor. Significava que o processador teria que consumir no máximo 1 watt de potência, algo extremamente baixo e que exigiria um nível absurdo de eficiência do ponto de vista energético.

Hello World, I am ARM

O processo de desenvolvimento do primeiro processador ARM levou 18 meses. O chip foi produzido com uma tecnologia de 3 micrômetros (pelo menos mil vezes maior que o que temos atualmente) e como dito acima, tinha em torno de 25 mil transistores.

Uma das primeiras unidades do ARM1 produzidas. Fonte: Centre for Computing History, item CH57310.

Em 26 de abril de 1985 as primeiras amostras do ARM1 chegaram na sede da Acorn. O processador foi conectado como segundo processador em um BBC Micro, através da interface Tube, e após alguns comandos, as 15h surgiu na tela a mensagem:

“Hello World, I am ARM” 

Estouros de garrafas de champagne ecoaram pela sede da Acorn. Eles haviam alcançado algo extraordinário. Em apenas 18 meses, uma equipe de menos de 10 pessoas criou seu próprio processador de 32 bits, através de uma nova e inédita metodologia e que funcionou na primeira tentativa!

O ARM1 e seu diagrama de blocos. Fonte: WikiChip https://en.wikichip.org/wiki/acorn/microarchitectures/arm1

Com o processador conectado e funcionando, Furber conectou seu multímetro nos terminais do computador, tentando medir algumas tensões e correntes e assim determinar a potência consumida pelo ARM1. Precisavam verificar se a estimativa de consumo feita no projeto do chip estava correta. Para surpresa geral do time, a leitura no multímetro de Furber era 0. Nenhuma corrente, nenhum sinal. O processador estava consumindo 0 watts. Isso não era possível, não fazia nenhum sentido. O processador estava operando, estava funcionando, executando comandos, como poderia não estar consumindo energia? De fato, Furber conferiu a placa de circuito onde o ARM1 estava conectado e verificou que ele havia cometido alguns erros na montagem de algumas conexões. O processador não estava corretamente alimentado, não chegava eletricidade onde deveria chegar. E mesmo assim, estava funcionando. A explicação estava na eficiência e na simplicidade: o ARM1 era tão eficiente que estava funcionando apenas com as correntes de fuga presentes no circuito. O ARM1 funcionava consumindo apenas 0,1 watt!

Conforme o planejado, os primeiros lotes do ARM1 foram comercializados como uma expansão ao BBC Micro, uma caixa bege que ia acoplada ao BBC Micro pela interface Tube. Continha um processador ARM1 rodando a 6 MHz e 1MB de memória ram.

Fonte: Centre for Computing History
Fonte: The Chip Letter https://thechipletter.substack.com/p/the-arm-story-part-1-from-acorns-6e2

Foi a primeira vez que alguém poderia comprar um processador RISC. O BBC Micro, equipado com “Acorn – The ARM Evaluation System”, foi o primeiro computador comercializado com arquitetura RISC.

Sophie Wilson é considerada uma das mulheres mais importantes da história da computação. Em 2019 foi nomeada Comendadora da Ordem do Império Britânico. Em 2022, dividiu com David Patterson, John Henessy e Steve Furber o Prêmio Draper da Academia Nacional de Engenharia dos EUA (Patterson e Henessy também são pioneiros da arquitetura RISC, tendo trabalhado no projeto de RISC de Berkeley). Steve Furber é professor emérito no Departamento de Ciências da Computação da Universidade de Manchester. Em 2008 também foi nomeado Comendador da Ordem do Império Britânico.

Sophie Wilson e Steve Furber. Fonte: Wikipédia.

Hoje, processadores ARM com conjunto de instruções RISC reinam soberanos em uma infinidade de dispositivos, portáteis ou não. O que nos faz pensar: como quase ninguém fora da Inglaterra conhece a Acorn Computers? Como um processador tão eficiente e poderoso não se tornou protagonista na jovem industria de computadores pessoais no início dos anos 80? Como o revolucionário BBC Micro com sua expansão para um segundo processador nunca chegou ao mercado americano? Como que a empresa que criou e desenvolveu a tecnologia que permitiu o mundo mobile que vivemos hoje, é ainda uma completa desconhecida para a imensa maioria das pessoas? Como a Acorn acabou sendo comprada pela gigante italiana Olivetti (sim, a das máquinas de escrever!) ainda em 1985, e sucumbiu ante uma série de decisões gerenciais equivocadas e perda de timing de mercado, desaparecendo antes do final da década de 1980? E como a Apple deu uma mãozinha tanto para impedir o sucesso do BBC Micro nos EUA como para dar origem à ARM Ltda, com a sigla ARM agora renomeada para “Advanced RISC Machines”? Tudo isso fica para a Parte 2 dessa história. 

Este artigo foi publicado originalmente no Macmagazine.

Referências:

Sobre a história da Acorn: 

https://www.stairwaytohell.com/articles/AU-AcornHistory.html

https://arstechnica.com/gadgets/2022/09/a-history-of-arm-part-1-building-the-first-chip

https://thechipletter.substack.com/p/the-arm-story-part-1-from-acorns-6e2

O canal LowSpecGamer fez dois vídeos sobre a história da ARM. A motivação para a escrita desse artigo veio a partir desses vídeos:

Parte 1: 

Parte 2: 

Em 2009 a BBC fez um filme/documentário contando a história da Sinclair e da Acorn, no que foi o surgimento do mercado de computadores pessoais na Inglaterra. O filme está disponível no YouTube:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.