Pentium Pro




Rafael Cruz
Yuri Reis           Engenharia de Computação
Histórico:
  Foi introduzido no mercado em 1995.

  Intuito de ser um processador voltado ao mercado de
 alto desempenho e não um concorrente direto
 do Pentium original.

   Projetado especificamente para ser utilizado em micros
  servidores de rede.


   Foi usada como base para o Pentium II e o Pentium
  III, assim como para o Xeon e o Celeron.
Características:
  Apesar de usar um pouco da tecnologia do Pentium Clássico, o
 Pentium Pro é um projeto quase que totalmente novo. As principais
 inovações na arquitetura são:

   Arquitetura Superescalar com três canalizações.


   Barramento de endereços ampliado, de 32 para 36
  bits, permitindo ao Pentium Pro endereçar até 64 GB de
  memória

   Três unidades de operação em ponto flutuante.
Características:
   40 registradores de propósito geral, 3 unidades para operação
  em Ponto Flutuante sendo uma para operações simples e mais 2
  para operações complexas.

   Memória cache L1 dividida entre dados e instruções.


   Cache L2 integrado ao chip do processador.


   Primeiro processador a possuir uma metodologia
  híbrida RISC/CISC.
1. Arquitetura:
Uma das principais inovações do Pentium Pro é apresentar uma
metodologia híbrida CISC / RISC:


  o Instruções IA (Intel Architecture – CISC) externamente

  o Instruções IA decodificadas em microinstruções RISC

  o Processador RISC executando as microinstruções.
Para poder utilizar-se da metodologia híbrida, o Pentium Pro
apresenta uma organização interna com os seguintes módulos:

   Módulo de busca e decodificação
     Decodifica Instruções IA a partir da cache de instruções (nível 1)
     Escreve operações RISC (microinstruções na Instruction POOL)

   Módulo de despacho e execução
     Executa as instruções RISC a partir da instruction pool
     Despacho e terminação fora de ordem
     Instruções executadas são reescritas na instruction pool

   Módulo de retirada de instruções
   Retira as instruções já executadas da instruction pool
A partir da Instruction POOL ele executa as instruções RISC,
processando-as de forma superescalar. Para tanto, é composto de:

    2 unidades para processamento de inteiros.
   1 unidade de ponto flutuante;
   1 unidade de branch;
   1 unidade de load;
   1 unidade de store.
Diagrama Arquitetura
Resumindo, o Pentium Pro funciona da seguinte maneira, no que diz
respeito à metodologia CISC-RISC:
  1. Busca instruções IA na memória na ordem estrita do programa
  2. Decodifica as instruções IA em uma ou mais microinstruções
     RISC de tamanho fixo;
  3. Escreve as microinstruções na Instruction POOL na ordem
     estrita do programa;
  4. Unidade de despacho e execução executa as instruções
     RISC com despacho e terminação fora de ordem. As
     instruções terminadas são escritas na Instruction Pool.
  5. O módulo de retirada retira as instruções terminadas na
     ordem estrita do programa, colocando os resultados na
     memória e/ou no banco de registradores.
2. Unidade Funcionais:
 Dotado de 40 registradores de propósito geral, 3 unidades para
 operação em Ponto Flutuante, sendo uma para operações simples
 e mais 2 para operações complexas.

 Possui unidades específicas para executar Load, Store (dados e
 endereços), Memory Order Buffer (MOB), estação de reserva e
 Reorder Buffer (instruction pool), para tratamento de instruções.

 Em relação aos saltos, existe o Branch Target Buffer (BTB),
 unidades de predição de desvio estático e dinâmico, tabela de
 alocação de registradores (RAT).
3. Organização do Pipeline:
Possui 14 estágios no pipeline.
 No 1º estágio é calculado o valor do Instruction Pointer, levando
  em consideração eventuais desvios.
Nos estágios 2, 3 e 4 são buscados 16 bytes de instruções na
 cache e seus limites são marcados.
A seguir, nos estágios 5 e 6 as instruções são decodificas e
convertidas em uma sequência de microinstruções.

Depois da conversão, os estágios 7 e 8 do pipeline realizam a
renomeação dos registradores (RAT).
 A unidade de despacho envia cada instrução para a estação de
  reserva de uma das seis unidades funcionais, o que corresponde
  aos estágios 9, 10 e 11 do pipeline.
 Estágios 12, 13 e 14 são responsáveis pelo armazenamento dos
  resultados na memória ou nos registradores.
Diagrama Pipeline Pentium Pro
4. Desvios:
 O Pentium Pro usa um Branch Target Buffer (BHT) de 512 entradas
  para predição de desvios, além de um sistema de predição estática.
 Branch Target Buffer:
    Desvios não tomados não sofrem penalidade.
    Desvios previstos corretamente como tomados
     sofrem uma pequena penalidade (1 ciclo).
    Desvios previstos incorretamente sofrem uma
     grande penalide.
 Predição estática prevê que o desvio é tomado em loops.
5. Hierarquia de Memória:
   Cache nível 1 (L1):
      Para instruções (4-way set
       associative).
      Para dados (2-way set
       associative).
      Com 8Kb cada.
      Linhas de 32 bytes.
      Mecanismo de escrita: write-back.
 Como inovação em relação ao Pentium Clássico, apresenta
 um cache de nível 2 (L2), de 256 ou 512Kb, integrada ao chip.

  Apresenta capacidade de endereçamento virtual de 32
  bits, o mesmo sendo disponibilizado para memória física.
 A TLB (Translation Look-Aside Buffer) está
  organizada da seguinte forma:
  TLB para dados e TLB para instruções
  Ambas 4-way associatives;
  32 entradas na TLB de instruções;
  64 entradas na TLB de dados;
  TLB misses suportado em hardware.
“Se alguma coisa tiver a remota chance
de dar errado, com certeza dará. E
mais, dará errado da pior maneira, no
pior momento e de modo que cause o
maior dano possível.”

                              Lei de Murphy

Pentium pro trabalho

  • 1.
    Pentium Pro Rafael Cruz YuriReis Engenharia de Computação
  • 2.
    Histórico:  Foiintroduzido no mercado em 1995.  Intuito de ser um processador voltado ao mercado de alto desempenho e não um concorrente direto do Pentium original.  Projetado especificamente para ser utilizado em micros servidores de rede.  Foi usada como base para o Pentium II e o Pentium III, assim como para o Xeon e o Celeron.
  • 3.
    Características: Apesarde usar um pouco da tecnologia do Pentium Clássico, o Pentium Pro é um projeto quase que totalmente novo. As principais inovações na arquitetura são:  Arquitetura Superescalar com três canalizações.  Barramento de endereços ampliado, de 32 para 36 bits, permitindo ao Pentium Pro endereçar até 64 GB de memória  Três unidades de operação em ponto flutuante.
  • 4.
    Características: 40 registradores de propósito geral, 3 unidades para operação em Ponto Flutuante sendo uma para operações simples e mais 2 para operações complexas.  Memória cache L1 dividida entre dados e instruções.  Cache L2 integrado ao chip do processador.  Primeiro processador a possuir uma metodologia híbrida RISC/CISC.
  • 5.
    1. Arquitetura: Uma dasprincipais inovações do Pentium Pro é apresentar uma metodologia híbrida CISC / RISC: o Instruções IA (Intel Architecture – CISC) externamente o Instruções IA decodificadas em microinstruções RISC o Processador RISC executando as microinstruções.
  • 6.
    Para poder utilizar-seda metodologia híbrida, o Pentium Pro apresenta uma organização interna com os seguintes módulos: Módulo de busca e decodificação Decodifica Instruções IA a partir da cache de instruções (nível 1) Escreve operações RISC (microinstruções na Instruction POOL) Módulo de despacho e execução Executa as instruções RISC a partir da instruction pool Despacho e terminação fora de ordem Instruções executadas são reescritas na instruction pool Módulo de retirada de instruções Retira as instruções já executadas da instruction pool
  • 7.
    A partir daInstruction POOL ele executa as instruções RISC, processando-as de forma superescalar. Para tanto, é composto de:  2 unidades para processamento de inteiros. 1 unidade de ponto flutuante; 1 unidade de branch; 1 unidade de load; 1 unidade de store.
  • 8.
  • 9.
    Resumindo, o PentiumPro funciona da seguinte maneira, no que diz respeito à metodologia CISC-RISC: 1. Busca instruções IA na memória na ordem estrita do programa 2. Decodifica as instruções IA em uma ou mais microinstruções RISC de tamanho fixo; 3. Escreve as microinstruções na Instruction POOL na ordem estrita do programa; 4. Unidade de despacho e execução executa as instruções RISC com despacho e terminação fora de ordem. As instruções terminadas são escritas na Instruction Pool. 5. O módulo de retirada retira as instruções terminadas na ordem estrita do programa, colocando os resultados na memória e/ou no banco de registradores.
  • 10.
    2. Unidade Funcionais: Dotado de 40 registradores de propósito geral, 3 unidades para operação em Ponto Flutuante, sendo uma para operações simples e mais 2 para operações complexas. Possui unidades específicas para executar Load, Store (dados e endereços), Memory Order Buffer (MOB), estação de reserva e Reorder Buffer (instruction pool), para tratamento de instruções. Em relação aos saltos, existe o Branch Target Buffer (BTB), unidades de predição de desvio estático e dinâmico, tabela de alocação de registradores (RAT).
  • 11.
    3. Organização doPipeline: Possui 14 estágios no pipeline.  No 1º estágio é calculado o valor do Instruction Pointer, levando em consideração eventuais desvios. Nos estágios 2, 3 e 4 são buscados 16 bytes de instruções na cache e seus limites são marcados. A seguir, nos estágios 5 e 6 as instruções são decodificas e convertidas em uma sequência de microinstruções. Depois da conversão, os estágios 7 e 8 do pipeline realizam a renomeação dos registradores (RAT).
  • 12.
     A unidadede despacho envia cada instrução para a estação de reserva de uma das seis unidades funcionais, o que corresponde aos estágios 9, 10 e 11 do pipeline.  Estágios 12, 13 e 14 são responsáveis pelo armazenamento dos resultados na memória ou nos registradores.
  • 13.
  • 14.
    4. Desvios:  OPentium Pro usa um Branch Target Buffer (BHT) de 512 entradas para predição de desvios, além de um sistema de predição estática.  Branch Target Buffer:  Desvios não tomados não sofrem penalidade.  Desvios previstos corretamente como tomados sofrem uma pequena penalidade (1 ciclo).  Desvios previstos incorretamente sofrem uma grande penalide.  Predição estática prevê que o desvio é tomado em loops.
  • 15.
    5. Hierarquia deMemória:  Cache nível 1 (L1):  Para instruções (4-way set associative).  Para dados (2-way set associative).  Com 8Kb cada.  Linhas de 32 bytes.  Mecanismo de escrita: write-back. Como inovação em relação ao Pentium Clássico, apresenta um cache de nível 2 (L2), de 256 ou 512Kb, integrada ao chip. Apresenta capacidade de endereçamento virtual de 32 bits, o mesmo sendo disponibilizado para memória física.
  • 16.
     A TLB(Translation Look-Aside Buffer) está organizada da seguinte forma: TLB para dados e TLB para instruções Ambas 4-way associatives; 32 entradas na TLB de instruções; 64 entradas na TLB de dados; TLB misses suportado em hardware.
  • 17.
    “Se alguma coisativer a remota chance de dar errado, com certeza dará. E mais, dará errado da pior maneira, no pior momento e de modo que cause o maior dano possível.” Lei de Murphy