RISC x CISC

Olá pessoal!

Hoje vamos falar de um assunto que, vez ou outra, costuma ser cobrado em provas de concursos, principalmente para cargos de Infra-Estrutura ou mesmo naqueles cargos genéricos, que não separam Desenvolvimento de Infra. É um assunto básico, geralmente ensinado no início do curso de Ciência da Computação (e correlatos), mas que é de extrema importância para entendermos a arquitetura por trás dos computadores. Estamos falando das arquiteturas RISC e CISC.

Nosso objetivo é entender as definições destas arquiteturas e, principalmente, a diferença entre elas, ponto que costuma ser cobrado incessantemente nas provas.

Vamos lá.

Máquinas CISC (Complex Instruction Set Computer) têm um conjunto de instruções grande, de tamanhos variáveis, com formatos complexos. Muitas dessas instruções são bastante complicadas, executando múltiplas operações quando uma única instrução é dada (por exemplo, é possível realizar um loop complexo usando apenas uma operação assembly). O problema básico com máquinas CISC é que um conjunto pequeno de instruções complexas torna o sistema consideravelmente mais lento. Os projetistas decidiram retornar a uma arquitetura mais simples, delegando ao compilador a responsabilidade de produzir código eficiente com esse novo conjunto de instruções. Máquinas que utilizam esta filosofia são chamadas de máquinas RISC.

A arquitetura RISC (Reduced Instruction Set Computer), como o próprio nome já diz, tem como principal objetivo simplificar as instruções de modo que elas possam ser executadas mais rapidamente. Cada instrução executa apenas uma operação, que são todas do mesmo tamanho, tem poucos formatos, e todas as operações aritméticas devem ser executadas entre registradores (dados da memória não podem ser utilizados como operandos). Praticamente todos os conjuntos de instruções (para qualquer arquitetura) lançados desde 1982 têm sido RISC, ou alguma combinação entre RISC e CISC.

Membros da família x86 de arquitetura Intel são conhecidos como máquinas CISC, enquanto que a família Pentium e processadores MIPS são conhecidos como máquinas RISC.

Vamos montar uma tabela com as principais diferenças entre as arquiteturas. Isto deveria ser suficiente para responder a maioria das questões de concurso sobre o assunto.

RISC CISC
Múltiplos conjuntos de registradores, muitas vezes superando 256 Único conjunto de registradores, tipicamente entre 6 e 16 registradores
Três operandos de registradores permitidos por instrução (por ex., add R1, R2, R3) Um ou dois operandos de registradores permitidos por instrução (por ex., add R1, R2)
Passagem eficiente de parâmetros por registradores no chip (processador) Passagem de parâmetros ineficiente através da memória
Instruções de um único ciclo (ex. load e store) Instruções de múltiplos ciclos
Controle hardwired (embutido no hardware) Controle microprogramado
Altamente paralelizado (pipelined) Fracamente paralelizado
Instruções simples e em número reduzido Muitas instruções complexas
Instruções de tamanho fixo Instruções de tamanho variável
Complexidade no compilador Complexidade no código
Apenas instruções load e store podem acessar a memória Muitas instruções podem acessar a memória
Poucos modos de endereçamento Muitos modos de endereçamento

Vejamos uma questão de exemplo, para praticarmos.

(INEA – CESGRANRIO 2007)

Em relação às arquiteturas CISC, uma das características dos processadores de arquiteturas RISC é que

(A) possuem um conjunto maior de instruções.

(B)    possuem mais instruções de atribuição e aritmética, porém menos instruções de desvios.

(C) possuem mais instruções de desvios e aritmética, porém menos instruções de atribuição.

(D) executam, em média, um mesmo número de instruções num período de tempo inferior.

(E) são tradicionalmente utilizadas em computadores pessoais, desde os 80×86.

Resposta: D

Análise:

(A)   Errada, máquinas RISC possuem um conjunto menor de instruções.

(B)   Errada, máquinas RISC possuem menos instruções, em ambos os casos.

(C)   Errada, máquinas RISC possuem menos instruções, em ambos os casos.

(D)   Correta. Comparativamente, em média, uma instrução RISC sempre executará em menos tempo do que uma instrução CISC. Essa é toda a ideia por trás da arquitetura – fazer as instruções individuais executarem mais rápido.

(E)    Errada, como vimos, a família x86 é CISC.

Por hoje é só pessoal. Bons estudos !

Nando Pedrosa
Obras do Autor:
- Prova Comentada: Banco Central do Brasil (2001) - ESAF
- Prova Comentada: TRF 5 Região - FCC
Prova Comentada:  TRT 2 Região (São Paulo) - FCC
- Prova Comentada: TJ-PA - FCC

»crosslinked«

nandopedrosa

Analista de Finanças e Controle - Ministério da Fazenda/Coordenação de Sistemas Graduação: Universidade Federal de Pernambuco Certificações: ITIL Foundation Certified Java Programmer Certified Java Associate Certified Aprovações: Concurso Ano Cargo Posição Organizadora PBGÁS 2007 Analista de Sistemas 1 FCC SERPRO 2008 Administração de TI 1 CESPE COPERGÁS 2008 Analista de Sistemas 1 UPENET INMETRO 2007 Analista de Sistemas 2 CESPE STN 2008 AFC-TI 2 ESAF STJ 2008 Analista Judiciário 3 CESPE TRF-5 2008 Analista Judiciário 5 FCC TRF-5 2008 Técnico Judiciário 5 FCC TCU 2008 ACE-TI 7 CESPE TJ-PE 2007 Analista Judiciário 11 FCC BNDES 2008 Analista de Sistemas 27 CESGRANRIO

Você pode gostar...

8 Resultados

  1. André Santana disse:

    Excelente resumo. Mais detalhes podem ser encontrados em livros que falam sobre “Arquiteturas de Computadores”.

  2. Adriano disse:

    Muito boa matéria! Pegou os pontos mais importantes e ainda deu uma treinada… =)

  3. Cláudio Henrique disse:

    Muito resumido o texto, esperava encontrar mais detalhes.

  4. mlneves disse:

    Muito bom este artigo! Com ele estou conseguindo resolver a maioria das questões sobre este assunto, obrigada!

  5. Zem disse:

    Pentium não é RISC, ele é processador híbrido,
    O Pentium é um processador CISC e que alterna quando necessário e utiliza instruções FASTRISC.
     
     
     

  6. Junior disse:

    “Membros da família x86 de arquitetura Intel são conhecidos como máquinas CISC, enquanto que a família Pentium e processadores MIPS são conhecidos como máquinas RISC”.
    Não entendi a afirmação, dado que o Pentium pertence à família x86. O que foi afirmado é que os membros da família x86 antes do Pentium eram CISC e do Pentium em diante são RISC? Como as bancas enxergam isso?
    Achava que deveria assumir que os grandes processadores possuem arquiteturas híbridas (RISC + CISC).
    até mais

  7. Kelly disse:

    Muito boa a matéria. Estou estudando uma apostila para concursos de TI e, vez ou outra, me surgem dúvidas. As vezes sabemos sobre determinado assuntos mas precisamos de mais detalhes e em uma linguagem fácil de entender. Obrigada.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *