O que é a arquitetura RISC? Veja sua importância para as CPUs
Por Daniel Trefilio • Editado por Jones Oliveira | •
RISC é a sigla para Reduced Instruction Set Computer, ou Computador com Conjunto Reduzido de Instruções. Trata-se de uma arquitetura de CPUs que utiliza instruções menores, mais simples, consequentemente, executando tarefas computacionais de forma mais rápida, eficiente e consumindo menos energia.
- Quais as diferenças entre processadores x86 e ARM?
- 7 Empresas que já fizeram processadores e você não lembra
Até então, na arquitetura CISC (Computador com Conjunto Complexo de Instruções), uma mesma instrução pode executar multiplas tarefa interdependentes, com tempos de execução irregulares para cada uma delas. A arquitetura RISC surgiu no final dos anos de 1970, fruto de pesquisas das universidades de Stanford e Berkeley para otimizar o uso da memória e tempo de execução de programas como resposta a esse padrão inconsistente de processamento.
Seu diferencial é permitir que cada terafa seja executada por apenas uma instrução e em um único ciclo computacional por meio de registradores separados da memória principal, permitindo criar sistemas mais simples e otimizados.
Princípios da arquitetura RISC
Desde então, a arquitetura RISC se tornou popular em diversas aplicações, tendo sido a base dos processadores Apple até 2006, quando a empresa adotou os x86 da Intel, e voltando à arquitetura RISC em 2020 com os chips M1 proprietários. Praticamente todas as gerações de console, do Atari 2600 aos Xbox 360 e PlayStation 3 também utilizavam processadores em RISC.
Para executar tarefas em arquiteturas RISC é preciso converter as instruções complexas, geralmente com vários passos e comandos em associação em dados, interpretar as solicitações do sistema e reconverter o comando em linguagem computacional. Só então, após esses vários passos, as instruções são executadas, em um processo mais demorado que envolve mais ciclos do processador, consumindo mais tempo e energia.
Execução em um único ciclo (Single-cycle execution)
O processo de execução em um único ciclo (single-cycle execution) das arquiteturas RISC consiste em realizar todas as etapas de uma instrução (busca, decodificação, execução, acesso à memória e escrita no registrador) em um único ciclo de da CPU. Por essa razão, o tempo de ciclo deve ser suficiente para acomodar a etapa mais longa, exigindo frequências relativamente menores, mas resultando em processos mais eficientes.
Pela simplicidade do trajeto e controle dos dados, não há necessidade de armazenar o estado intermediário da instrução, sendo possível dispensar acesso direto à memória do sistema, utilizando registradores dedicados. Outro benefício é a previsibilidade do tempo de execução, pois todas as instruções levam o mesmo número de ciclos.
Por outro lado, o baixo aproveitamento dos recursos e a dificuldade de implementar instruções mais complexas ou dependentes de dados acaba sendo uma desvantagem. Inclusive, isso justifica a adoção de processadores RISC em servidores e sistemas altamente especializados em operações específicas.
Arquitetura de armazenamento de carga (Registradores)
Os registradores são circuitos digitais dentro do processador que podem guardar conjuntos de bits — ou cargas. As instruções em RISC só podem acessar a memória para carregar ou armazenar dados já processados, mas a operação é realizada ao nível dos registradores. Tanto por isso, as instruções precisam ser simples, uniformes e otimizadas.
Sendo assim, as arquiteturas RISC utilizam menos instruções que processadores x86, mas exigem um número maior de registradores. Por exemplo, o MIPS possui 32 registradores de 32 bits, e o RISC-V 32 registradores de 64 bits cada, totalizando 2048 “endereços” de cargas elétricas, possibilitando que as operações básicas do processador sejam interpretadas mais rapidamente pela linguagem de máquina.
Pipelining
Como mencionado, cada instrução em RISC é executada em um único ciclo, limitando parcialmente a frequência relativa do processador. Entretanto, essas instruções ainda envolvem pelo menos cinco etapas nos CPUs RISC mais básicos, podendo variar conforme a complexidade do processador:
- Busca da Instrução (IF/Instrucion Fetch): Busca da instrução na memória do processador.
- Decodificação da Instrução (ID/Instrucion Decode): Instrução é carregada nos registradores e decodificada.
- Execução da Instrução (EX/Execute): O cálculo computacional é realizado resultando no endereço de memória que será acessado.
- Acesso da Memória de Dados (MEM/Memory Access): Os dados do endereço calculado são lidos.
- Escrita no Banco de Registradores (WB/Write Back): Os resultados são escritos no banco de registradores.
O processo de pipelining permite que diferentes unidades funcionais do processador RISC executem simultaneamente cada uma das diferentes etapas das instruções. Assim que uma unidade funcional avança da etapa IF para ID, por exemplo, a unidade seguinte inicia a IF de outra instrução.
Processadores RISC conseguem iniciar novas instrução a cada ciclo aproveitando os estágios livres do pipeline, entregando alto grau de paralelismo e maiores taxas de instruções por segundo. O pipelining só é possível porque as instruções RISC são simples, uniformes e de tamanho fixo, facilitando a segmentação e a sincronização dos estágios.
Além disso, elas são executadas diretamente pelo hardware, sem necessidade de interpretação por microcódigo, como nas arquiteturas CISC. O processo também se beneficia do número maior de registradores, possibilitando que a maioria dos operandos seja acessada sem recorrer à memória principal.
Produtos que utilizam processadores RISC
Numericamente falando, a maioria esmagadora dos produtos eletrônicos que utilizamos no cotidiano utilizam arquitetura RISC, apesar de não termos uma percepção muito clara disso. Pensando inicialmente em dispositivos móveis, salvo por alguns modelos muito específicos, como o Asus Zenfone 2 e alguns Windows Phone com processadores Intel Atom, praticamente todos os smartphones utilizam processadores ARM com arquitetura RISC.
Apple
Isso inclui também os iPhone, e no caso específico da Apple, muito mais do que apenas smartphones. Desde os primeiros computadores pessoais da empresa na década de 1980 ela já adotava processadores RISC, inicialmente com os MOS 6502, passando pelo Motorola 68K, até os CPUs PowerPC da IBM que serviram de base para todo o lineup de PCs da empresa até 2006, quando ela finalmente migrou para os Intel x86.
Em 2020, a Apple retornou à arquitetura RISC, mas agora com processadores próprios M1 baseados em ARM, que também estão presentes nos iPads. Já os smartphones da empresa sempre utilizaram RISC, com as primeiras gerações trazendo CPUs ARM da Samsung, mas passando para os chips ARM proprietários Apple A4 a partir do iPhone 4, até o A17 dos iPhone 15 Pro.
Consoles
Entre os consoles, a história se repete, com todos os consoles desde o primeiro Atari Pong trazendo processadores em RISC, mas cobrindo praticamente todas as gerações desde então. No caso específico dos consoles da Sony, o PlayStation 3 foi extremamente disruptivo, por trazer uma CPU RISC, que até então era a base de servidores de computação de alto desempenho, combinada com um chip dedicado para processamento vetorial de poligonos.
A lista de consoles com CPUs RISC é bastante extensa e possui pelo menos um modelo para cada geração até a chegada dos Xbox One e PlayStation 4. Deste ponto em diante, as APUs AMD e iGPUs Nvidia atingiram um ponto de eficiência energética para sistemas móveis que justificava migrar para x86 e investir em criar um ecossistema mais uniforme de desenvolvimento de jogos.
Lista de consoles com processadores RISC:
- Atari 2600
- Comodore 64
- ZX Spectrum
- Master System
- Game Gear
- NES
- SNES
- Game Boy Advance
- Nintendo DS
- GameCube
- Wii
- Wii U
- PlayStation
- PlayStation 2
- PlayStation 3
- Xbox 360
Laptops Microsoft Surface e Chromebooks
O mercado de notebooks moderno também tem alguns produtos mais específicos que utilizam chips RISC. Atualmente, os Microsoft Surface Pro 9 ofereciam duas versões, uma com CPUs Intel x86 e outra com chips proprietários da Microsoft baseados em ARM, enquanto os MS Surface Pro X abandonaram os CPUs x86.
Ainda é possível encontrar um mercado crescente de Chromebooks e outros laptops compactos de uso geral com CPUs Snapdragon da Qualcomm ou MediaTEK. Com a popularização das soluções híbridas x86 e ARM e de ferramentas mais robustas de emulação de arquiteturas a tendência é que isso se torne cada vez mais comum em alguns segmentos.
Worksations e servidores
O maior mercado dos CPUs RISC, no entanto, é o de servidores. A própria motivação para desenvolver a arquitetura era ganhar eficiência de processamento em operações a longo prazo, com as pesquisas acadêmicas que resultaram nos processadores MIPS, com fabricação própria, e SPARC, em parceria da universidade de Berkley com a Sun Microsystems.
Vantagens e desvantagens da arquitetura RISC
Por ser projetada para simplificar e otimizar o funcionamento dos circuitos, é esperado que esse padrão de operação tenha impactos diferentes em aplicações diferentes. De maneira geral, arquiteturas RISC focam em reduzir o consumo de energia, mas a simplicidade dos “comandos” acaba sendo um problema para aplicações mais complexas.
Vantagens:
- Conjuntos de instruções mais simples ocupam menos espaço na memória e consomem menos ciclos computacionais, tornando mais rápida a execução de instruções do CPU
- Com menos instruções disponíveis para memorizar e entender, é mais simples implementar e depurar o código de baixo nível
- A menor variação entre conjuntos de instruções aumenta o potencial de compatibilidade entre diferentes plataformas, desde que sejam de gerações próximas.
- Os chips RISC, teoricamente, utilizam menos transistores que os CISC. Em condições ideais, isso leva a um consumo energético reduzido e soluções térmicas menores e mais simples.
- O número elevado de registradores disponíveis para armazenar dados temporários e realizar operações simultâneas possibilita um altíssimo potencial de paralelismo.
Desvantagens:
- Computadores modernos executam muito mais tarefas, a maioria delas mais complexas, que precisam ser “quebradas” em instruções menores e simplificadas, exigindo compiladores mais robustos.
- A necessidade de dividir tarefas em mais instruções reduzidas também dificulta a programação em alto nível, fazendo com que softwares tenham códigos mais complexos.
- O consumo de memória é maior para executar tarefas de alto nível, uma vez que são necessárias mais instruções para realizar uma mesma tarefa que seria realizada em menos etapas em CISC.
- Como há menos espaço para adicionar novas instruções ao conjunto reduzido, a flexibilidade para incorporar novas funcionalidades também é reduzida.
- O suporte para instruções mais antigas ou específicas de outras arquiteturas é reduzido, limitando a compatibilidade com sistemas legados. O potencial elevado de retrocompatibilidade da arquitetura x86 é um dos maiores motivos para sua popularização.
Qual é a importância da arquitetura RISC?
A arquitetura RISC evoluiu muito desde os primeiros processadores MIPS no início dos anos de 1980. Tanto que, dependendo do projeto, é possível ter processadores RISC com tantas ou mais instruções e transistores que alguns CPUs CISC, e ambas arquiteturas constantemente implementam funcionalidades e tecnologias uma da outra.
O próprio processador A17 dos iPhone 15 Pro conta com 19 bilhões de transistores, quase tantos quanto os de um CPU x86 Intel Core i9 de 13ª geração. Além disso, ele traz tantas tecnologias embarcadas que seus conjuntos de instruções também são consideravelmente mais complexos para que ele opere de maneira ideal.
Na prática, a optar por conjuntos de instruções reduzidos ou complexos depende principalmente de quais barreiras tecnológicas um dado segmento está enfrentando para evoluir seus produtos. Sendo assim, a importância de CPUs RISC é muito mais no sentido de oferecer diferentes abordagens para resolver problemas específicos, como aquecimento ou consumo de energia, mas se valendo do intercâmbio tecnológico entre as duas arquiteturas.
- 🛒 Compre smartphone Android Samsung Galaxy pelo melhor preço!
- 🛒 Compre Apple Macbook pelo melhor preço!
Fonte: Qualcomm; Stanford; BateByte.pr.gov.br; IBM; MIPS; TechSpot; University of California, Berkeley; University of Washington