Categorias: Eletrônica vestível

A transição do CISC para o RISC: O início / Offsyanka 3DNews

Entre os outros novos e empolgantes produtos que o CEO da Nvidia, Jensen Huang, demonstrou na conferência GTC 2025 em outubro, um processador com codinome Vera — 88 núcleos físicos Olympus baseados na arquitetura ARM, cada um capaz de implementar dois threads de computação — chamou particularmente a atenção. Além disso, o consumo de energia desse processador é de cerca de 50 watts, o que é surpreendentemente baixo para os padrões de chips x86 com um número comparável de núcleos. Em 2014, a Nvidia começou a desenvolver CPUs como parte da iniciativa Project Denver — que, aliás, resultou nos chips para servidores Tegra — mas muitos entusiastas acreditam que os núcleos Olympus têm o potencial de se tornarem a base para os tão aguardados processadores para PCs com o logotipo preto e verde. De qualquer forma, para servidores (especialmente aqueles voltados para o treinamento e execução de modelos de IA generativa), a arquitetura ARM, que pertence à família RISC, parece ser a mais promissora atualmente. Embora as CPUs baseadas nessa arquitetura possam ter desempenho inferior aos chips x86 (especialmente porque as tarefas de IA ainda são processadas por uma GPU ou acelerador de tensores), elas são altamente eficientes em termos de energia e livres de diversas limitações inerentes à plataforma CISC, tradicionalmente dominada pela Intel e AMD.

Anteriormente, em setembro, Jensen Huang ilustrou explicitamente esse ponto, apontando que servidores de IA com placas gráficas Nvidia conectadas via NVLink e processadores x86 podem ser escalados até uma configuração máxima de NVL8 — ou seja, até oito placas controladas por uma única CPU. Isso não significa que os chips Intel Xeon sejam inerentemente ruins, mas sim porque…As limitações fundamentais do barramento PCIe, a principal interface da plataforma baseada em x86, são um grande desafio. Ao mesmo tempo, CPUs com núcleos ARM, incluindo o promissor Vera, podem ser configuradas até o nível de log NVL72. Essa capacidade, por si só, segundo o CEO da empresa, abre um enorme mercado para servidores de IA baseados em ARM, estimado em aproximadamente US$ 30 bilhões globalmente. Isso levanta uma questão legítima: se a arquitetura ARM é tão bem-sucedida, desenvolvida ao longo de décadas, por que só agora se fala dela — não necessariamente sobre seu potencial para substituir o x86, mas simplesmente sobre como levar seu uso a um nível mais ou menos significativo no mercado global de computadores?

Diagrama de blocos de um processador com arquitetura Advanced RISC Machine, abreviado como ARM (fonte: GeeksForGreeks)

⇡#Bit ou Piece

A arquitetura física do processador — a forma como os transistores elementares são organizados em circuitos lógicos — é irrelevante sem considerar o conjunto de instruções de software que esses circuitos executarão: ambos são desenvolvidos em conjunto. No final da década de 1980 e início da década de 1990, o então crescente mercado global de TI testemunhou duas tendências concorrentes em arquiteturas de processadores e suas respectivas arquiteturas de conjunto de instruções (ISAs): CISC e RISC. De fato, ao falar de uma “arquitetura de processador”, as pessoas se referem especificamente à ISA que sustenta seu hardware, visto que a implementação específica dos circuitos lógicos em um chip de silício pode mudar significativamente de geração para geração do que o conjunto de instruções executado por processadores da mesma família.

Assim, em meados da década de 1980, além da arquitetura x86 que a Intel vinha desenvolvendo desde a década de 1970 (essa ISA foi aprimorada para 32 bits em 1985, marcando o lançamento do processador 80386) com seu conjunto de instruções complexo (CISC), os clientes tinham acesso a uma ampla gama de computadores construídos em torno de CPUs com conjunto de instruções reduzido (RISC) — em variações do Sun Sparc, IBM/Apple/Motorola PowerPC, vários processadores MIPS e assim por diante.Nessa terminologia, um comando é chamado de “completo” porque permite que uma operação computacional de quase qualquer complexidade seja colocada em um pequeno número de instruções de comprimento variável (e, no limite, em uma única instrução), mesmo que isso aumente o tempo de execução da instrução.Vários ciclos de processador. A capacidade física de realizar cálculos complexos em um número extremamente limitado de etapas é garantida pela organização adequada das unidades de computação lógica no processador, orientadas para a execução de uma série de operações simultaneamente, em vez de uma instrução elementar por vez.

Nada fora do comum; apenas processadores Intel 80286 CISC, fabricados em 1982 pela AMD (à esquerda) e pela Siemens (fonte: CPUMuseum).

Um curso clássico de Ciência da Computação da Universidade de Stanford oferece o seguinte exemplo ilustrativo: suponha que processadores CISC e RISC sejam solicitados a resolver o mesmo problema — multiplicar dois números de uma tabela (aliás, esse problema seria significativamente modernizado se as matrizes fossem diferentes — ele se transformaria em uma operação elementar de multiplicação de matrizes, especialmente relevante hoje em aplicações de redes neurais generativas). Um processador CISC, é claro, possui uma instrução complexa para esse propósito, com o codinome MULT: o compilador simplesmente precisa especificá-la como

MULT 2:3, 5:2

e o processador, com base nas regras definidas por seu ISA e implementadas em seu próprio microcódigo, acessará a área da RAM que armazena os valores escritos nas células da matriz original na interseção da segunda coluna com a terceira linha e da quinta coluna com a segunda linha. Em seguida, o compilador escreverá esses valores em células de memória de registro separadas (localizadas próximas aos seus circuitos lógicos), multiplicará os operandos resultantes, colocará o resultado em outra célula de memória de registro e, por fim, o transferirá para a RAM, tornando-o disponível para outras instruções. Um compilador executado em uma plataforma CISC, como é fácil perceber, traduz de forma rápida e eficiente os comandos de linguagem de programação de alto nível em microcódigo do processador (linguagem assembly): instruções complexas já estão muito próximas desses comandos. Outra grande vantagem da abordagem em questão é o seu consumo moderado de energia.RAM durante a execução do programa: relativamente poucas instruções são necessárias para resolver um determinado problema, visto que cada uma delas implementa uma sequência complexa de ações pré-programadas (no nível da ISA).

O tempo necessário para executar um programa (cujo inverso, aliás, corresponde ao desempenho de um sistema computacional) é calculado como o produto do número total de instruções no programa, o número médio de ciclos de processador necessários para executar cada instrução e a duração de um único ciclo. A abordagem CISC implica uma redução significativa no terceiro fator à custa de um ligeiro aumento no segundo, enquanto o RISC faz o oposto (fonte: Wikimedia Commons).

Como um processador RISC executaria a mesma tarefa? Ele executaria as mesmas ações especificadas pela instrução MULT no caso CISC, mas em etapas: uma instrução elementar — que leva exatamente um ciclo de processador — após a outra. Primeiramente, uma CPU desse tipo acessará a RAM duas vezes para transferir os operandos necessários de lá para a memória de registradores (instrução LOAD), depois multiplicará os números resultantes (PROD) e, por fim, retornará o produto final do registrador do processador para a RAM (STORE):

LOAD A, 2:3

LOAD B, 5:2

PROD A, B

STORE 2:3, A

Um programa como esse, em linguagem assembly, é mais extenso e ocupa mais memória. O processo de compilação a partir de código escrito em uma linguagem de programação de alto nível também será mais longo e consumirá mais recursos. Mas as vantagens da abordagem RISC são igualmente evidentes: cada uma das instruções simplificadas é executada em exatamente um ciclo de clock. E, como são verdadeiramente elementares, sua implementação em hardware no nível da lógica semicondutora requer instruções significativamente mais simples (e, portanto, mais baratas de fabricar e mais escaláveis ​​durante a miniaturização).Circuitos transistorizados (tecnologias de processo). O pipeline para arquitetura RISC também se torna uma questão simples — novamente, devido ao tempo de execução estritamente igual de cada instrução elementar. Outra consideração a favor do foco em instruções abreviadas: um processador CISC, após executar uma instrução complexa, deve limpar os registradores associados ao término da operação para evitar a contaminação da operação subsequente com os dados da anterior. No caso do RISC, a contaminação é excluída: mesmo que uma determinada área da memória de registradores armazene bits carregados em um dos ciclos de clock anteriores, a próxima instrução LOAD os sobrescreverá explicitamente com as informações relevantes naquele estágio específico. Isso significa que, se um operando for usado sequencialmente várias vezes (lembrando novamente a multiplicação de matrizes), não há necessidade de desperdiçar ciclos do processador carregando-o repetidamente da RAM — basta acessar repetidamente o registrador que ele ocupou anteriormente.

De meados da década de 1950 até 2023, o preço por TB de memória de computador caiu quase linearmente (em escala logarítmica, claro). No entanto, então veio o boom da IA, e agora tudo é tão complexo que um estudo concluído em 2024 não levou em consideração os dados mais recentes da época (fonte: OurWorldInData).

⇡#Para uma comunicação impecável

A rigor, os primeiros computadores, quase sem exceção, dependiam de instruções completas, principalmente devido ao custo extremamente alto de qualquer tipo de memória no início da era da computação. Cada byte economizado ao armazenar instruções na RAM significava a capacidade de processar um pouco mais de dados de uma só vez, o que, em última análise, aumentava o desempenho do sistema como um todo, mesmo levando em conta o tempo maior que o processador levava para executar cada instrução complexa. Os lendários IBM System/360, PDP-11, VAX e muitas outras máquinas eram essencialmente plataformas CISC, mas o próprio termo só surgiu no final da década de 1970 — quando o desenvolvimento da arquitetura RISC começou e todas as ISAs que não priorizavam a simplificação de instruções elementares a um nível adequado para execução em ciclo único passaram a ser classificadas como CISC.

Curiosamente, a própria abordagem RISC originou-se de um problema prático muito específico: em 1974, a IBM criou um protótipo de central telefônica (para linhas analógicas de cobre, é claro — de onde mais viria alguém?) capaz de estabelecer canais de comunicação entre 300 pares de assinantes por segundo — um número inimaginável para a época. No entanto, eis o problema: os computadores da época — pelo menos aqueles de um nível que permitisse a instalação em massa em seus nós — eram…As operadoras de telefonia não estavam preparadas para oferecer desempenho suficiente para lidar com um controlador tão rápido. Representantes da empresa admitiram que já consideravam arquivar o dispositivo, na esperança de que a evolução dos sistemas computacionais naturalmente levasse a computadores mais rápidos. No entanto, a equipe de John Cocke, que trabalhava na central telefônica, arregaçou as mangas e teve a ideia de aumentar radicalmente o desempenho dos sistemas (os disponíveis na época, utilizando os componentes de hardware existentes) por meio de um conjunto limitado de instruções curtas que não exigiam longos tempos de execução. Claramente, o leque de tarefas executadas por uma central telefônica é extremamente restrito — o computador que a controla simplesmente não precisa de comandos complexos. O grande mérito de Cocke e sua equipe foi não se concentrarem no desenvolvimento de um controlador especializado para uma única aplicação, mas sim formularem o princípio básico que mais tarde formaria a base da arquitetura RISC, tanto em hardware quanto em software: “Não adicione complexidade a menos que ela se pague”.

Um slide de uma das primeiras apresentações do grupo de Coke, demonstrando claramente a essência da arquitetura RISC (fonte: IBM).

Em 1980, Coke e seus colegas apresentaram um protótipo do primeiro computador RISC de propósito geral (ou seja, não limitado a tarefas de comutação telefônica), batizado simplesmente com o nome do prédio onde o grupo trabalhava: IBM 801. Outros sistemas construídos com base nos mesmos princípios — estritamente um ciclo por instrução, computação em pipeline, um número maior de registradores de processador para reduzir a latência na troca de dados com a RAM — foram desenvolvidos por terceiros: Stanford MIPS, Berkeley RISC 1 e 2, etc. No início da década de 1990, arquiteturas de processador com conjuntos de instruções reduzidos começaram a ser implementadas “em metal” (em silício, para ser mais preciso) uma após a outra: basta mencionar o Sun SPARC (abreviação de Scalable Processor Architecture) e o PowerPC — um projeto conjunto entre Apple, IBM e Motorola. Mas quando o mercado de computadores pessoais tomou forma e começou a se consolidar, a arquitetura CISC — na qual, ao contrário do óbvio, a Intel havia apostado — rapidamente se tornou não apenas dominante, mas completamente dominante (deixaremos de lado, por ora, a complexa história das oscilações da Apple entre o campo CISC e o campo RISC). E esse fenômeno se explica de forma bastante simples: pelo efeito econômico de um poderoso ciclo de feedback positivo.

Inicialmente, a arquitetura da unidade central de processamento (CPU) determinava estritamente qual software seria executado em um computador equipado com aquela CPU: a virtualização surgiu muito depois, quando o hardware de computação se tornou exponencialmente mais poderoso. E aqui o papel das considerações econômicas é extremamente significativo: quanto mais popular um determinado software se torna, mais poderoso ele se torna.Quanto maior o ecossistema de hardware e software, maior o volume de vendas — e menor o custo de cada computador. Os custos fixos iniciais — desenvolvimento da arquitetura de software (ISA), projeto de uma CPU para ela e aluguel de instalações de fabricantes de chips (caso não haja produção interna) — são aproximadamente iguais para cada um dos ecossistemas concorrentes. A partir daí, tudo depende do volume de vendas: quanto mais processadores vendidos, maior o denominador, que determina o custo de cada CPU (o numerador é composto pelos mesmos custos fixos mais um valor variável — o custo real de fabricação de um único chip, que é insignificante em comparação com o componente fixo). Mas os desenvolvedores de software também buscam vender o máximo possível de cópias de seus produtos e, portanto, preferem criá-los para as plataformas mais populares. Assim, em um mercado aberto — onde não há domínio monopolista inerente por uma arquitetura de software proprietária e não licenciada — a crescente demanda por hardware de uma arquitetura específica acelera as vendas de software compatível com ela, e vice-versa. Cria-se, portanto, um ciclo de feedback positivo, permitindo que um dos ecossistemas concorrentes se torne dominante em um período relativamente curto.

As oscilações do Apple Mac (anteriormente Macintosh) entre duas arquiteturas ISA fundamentalmente diferentes não prejudicaram, na verdade, a qualidade de vida de seus usuários finais, já que o software para o ecossistema proprietário, sob o símbolo da maçã mordida, sempre migrou para a próxima arquitetura de processador de forma completa e oportuna (fonte: Apple).

⇡#A Chegada da Intel

A empresa americana, agora conhecida como criadora da arquitetura de unidade central de processamento (CPU) mais popular do mundo, a x86, foi concebida em 1968 como uma empresa para o projeto e fabricação de memória de computador — e fez exatamente isso diligentemente por quase duas décadas. A Intel criou sua primeira unidade central de processamento, a 4004 de 4 bits, em 1971, quase por acaso, encomendada pela fabricante japonesa de calculadoras Busicom. Embora este chip de dezesseis pinos executasse um conjunto muito limitado de 46 instruções, ele estava formalmente em total conformidade com os princípios da arquitetura CISC — já que tais instruções representavam instruções complexas que combinavam acesso à RAM e execução computacional. A empresa manteve-se fiel à arquitetura escolhida, lançando os chips de 8 bits 8008 e 8080 alguns anos depois. Este último, aliás, serviu de base para um dos primeiros computadores pessoais, o Altair 8800, que foi lançado no mercado em 1974 pela empresa americana Micro Instrumentation and Telemetry Systems (MITS).Este modelo é significativo na história do mercado de TI porque foi para a sua implementação que a empresa Micro-Soft (até o início da década de 1980, seu nome era escrito exatamente assim, com hífen), fundada por Bill Gates e Paul Allen em 1975, se consolidou.O interpretador BASIC Altair foi desenvolvido. No entanto, até meados da década de 1980, a Intel continuou a considerar a fabricação de memória RAM como seu negócio principal. Somente a enorme incursão dos fabricantes japoneses de DRAM nesse segmento de mercado (durante a qual a participação da Intel nas remessas globais de DRAM caiu de 82,9% para 1,3% ao longo de uma década, de 1974 a 1984) forçou a fabricante americana de chips a levar a sério o desenvolvimento de seus processadores.

A Intel essencialmente apostou tudo em 1985, apostando em uma placa então desconhecida — o processador central de 32 bits 80386. Além disso, essa fabricante de chips fornecia seu modelo 80286 de 16 bits, de grande sucesso, para ninguém menos que a própria IBM, para uso em seus computadores 5170, mais conhecidos como PC/ATs, que estrearam em 1984, bem como para inúmeras outras empresas que adotavam a arquitetura altamente atraente “compatível com IBM PC”. Segundo Patrick Gelsinger, então um dos principais engenheiros da Intel e agora seu ex-CEO, a transição para uma CPU de 32 bits especificamente para computadores pessoais era repleta de riscos sérios, um salto para o desconhecido: naquela época, esses processadores eram projetados e fabricados para mainframes e “minicomputadores” como o DEC VAX-11/780. No entanto, do ponto de vista comercial, o risco era totalmente justificado, já que a líder incontestável no segmento de PCs na época, a IBM, estava promovendo ativamente seu próprio sistema operacional de 16 bits, o OS/2. Mais um pouco, e a nascente plataforma aberta, sobre a qual os computadores pessoais poderiam ser construídos a partir de componentes padronizados e executar um sistema operacional desenvolvido independentemente, permaneceria completamente intocada.Teria desaparecido no esquecimento, e o mercado global de computadores teria sido fundamentalmente diferente. “A IBM detinha a arquitetura do OS/2 do início ao fim. Eram seus aplicativos, seu sistema operacional e seu hardware”, recordou Gelsinger, “portanto, eles eram os únicos que podiam oferecer uma solução abrangente na transição para a próxima geração — mas sem qualquer garantia de compatibilidade com a geração anterior.” A Compaq Computer Corp., que lançou um computador pessoal baseado no processador 80386 quase imediatamente após o lançamento do novo chip de 32 bits, foi fundamental para se libertar das amarras proprietárias da gigante de TI Intel, tornando-se assim a primeira a minar seriamente a posição da IBM. Em seguida, fornecedores de escala mais modesta, porém em número muito maior, entraram no mercado, e o mercado de PCs começou a tomar a forma que conhecemos hoje.

A placa-mãe original do IBM PC de 1981 (fonte: IBM)

Mais uma vez, é importante relembrar a relevância do ciclo de feedback positivo que surge quando o mercado em geral percebe a compatibilidade mutuamente reforçada entre uma arquitetura aberta específica e o software amplamente utilizado projetado para ela. A IBM, aliás, abriu a caixa de Pandora no início da década de 1980 não apenas ao escolher um processador de terceiros para seu computador pessoal, mas ao insistir (já que a capacidade de produção da Intel era muito mais modesta do que os planos ambiciosos da IBM, que eram claramente superiores em todos os aspectos financeiros e econômicos) em licenciar a fabricação dos processadores 80286 para terceiros, garantindo assim uma cadeia de suprimentos alternativa — incluindo fabricantes independentes de chips como AMD, Harris, Siemens e Fujitsu. Diversos sistemas operacionais foram criados para o 80282 (que logo ficou conhecido simplesmente como Intel 286), incluindo a versão do UNIX da Microsoft (sim, sim!), chamada Xenix, mas o mais popular foi o DOS (Disk Operating System), desenvolvido pela mesma empresa de Redmond. Este DOS foi criado, novamente sob contrato com a IBM, especificamente para o lançamento em larga escala do IBM PC no início da década de 1980. Ele era baseado no sistema operacional CP/M anterior (que inicialmente significava Control Program/Monitor e, posteriormente, Control Program for Microcomputers), desenvolvido por Gary Kildall na Digital Research, Inc. para o processador 8080 de 8 bits.A Microsoft adquiriu os direitos de um clone do CP/M chamado 86-DOS e, com base nele, criou a primeira versão do MS-DOS (que, aliás, justamente por ter origem direta em um sistema voltado para processadores de 8 bits, não realizou todo o seu potencial).O Intel 286 — especialmente suas capacidades multitarefa — ao contrário do XENIX, que foi abandonado devido à falta de financiamento externo.

Assim, na segunda metade da década de 1980, o amplo mercado de PCs (que, aliás, estava então praticamente limitado aos EUA, Europa Ocidental, Japão e alguns outros países) vivenciou uma situação singular que contribuiu para o rápido crescimento da popularidade dos computadores compatíveis com IBM — e, consequentemente, da arquitetura CISC na qual seus processadores centrais eram baseados. Primeiramente, esses processadores eram produzidos simultaneamente por diversos fabricantes de chips, que competiam entre si, mas seguiam as mesmas especificações. A natureza aberta da plataforma permitia a livre combinação de qualquer uma dessas CPUs com módulos de memória, controladores de E/S, unidades de cassete e outros componentes para montar um PC completo — sem estar vinculado à própria IBM ou a outros grandes fornecedores. Em segundo lugar, o microcódigo proprietário da IBM para o chip BIOS do sistema mostrou-se surpreendentemente fácil de replicar sem violar as leis de propriedade intelectual — utilizando um “design de sala limpa”. Um grupo de engenheiros de software estudou o microcódigo original — publicado oficialmente ou obtido por engenharia reversa — além da documentação técnica disponível, e acabou criando uma especificação: literalmente, quais comandos o chip da BIOS deveria enviar para quais registradores e sob quais condições. Outro grupo, completamente desconectado do primeiro, trabalhou na famosa “sala limpa” e, de forma totalmente independente, com base nas especificações fornecidas pelo primeiro grupo, escreveu sua própria versão.microcódigo; do ponto de vista legal, com tal organização do trabalho, é absolutamente impecável.

Alguns PCs IBM AT originais e compatíveis ainda estão totalmente funcionais (fonte: Reddit).

Não foi tão simples assim — a Compaq gastou US$ 1 milhão em 1982 (aproximadamente US$ 3,3 milhões em valores atuais) para obter um BIOS original, porém totalmente compatível com IBM, dessa forma — mas valeu a pena: a arquitetura de computador que hoje chamamos de x86 tornou-se totalmente aberta. O BIOS, a CPU, a memória, os controladores de E/S e, com o tempo, uma gama cada vez maior de softwares para um sistema operacional relativamente acessível e fácil de usar, cujos direitos, repito, não pertenciam à IBM, estavam todos disponíveis de diversos fornecedores concorrentes a preços razoáveis. O crescente mercado de potenciais compradores de PCs — tanto particulares quanto, em uma escala muito maior, corporativos — forçou os desenvolvedores de componentes de hardware e software da plataforma x86 a aprimorarem ainda mais seus produtos, o que reforçou o ciclo de feedback positivo e impulsionou essa variante da arquitetura CISC para uma órbita cada vez mais inalcançável pela RISC.

No entanto, o pêndulo claramente começou a oscilar de volta hoje, com os sistemas RISC, particularmente aqueles focados na resolução de problemas de IA, ganhando cada vez mais popularidade. Mas voltaremos à questão de por que isso está acontecendo e quais vantagens específicas a transição para processadores com conjuntos de instruções reduzidos oferece aos proprietários de data centers hoje na próxima vez.

admin

Compartilhar
Publicado por
admin

Postagens recentes

Clair Obscur: Expedition 33 iguala o recorde de Baldur’s Gate 3 e não dá chances aos concorrentes – Resultados do Golden Joystick Awards 2025 – 3DNews

A temporada de 2025 das principais premiações de videogames começa com o Golden Joystick Awards…

44 minutos atrás

O primeiro Carmageddon em 10 anos acaba sendo um roguelike — veja o trailer de Carmageddon: Rogue Shift no 3DNews.

Carmageddon, a franquia de ação e corrida brutal da Stainless Games, não recebe um novo…

4 horas atrás

A fabricante de anéis inteligentes Oura Ring processa a Samsung, a Amazfit e outras empresas por roubo de designs da 3DNews.

A empresa finlandesa Oura apresentou uma queixa à Comissão de Comércio Internacional dos EUA (ITC),…

4 horas atrás