Cristiano	
  Pires	
  Martins

           ARQUITETURA	
  RISC



segunda-feira, 30 de maio de 2011          1
Introdução

            § RISC	
  –	
  Reduced	
  Instruction	
  Set	
  Computer;
            § Computador	
  com	
  um	
  conjunto	
  reduzido	
  de	
  
                instruções;
            § Tipo	
  de	
  arquitetura	
  de	
  CPU;
             §                                 X
            § CISC	
  –	
  Complex	
  Instruction	
  Set	
  Computer;
            § Computador	
   com	
   um	
   conjunto	
   complexo	
   de	
  
                instruções;

segunda-feira, 30 de maio de 2011                                               2
Introdução

            § Praticamente	
  todos	
  os	
  micros	
  até	
  o	
  486	
  eram	
  
                 CISC;
                 ú Grande	
  quantidade	
  de	
  instruções;
                 ú Variedade	
  de	
  modos	
  de	
  endereçamento;
                 ú Poucos	
  registradores	
  de	
  dados	
  na	
  CPU;
                 ú Processamento	
  controlado	
  por	
  microprograma.




segunda-feira, 30 de maio de 2011                                                     3
Quadro	
  comparativo	
  CISCxRISC


           Sistemas                 Tipo   Ano    Qtd.	
  Instr.   Qtd.	
  Reg.        Tam.	
  Instr.
           IBM/370-­‐168            CISC   1973   208              16                  16-­‐48	
  bits
           Intel	
  486             CISC   1989   147              8                   1-­‐17	
  bits
           Intel	
  Pentium         CISC   1993   150              8                   1-­‐17	
  bits
           Power	
  PC	
  601       RISC   1993   184              32-­‐I	
  32-­‐PF   32	
  bits
           Sparc	
  10              RISC   1987   52               Até	
  528          32	
  bits
           Alpha	
  21064           RISC   1992   125              32-­‐I	
  32-­‐PF   32	
  bits




segunda-feira, 30 de maio de 2011                                                                        4
Desempenho	
  na	
  execução

            § Cada	
  linguagem	
  de	
  alto	
  nível	
  (LAN)	
  possuía	
  
               comandos	
  poderosos;
            § Para	
  facilitar	
  a	
  vida	
  de	
  programadores;
            § Não	
  para	
  facilitar	
  o	
  desempenho	
  da	
  
               computação,	
  facilitar	
  processamento;




segunda-feira, 30 de maio de 2011                                                 5
Desempenho	
  na	
  execução

            § Um	
  único	
  comando	
  de	
  LAN	
  tinha	
  que	
  ser	
  
                 convertido	
  em	
  várias	
  instruções	
  de	
  máquina:
                 ú Gap	
  semântico:	
  separação	
  acentuada	
  entre	
  
                    operações	
  de	
  LAN	
  e	
  linguagem	
  de	
  máquina;
                 ú Complexos	
  compiladores;




segunda-feira, 30 de maio de 2011                                                6
Reduzir	
  o	
  Gap	
  Semântico

            § Aumentar	
  a	
  quantidade	
  de	
  instruções	
  de	
  
               máquina;
            § Incluir	
  mais	
  modos	
  de	
  endereçamento	
  no	
  
               conjunto	
  de	
  instruções;
            § Utilizar	
  mais	
  microprogramação.




segunda-feira, 30 de maio de 2011                                          7
Características	
  Das	
  
          Arquiteturas	
  RISC
            § Menor	
  quantidade	
  de	
  instruções	
  e	
  tamanho	
  
               fixo;
            § Execução	
  otimizada	
  de	
  chamada	
  de	
  funções;
            § Menor	
  quantidade	
  de	
  modos	
  de	
  
               endereçamento;
            § Utilização	
  de	
  Pipelining.




segunda-feira, 30 de maio de 2011                                            8
Menor	
  quantidade	
  de	
  
           instruções	
  	
  e	
  tamanho	
  fixo
            § Sistema	
  produz	
  resultados	
  com	
  melhor	
  
               desempenho;
            § Menos	
  instruções,	
  execução	
  mais	
  otimizada;
            § Mesmo	
  com	
  programas	
  mais	
  longos.


                   CPU              N•	
  de	
  Instruções   Arquitetura
                   SPARC            50                       RISC
                   VAX-­‐11/780     303                      CISC




segunda-feira, 30 de maio de 2011                                          9
Execução	
  Otimizada	
  de	
  
           Chamada	
  de	
  Funções
            § Chamadas	
  de	
  Funções	
  consomem	
  razoável	
  tempo	
  
                 de	
  processador;
                 ú Requer	
  usualmente	
  poucos	
  dados;
                 ú Mas	
  consomem,	
  na	
  transferência,	
  demorados	
  acessos	
  
                     à	
  memória	
  para	
  escrita	
  e	
  leitura;
            § Em	
  CISC	
  a	
  chamada	
  conduz	
  a	
  operações	
  de	
  L/E	
  
               com	
  a	
  memória	
  para	
  passagem	
  de	
  parâmentros	
  e	
  
               recuperação	
  de	
  dados;
            § Em	
  RISC	
  ocorre	
  no	
  processador:	
   	
  
                 ú Utiliza-­‐se	
  mais	
  registradores;
                 ú Parâmetros	
  manuseados	
  no	
  próprio	
  processador.


segunda-feira, 30 de maio de 2011                                                          10
Execução	
  Otimizada	
  de	
  
           Chamada	
  de	
  Funções
            § Só	
  é	
  possível	
  colocar	
  mais	
  registradores	
  
               devido	
  à	
  redução	
  dos	
  circuitos	
  necessários	
  à	
  
               decodificação	
  e	
  execução	
  de	
  instruções;
            § O	
  desempenho	
  total	
  melhora.




segunda-feira, 30 de maio de 2011                                                   11
Menor	
  Quantidade	
  de	
  Modos	
  de	
  
           Endereçamento
            § Para	
  facilitar	
  o	
  trabalho	
  dos	
  compiladores,	
  o	
  
                 conjunto	
  de	
  instruções	
  das	
  CISC	
  tende	
  a	
  ter	
  
                 muitos	
  modos	
  de	
  endereçamento	
  (até	
  22);
                 ú Entre	
  registradores;
                 ú Memória	
  e	
  registradores;
                 ú Memória.
            § Na	
  RISC:
                 ú LOAD:	
  carregamento	
  da	
  memória	
  para	
  registradores;
                 ú STORE:	
  gravação	
  dos	
  registradores	
  para	
  a	
  memória.



segunda-feira, 30 de maio de 2011                                                         12
Modo	
  de	
  Execução	
  com	
  
           Pipelining
            § Característica	
  mais	
  relevante	
  da	
  RISC;
            § Em	
  face	
  do	
  formato	
  simples	
  e	
  único	
  das	
  instr.;
            § Pipelining	
  funciona	
  mais	
  efetivamente	
  quando	
  
               as	
  instruções	
  são	
  todas	
  bastante	
  semelhantes	
  
               (formato	
  e	
  complexidade);
            § O	
  ideal	
  seria	
  cada	
  instrução	
  completar	
  um	
  
               estágio	
  de	
  pipelining	
  em	
  1	
  ciclo	
  de	
  relógio;



segunda-feira, 30 de maio de 2011                                                       13
Pipelinig




segunda-feira, 30 de maio de 2011   14
§ Vídeo




segunda-feira, 30 de maio de 2011   15
CISC	
  x	
  RISC


      CARACTERÍSTICAS                                 RISC                      CISC
                                                      MIPS	
  R4000   RS/6000   VAX11/780 INTEL	
  486
      Quantidade	
  de	
  Instruções                         94         183         303         235
      Modos	
  de	
  Endereçamento                           1           4             22       11
      Largura	
  de	
  cada	
  instrução	
  (Bytes)          4           4         2-­‐57      1-­‐12
      Quantidade	
  de	
  registradores	
  de	
              32          32            16        8
      emprego	
  geral




segunda-feira, 30 de maio de 2011                                                                        16
CISC	
  x	
  RISC

            § Máquinas	
  RISC	
  tendem	
  a	
  executar	
  instruções	
  
                 bem	
  mais	
  rápido	
  porque:
                 ú Instruções	
  com	
  C.Op.	
  com	
  menor	
  quantidade	
  de	
  
                    bits	
  =	
  menor	
  tempo	
  de	
  codificação;
                 ú Instruções	
  executadas	
  diretamente	
  pelo	
  hardware	
  
                    e	
  não	
  por	
  um	
  microprograma.




segunda-feira, 30 de maio de 2011                                                        17

Aula 10-oac-arquitetura-risc

  • 1.
    Cristiano  Pires  Martins ARQUITETURA  RISC segunda-feira, 30 de maio de 2011 1
  • 2.
    Introdução § RISC  –  Reduced  Instruction  Set  Computer; § Computador  com  um  conjunto  reduzido  de   instruções; § Tipo  de  arquitetura  de  CPU; § X § CISC  –  Complex  Instruction  Set  Computer; § Computador   com   um   conjunto   complexo   de   instruções; segunda-feira, 30 de maio de 2011 2
  • 3.
    Introdução § Praticamente  todos  os  micros  até  o  486  eram   CISC; ú Grande  quantidade  de  instruções; ú Variedade  de  modos  de  endereçamento; ú Poucos  registradores  de  dados  na  CPU; ú Processamento  controlado  por  microprograma. segunda-feira, 30 de maio de 2011 3
  • 4.
    Quadro  comparativo  CISCxRISC Sistemas Tipo Ano Qtd.  Instr. Qtd.  Reg. Tam.  Instr. IBM/370-­‐168 CISC 1973 208 16 16-­‐48  bits Intel  486 CISC 1989 147 8 1-­‐17  bits Intel  Pentium CISC 1993 150 8 1-­‐17  bits Power  PC  601 RISC 1993 184 32-­‐I  32-­‐PF 32  bits Sparc  10 RISC 1987 52 Até  528 32  bits Alpha  21064 RISC 1992 125 32-­‐I  32-­‐PF 32  bits segunda-feira, 30 de maio de 2011 4
  • 5.
    Desempenho  na  execução § Cada  linguagem  de  alto  nível  (LAN)  possuía   comandos  poderosos; § Para  facilitar  a  vida  de  programadores; § Não  para  facilitar  o  desempenho  da   computação,  facilitar  processamento; segunda-feira, 30 de maio de 2011 5
  • 6.
    Desempenho  na  execução § Um  único  comando  de  LAN  tinha  que  ser   convertido  em  várias  instruções  de  máquina: ú Gap  semântico:  separação  acentuada  entre   operações  de  LAN  e  linguagem  de  máquina; ú Complexos  compiladores; segunda-feira, 30 de maio de 2011 6
  • 7.
    Reduzir  o  Gap  Semântico § Aumentar  a  quantidade  de  instruções  de   máquina; § Incluir  mais  modos  de  endereçamento  no   conjunto  de  instruções; § Utilizar  mais  microprogramação. segunda-feira, 30 de maio de 2011 7
  • 8.
    Características  Das   Arquiteturas  RISC § Menor  quantidade  de  instruções  e  tamanho   fixo; § Execução  otimizada  de  chamada  de  funções; § Menor  quantidade  de  modos  de   endereçamento; § Utilização  de  Pipelining. segunda-feira, 30 de maio de 2011 8
  • 9.
    Menor  quantidade  de   instruções    e  tamanho  fixo § Sistema  produz  resultados  com  melhor   desempenho; § Menos  instruções,  execução  mais  otimizada; § Mesmo  com  programas  mais  longos. CPU N•  de  Instruções Arquitetura SPARC 50 RISC VAX-­‐11/780 303 CISC segunda-feira, 30 de maio de 2011 9
  • 10.
    Execução  Otimizada  de   Chamada  de  Funções § Chamadas  de  Funções  consomem  razoável  tempo   de  processador; ú Requer  usualmente  poucos  dados; ú Mas  consomem,  na  transferência,  demorados  acessos   à  memória  para  escrita  e  leitura; § Em  CISC  a  chamada  conduz  a  operações  de  L/E   com  a  memória  para  passagem  de  parâmentros  e   recuperação  de  dados; § Em  RISC  ocorre  no  processador:     ú Utiliza-­‐se  mais  registradores; ú Parâmetros  manuseados  no  próprio  processador. segunda-feira, 30 de maio de 2011 10
  • 11.
    Execução  Otimizada  de   Chamada  de  Funções § Só  é  possível  colocar  mais  registradores   devido  à  redução  dos  circuitos  necessários  à   decodificação  e  execução  de  instruções; § O  desempenho  total  melhora. segunda-feira, 30 de maio de 2011 11
  • 12.
    Menor  Quantidade  de  Modos  de   Endereçamento § Para  facilitar  o  trabalho  dos  compiladores,  o   conjunto  de  instruções  das  CISC  tende  a  ter   muitos  modos  de  endereçamento  (até  22); ú Entre  registradores; ú Memória  e  registradores; ú Memória. § Na  RISC: ú LOAD:  carregamento  da  memória  para  registradores; ú STORE:  gravação  dos  registradores  para  a  memória. segunda-feira, 30 de maio de 2011 12
  • 13.
    Modo  de  Execução  com   Pipelining § Característica  mais  relevante  da  RISC; § Em  face  do  formato  simples  e  único  das  instr.; § Pipelining  funciona  mais  efetivamente  quando   as  instruções  são  todas  bastante  semelhantes   (formato  e  complexidade); § O  ideal  seria  cada  instrução  completar  um   estágio  de  pipelining  em  1  ciclo  de  relógio; segunda-feira, 30 de maio de 2011 13
  • 14.
  • 15.
  • 16.
    CISC  x  RISC CARACTERÍSTICAS RISC CISC MIPS  R4000 RS/6000 VAX11/780 INTEL  486 Quantidade  de  Instruções 94 183 303 235 Modos  de  Endereçamento 1 4 22 11 Largura  de  cada  instrução  (Bytes) 4 4 2-­‐57 1-­‐12 Quantidade  de  registradores  de   32 32 16 8 emprego  geral segunda-feira, 30 de maio de 2011 16
  • 17.
    CISC  x  RISC § Máquinas  RISC  tendem  a  executar  instruções   bem  mais  rápido  porque: ú Instruções  com  C.Op.  com  menor  quantidade  de   bits  =  menor  tempo  de  codificação; ú Instruções  executadas  diretamente  pelo  hardware   e  não  por  um  microprograma. segunda-feira, 30 de maio de 2011 17