ScholarGate
Assistente

RISC e CISC

RISC e CISC nomeiam duas filosofias contrastantes de conjunto de instruções: computadores com conjunto de instruções reduzido (RISC) favorecem pequenos conjuntos de instruções simples, uniformes e de registrador para registrador, enquanto computadores com conjunto de instruções complexo (CISC) oferecem muitas instruções poderosas e de comprimento variável que realizam mais por instrução.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

RISC (computador com conjunto de instruções reduzido) é uma filosofia de design que enfatiza um pequeno conjunto de instruções simples e de formato fixo executadas em um modelo de carga-armazenamento; CISC (computador com conjunto de instruções complexo) enfatiza um conjunto maior de instruções mais poderosas, frequentemente de comprimento variável, incluindo operações de memória para memória.

Scope

Este tópico abrange as duas filosofias de design e suas compensações: simplicidade e regularidade das instruções versus riqueza e densidade de código, a disciplina de carga-armazenamento (load-store) do RISC, as vantagens de pipeline de instruções simples e como as implementações modernas de CISC de alto desempenho traduzem instruções complexas em micro-operações semelhantes a RISC internamente. Exclui as codificações em nível de bit (formatos e codificação de instruções) e os detalhes de implementação de pipeline (pipelining e hazards).

Core questions

  • Quais objetivos de design motivam a redução de um conjunto de instruções para operações simples e uniformes?
  • Como a disciplina de carga-armazenamento distingue RISC de CISC?
  • Por que instruções simples e regulares são mais facilmente pipelineadas?
  • Como os processadores x86 modernos conciliam um conjunto de instruções CISC com execução interna semelhante a RISC?

Key concepts

  • conjunto de instruções reduzido
  • conjunto de instruções complexo
  • arquitetura de carga-armazenamento
  • instruções de comprimento fixo vs. variável
  • micro-operações
  • co-design compilador-hardware
  • densidade de código

Key theories

O argumento RISC
Patterson e Ditzel argumentaram que um pequeno conjunto de instruções simples, executadas rapidamente e pipelineadas eficientemente com bom suporte de compilador, pode superar conjuntos de instruções complexos cujas instruções elaboradas são raramente usadas e difíceis de implementar rapidamente.

Mechanisms

Os designs RISC mantêm as instruções simples, de comprimento fixo e de registrador para registrador, com instruções separadas de carga e armazenamento para a memória; essa regularidade torna a decodificação e o pipeline diretos. Os designs CISC fornecem instruções complexas e de comprimento variável que podem acessar a memória diretamente e realizar operações em várias etapas. As implementações modernas de CISC decodificam instruções complexas em sequências de micro-operações internas mais simples que são então executadas por um núcleo semelhante a RISC.

Clinical relevance

A distinção RISC/CISC moldou as plataformas de computação dominantes: ARM e RISC-V incorporam princípios RISC e lideram nos mercados móvel, embarcado e, crescentemente, de servidores e laptops, enquanto o x86 (uma ISA CISC com internos semelhantes a RISC) dominou por muito tempo PCs e servidores. O debate informa as escolhas contínuas sobre eficiência energética, desempenho e ecossistemas de software.

History

O conceito RISC surgiu da pesquisa IBM 801 e dos projetos Berkeley RISC e Stanford MIPS do início dos anos 1980, articulado no artigo de Patterson e Ditzel de 1980. As ideias RISC se espalharam por designs comerciais como SPARC, MIPS, PowerPC e ARM. Enquanto isso, o x86 sobreviveu adotando micro-operações internas semelhantes a RISC, e a ISA RISC-V de código aberto renovou o ímpeto para um design RISC limpo.

Debates

RISC versus CISC ainda importa?
Como os chips CISC modernos executam internamente como micro-operações semelhantes a RISC e ambos os campos compartilham pipelining e cache, alguns argumentam que a distinção original se dissolveu; outros mantêm que a regularidade do conjunto de instruções ainda afeta a eficiência de decodificação, potência e verificação.

Key figures

  • David A. Patterson
  • David R. Ditzel
  • John L. Hennessy
  • John Cocke

Related topics

Seminal works

  • patterson1980risc
  • hennessy2019
  • patterson2020

Frequently asked questions

RISC é sempre mais rápido que CISC?
Não inerentemente. A simplicidade do RISC facilita o pipelining e altas taxas de clock, mas uma instrução CISC pode fazer mais trabalho por instrução. Na prática, processadores CISC de alto desempenho traduzem instruções em operações semelhantes a RISC, então o desempenho realizado depende de toda a microarquitetura, não apenas do rótulo ISA.
Por que ARM e RISC-V são chamadas de arquiteturas RISC?
Ambas usam pequenos conjuntos de instruções simples, em sua maioria de comprimento fixo, com um modelo de memória de carga-armazenamento e poucos modos de endereçamento — as características definidoras da filosofia RISC — o que as torna eficientes para implementar e bem adequadas para designs com restrição de energia e alto throughput.

Methods for this concept

Related concepts