(Parte Um: A Transição do CISC para o RISC: O Início)

Inspirada pelo sucesso comercial de sua série AT de computadores pessoais (e um tanto consternada com o volume de receita destinado aos fabricantes de PCs totalmente compatíveis em termos de hardware, baseados no mesmo processador Intel 286), a IBM, na primavera de 1987, lançou com grande alarde um sucessor revolucionário para essa série de grande sucesso: a família Personal System/2, ou PS/2. O novo produto, de uma marca altamente respeitada no mundo da TI, era talvez superior em todos os aspectos a outros computadores pessoais disponíveis na época: basta mencionar a avançada placa gráfica VGA (256 KB de memória de vídeo integrada, resolução de 640×480 com 16 cores ou 320×200 com 256 cores reproduzidas simultaneamente de uma paleta total de aproximadamente 260 mil tons), um drive integrado para disquetes de 3,5 polegadas, bem como um barramento interno Microchannel Architecture (MCA). Anteriormente, vale lembrar, os PCs da IBM eram construídos com base no barramento ISA (Industry Standard Architecture) com uma especificação aberta – ou melhor, licenciada livremente pelo desenvolvedor (a própria IBM, aliás) – de 8 bits desde 1981 e de 16 bits desde 1984. Era através desse barramento que o processador, os módulos de RAM e outros componentes localizados na placa-mãe do computador se comunicavam com as placas de expansão, que simplesmente exigiam a instalação em um soquete padronizado. com as chaves DIP um pouco, e então carregando o driver apropriado no sistema operacional. Em 1987,O ecossistema de computadores compatíveis com IBM PC cresceu rapidamente, em parte devido às enormes possibilidades de criação de uma ampla variedade de configurações que ofereciam.Placas ISA de diversos fabricantes independentes: para conectar placas de som, dispositivos de armazenamento, controladores de vídeo, etc.

Um IBM PS/2 portátil de 1992 — e sim, seu design lembra os laptops ThinkPad x86, que entraram em produção poucos meses após o lançamento desta máquina, que teve uma recepção morna (fonte: Wikimedia Commons)

⇡#PrimeirosAnos

Embora inegavelmente muito mais avançado do ponto de vista puramente técnico, o barramento MCA provou ser completamente incompatível com o ISA, o que contribuiu significativamente para o fracasso comercial de toda a família PS/2, que foi finalmente retirada do mercado no verão de 1995 (apesar do lançamento bem-sucedido, com até 3 milhões de PCs vendidos em todo o mundo nos primeiros 18 meses de vendas). Desempenho quase equivalente às primeiras versões PCI, arbitragem automática de barramento e capacidade plug-and-play (embora ainda não chamada assim) para conexão periférica sem conflitos — tudo isso tornava o MCA uma solução atraente. No entanto, a IBM exigiu que fabricantes terceirizados que desejassem comercializar sistemas de computador baseados em MCA pagassem taxas de licenciamento — um erro que se provou fatal. Com os PCs dominados por processadores Intel 286 e seus clones, que eram essencialmente incapazes de lidar com placas de expansão e periféricos de alta velocidade, as vantagens do MCA nunca se manifestaram completamente. O advento do Intel 386 logo tornou até mesmo os computadores ISA significativamente mais poderosos.

Os fabricantes independentes de PCs continuaram a depender da plataforma aberta AT, que evoluiu gradualmente (mantendo, principalmente, sua independência e ampla compatibilidade intergeracional de componentes) graças à crescente comunidade de fornecedores de TI.Independentes, concorrentes, mas mantendo a adesão a padrões comuns. Como resultado, o PS/2, com sua seleção extremamente limitada de periféricos e placas de expansão, seu sistema operacional proprietário OS/2 e (consequentemente) um conjunto bastante limitado de software disponível para ele, foi completamente superado pelo então crescente ecossistema Wintel em meados da década de 1990 — baseado, aliás, nos mesmos processadores compatíveis com Intel, mas da família 386 (e posteriores). Esse triunfo da arquitetura CISC continuou até que dispositivos que necessitavam urgentemente de processadores com baixo consumo de energia (e somente então de alto desempenho) entraram no mercado. Estamos falando, é claro, de smartphones: foram esses dispositivos que deram um impulso verdadeiramente poderoso ao desenvolvimento da arquitetura de processadores RISC. No entanto, os processadores com conjuntos de instruções reduzidos ainda não haviam sobrevivido até os smartphones, que experimentaram um verdadeiro avanço no início da década de 2010.

John Cocke com as placas que ele e sua equipe desenvolveram para o computador experimental IBM 801 — o pioneiro de hardware de toda a arquitetura RISC (fonte: IBM).

Cronologicamente, o primeiro computador RISC foi o IBM 801, mencionado em nosso artigo anterior. No entanto, ele foi criado por uma empresa comercial para resolver um problema de aplicação bastante específico (embora claramente concebido como um projeto de desenvolvimento) e, portanto, o último do trio de pioneiros nessa área a obter amplo reconhecimento. Um impulso significativamente maior para o desenvolvimento da arquitetura RISC veio de dois projetos universitários apoiados pela DARPA, a Agência de Projetos de Pesquisa Avançada do Departamento de Defesa dos EUA. Esses eram o processador RISC, desenvolvido em Berkeley desde 1980 (que se tornou a base para os computadores RISC-I e RISC-II), e o processador MIPS, em Stanford, cujo trabalho começou em 1981.

Aqui, valeria a pena fazer um pequeno desvio da descrição das características puramente técnicas dos sistemas RISC e explicar por que, de fato, o Departamento de Defesa Federal dos EUA, em meados da década de 1960, no auge da Guerra Fria, assumiu uma tarefa que não só era irrelevante, como também contrariava as práticas capitalistas básicas (livre concorrência, a mão invisível do mercado, e tudo mais): desenvolver e apoiar a indústria da microeletrônica, garantindo, em última análise, sua evolução segura nas décadas seguintes.Comecemos pelo fato de que, em 1965, Gordon Moore, cofundador de empresas tão importantes para a indústria global de TI como a Fairchild Semiconductor e a Intel Corporation, publicou um pequeno artigo, literalmente de três páginas, na revista Electronics Magazine, de pequena circulação, voltada para o setor.O artigo de Moore, “Componentes em Circuitos Integrados”, após estudar as melhorias na produção microeletrônica nos anos anteriores, previu que, em 1975, o número de componentes elementares (transistores) em um circuito integrado (um processador convencional) atingiria 65.000 unidades; ou seja, dobraria anualmente em relação ao nível alcançado na época da publicação. Com certos ajustes (dobrando o número de transistores em um chip não a cada 12, mas a cada 18 meses, e depois a cada 24 meses), essa regra empírica, que ficou conhecida como “Lei de Moore”, foi confirmada na prática por mais de meio século — embora, em 2025, pareça que finalmente chegou ao fim. Isso se deve, em grande parte, ao motivo que a agência DARPA outrora tentou excluir da equação do progresso tecnológico: as considerações comerciais prevaleceram sobre as de engenharia; o ecossistema CISC (arquitetura x86) cresceu a ponto de se tornar um monopólio virtual; a proliferação de soluções proprietárias e padrões fechados desacelerou seu crescimento constante. Embora seja evidente que os padrões de fabricação estejam se aproximando de um nível em que as propriedades físicas da porta ou do dreno de um transistor são significativamente afetadas pela presença ou ausência de cada átomo, a erosão da ideologia de abertura da plataforma também desempenhou um papel significativo.

Uma ilustração profética, ainda que um tanto irônica, do artigo original de Gordon Moore de 1965: o artista, contratado para retratar miniaturas de “computadores domésticos práticos” do futuro, previu com bastante precisão as dimensões dos tablets e smartphones atuais — com a possível exceção da espessura da carcaça e da área da tela do painel superior (frontal); esses dispositivos claramente não possuem telas sensíveis ao toque e são baseados em botões (fonte: IEEE).

Um exemplo vivo disso é a lendária Big Blue, apelido dado à IBM, que reinou quase que totalmente no mercado de computadores dos EUA (e, portanto, no mundo, dada a significativa contribuição dos engenheiros de microeletrônica americanos para o desenvolvimento da indústria global de TI) até meados da década de 1980. O desenvolvimento do processador RISC 801 resultou em um processador relativamente barato e com baixo consumo de energia, que, com essas duas vantagens, compensava seu desempenho um tanto limitado na resolução de problemas computacionais complexos. Mas trabalhar nessa direção certamente não era um fim em si mesmo para a IBM: por que competir consigo mesma quando os computadores da série AT, com chips Intel 286 CISC, que se encaixavam perfeitamente na arquitetura ISA, já estavam vendendo bem? Sim, a infinidade de clones “compatíveis” estava corroendo a receita do desenvolvedor original, mas a administração da IBM era realista — e entendia perfeitamente que, ao restringir estritamente o acesso de terceiros a essa plataforma, estaria se prejudicando. Competir com, por exemplo, a Apple Computer, jogando conforme suas regras — construindo um ecossistema de hardware e software vibrante, atraente, porém proprietário e exclusivo para si mesma — era algo que a Big Blue considerava viável na época…Não ia acontecer: a empresa estava bastante satisfeita com a receita do fornecimento de computadores “de verdade” (não pessoais) para o governo e grandes organizações comerciais.

⇡#SuaDefesa

Em 1976, vale lembrar, os primeiros cinquenta computadores Apple I montados chegaram à loja de eletrônicos Byte Shop de Paul Terrell, em Mountain View, Califórnia. Em meados da década de 1970, esses dispositivos eram vendidos para um público com conhecimento em engenharia elétrica — como componentes soltos que precisavam ser montados manualmente, muitas vezes até soldados. O Apple I, por outro lado, era um sistema de computação de placa única, sem gabinete, pronto para uso (ou melhor, pronto para receber software — o software não estava incluído) simplesmente conectando um monitor, teclado e outros periféricos compatíveis. Encorajados pelo sucesso de sua criação entre entusiastas da computação, mas com pouca habilidade com um ferro de solda, os dois Steves — Jobs e Wozniak — começaram a lançar o Apple II em 1977, um dispositivo ainda mais fácil de usar: o Apple II, com uma caixa de plástico, teclado integrado e placa gráfica colorida. Em 1984, surgiu o primeiro Macintosh, com interface gráfica e um mouse como elemento de controle, além do teclado, juntamente com a primeira versão do sistema operacional Mac OS.

O microprocessador MOS Technology 6502 de 8 bits e baixo consumo de energia, que serviu de base para o Apple I, operava com um conjunto de instruções reduzido e pode ser classificado como um chip RISC, embora essa terminologia ainda não estivesse estabelecida na época de seu lançamento (fonte: Wikimedia Commons).

A IBM, inicialmente focada em grandes computadores para o governo e, posteriormente, para grandes instituições comerciais (a famosa frase de meados do século, “Esperávamos encontrar clientes para apenas cinco computadores, mas conseguimos 18”, é de seu CEO), não deu muita atenção ao nascente segmento de computadores pessoais. No entanto, na década de 1970, finalmente começou a trabalhar nessa direção. Ainda sob a influência de uma decisão judicial antitruste emitida em 1956, que proibia expressamente a IBM de interferir na execução de softwares de terceiros em suas plataformas de hardware, decidiu também investir nesse novo mercado. É por isso que, em particular, o IBM PC (modelo 5150), o primeiro computador pessoal dessa marca, lançado em agosto de 1981, utilizava o processador Intel 8088 de 16 bits e 4,77 MHz já disponível no mercado, e a então pouco conhecida empresa de Bill Gates e Paul Allen foi contratada para desenvolver o sistema operacional para ele, o IBM PC-DOS, como já discutimos no artigo anterior. Aliás, a própria Microsoft, tendo assinado um contrato com a IBM em novembro de 1980,, fisicamente não havia tempo para criar um sistema operacional adequado à tarefa do zero em menos de um ano, e, portanto, primeiro adquiriu os direitos de seu clone do sistema operacional CP/M, conhecido pelos nomes 86-DOS ou QDOS, da Seattle Computer Products e rapidamente o aprimorou; já mencionamos isso anteriormente. No entanto,Poucas pessoas conhecem a sigla original QDOS — Quick and Dirty Operating System (Sistema Operacional Rápido e Sujo). É bastante irônico, considerando a história subsequente de genuíno “amor” dos usuários pelo MS-DOS/Windows.

Assim, no segmento de PCs, então emergente no mercado global de TI, as plataformas abertas floresceram — e claramente triunfaram sobre as proprietárias. O exemplo do IBM PS/2, que citamos anteriormente, ilustra isso claramente; a história de sucesso da Apple, no entanto, é a exceção que confirma a regra: nenhuma outra empresa de alta tecnologia conseguiu, ao longo de muitas décadas, criar um ecossistema semelhante com uma comunidade forte de fãs entusiasmados e leais (devotados à plataforma como um todo, quase como um culto, e sem questionar qual arquitetura de processador executa qual software). Para as necessidades corporativas e governamentais, a IBM e outras gigantes continuaram a fornecer sistemas de computação com arquitetura fechada a preços exorbitantes e relutavam em investir em seu desenvolvimento. Negócios são negócios — eles buscam organicamente o monopólio, ou seja, um estado de minimização de custos (eliminando a concorrência) enquanto aumentam simultaneamente os lucros até o limite que seja realmente possível. A descoberta empírica de Gordon Moore, feita em um momento extremamente oportuno — no alvorecer da era dos microprocessadores, quando o nível de concorrência entre os participantes do mercado ainda era bastante significativo — apontou um possível caminho para o desenvolvimento progressivo da indústria de TI na ausência (ou pelo menos com sérias limitações) de um potencial monopólio. Não é surpreendente que o departamento de defesa americano, ao resolver seu, para dizer o mínimo, problema não comercialtarefas, tentou fazer todos os esforços para estimular a competição no ambiente de desenvolvimento de alta tecnologia.

A “Lei de Moore”, empírica, na formulação “um novo processador típico contém o dobro de transistores em comparação com seu antecessor médio de dois anos atrás”, manteve-se válida até o início de 2025 — em grande parte devido aos esforços da DARPA (fonte: Medium).

Agora, considerando todas as digressões que fizemos, acredito que esteja muito mais claro por que o programa VLSI (Very Large Scale Integration) da DARPA, lançado em 1978, tinha como objetivo criar uma tecnologia de projeto de circuitos integrados que permitisse aos desenvolvedores projetar processadores de complexidade arbitrária para resolver seus problemas de aplicação. E não apenas projetar, mas também transferir os projetos finalizados para os fabricantes, para que pudessem fabricar, testar e verificar a qualidade do produto final de acordo com as especificações fornecidas — em resumo, implementar o ciclo completo de P&D de microprocessadores. Nenhuma arquitetura de processador específica foi discutida inicialmente; o principal era encontrar uma maneira de projetar microchips a um custo relativamente baixo. Foi aqui que surgiu o primeiro grande avanço do RISC, quando os funcionários da DARPA optaram conscientemente por arquiteturas abertas e pela colaboração com a mais ampla gama possível de desenvolvedores, principalmente aqueles não especializados em aplicações de defesa.

E essa é uma abordagem perfeitamente razoável: quanto mais a microeletrônica de propósito geral se desenvolve, mais próximas as previsões de Gordon Moore se tornam realidade, mais fácil será encontrar os projetos mais adequados para todos os tipos de soluções especializadas no vasto conjunto disponível. E quanto menor a disponibilidade de projetos, mais fácil será encontrar soluções especializadas.Aliás, o custo dessas soluções será significativo — o que é extremamente importante do ponto de vista do orçamento de defesa. Não é de surpreender que, graças em grande parte aos esforços da DARPA, em 1990, embora as empresas sediadas nos EUA representassem 37% da produção global de semicondutores, mais de 80% dessa produção dependesse de tecnologia americana.

A participação dos investimentos de capital de risco em startups relacionadas, de alguma forma, à fabricação de semicondutores nos Estados Unidos não ultrapassou 1% desde 2013 — o que preocupou seriamente diversos representantes do governo americano, que apresentaram ao presidente, em 2022, um relatório intitulado “Revitalizando o Ecossistema de Semicondutores dos EUA”: afinal, lembram, Intel, AMD, Qualcomm, Nvidia e Broadcom já foram startups em algum momento (fonte: Pear Ventures).

⇡#Estações de Trabalho

Um dos desenvolvedores de computadores clássicos da década de 1970, Andrew Tanenbaum — aliás, Linus Torvalds decidiu criar o Linux logo após ler seu livro clássico, “Sistemas Operacionais: Projeto e Implementação”, que detalhava o sistema operacional MINIX, semelhante ao UNIX — publicou seu estudo “Implicações da Programação Estruturada para a Arquitetura de Máquinas” em 1978, demonstrando claramente as vantagens práticas de instruções mais curtas em relação às mais longas. Ao reconhecer que o desenvolvimento de arquiteturas de processadores tem seguido um caminho já bem trilhado desde o início da década de 1960 — no sentido de que inovações fundamentais no projeto de chips não estão sendo introduzidas em prol da retrocompatibilidade — Tanenbaum demonstrou de forma convincente a falácia dessa abordagem. Baseando-se em linguagens de programação de alto nível e estruturadas em blocos (também conhecidas como linguagens do tipo Algol) desenvolvidas no final da década de 1950 e início da década de 1960,ALGOL, de linguagem algorítmica, tornou-se seu primeiro representante) e para projetar o sistema de comando de controle de acordo – e, com base nele, os nós de processamento de hardware – então, com base na lógica de interpretação e execução de comandos nessas linguagens, verifica-se que o conjunto desses mesmos comandos emÉ perfeitamente possível reduzir a linguagem assembly ao mínimo indispensável. Acontece que algumas instruções individuais usadas com frequência (o operador lógico IF, o operador de atribuição, etc.) representam aproximadamente 80-90% de todas as operações executadas pelo processador. Portanto, faz sentido expressar as instruções completas, muito mais raras, por meio de instruções truncadas, em vez de dedicar circuitos de transistores especiais à sua implementação em hardware, que ficariam ociosos durante a maior parte do tempo total de operação.

Consequentemente, os circuitos lógicos que implementam esse conjunto limitado de instruções também precisarão ser mais simples — e, portanto, capazes de executar seu trabalho mais rapidamente do que no caso de uma arquitetura CISC com um conjunto completo de instruções. Sim, isso exigirá programas maiores, mas cada instrução truncada de comprimento fixo será executada dentro do seu tempo estritamente alocado (pelo menos um ciclo de processador), diferentemente das instruções completas, cuja velocidade de processamento é muito mais difícil de estimar. É também necessário garantir que um número maior de células de memória de registro seja colocado próximo aos circuitos de computação: isso reduzirá significativamente os atrasos no acesso ao subsistema de RAM.

Superfície de um processador RISC I fabricado em 1981 usando um processo de 2 mícrons. A grande área dividida em duas partes no canto inferior esquerdo é a zona de memória de registradores, enquanto todos os circuitos lógicos cabem em uma área significativamente menor no quadrante superior direito (fonte: Universidade da Califórnia, Berkeley).

Inicialmente, representar instruções complexas e raramente usadas como uma cadeia de instruções simples resultava em um aumento significativo nos requisitos de memória do computador, pois era necessário armazenar os valores intermediários de operações executadas sequencialmente em algum lugar. No entanto, como mostrou o artigo de Tanenbaum de 1978, 81% das constantes usadas em um programa típico com estrutura de blocos (no nível de registradores) são simplesmente três valores inteiros: 0, 1 e 2. Assim, com a transição para processadores capazes de processar palavras de máquina mais longas — de 16 e depois de 32 bits — tornou-se possível acomodar tanto a instrução em si quanto seus operandos curtos nos bits disponíveis, eliminando o tempo necessário para carregá-los. O uso intensivo da memória de registradores durante operações sequenciais (quando uma instrução completa, como sabemos, é representada como uma cadeia de comandos sequenciais truncados) proporciona um ganho de velocidade adicional — ainda mais perceptível quanto maior a frequência do clock do processador, ou seja, quanto menor a duração de um único ciclo.

Uma implementação prática marcante da ideia de usar instruções abreviadas em vez de instruções completas, que já vinha sendo discutida, foi um processador projetado por um grupo da Universidade da Califórnia em Berkeley, sob a direção dos professores David Patterson e Carlo Sequin.O desenvolvimento desse chip, codinome Gold, começou em 1980 — como parte da já mencionada iniciativa VLSI da DARPA — e, em 1981, o processador RISC I, cujo nome se tornou sinônimo de toda a arquitetura de computador com conjunto de instruções reduzido, estava pronto. Curiosamente, Patterson percebeu, de forma independente, o potencial de simplificar o conjunto de instruções executado por um computador enquanto trabalhava na correção de erros no microcódigo do minicomputador DEC VAX (um “mini” nos termos da época, é claro; ou seja, não ocupava uma sala inteira de máquinas, como um sistema “completo”, mas apenas um gabinete de tamanho impressionante). Menos instruções — menos erros; lógico, certo? Como resultado, o RISC I, que continha 44.500 transistores, operava com apenas 31 instruções — mas possuía 78 registradores, cada um com 32 bits, o que permitia que um conjunto de dados bastante volumoso fosse mantido próximo aos circuitos de computação.

A arquitetura MIPS (Microprocessador sem Estágios de Pipeline Intertravados) (um chip MIPS R4000 é mostrado aqui), desenvolvida em Stanford como parte do programa VLSI da DARPA, é em muitos aspectos semelhante à versão Berkeley do RISC e pode ser considerada um subconjunto dela; no entanto, sua interação com a memória registrada é implementada de maneira bastante singular (fonte: Wikimedia Commons).

Embora a primeira tentativa com Berkeley tenha sido um tanto quanto fracassada — utilizava uma tecnologia de processo de 2 mícrons obsoleta na época; devido a imperfeições de hardware, o chip funcionava mais lentamente do que o esperado — o RISC I de 4 MHz ainda apresentava desempenho aproximadamente duas vezes melhor que o VAX 11/780 de 5 MHz (executando os mesmos programas escritos em linguagens de alto nível). O Gold foi seguido pelo Projeto Blue, lançado sob o nome RISC II: 40.760 transistores, mas com 138 registradores. Embora a segunda versão do processador tivesse aproximadamente metade do tamanho da primeira e operasse a uma frequência reduzida de 3 MHz, seu desempenho superou o do RISC I em quase três vezes. A Sun Microsystems ficou tão impressionada com o projeto de engenharia do Blue que o copiou quase exatamente para a primeira versão de seu SPARC (Scalable Processor Architecture) – o que, por sua vez, abriu caminho para a ampla adoção de arquiteturas semelhantes ao RISC: Power da IBM, Alpha da DEC e MIPS da SGI. Quase todas as estações de trabalho UNIX nas décadas de 1980 e 1990 eram sistemas RISC, devido à clara superioridade da arquitetura sobre os chips CISC contemporâneos nas variantes x86 (Intel) e 68K (Motorola).Então, por que os computadores RISC não desbancaram os PCs com ecossistema Wintel do mercado na década de 1990? A razão principal é o efeito cumulativo de feedback positivo que já discutimos.Anteriormente: esse ecossistema havia se tornado muito difundido e consolidado; um acúmulo de soluções de software havia surgido muito rapidamente, e ninguém se dispunha a redesenhá-las para uma arquitetura fundamentalmente diferente. Com o tempo, os processadores x86 integraram nós RISC individuais, possibilitando falar de uma situação de “CISC na parte externa (para o interpretador de software) e RISC na parte interna (no nível do microcódigo executável)”. No entanto, quando a humanidade começou a migrar em massa de PCs para smartphones, os sistemas RISC “puros” receberam um impulso significativo em seu desenvolvimento — mas falaremos mais sobre isso em outra ocasião.

Materiais relacionados

NEC e OpenChip colaboram em aceleradores vetoriais baseados em RISC-V e supercomputadores Aurora de próxima geração

1024 núcleos, 6 GHz e 48 TB de DDR5-17600: Tachyum atualiza as especificações do processador Prodigy, agora obsoleto

O acelerador reconfigurável Maverick-2 da NextSilicon, com arquitetura Dataflow, muda a abordagem da computação

Axelera AI revela o chip Europa AI com desempenho de 629 TOPS

NextSilicon destaca a superioridade do acelerador Maverick-2 sobre o HGX B200 da Nvidia e revela o chip Arbel baseado em RISC-V

O computador de placa única Orange Pi 4 Pro combina núcleos Arm e RISC-V

By admin

Deixe um comentário

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