Arquitetura Risc e Cisc

 

Arquitetura Risc e Cisc

As arquiteturas de computadores, muitas vezes são pouco exploradas e conhecidas mas as suas diferenças e peculiaridades são bem interessantes de se estudar e garantem uma melhor compreensão sobre o funcionamento dos processadores desde os primórdios da era da computação. O artigo a seguir tem o objetivo de servir como uma forma obtensão de conhecimentos sobre o assunto e ainda como uma forma de esclarecer a curiosidade de muitos sobre o funcionamento de um dos componentes mais importantes do computador.

A arquitetura CISC, ou Complex Instruction Set Computer, é uma arquitetura bem complexa sendo capaz de executar várias centenas de instruções complexas diferentes, se tornando extremamente versátil. Exemplos famosos de processadores CISC são o 386 e o 486.Já a arquitetura RISC, ou Reduced Instruction Set Computer,  é um tipo de arquitetura de processador que surgiu começo da década de 80 quando a tendência era construir chips com conjuntos de instruções cada vez mais complexos, os famosos processadores CISC. Foi então que alguns fabricantes tiveram a ideia de seguir o caminho oposto, criando o padrão RISC (Reduced Instruction Set Computer, ou "computador com um conjunto reduzido de instruções").

Arquitetura RISC

A arquitetura RISC é constituída por um pequeno conjunto de instruções simples que são executadas diretamente pelo hardware, onde não há a intervenção de um interpretador (microcódigo), o que significa que as instruções são executadas em apenas uma microinstrução(de uma única forma e seguindo um mesmo padrão). As máquinas RISC só se tornaram viáveis devido aos avanços de software otimizado para essa arquitetura, através da utilização de compiladores otimizados e que compensem a simplicidade dessa arquitetura. Existe um conjunto de características que permite uma definição de arquitetura básica RISC, são elas:

  • Utilização de apenas uma instrução por ciclo do datapath (ULA, registradores e os barramentos que fazem sua conexão); 
  • O processo de carregar/armazenar, ou seja, as referências à memória são feitas por instruções especiais de load/store;
  • Inexistência de microcódigo, fazendo com que a complexidade esteja no compilador;
  • Instruções de formato fixo;
  • Conjunto reduzido de instruções, facilitando a organização da UC de modo que esta tenha uma interpretação simples e rápida;
  • Utilização de pipeline ( é uma técnica de dividir a execução de uma instrução em fases ou estágios, abrindo espaço para execução simultânea de múltiplas instruções);
  • Utilização de múltiplos conjuntos de registradores.
 

Ao contrário dos complexos CISC, os processadores RISC são capazes de executar apenas poucas instruções simples, e justamente por isso que os chips baseados nesta arquitetura são mais simples e muito mais baratos. Uma outra vantagem dos processadores que utilizam essa arquitetura é o fato de terem um menor número de circuitos internos, permite que se trabalhe com clocks mais altos. Um bom exemplo são os processadores Alpha, que em 97 já operavam a 600 MHz.

 

Arquitetura CISC

CISC ou Complex Instruction Set Computer, é uma arquitetura de processadores capaz de executar centenas de instruções complexas diferentes o que a torna extremamente versátil. Exemplos de processadores que utilizam essa arquitetura são os 386 e os 486 da Intel. Os processadores baseados na computação de conjunto de instruções complexas contêm uma micro-programação, ou seja, um conjunto de códigos de instruções que são gravados no processador, permitindo-lhe receber as instruções dos programas e executá-las, utilizando as instruções contidas na sua micro-programação. Seria como quebrar estas instruções, já em baixo nível, em diversas instruções mais próximas do hardware (as instruções contidas no microcódigo do processador). Como característica marcante esta arquitetura contém um conjunto grande de instruções, a maioria deles em um elevado grau de complexidade. Algumas características dessa arquitetura são:
  • Controle microprogramado;
  • Modos registrador-registrador, registrador-memória, e memória-registrador;
  • Múltiplos modos de endereçamento à memória, incluindo indexação (vetores);
  • Instruções de largura (tamanho) variável, conforme modo de endereçamento utilizado;
  • Instruções requerem múltiplos ciclos de máquina para execução, variando também com o modo de endereçamento;
  • Poucos registradores;
  • Registradores especializados.

Comparação

Ao contrário da complexa arquitetura CISC, os processadores RISC são capazes de executar apenas algumas poucas instruções simples, o que justifica o fato de os chips baseados nesta arquitetura serem mais simples e muito mais baratos. Outra vantagem dos processadores RISC, é que por terem um menor número de circuitos internos, podem trabalhar com clocks mais altos. Um processador RISC é capaz de executar instruções muito mais rapidamente. A seguir um quadro comparanto os recursos de ambas arquiteturas:

O fato é que cada arquitetura só será melhor dependendo do objetivo final a ser alcançado, processadores do tipo RISC se saem melhor quando o assunto é servidores, smartphones e super computadores. Enquanto processadores do tipo CISC geralmente são usados em computadores de uso cotidiano.

Atualidades

Atualmente não se pode afirmar com 100% de certeza que um processador utiliza apenas a arquitetura CISC ou RISC, pois os modelos atuais de processadores abrigam as características de ambas as arquiteturas. Processadores ARM usados em celulares são um com exemplo de uso da arquitetura RISC, outro exemplo de uso dessa arquitetura é em consoles como o Nintendo 64 e o Playstation.

Com o passar dos anos, tanto a Intel quanto a AMD perceberam que usar alguns conceitos da arquitetura RISC em seus processadores poderia ajudá-las a criar processadores mais rápidos. Porém, ao mesmo tempo, existia a necessidade de continuar criando processadores compatíveis com os antigos. A ideia então passou a ser construir chips híbridos, que fossem capazes de executar as instruções x86, sendo compatíveis com todos os programas, mas ao mesmo tempo comportando-se internamente como chips RISC, quebrando estas instruções complexas em instruções simples, que podem ser processadas por seu núcleo RISC.

 

 

Bibliografia: 

https://www.hardware.com.br/termos/risc

https://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=1259

https://www.hardware.com.br/artigos/risc-cisc/

https://riscv.org/

https://pt.wikipedia.org/wiki/CISC

https://www.youtube.com/watch?v=oYdmOpX0N4M

https://en.wikipedia.org/wiki/Heterogeneous_System_Architecture

https://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/whatis/index.html

https://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.pdf