RISC vs CISC: evolução e diferenças das arquiteturas de CPU

ComputaçãoAtualizado em 3,28 KB

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.

Teste-se

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 HTML

Perguntas 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

1. Segundo o texto, o que são RISC e CISC?
2. Qual era um dos problemas da memória nos anos 70?
3. Qual é uma das razões para promover a arquitetura CISC?
4. Como são as instruções típicas da arquitetura RISC?
5. Que problema surgiu com o aumento da complexidade do microcódigo?
6. Segundo o texto, o que mudou nos processadores modernos em relação às nomenclaturas RISC e CISC?

Perguntas geradas com IA a partir do documento: verifique as respostas com o texto.