Processador Superescalar


  • CISC: menos instruções porém mais poderosas. Facilita para o programador. Tempo de decodificação é muito grande. O tamanho das instruções varia muito.
  • Na prática todos os processadores superescalares são RISC muito provavelmente pela decodificação
  • Slide SuperScalars x Superpipelined
    • Superpipelined: processdores RISC
    • Superscalar: faz fetch de duas instruções ao invés de uma
      • Depende da capacidade de executar o paralelismo
    • Limitações no paralelismo:
      • True Data Dependency: Quando uma segunda instrução pode ser carregada e decodificado mas não pode ser executada até que a primeira instrução seja executada (Flow-dependency ou write-read dependency)
      • Procedural Dependency: ou Conflito de recursos: Presença de saltos ou de ramos
      • Output Dependency: Quando duas operações tem como destino o mesmo operador
      • Antidependency: Quando usamos um operador em duas instruções o que força a renomear um registrador ocioso.
    • Instruction Level Parallelism: determinado pela frequência de dados verdadeiros e dependências procedurais no código
    • Machine Parallelism:
  • Types of ordering (ordem de execuçáo)
    • ordem em que foram carregadas
    • ordem em que as instruções foram executadas
    • ordem no qual a mudança de registrador e alocação de memória acontecem