17
Pentium Pro Rafael Cruz Yuri Reis Engenharia de Computação

Pentium pro trabalho

Embed Size (px)

Citation preview

Page 1: Pentium pro   trabalho

Pentium Pro

Rafael CruzYuri Reis Engenharia de Computação

Page 2: Pentium pro   trabalho

Histórico:

 Projetado especificamente para ser utilizado em micros servidores de rede.

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.

Foi usada como base para o Pentium II e o Pentium III, assim como para o Xeon e o Celeron.

Page 3: Pentium pro   trabalho

Características:

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

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.

Três unidades de operação em ponto flutuante.

Page 4: Pentium pro   trabalho

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.

Page 5: Pentium pro   trabalho

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.

Page 6: Pentium pro   trabalho

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

Page 7: Pentium pro   trabalho

A partir da Instruction POOL ele executa as instruções RISC, processando-as de forma superescalar. Para tanto, é composto de:

1 unidade de store.

2 unidades para processamento de inteiros.

1 unidade de ponto flutuante;

1 unidade de branch;

1 unidade de load;

Page 8: Pentium pro   trabalho

Diagrama Arquitetura

Page 9: Pentium pro   trabalho

Resumindo, o Pentium Pro funciona da seguinte maneira, no que diz respeito à metodologia CISC-RISC:

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.

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.

Page 10: Pentium pro   trabalho

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).

Page 11: Pentium pro   trabalho

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).

Page 12: Pentium pro   trabalho

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.

Page 13: Pentium pro   trabalho

Diagrama Pipeline Pentium Pro

Page 14: Pentium pro   trabalho

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.

Page 15: Pentium pro   trabalho

5. Hierarquia de Memória:

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.

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.

Page 16: Pentium pro   trabalho

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.

A TLB (Translation Look-Aside Buffer) está organizada da seguinte forma:

Page 17: Pentium pro   trabalho

Lei de Murphy

“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.”