RISC vs CISC: evolução e diferenças das arquiteturas de CPU
Resumo
O texto explica que RISC e CISC são filosofias de projeto de CPU, e não apenas tecnologias, e analisa o contexto histórico dos anos 70 e início dos 80 que motivou cada abordagem. Apresenta as limitações de memória e compiladores da época, as razões para adotar conjuntos de instruções complexos (CISC) e as características do RISC, como o uso intensivo de registradores e o pipelining. Termina mostrando por que essas nomenclaturas perderam parte do seu sentido nos processadores modernos.
Pontos-chave
- RISC e CISC são filosofias de projeto de CPU, definidas pelas limitações tecnológicas da época, e não apenas tecnologias isoladas.
- Nos anos 70, a memória era cara e lenta, o que tornava a escrita de código um desafio crítico.
- A arquitetura CISC transferia complexidade do software para o hardware, reduzindo dificuldades em compiladores e custos de software.
- A arquitetura RISC tem um conjunto reduzido de instruções, que na maioria não acedem à memória principal e trabalham com muitos registradores.
- O RISC facilita a execução rápida e a implementação de pipelining.
- Nos processadores modernos, a diferença entre RISC e CISC já não reside apenas no tamanho do conjunto de instruções, mas na arquitetura global.
A abordagem mais comum para a comparação entre RISC e CISC é listar as características de ambas e colocá-las “lado a lado”, discutindo como cada uma influencia o desempenho. Esta abordagem é correta ao comparar tecnologias contemporâneas, como sistemas operativos ou placas de vídeo, mas falha ao analisar o debate entre RISC e CISC. Estas não são apenas tecnologias, mas sim filosofias de projeto de CPU — estratégias para atingir objetivos definidos perante problemas específicos.
Na aplicação destas estratégias, os projetistas consideraram as limitações tecnológicas da época. Compreender essas restrições é a chave para entender ambas as arquiteturas, exigindo um contexto histórico para além de simples benchmarks.
Para entender a evolução das arquiteturas RISC e CISC, é necessário analisar o estado da VLSI, memória e compiladores nos anos 70 e início dos anos 80.
Memória e Armazenamento
Nos anos 70, a tecnologia de armazenamento impactou profundamente o projeto de CPUs. Computadores utilizavam memória magnética, cara e lenta. Mesmo com a introdução da RAM, o custo permanecia proibitivo. O alto custo da memória e a lentidão do armazenamento secundário tornaram a escrita de código um desafio crítico.
RISC (Reduced Instruction Set Computer)
A arquitetura RISC caracteriza-se por possuir um conjunto reduzido de instruções de máquina, executadas diretamente pelo hardware. Na sua maioria, estas instruções não acessam a memória principal, trabalhando diretamente com um grande número de registradores. Isto permite uma execução rápida e facilita a implementação de pipelining.
CISC (Complex Instruction Set Computer)
No início dos anos 70, compiladores eram limitados e a memória era cara. A corrente predominante defendia que a solução para a "crise do software" seria transferir a complexidade do software para o hardware. Se uma função era comum, ela deveria ser implementada diretamente no hardware, que era visto como um recurso barato em comparação ao tempo do programador.
As principais razões para promover a arquitetura CISC incluíam:
- Reduzir as dificuldades na escrita de compiladores;
- Reduzir o custo global do sistema;
- Reduzir custos de desenvolvimento e manutenção de software;
- Reduzir a diferença semântica entre linguagens de alto nível e a máquina;
- Melhorar a compactação do código e facilitar a detecção de erros.
Com a evolução tecnológica, o microcódigo tornou-se mais rápido, levando ao crescimento dos conjuntos de instruções. Contudo, o aumento da complexidade trouxe problemas: microprogramas maiores tornaram-se difíceis de testar e propensos a erros. Estas dificuldades levaram investigadores a questionar se a implementação de instruções complexas era o melhor uso dos recursos (transistores) disponíveis.
Atualmente, a diferença entre processadores RISC e CISC já não reside apenas no tamanho do conjunto de instruções, mas na arquitetura global. As nomenclaturas RISC e CISC tornaram-se menos descritivas da realidade moderna, onde o foco principal é a velocidade de execução e a fiabilidade do software.
Baixar
PDF Word HTMLPerguntas frequentes
Por que surgiu a arquitetura CISC?
Nos primeiros anos 70, os compiladores eram limitados e a memória era cara. A corrente predominante defendia que a complexidade deveria ser transferida para o hardware, que era considerado barato em comparação com o tempo do programador.
Qual é a principal característica da arquitetura RISC?
A arquitetura RISC possui um conjunto reduzido de instruções executadas diretamente pelo hardware. Na sua maioria, estas instruções não acedem à memória principal, trabalhando com um grande número de registradores.
Por que o RISC facilita o pipelining?
Como as instruções são simples e a maioria não acede à memória principal, a execução é rápida e facilita a implementação de pipelining, segundo o texto.
Teste-se
Cartões de revisão
Clique em um cartão para ver a resposta.
Teste
Perguntas geradas com IA a partir do documento: verifique as respostas com o texto.